forked from Praqma/helmsman
-
Notifications
You must be signed in to change notification settings - Fork 0
/
example.toml
117 lines (102 loc) · 5.34 KB
/
example.toml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
# version: v1.6.2
# metadata -- add as many key/value pairs as you want
[metadata]
org = "example.com/${ORG_PATH}/"
maintainer = "k8s-admin ([email protected])"
description = "example Desired State File for demo purposes."
# paths to the certificate for connecting to the cluster
# You can skip this if you use Helmsman on a machine with kubectl already connected to your k8s cluster.
# you have to use exact key names here : 'caCrt' for certificate and 'caKey' for the key and caClient for the client certificate
[certificates]
# caClient = "gs://mybucket/client.crt" # GCS bucket path
# caCrt = "s3://mybucket/ca.crt" # S3 bucket path
# caKey = "../ca.key" # valid local file relative path
[settings]
kubeContext = "minikube" # will try connect to this context first, if it does not exist, it will be created using the details below
# username = "admin"
# password = "$K8S_PASSWORD" # the name of an environment variable containing the k8s password
clusterURI = "${SET_URI}" # the name of an environment variable containing the cluster API
# #clusterURI = "https://192.168.99.100:8443" # equivalent to the above
# serviceAccount = "tiller" # k8s serviceaccount. If it does not exist, it will be created.
# storageBackend = "secret" # default is configMap
# slackWebhook = "$slack" # or "your slack webhook url"
# reverseDelete = false # reverse the priorities on delete
#### to use bearer token:
# bearerToken = true
# clusterURI = "https://kubernetes.default"
# define your environments and their k8s namespaces
# syntax:
# [namespaces.<your namespace>] -- whitespace before this entry does not matter, use whatever indentation style you like
# protected = <true or false> -- default to false
[namespaces]
[namespaces.production]
protected = true
[[namespaces.production.limits]]
type = "Container"
[namespaces.production.limits.default]
cpu = "300m"
memory = "200Mi"
[namespaces.production.limits.defaultRequest]
cpu = "200m"
memory = "100Mi"
[[namespaces.production.limits]]
type = "Pod"
[namespaces.production.limits.max]
memory = "300Mi"
[namespaces.staging]
protected = false
installTiller = true
# tillerServiceAccount = "tiller-staging" # should already exist in the staging namespace
# tillerRole = "cluster-admin" # Give tiller full access to the cluster
# caCert = "secrets/ca.cert.pem" # or an env var, e.g. "$CA_CERT_PATH"
# tillerCert = "secrets/tiller.cert.pem" # or S3 bucket s3://mybucket/tiller.crt
# tillerKey = "secrets/tiller.key.pem" # or GCS bucket gs://mybucket/tiller.key
# clientCert = "secrets/helm.cert.pem"
# clientKey = "secrets/helm.key.pem"
[namespaces.staging.labels]
env = "staging"
# define any private/public helm charts repos you would like to get charts from
# syntax: repo_name = "repo_url"
# only private repos hosted in s3 buckets are now supported
[helmRepos]
stable = "https://kubernetes-charts.storage.googleapis.com"
incubator = "http://storage.googleapis.com/kubernetes-charts-incubator"
# myS3repo = "s3://my-S3-private-repo/charts"
# myGCSrepo = "gs://my-GCS-private-repo/charts"
# custom = "https://user:[email protected]"
# define the desired state of your applications helm charts
# each contains the following:
[apps]
# jenkins will be deployed using the Tiller in the staging namespace
[apps.jenkins]
namespace = "staging" # maps to the namespace as defined in namespaces above
enabled = true # change to false if you want to delete this app release [default = false]
chart = "stable/jenkins" # changing the chart name means delete and recreate this release
version = "0.14.3" # chart version
### Optional values below
name = "jenkins" # should be unique across all apps which are managed by the same Tiller
valuesFile = "" # leaving it empty uses the default chart values
#tillerNamespace = "kube-system" # which Tiller to use to deploy this release
purge = false # will only be considered when there is a delete operation
test = false # run the tests when this release is installed for the first time only
protected = true
priority= -3
wait = true
# [apps.jenkins.setString] # values to override values from values.yaml with values from env vars or directly entered-- useful for passing secrets to charts
# AdminPassword="$JENKINS_PASSWORD" # $JENKINS_PASSWORD must exist in the environment
# MyLongIntVar="1234567890"
[apps.jenkins.set]
AdminUser="admin"
# artifactory will be deployed using the Tiller in the kube-system namespace
[apps.artifactory]
namespace = "production" # maps to the namespace as defined in namespaces above
enabled = true # change to false if you want to delete this app release [default = false]
chart = "stable/artifactory" # changing the chart name means delete and recreate this release
version = "7.0.6" # chart version
### Optional values below
name = "artifactory" # should be unique across all apps which are managed by the same Tiller
valuesFile = "" # leaving it empty uses the default chart values
purge = false # will only be considered when there is a delete operation
test = false # run the tests when this release is installed for the first time only
priority= -2
# See https://github.com/Praqma/helmsman/blob/master/docs/desired_state_specification.md#apps for more apps options