Add configuration for tiller storage

This adds a parameter to the genesis schema
to configure the tiller storage [0] type. For backward
compatibility, by default the parameter is not passed
to tiller, thus relying on the upstream default, which
is 'configmap'.

[0]: https://helm.sh/docs/using_helm/#tiller-s-release-information

Change-Id: I045f8b57f695385b1a502a8f13f61a58d400784e
This commit is contained in:
Sean Eagan 2019-09-20 16:51:03 -05:00
parent adc5146ffb
commit e5c65f8cd9
7 changed files with 42 additions and 0 deletions

View File

@ -31,6 +31,7 @@ Here is a complete sample document:
tiller:
listen: 24134
probe_listen: 24135
storage: secret
labels:
static:
- calico-etcd=enabled
@ -85,6 +86,30 @@ Configuration for Armada bootstrap metric collection.
| | | Can be set to 0 to disable metrics collection. |
+-----------------+----------+---------------------------------------------------------------------------------------+
Tiller
------
Configuration options for bootstrapping with Tiller.
+-----------------+----------+---------------------------------------------------------------------------------------+
| keyword | type | action |
+=================+==========+=======================================================================================+
| storage | string | (optional, not passed by default) The tiller `storage`_ arg to use. ` |
+-----------------+----------+---------------------------------------------------------------------------------------+
| listen | integer | (optional, default `24134`) The tiller `listen` arg to use. See `Ports`_. |
+-----------------+----------+---------------------------------------------------------------------------------------+
| probe_listen | integer | (optional, default `24135`) The tiller `probe_listen` arg to use. See `Ports`_. |
+-----------------+----------+---------------------------------------------------------------------------------------+
Ports
^^^^^
By default, promenade uses tiller ports outside of `net.ipv4.ip_local_port_range` to
avoid conflicts with apiserver connections to etcd, see `example`_.
The `listen` and `probe_listen` parameters allow setting these back to the
upstream tiller defaults (or any other value) if desired.
Bootstrapping Images
--------------------
@ -100,3 +125,6 @@ Bootstrapping images are specified in the top level key ``images``:
controller-manager: <Controller Manager image for bootstrapping>
etcd: <etcd image for bootstrapping>
scheduler: <Scheduler image for bootstrapping>
.. _storage: https://helm.sh/docs/using_helm/#tiller-s-release-information
.. _example: https://helm.sh/docs/developing_charts/#chart-dependencies

View File

@ -32,6 +32,8 @@ data:
- --v=3
armada:
target_manifest: cluster-bootstrap
tiller:
storage: secret
etcd:
auxiliary_threshold: 3
labels:

View File

@ -13,6 +13,8 @@ data:
external_ip: 192.168.77.10
armada:
target_manifest: cluster-bootstrap
tiller:
storage: secret
etcd:
auxiliary_threshold: 3
labels:

View File

@ -32,6 +32,8 @@ data:
- --v=3
armada:
target_manifest: cluster-bootstrap
tiller:
storage: secret
etcd:
auxiliary_threshold: 3
labels:

View File

@ -114,6 +114,8 @@ data:
type: integer
probe_listen:
type: integer
storage:
type: string
additionalProperties: false
files:

View File

@ -4,6 +4,7 @@
#}
{% set tiller_listen = config['Genesis:tiller.listen'] | default(24134) %}
{% set tiller_probe_listen = config['Genesis:tiller.probe_listen'] | default(24135) %}
{% set tiller_storage = config.get_path('Genesis:tiller.storage') %}
---
apiVersion: v1
kind: Pod
@ -23,6 +24,9 @@ spec:
image: {{ config['Genesis:images.helm.tiller'] }}
command:
- /tiller
{%- if tiller_storage %}
- "--storage={{ tiller_storage }}"
{%- endif %}
- -listen
- ":{{ tiller_listen }}"
- -probe-listen

View File

@ -19,6 +19,8 @@ data:
- --endpoint-reconciler-type=lease
armada:
target_manifest: cluster-bootstrap
tiller:
storage: secret
labels:
dynamic:
- calico-etcd=enabled