Skip to content

Commit

Permalink
Merge pull request #28 from platform9/private/brandon/helm
Browse files Browse the repository at this point in the history
helm charts for decco and other resources
  • Loading branch information
brandune authored Jun 23, 2020
2 parents ebc98a8 + 2392c64 commit 9dbb8b3
Show file tree
Hide file tree
Showing 29 changed files with 533 additions and 0 deletions.
23 changes: 23 additions & 0 deletions deploy/classes/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
7 changes: 7 additions & 0 deletions deploy/classes/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: v2
name: decco-cluster-classes
description: 'Kube *class resources used by decco and other components'
type: application
version: 1.0.0

appVersion: 1.0.0
7 changes: 7 additions & 0 deletions deploy/classes/templates/priority-class.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: scheduling.k8s.io/v1
kind: PriorityClass
metadata:
name: high-priority
value: 1000000
globalDefault: false
description: "for daemonset and other high priority pods"
12 changes: 12 additions & 0 deletions deploy/classes/templates/storage-class.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: default-sc
annotations:
storageclass.kubernetes.io/is-default-class: 'true'
labels:
kubernetes.io/cluster-service: 'true'
provisioner: kubernetes.io/aws-ebs
parameters:
type: gp2
volumeBindingMode: WaitForFirstConsumer
23 changes: 23 additions & 0 deletions deploy/decco/.helmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
# Common VCS dirs
.git/
.gitignore
.bzr/
.bzrignore
.hg/
.hgignore
.svn/
# Common backup files
*.swp
*.bak
*.tmp
*.orig
*~
# Various IDEs
.project
.idea/
*.tmproj
.vscode/
7 changes: 7 additions & 0 deletions deploy/decco/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: v2
name: decco
description: A Helm chart for Kubernetes
type: application
version: 1.0.0

appVersion: v1.0.1
16 changes: 16 additions & 0 deletions deploy/decco/crds/decco-apps-crd.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: apps.decco.platform9.com
namespace: decco
spec:
group: decco.platform9.com
names:
kind: App
listKind: AppList
plural: apps
shortNames:
- app
singular: app
scope: Namespaced
version: v1beta2
12 changes: 12 additions & 0 deletions deploy/decco/templates/decco-clusterrolebinding.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: rbac.authorization.k8s.io/v1beta1
kind: ClusterRoleBinding
metadata:
name: decco-operator
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: decco-operator
namespace: decco
50 changes: 50 additions & 0 deletions deploy/decco/templates/decco-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: decco-operator
namespace: decco
spec:
replicas: 1
selector:
matchLabels:
k8s-app: decco-operator
template:
metadata:
labels:
k8s-app: decco-operator
spec:
priorityClassName: high-priority
serviceAccountName: decco-operator
containers:
- name: decco-operator
image: {{ .Values.decco_operator_image_tag }}
imagePullPolicy: IfNotPresent
resources:
requests:
memory: 40Mi
env:
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: DNS_PROVIDER_NAME
value: aws-route53
- name: AWS_ACCESS_KEY_ID
valueFrom:
secretKeyRef:
name: decco-operator-secret
key: awsAccessKeyId
- name: AWS_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: decco-operator-secret
key: awsSecretAccessKey
- name: SLACK_WEBHOOK_FOR_DNS_UPDATE_FAILURE
valueFrom:
secretKeyRef:
name: decco-operator-secret
key: slackWebhookForDnsUpdateFailure
6 changes: 6 additions & 0 deletions deploy/decco/templates/decco-ns.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
apiVersion: v1
kind: Namespace
metadata:
labels:
decco-project: system
name: decco
10 changes: 10 additions & 0 deletions deploy/decco/templates/decco-operator-secret.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: v1
kind: Secret
metadata:
name: decco-operator-secret
namespace: decco
type: Opaque
data:
awsAccessKeyId: {{ .Values.aws_access_key_id_b64 }}
awsSecretAccessKey: {{ .Values.aws_secret_access_key_b64 }}
slackWebhookForDnsUpdateFailure: "{{ .Values.slack_webhook_for_dns_update_failure }}"
5 changes: 5 additions & 0 deletions deploy/decco/templates/decco-serviceaccount.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: decco-operator
namespace: decco
16 changes: 16 additions & 0 deletions deploy/decco/templates/default-http-backend-svc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
apiVersion: v1
kind: Service
metadata:
labels:
k8s-app: default-http-backend
name: default-http-backend
namespace: decco
spec:
ports:
- port: 80
protocol: TCP
targetPort: 8080
selector:
k8s-app: default-http-backend
sessionAffinity: None
type: ClusterIP
47 changes: 47 additions & 0 deletions deploy/decco/templates/default-http-backend.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
k8s-app: default-http-backend
name: default-http-backend
namespace: decco
spec:
replicas: 1
selector:
matchLabels:
k8s-app: default-http-backend
template:
metadata:
creationTimestamp: null
labels:
k8s-app: default-http-backend
spec:
containers:
- image: {{ .Values.default_http_backend_image_tag }}
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 3
httpGet:
path: /healthz
port: 8080
scheme: HTTP
initialDelaySeconds: 30
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 5
name: default-http-backend
ports:
- containerPort: 8080
protocol: TCP
resources:
limits:
cpu: 10m
memory: 20Mi
requests:
cpu: 10m
memory: 20Mi
terminationMessagePath: /dev/termination-log
dnsPolicy: ClusterFirst
restartPolicy: Always
securityContext: {}
terminationGracePeriodSeconds: 60
10 changes: 10 additions & 0 deletions deploy/decco/templates/http-wildcard-cert.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: v1
data:
tls.crt: {{ .Values.wildcard_tls_cert_b64 }}
tls.key: {{ .Values.wildcard_tls_key_b64 }}
kind: Secret
metadata:
creationTimestamp: null
name: http-wildcard-cert
namespace: decco
type: Opaque
11 changes: 11 additions & 0 deletions deploy/decco/templates/k8sniff-default-backend.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: k8sniff
name: k8sniff-default
namespace: decco
spec:
backend:
serviceName: nginx-ingress
servicePort: 443
55 changes: 55 additions & 0 deletions deploy/decco/templates/k8sniff-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: k8sniff
namespace: decco
labels:
role: k8sniff
spec:
replicas: {{ .Values.k8sniff_replicas }}
selector:
matchLabels:
role: k8sniff
template:
metadata:
labels:
role: k8sniff
spec:
priorityClassName: high-priority
affinity:
podAntiAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
- labelSelector:
matchExpressions:
- key: role
operator: In
values:
- k8sniff
topologyKey: kubernetes.io/hostname
serviceAccountName: k8sniff
containers:
- image: {{ .Values.k8sniff_image_tag }}
name: k8sniff
imagePullPolicy: IfNotPresent
command:
- /bin/sh
- -c
- -x
- "/pipeline/source/k8sniff -logtostderr --v=3 --config /etc/config/k8sniff.json"
ports:
- name: https
containerPort: 8443
- name: metrics
containerPort: 9091
resources:
requests:
cpu: 750m
memory: 256Mi
volumeMounts:
- name: k8sniff-config
mountPath: /etc/config
readOnly: true
volumes:
- name: k8sniff-config
configMap:
name: k8sniff-configmap
15 changes: 15 additions & 0 deletions deploy/decco/templates/k8sniff-metrics-svc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: k8sniff-metrics
namespace: decco
labels:
monitoring-group: decco
spec:
ports:
- port: 9091
name: metrics
targetPort: 9091
protocol: TCP
selector:
role: k8sniff
13 changes: 13 additions & 0 deletions deploy/decco/templates/k8sniff-svc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: v1
kind: Service
metadata:
name: k8sniff
namespace: decco
spec:
type: LoadBalancer
ports:
- port: 443
targetPort: 8443
protocol: TCP
selector:
role: k8sniff
Loading

0 comments on commit 9dbb8b3

Please sign in to comment.