Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions charts/api7/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,33 @@ A Helm chart for Kubernetes
| dp_manager_service.tlsNodePort | int | `nil` | The nodePort for HTTPS service, only used if dp_manager_service.type is NodePort. If not set, a random port will be assigned by Kubernetes. |
| dp_manager_service.tlsPort | int | `7943` | |
| dp_manager_service.type | string | `"ClusterIP"` | |
| file_server.enabled | bool | `false` | |
| file_server.extraEnvVars | list | `[]` | |
| file_server.extraVolumeMounts | list | `[]` | |
| file_server.extraVolumes | list | `[]` | |
| file_server.image.pullPolicy | string | `"Always"` | |
| file_server.image.repository | string | `"api7/api7-ee-file-server"` | |
| file_server.image.tag | string | `"v3.9.7"` | |
| file_server.livenessProbe.failureThreshold | int | `3` | |
| file_server.livenessProbe.initialDelaySeconds | int | `10` | |
| file_server.livenessProbe.periodSeconds | int | `3` | |
| file_server.podLabels | object | `{}` | |
| file_server.readinessProbe.failureThreshold | int | `3` | |
| file_server.readinessProbe.initialDelaySeconds | int | `5` | |
| file_server.readinessProbe.periodSeconds | int | `3` | |
| file_server.replicaCount | int | `1` | |
| file_server.topologySpreadConstraints | list | `[]` | Topology Spread Constraints for pod assignment https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ The value is evaluated as a template |
| file_server_configuration.database.dsn | string | `"postgres://api7ee:changeme@api7-postgresql:5432/api7ee"` | |
| file_server_configuration.database.max_idle_time | string | `"30s"` | |
| file_server_configuration.database.max_open_conns | int | `10` | |
| file_server_configuration.database.timeout | string | `"5s"` | |
| file_server_configuration.log.level | string | `"warn"` | |
| file_server_configuration.log.output | string | `"stderr"` | |
| file_server_configuration.server.listen.host | string | `"0.0.0.0"` | |
| file_server_configuration.server.listen.port | int | `8080` | |
| file_server_service.annotations | object | `{}` | |
| file_server_service.port | int | `8080` | |
| file_server_service.type | string | `"ClusterIP"` | |
| fullnameOverride | string | `""` | |
| global.storageClass | string | `""` | |
| imagePullSecret | string | `""` | |
Expand Down
10 changes: 10 additions & 0 deletions charts/api7/templates/file-server-configmap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{{- if .Values.file_server.enabled }}
kind: ConfigMap
apiVersion: v1
metadata:
name: {{ include "api7ee3.fullname" . }}-file-server-config
namespace: {{ .Release.Namespace | quote }}
data:
config.yaml: |
{{- toYaml .Values.file_server_configuration | nindent 4 }}
{{- end }}
106 changes: 106 additions & 0 deletions charts/api7/templates/file-server-deploy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
{{- if .Values.file_server.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "api7ee3.fullname" . }}-file-server
namespace: {{ .Release.Namespace | quote }}
labels:
{{- include "api7ee3.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.file_server.replicaCount }}
selector:
matchLabels:
{{- include "api7ee3.selectorLabels" . | nindent 6 }}
app.kubernetes.io/component: file-server
template:
metadata:
annotations:
checksum/config: {{ include (print $.Template.BasePath "/file-server-configmap.yaml") . | sha256sum }}
{{- with .Values.podAnnotations }}
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "api7ee3.selectorLabels" . | nindent 8 }}
app.kubernetes.io/component: file-server
{{- if .Values.file_server.podLabels }}
{{- range $key, $value := $.Values.file_server.podLabels }}
{{ $key }}: {{ $value | quote }}
{{- end }}
{{- end }}
spec:
{{- if .Values.imagePullSecret }}
imagePullSecrets:
- name: {{ .Values.imagePullSecret }}
{{- end }}
serviceAccountName: {{ include "api7ee3.serviceAccountName" . }}
securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }}
volumes:
- name: config
configMap:
name: {{ include "api7ee3.fullname" . }}-file-server-config
{{- if .Values.file_server.extraVolumes }}
{{- include "api7ee3.tplvalues.render" (dict "value" .Values.file_server.extraVolumes "context" $) | nindent 8 }}
{{- end }}
containers:
- name: file-server
securityContext:
{{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.file_server.image.repository }}:{{ .Values.file_server.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.file_server.image.pullPolicy }}
command:
- /usr/local/api7/api7-ee-file-server
- -c
- /api7-ee/config.yaml
ports:
- name: http
containerPort: {{ .Values.file_server_configuration.server.listen.port }}
protocol: TCP
livenessProbe:
httpGet:
path: /healthz
port: http
initialDelaySeconds: {{ .Values.file_server.livenessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.file_server.livenessProbe.periodSeconds }}
failureThreshold: {{ .Values.file_server.livenessProbe.failureThreshold }}
readinessProbe:
httpGet:
path: /healthz
port: http
initialDelaySeconds: {{ .Values.file_server.readinessProbe.initialDelaySeconds }}
periodSeconds: {{ .Values.file_server.readinessProbe.periodSeconds }}
failureThreshold: {{ .Values.file_server.readinessProbe.failureThreshold }}
volumeMounts:
- name: config
mountPath: /api7-ee
{{- if .Values.file_server.extraVolumeMounts }}
{{- include "api7ee3.tplvalues.render" (dict "value" .Values.file_server.extraVolumeMounts "context" $) | nindent 12 }}
{{- end }}
resources:
{{- if .Values.file_server.resources }}
{{- toYaml .Values.file_server.resources | nindent 12 }}
{{- else }}
{{- toYaml .Values.resources | nindent 12 }}
{{- end }}
env:
{{- if .Values.file_server.extraEnvVars }}
{{- include "api7ee3.tplvalues.render" (dict "value" .Values.file_server.extraEnvVars "context" $) | nindent 12 }}
{{- end }}

{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with or .Values.file_server.topologySpreadConstraints .Values.topologySpreadConstraints }}
topologySpreadConstraints:
{{- tpl (. | toYaml) $ | nindent 8 }}
{{- end }}
{{- end }}
23 changes: 23 additions & 0 deletions charts/api7/templates/file-server-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{{- if .Values.file_server.enabled }}
apiVersion: v1
kind: Service
metadata:
name: {{ include "api7ee3.fullname" . }}-file-server
namespace: {{ .Release.Namespace | quote }}
labels:
{{- include "api7ee3.labels" . | nindent 4 }}
{{- with .Values.file_server_service.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
type: {{ .Values.file_server_service.type }}
ports:
- port: {{ .Values.file_server_service.port }}
targetPort: http
protocol: TCP
name: http
selector:
{{- include "api7ee3.selectorLabels" . | nindent 4 }}
app.kubernetes.io/component: file-server
{{- end }}
55 changes: 55 additions & 0 deletions charts/api7/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,42 @@ developer_portal:
periodSeconds: 3
failureThreshold: 3

file_server:
enabled: false
replicaCount: 1
image:
repository: api7/api7-ee-file-server
pullPolicy: Always
tag: "v3.9.7"
# Resources of the deployment.
# It has a higher priority than the common resources configuration:
# when this field is configured, it is used first in the deployment,
# otherwise the common resources configuration is used.
# resources:
# limits:
# cpu: 100m
# memory: 128Mi
# requests:
# cpu: 100m
# memory: 128Mi

extraEnvVars: []
extraVolumes: []
extraVolumeMounts: []
podLabels: {}
# -- Topology Spread Constraints for pod assignment
# https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/
# The value is evaluated as a template
topologySpreadConstraints: []
livenessProbe:
initialDelaySeconds: 10
periodSeconds: 3
failureThreshold: 3
readinessProbe:
initialDelaySeconds: 5
periodSeconds: 3
failureThreshold: 3

imagePullSecret: ""
nameOverride: ""
fullnameOverride: ""
Expand Down Expand Up @@ -223,6 +259,11 @@ developer_portal_service:
# hosts:
# - developer-portal.local

file_server_service:
type: ClusterIP
annotations: {}
port: 8080

resources: {}
# We usually recommend not to specify default resources and to leave this as a conscious
# choice for the user. This also increases chances charts run on environments with little
Expand Down Expand Up @@ -515,3 +556,17 @@ developer_portal_configuration:
max_open_conns: 30
max_idle_time: 30s
timeout: 5s

file_server_configuration:
server:
listen:
host: "0.0.0.0"
port: 8080
log:
level: warn
output: stderr
database:
dsn: "postgres://api7ee:changeme@api7-postgresql:5432/api7ee"
max_open_conns: 10
max_idle_time: 30s
timeout: 5s
Loading