Add storage service and a persistent volume claim to helm charts. A few bugfixes for the api proxy.
520 lines
11 KiB
YAML
520 lines
11 KiB
YAML
{{ if .Values.openshift }}
|
|
|
|
# For openshift
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: ProjectRequest
|
|
metadata:
|
|
name: fission
|
|
labels:
|
|
name: fission
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: ProjectRequest
|
|
metadata:
|
|
name: {{ .Values.functionNamespace }}
|
|
labels:
|
|
name: fission-function
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: fission-admin
|
|
namespace: {{ .Release.Namespace }}
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
name: fission:fission-admin
|
|
rules:
|
|
- apiGroups:
|
|
- extensions
|
|
attributeRestrictions: null
|
|
resources:
|
|
- deployments
|
|
verbs:
|
|
- create
|
|
- get
|
|
- list
|
|
- update
|
|
- watch
|
|
- apiGroups:
|
|
- ""
|
|
attributeRestrictions: null
|
|
resources:
|
|
- pods
|
|
verbs:
|
|
- get
|
|
- list
|
|
- update
|
|
|
|
---
|
|
apiVersion: v1
|
|
groupNames: null
|
|
kind: RoleBinding
|
|
metadata:
|
|
name: fission:fission-admin
|
|
namespace: {{ .Values.functionNamespace }}
|
|
roleRef:
|
|
name: fission:fission-admin
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: fission-admin
|
|
namespace: {{ .Release.Namespace }}
|
|
userNames:
|
|
- system:serviceaccount:fission:fission-admin
|
|
|
|
{{ else }}
|
|
|
|
# For all environments except openshift
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: Namespace
|
|
metadata:
|
|
name: {{ .Values.functionNamespace }}
|
|
labels:
|
|
name: fission-function
|
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: fission-svc
|
|
namespace: {{ .Release.Namespace }}
|
|
|
|
---
|
|
kind: RoleBinding
|
|
apiVersion: rbac.authorization.k8s.io/v1beta1
|
|
metadata:
|
|
name: fission-admin
|
|
namespace: {{ .Release.Namespace }}
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: fission-svc
|
|
namespace: {{ .Release.Namespace }}
|
|
roleRef:
|
|
kind: ClusterRole
|
|
name: admin
|
|
apiGroup: rbac.authorization.k8s.io
|
|
|
|
---
|
|
kind: RoleBinding
|
|
apiVersion: rbac.authorization.k8s.io/v1beta1
|
|
metadata:
|
|
name: fission-function-admin
|
|
namespace: {{ .Values.functionNamespace }}
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: fission-svc
|
|
namespace: {{ .Release.Namespace }}
|
|
roleRef:
|
|
kind: ClusterRole
|
|
name: admin
|
|
apiGroup: rbac.authorization.k8s.io
|
|
|
|
---
|
|
kind: ClusterRoleBinding
|
|
apiVersion: rbac.authorization.k8s.io/v1beta1
|
|
metadata:
|
|
name: fission-tpr
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: fission-svc
|
|
namespace: {{ .Release.Namespace }}
|
|
roleRef:
|
|
kind: ClusterRole
|
|
name: cluster-admin
|
|
apiGroup: rbac.authorization.k8s.io
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
name: fission-fetcher
|
|
namespace: {{ .Values.functionNamespace }}
|
|
|
|
---
|
|
kind: ClusterRoleBinding
|
|
apiVersion: rbac.authorization.k8s.io/v1beta1
|
|
metadata:
|
|
name: fission-fetcher-tpr
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: fission-fetcher
|
|
namespace: {{ .Values.functionNamespace }}
|
|
roleRef:
|
|
kind: ClusterRole
|
|
name: cluster-admin
|
|
apiGroup: rbac.authorization.k8s.io
|
|
|
|
{{ end }}
|
|
|
|
---
|
|
apiVersion: extensions/v1beta1
|
|
kind: Deployment
|
|
metadata:
|
|
name: controller
|
|
labels:
|
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
svc: controller
|
|
spec:
|
|
containers:
|
|
- name: controller
|
|
image: "{{ .Values.image }}:{{ .Values.imageTag }}"
|
|
imagePullPolicy: {{ .Values.pullPolicy }}
|
|
command: ["/fission-bundle"]
|
|
args: ["--controllerPort", "8888"]
|
|
serviceAccount: fission-svc
|
|
|
|
---
|
|
apiVersion: extensions/v1beta1
|
|
kind: Deployment
|
|
metadata:
|
|
name: router
|
|
labels:
|
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
svc: router
|
|
spec:
|
|
containers:
|
|
- name: router
|
|
image: "{{ .Values.image }}:{{ .Values.imageTag }}"
|
|
imagePullPolicy: {{ .Values.pullPolicy }}
|
|
command: ["/fission-bundle"]
|
|
args: ["--routerPort", "8888", "--poolmgrUrl", "http://poolmgr.{{ .Release.Namespace }}"]
|
|
serviceAccount: fission-svc
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: poolmgr
|
|
labels:
|
|
svc: poolmgr
|
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 80
|
|
targetPort: 8888
|
|
selector:
|
|
svc: poolmgr
|
|
|
|
---
|
|
apiVersion: extensions/v1beta1
|
|
kind: Deployment
|
|
metadata:
|
|
name: poolmgr
|
|
labels:
|
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
svc: poolmgr
|
|
spec:
|
|
containers:
|
|
- name: poolmgr
|
|
image: "{{ .Values.image }}:{{ .Values.imageTag }}"
|
|
imagePullPolicy: {{ .Values.pullPolicy }}
|
|
command: ["/fission-bundle"]
|
|
args: ["--poolmgrPort", "8888", "--namespace", "{{ .Values.functionNamespace }}", "--fission-namespace", "{{ .Release.Namespace }}"]
|
|
env:
|
|
- name: FETCHER_IMAGE
|
|
value: "{{ .Values.fetcherImage }}:{{ .Values.fetcherImageTag }}"
|
|
- name: FETCHER_IMAGE_PULL_POLICY
|
|
value: "{{ .Values.pullPolicy }}"
|
|
serviceAccount: fission-svc
|
|
|
|
---
|
|
apiVersion: extensions/v1beta1
|
|
kind: Deployment
|
|
metadata:
|
|
name: kubewatcher
|
|
labels:
|
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
svc: kubewatcher
|
|
spec:
|
|
containers:
|
|
- name: kubewatcher
|
|
image: "{{ .Values.image }}:{{ .Values.imageTag }}"
|
|
imagePullPolicy: {{ .Values.pullPolicy }}
|
|
command: ["/fission-bundle"]
|
|
args: ["--kubewatcher"]
|
|
serviceAccount: fission-svc
|
|
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: influxdb
|
|
labels:
|
|
svc: influxdb
|
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
|
spec:
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 8086
|
|
targetPort: 8086
|
|
selector:
|
|
svc: influxdb
|
|
|
|
---
|
|
apiVersion: extensions/v1beta1
|
|
kind: Deployment
|
|
metadata:
|
|
name: influxdb
|
|
labels:
|
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
svc: influxdb
|
|
spec:
|
|
containers:
|
|
- name: influxdb
|
|
image: tutum/influxdb
|
|
env:
|
|
- name: PRE_CREATE_DB
|
|
value: fissionFunctionLog
|
|
- name: ADMIN_USER
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: influxdb
|
|
key: username
|
|
- name: INFLUXDB_INIT_PWD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: influxdb
|
|
key: password
|
|
|
|
---
|
|
apiVersion: extensions/v1beta1
|
|
kind: DaemonSet
|
|
metadata:
|
|
name: logger
|
|
labels:
|
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
|
spec:
|
|
template:
|
|
metadata:
|
|
labels:
|
|
svc: logger
|
|
spec:
|
|
containers:
|
|
- name: logger
|
|
image: "{{ .Values.image }}:{{ .Values.imageTag }}"
|
|
imagePullPolicy: {{ .Values.pullPolicy }}
|
|
command: ["/fission-bundle"]
|
|
args: ["--logger"]
|
|
volumeMounts:
|
|
- name: container-log
|
|
mountPath: /var/log/containers
|
|
readOnly: true
|
|
- name: docker-log
|
|
mountPath: /var/lib/docker/containers
|
|
readOnly: true
|
|
- name: fission-log
|
|
mountPath: /var/log/fission
|
|
readOnly: false
|
|
ports:
|
|
- containerPort: 1234
|
|
hostPort: 1234
|
|
protocol: TCP
|
|
- name: fluentd
|
|
image: {{ .Values.logger.fluentdImage }}
|
|
imagePullPolicy: {{ .Values.pullPolicy }}
|
|
env:
|
|
- name: INFLUXDB_ADDRESS
|
|
value: influxdb
|
|
- name: INFLUXDB_PORT
|
|
value: "8086"
|
|
- name: INFLUXDB_DBNAME
|
|
value: "fissionFunctionLog"
|
|
- name: INFLUXDB_USERNAME
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: influxdb
|
|
key: username
|
|
- name: INFLUXDB_PASSWD
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: influxdb
|
|
key: password
|
|
volumeMounts:
|
|
- name: container-log
|
|
mountPath: /var/log/containers
|
|
readOnly: true
|
|
- name: docker-log
|
|
mountPath: /var/lib/docker/containers
|
|
readOnly: true
|
|
- name: fission-log
|
|
mountPath: /var/log/fission
|
|
readOnly: false
|
|
serviceAccount: fission-svc
|
|
volumes:
|
|
- name: container-log
|
|
hostPath:
|
|
path: /var/log/containers
|
|
- name: docker-log
|
|
hostPath:
|
|
path: /var/lib/docker/containers
|
|
- name: fission-log
|
|
hostPath:
|
|
path: /var/log/fission
|
|
|
|
---
|
|
apiVersion: extensions/v1beta1
|
|
kind: Deployment
|
|
metadata:
|
|
name: timer
|
|
labels:
|
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
svc: timer
|
|
spec:
|
|
containers:
|
|
- name: timer
|
|
image: "{{ .Values.image }}:{{ .Values.imageTag }}"
|
|
imagePullPolicy: {{ .Values.pullPolicy }}
|
|
command: ["/fission-bundle"]
|
|
args: ["--timer"]
|
|
serviceAccount: fission-svc
|
|
|
|
#
|
|
# This is commented out until fission-ui allows configuring the
|
|
# namespace. Right now it just crashes if Release.Namespace !=
|
|
# "fission".
|
|
#
|
|
#---
|
|
#apiVersion: extensions/v1beta1
|
|
#kind: Deployment
|
|
#metadata:
|
|
# name: fission-ui
|
|
# labels:
|
|
# chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
|
#spec:
|
|
# replicas: 1
|
|
# template:
|
|
# metadata:
|
|
# labels:
|
|
# svc: fission-ui
|
|
# spec:
|
|
# containers:
|
|
# - name: nginx
|
|
# image: {{ .Values.fissionUiImage }}
|
|
# - name: kubectl-proxy
|
|
# image: lachlanevenson/k8s-kubectl
|
|
# args: ["proxy", "--port", "8001", "--address", "127.0.0.1"]
|
|
# serviceAccount: fission-svc
|
|
|
|
---
|
|
apiVersion: extensions/v1beta1
|
|
kind: Deployment
|
|
metadata:
|
|
labels:
|
|
svc: nats-streaming
|
|
name: nats-streaming
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
svc: nats-streaming
|
|
spec:
|
|
containers:
|
|
- name: nats-streaming
|
|
image: nats-streaming
|
|
args: ["--cluster_id", "{{ .Values.nats.clusterID }}", "--auth", "{{ .Values.nats.authToken }}"]
|
|
ports:
|
|
- containerPort: 4222
|
|
hostPort: 4222
|
|
protocol: TCP
|
|
|
|
---
|
|
apiVersion: extensions/v1beta1
|
|
kind: Deployment
|
|
metadata:
|
|
name: mqtrigger
|
|
labels:
|
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
svc: mqtrigger
|
|
spec:
|
|
containers:
|
|
- name: mqtrigger
|
|
image: "{{ .Values.image }}:{{ .Values.imageTag }}"
|
|
imagePullPolicy: {{ .Values.pullPolicy }}
|
|
command: ["/fission-bundle"]
|
|
args: ["--mqt"]
|
|
env:
|
|
- name: MESSAGE_QUEUE_TYPE
|
|
value: nats-streaming
|
|
- name: MESSAGE_QUEUE_URL
|
|
value: nats://{{ .Values.nats.authToken }}@nats-streaming:4222
|
|
serviceAccount: fission-svc
|
|
|
|
---
|
|
apiVersion: extensions/v1beta1
|
|
kind: Deployment
|
|
metadata:
|
|
name: storagesvc
|
|
labels:
|
|
chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
|
|
spec:
|
|
replicas: 1
|
|
template:
|
|
metadata:
|
|
labels:
|
|
svc: storagesvc
|
|
spec:
|
|
containers:
|
|
- name: storagesvc
|
|
image: "{{ .Values.image }}:{{ .Values.imageTag }}"
|
|
imagePullPolicy: {{ .Values.pullPolicy }}
|
|
command: ["/fission-bundle"]
|
|
args: ["--storageServicePort", "8000", "--filePath", "/fission"]
|
|
volumeMounts:
|
|
- name: fission-storage
|
|
mountPath: /fission
|
|
serviceAccount: fission-svc
|
|
volumes:
|
|
- name: fission-storage
|
|
{{- if .Values.persistence.enabled }}
|
|
persistentVolumeClaim:
|
|
claimName: {{ .Values.persistence.existingClaim | default "fission-storage-pvc" }}
|
|
{{- else }}
|
|
emptyDir: {}
|
|
{{- end -}}
|