|
| 1 | +apiVersion:rbac.authorization.k8s.io/v1 |
| 2 | +kind:Role |
| 3 | +metadata: |
| 4 | +name:coder-xray-kube-role |
| 5 | +rules: |
| 6 | +-apiGroups:[""] |
| 7 | +resources:["pods", "events"] |
| 8 | +verbs:["get", "watch", "list"] |
| 9 | +-apiGroups:["apps"] |
| 10 | +resources:["replicasets", "events"] |
| 11 | +verbs:["get", "watch", "list"] |
| 12 | +--- |
| 13 | +apiVersion:v1 |
| 14 | +kind:ServiceAccount |
| 15 | +metadata: |
| 16 | +name:{{ .Values.serviceAccount.name | quote }} |
| 17 | +annotations:{{ toYaml .Values.serviceAccount.annotations | nindent 4 }} |
| 18 | +labels:{{ toYaml .Values.serviceAccount.labels | nindent 4 }} |
| 19 | +--- |
| 20 | +apiVersion:rbac.authorization.k8s.io/v1 |
| 21 | +kind:RoleBinding |
| 22 | +metadata: |
| 23 | +name:coder-xray-kube-rolebinding |
| 24 | +roleRef: |
| 25 | +apiGroup:rbac.authorization.k8s.io |
| 26 | +kind:Role |
| 27 | +name:coder-xray-kube-role |
| 28 | +subjects: |
| 29 | +-kind:ServiceAccount |
| 30 | +name:{{ .Values.serviceAccount.name | quote }} |
| 31 | +--- |
| 32 | +apiVersion:apps/v1 |
| 33 | +kind:Deployment |
| 34 | +metadata: |
| 35 | +name:coder-xray-kube |
| 36 | +spec: |
| 37 | +# This must remain at 1 otherwise duplicate logs can occur! |
| 38 | +replicas:1 |
| 39 | +selector: |
| 40 | +matchLabels: |
| 41 | +app.kubernetes.io/instance:{{ .Release.Name }} |
| 42 | +template: |
| 43 | +metadata: |
| 44 | +labels: |
| 45 | +app.kubernetes.io/instance:{{ .Release.Name }} |
| 46 | +spec: |
| 47 | +serviceAccountName:{{ .Values.serviceAccount.name | quote }} |
| 48 | +restartPolicy:Always |
| 49 | +{{- with .Values.image.pullSecrets }} |
| 50 | +imagePullSecrets: |
| 51 | +{{- toYaml . | nindent 8 }} |
| 52 | +{{- end }} |
| 53 | +{{- with .Values.nodeSelector }} |
| 54 | +nodeSelector: |
| 55 | +{{- toYaml . | nindent 8 }} |
| 56 | +{{- end }} |
| 57 | +containers: |
| 58 | + -name:coder-xray-kube |
| 59 | +image:"{{ .Values.image.repo }}:{{ .Values.image.tag | default .Chart.AppVersion }}" |
| 60 | +imagePullPolicy:{{ .Values.image.pullPolicy }} |
| 61 | +command: |
| 62 | + -/coder-xray scan |
| 63 | +env: |
| 64 | + -name:CODER_URL |
| 65 | +value:{{ .Values.coder.url }} |
| 66 | + -name:CODER_NAMESPACE |
| 67 | +value:{{ .Values.namespace | default .Release.Namespace }} |
| 68 | + -name:CODER_TOKEN |
| 69 | +valueFrom: |
| 70 | +secretKeyRef: |
| 71 | +name:{{ .Values.coder.secretName }} |
| 72 | +key:coder-token |
| 73 | +{{- if .Values.image.sslCertFile }} |
| 74 | + -name:SSL_CERT_FILE |
| 75 | +value:{{ .Values.image.sslCertFile }} |
| 76 | +{{- end }} |
| 77 | +{{- if .Values.image.sslCertDir }} |
| 78 | + -name:SSL_CERT_DIR |
| 79 | +value:{{ .Values.image.sslCertDir }} |
| 80 | +{{- end }} |
| 81 | + -name:CODER_ARTIFACTORY_URL |
| 82 | +value:{{ .Values.artifactory.url }} |
| 83 | + -name:CODER_ARTIFACTORY_USER |
| 84 | +valueFrom: |
| 85 | +secretKeyRef: |
| 86 | +name:{{ .Values.artifactory.secretName }} |
| 87 | +key:user |
| 88 | + -name:CODER_ARTIFACTORY_TOKEN |
| 89 | +valueFrom: |
| 90 | +secretKeyRef: |
| 91 | +name:{{ .Values.artifactory.secretName }} |
| 92 | +key:token |
| 93 | +{{- if .Values.volumeMounts }} |
| 94 | +volumeMounts:{{- toYaml .Values.volumeMounts | nindent 12 }} |
| 95 | +{{- end }} |
| 96 | +{{- if .Values.volumes }} |
| 97 | +volumes:{{- toYaml .Values.volumes | nindent 8 }} |
| 98 | +{{- end }} |