Skip to content

Commit cba55a6

Browse files
Matthew FisherMatthew Fisher
authored andcommitted
docs(managing-workflow): document all available environment variables
1 parent 694974f commit cba55a6

4 files changed

Lines changed: 121 additions & 46 deletions

File tree

mkdocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ pages:
4747
- Domains and Routing: applications/domains-and-routing.md
4848
- SSL Certificates: applications/ssl-certificates.md
4949
- Managing Workflow:
50-
- Configuring Components: managing-workflow/component-configuration.md
50+
- Tuning Component Settings: managing-workflow/tuning-component-settings.md
5151
- Configuring Load Balancers: managing-workflow/configuring-load-balancers.md
5252
- Configuring DNS: managing-workflow/configuring-dns.md
5353
- Platform Logging: managing-workflow/platform-logging.md

src/managing-workflow/component-configuration.md

Lines changed: 0 additions & 44 deletions
This file was deleted.

src/managing-workflow/production-deployments.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ crucial. See [Platform SSL][] for the platform.
4848

4949

5050
[configuring object storage]: ../installing-workflow/configuring-object-storage.md
51-
[customizing controller]: component-configuration.md#customizing-the-controller
51+
[customizing controller]: tuning-component-settings.md#customizing-the-controller
5252
[database]: ../understanding-workflow/components.md#database
5353
[logger]: ../understanding-workflow/components.md#logger
5454
[minio]: ../understanding-workflow/components.md#minio
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
# Tuning Component Settings
2+
3+
Helm Charts are a set of Kubernetes manifests that reflect best practices for deploying an
4+
application or service. Helm is heavily influenced by [Homebrew](http://brew.sh/), including the
5+
[formula model](https://github.com/Homebrew/homebrew-core). A Helm Chart is to Helm as a Formula
6+
is to Homebrew.
7+
8+
After you cetch the Workflow chart, you can customize the chart using `helmc edit` before using
9+
`helmc generate` and `helmc install` to complete the installation. To customize the respective
10+
component, edit `tpl/deis-<component>-rc.yaml` and modify the `env` section of the component to
11+
tune these settings.
12+
13+
For example, to allow only administrators to register new accounts in the controller,
14+
edit `tpl/deis-controller-rc.yaml` and add the following under the `env` section:
15+
16+
```
17+
env:
18+
- name: REGISTRATION_MODE
19+
value: "admin_only"
20+
```
21+
22+
## Customizing the Builder
23+
24+
The following environment variables are tunable for the [Builder][] component:
25+
26+
Setting | Description
27+
------- | ---------------------------------
28+
DEBUG | Enable debug log output (default: false)
29+
30+
## Customizing the Controller
31+
32+
The following environment variables are tunable for the [Controller][] component:
33+
34+
Setting | Description
35+
----------------------------------------------- | ---------------------------------
36+
REGISTRATION_MODE | set registration to "enabled", "disabled", or "admin_only" (default: "enabled")
37+
GUNICORN_WORKERS | number of [gunicorn][] workers spawned to process requests (default: CPU cores * 4 + 1)
38+
RESERVED_NAMES | a comma-separated list of names which applications cannot reserve for routing (default: "deis, deis-builder, deis-workflow-manager")
39+
SLUGRUNNER_IMAGE_NAME | the image used to run buildpack application slugs (default: "quay.io/deisci/slugrunner:canary")
40+
SLUG_BUILDER_IMAGE_PULL_POLICY | the kubernetes [image pull policy][pull-policy] for slugbuilder (default: "Always")
41+
DOCKER_BUILDER_IMAGE_PULL_POLICY | the kubernetes [image pull policy][pull-policy] for dockerbuilder (default: "Always")
42+
DEIS_DEPLOY_BATCHES | the number of pods to bring up and take down sequentially during a scale (default: all)
43+
KUBERNETES_POD_TERMINATION_GRACE_PERIOD_SECONDS | how many seconds kubernetes waits for a pod to finish work after a SIGTERM before sending SIGKILL (default: 30)
44+
45+
## Customizing the Database
46+
47+
The following environment variables are tunable for the [Database][] component:
48+
49+
Setting | Description
50+
----------------- | ---------------------------------
51+
BACKUP_FREQUENCY | how often the database should perform a base backup (default: "12h")
52+
BACKUPS_TO_RETAIN | number of base backups the backing store should retain (default: 5)
53+
54+
## Customizing Fluentd
55+
56+
The following environment variables are tunable for [Fluentd][logger]:
57+
58+
Setting | Description
59+
----------------- | ---------------------------------
60+
SYSLOG_HOST_1 | The hostname of a remote syslog endpoint for shipping logs
61+
SYSLOG_PORT_1 | The port of a remote syslog endpoint for shipping logs
62+
63+
## Customizing the Logger
64+
65+
The following environment variables are tunable for the [Logger][] component:
66+
67+
Setting | Description
68+
----------------- | ---------------------------------
69+
STORAGE_ADAPTER | How to store logs that are sent to the logger (default: "memory")
70+
NUMBER_OF_LINES | How many lines to store in the ring buffer (default: 1000)
71+
72+
## Customizing the Monitor
73+
74+
The monitor component uses [Telegraf](https://github.com/influxdata/telegraf) under the hood, and
75+
derives most of its configuration from it. Please see
76+
[telegraf configuration](https://github.com/influxdata/telegraf/blob/master/docs/CONFIGURATION.md)
77+
for more information on tuning the [Monitor][] component.
78+
79+
## Customizing the Registry
80+
81+
The [Registry][] component can be tuned by following the
82+
[deis/distribution config doc](https://github.com/deis/distribution/blob/master/docs/configuration.md).
83+
84+
## Customizing the Router
85+
86+
The majority of router settings are tunable through annotations, which allows the router to be
87+
re-configured with zero downtime post-installation. You can find the list of annotations to tune
88+
[here](https://github.com/deis/router#annotations).
89+
90+
The following environment variables are tunable for the [Router][] component:
91+
92+
Setting | Description
93+
----------------- | ---------------------------------
94+
POD_NAMESPACE | The pod namespace the router resides in. This is set by the [Kubernetes downward API][downward-api].
95+
96+
## Customizing Workflow Manager
97+
98+
The following environment variables are tunable for [Workflow Manager][]:
99+
100+
Setting | Description
101+
---------------------------------- | ---------------------------------
102+
CHECK_VERSIONS | Enables the external version check at <https://versions.deis.com/> (default: "true")
103+
POLL_INTERVAL_SEC | The interval when Workflow Manager performs a version check, in seconds (default: 43200, or 12 hours)
104+
VERSIONS_API_URL | The versions API URL (default: "<https://versions-staging.deis.com>")
105+
DOCTOR_API_URL | The doctor API URL (default: "<https://doctor-staging.deis.com>")
106+
API_VERSION | The version number Workflow Manager sends to the versions API (default: "v2")
107+
108+
109+
[builder]: ../understanding-workflow/components.md#builder
110+
[controller]: ../understanding-workflow/components.md#controller
111+
[database]: ../understanding-workflow/components.md#database
112+
[downward-api]: http://kubernetes.io/docs/user-guide/downward-api/
113+
[gunicorn]: http://gunicorn.org/
114+
[logger]: ../understanding-workflow/components.md#logger-fluentd-logger
115+
[monitor]: ../understanding-workflow/components.md#monitor
116+
[pull-policy]: http://kubernetes.io/docs/user-guide/images/
117+
[registry]: ../understanding-workflow/components.md#registry
118+
[router]: ../understanding-workflow/components.md#router
119+
[workflow manager]: ../understanding-workflow/components.md#workflow-manager

0 commit comments

Comments
 (0)