forked from Praqma/helmsman
-
Notifications
You must be signed in to change notification settings - Fork 0
/
example.yaml
112 lines (100 loc) · 4.92 KB
/
example.yaml
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
# version: v1.5.0
# 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: "foo" # k8s serviceaccount must be already defined, validation error will be thrown otherwise
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
namespaces:
production:
protected: true
limits:
- type: Container
default:
cpu: "300m"
memory: "200Mi"
defaultRequest:
cpu: "200m"
memory: "100Mi"
- type: Pod
max:
memory: "300Mi"
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"
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
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 empty: false:
chart: "stable/jenkins" # changing the chart name means delete and recreate this chart
version: "0.14.3" # chart version
### Optional values below
name: "jenkins" # should be unique across all apps
description: "jenkins"
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
protected: true
priority: -3
wait: true
#tillerNamespace: "kube-system" # which Tiller to use to deploy this release
set: # values to override values from values.yaml with values from env vars-- useful for passing secrets to charts
AdminPassword: "$JENKINS_PASSWORD" # $JENKINS_PASSWORD must exist in the environment
AdminUser: "admin"
setString:
MyLongIntVar: "1234567890"
# artifactory will be deployed using the Tiller in the kube-system namespace
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 empty: false:
chart: "stable/artifactory" # changing the chart name means delete and recreate this chart
version: "7.0.6" # chart version
### Optional values below
name: "artifactory" # should be unique across all apps
description: "artifactory"
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