apiVersion: v1 kind: ConfigMap metadata: name: provisioner-config data: config: | var config = {}; config.helmRepo = "{{ .Values.helmRepo }}"; config.registry = "{{ .Values.registry }}"; config.registryImpalaTag = "{{ .Values.registryImpalaTag }}"; module.exports = config; --- apiVersion: v1 kind: ReplicationController metadata: name: provisioner spec: replicas: 1 template: metadata: labels: app: provisioner # Until Impala has native metric support annotations: prometheus.io/scrape: 'true' prometheus.io/port: '4747' spec: containers: - name: provisioner image: {{ .Values.registry }}/mock-provisioner:{{ .Values.tag }} imagePullPolicy: Always ports: - containerPort: 4747 volumeMounts: - name: config-volume mountPath: /app/config subPath: config volumes: - name: config-volume configMap: name: provisioner-config --- apiVersion: v1 kind: Service metadata: name: provisioner spec: selector: app: provisioner ports: - name: provisioner port: 80 targetPort: 4747 type: NodePort --- apiVersion: extensions/v1beta1 kind: Ingress metadata: name: provisioner annotations: kubernetes.io/ingress.class: traefik spec: rules: - host: provisioner.{{ .Values.domain }} http: paths: - path: / backend: serviceName: provisioner servicePort: provisioner