pomerium/docs/configuration/examples.md
2019-11-14 20:02:16 -08:00

131 lines
3.5 KiB
Markdown

---
title: Examples
lang: en-US
sidebarDepth: 2
meta:
- name: keywords
content: pomerium community help bugs updates features
description: >-
This document describes how you users can stay up to date with pomerium,
report issues, get help, and suggest new features.
---
# Examples
A collection of copy-and-paste-able configurations for various types of clouds, use-cases, and deployments. These files can also be found in the git repository in the `docs/configuration/examples/` directory.
:::tip
Remember to set your identity provider settings and to generate new secret keys!
:::
[[toc]]
## Settings
### Configuration File
<<< @/docs/configuration/examples/config/config.example.yaml
### Environmental Variables
<<< @/docs/configuration/examples/config/config.example.env
## Binary
- Suitable for bare-metal and virtual-machines
- No docker, docker-compose, or kubernetes required
- Minimal configuration
- Pomerium services are run in "all-in-one" mode
- No load balancer required
- Great for testing Pomerium
- Routes default to hosted version of httpbin.org
Customize for your identity provider and run `./bin/pomerium -config config.yaml`
## Docker
Uses the [latest pomerium build](https://hub.docker.com/r/pomerium/pomerium) from docker hub. Docker and docker-compose are great tools for standing up and testing multiple service, and containers without having to stand-up a full on cluster.
### All-in-One
- Minimal container-based configuration.
- Docker and Docker-Compose based.
- Runs a single container for all pomerium services
- Routes default to on-premise [httpbin].
Customize for your identity provider run `docker-compose up -f basic.docker-compose.yml`
#### basic.docker-compose.yml
<<< @/docs/configuration/examples/docker/basic.docker-compose.yml
### Distinct Services
- Docker and Docker-Compose based.
- Uses pre-configured built-in nginx load balancer
- Runs separate containers for each service
- Routes default to on-premise [helloworld], and [httpbin].
Customize for your identity provider run `docker-compose up -f nginx.docker-compose.yml`
#### nginx.docker-compose.yml
<<< @/docs/configuration/examples/docker/nginx.docker-compose.yml
## Helm
- HTTPS (TLS) between client, load balancer, and services
- gRPC requests are routed behind the load balancer
- Routes default to hosted version of httpbin.org
- Includes installer script
### GKE
- Uses Google Kubernetes Engine's built-in ingress to do [HTTPS load balancing]
<<< @/scripts/helm_gke.sh
### AWS ECS
- Uses Amazon Elastic Container Service
<<< @/scripts/helm_aws.sh
## Kubernetes
- Uses Google Kubernetes Engine's built-in ingress to do [HTTPS load balancing]
- HTTPS (TLS) between client, load balancer, and services
- gRPC requests are routed behind the load balancer
- Routes default to hosted version of httpbin.org
- Includes installer script
#### kubernetes_gke
<<< @/docs/configuration/examples/kubernetes/kubernetes_gke.sh
#### kubernetes-config.yaml
<<< @/docs/configuration/examples/kubernetes/kubernetes-config.yaml
#### pomerium-authenticate.yml
<<< @/docs/configuration/examples/kubernetes/pomerium-authenticate.yml
#### pomerium-authorize.yml
<<< @/docs/configuration/examples/kubernetes/pomerium-authorize.yml
#### pomerium-proxy.yml
<<< @/docs/configuration/examples/kubernetes/pomerium-proxy.yml
#### ingress.yml
<<< @/docs/configuration/examples/kubernetes/ingress.yml
[helloworld]: https://hub.docker.com/r/tutum/hello-world
[httpbin]: https://httpbin.org/
[https load balancing]: https://cloud.google.com/kubernetes-engine/docs/concepts/ingress