Browse Source

New Helm chart for 7.0

pull/909/head
Sebastian 4 years ago
parent
commit
2a4105c6d9
  1. 35
      helm/index.yaml
  2. 5
      helm/squidex/Chart.yaml
  3. BIN
      helm/squidex7-1.0.0.tgz
  4. 28
      helm/squidex7/Chart.yaml
  5. BIN
      helm/squidex7/charts/mongodb-replicaset-3.9.6.tgz
  6. 73
      helm/squidex7/templates/_helpers.tpl
  7. 80
      helm/squidex7/templates/deployment-worker.yaml
  8. 77
      helm/squidex7/templates/deployment.yaml
  9. 36
      helm/squidex7/templates/ingress.yaml
  10. 17
      helm/squidex7/templates/service.yaml
  11. 141
      helm/squidex7/values.yaml

35
helm/index.yaml

@ -3,14 +3,14 @@ entries:
squidex:
- apiVersion: v2
appVersion: 5.9.0
created: "2021-09-16T16:06:57.441843+02:00"
created: "2022-08-10T10:38:40.2985659+02:00"
dependencies:
- condition: mongodb-replicaset.enabled
name: mongodb-replicaset
repository: https://kubernetes-charts.storage.googleapis.com/
version: 3.9.6
description: Squidex CMS
digest: 22ecd83b2795d407a4695d3685bbd5a24ad638d3d1cadebf9c7445925ea12d2e
digest: 566b4d063d2717e00fc04b35bf594869dc9e5398bb08da13b542a5497dd4dc19
home: https://squidex.io/
keywords:
- cms
@ -24,6 +24,33 @@ entries:
- https://github.com/Squidex/squidex
type: application
urls:
- https://squidex.github.io/squidex/helm/squidex-1.3.0.tgz
- squidex-1.3.0.tgz
version: 1.3.0
generated: "2021-09-16T16:06:57.439521+02:00"
squidex7:
- apiVersion: v2
appVersion: 7.0.2
created: "2022-08-10T10:38:40.2995659+02:00"
dependencies:
- condition: mongodb-replicaset.enabled
name: mongodb-replicaset
repository: https://kubernetes-charts.storage.googleapis.com/
version: 3.9.6
description: Squidex CMS v7.0 and newer
digest: 9cc4c40f4a5825a33835fa8f0fc4c40389f2da96b247a9425dd999b90ee1457f
home: https://squidex.io/
icon: https://raw.githubusercontent.com/Squidex/squidex/master/media/logo-squared.png
keywords:
- cms
- headless-cms
- mongodb
- csharp
- asp-net-core
- asp-net
name: squidex7
sources:
- https://github.com/Squidex/squidex
type: application
urls:
- squidex7-1.0.0.tgz
version: 1.0.0
generated: "2022-08-10T10:38:40.2965702+02:00"

5
helm/squidex/Chart.yaml

@ -2,10 +2,11 @@ apiVersion: v2
type: application
name: squidex
icon: https://raw.githubusercontent.com/Squidex/squidex/master/media/logo-squared.png
description: Squidex CMS
version: 1.3.0
appVersion: "5.9.0"
version: 1.4.0
appVersion: "6.13.0"
home: https://squidex.io/

BIN
helm/squidex7-1.0.0.tgz

Binary file not shown.

28
helm/squidex7/Chart.yaml

@ -0,0 +1,28 @@
apiVersion: v2
type: application
name: squidex7
icon: https://raw.githubusercontent.com/Squidex/squidex/master/media/logo-squared.png
description: Squidex CMS v7.0 and newer
version: 1.0.0
appVersion: "7.0.2"
home: https://squidex.io/
keywords:
- cms
- headless-cms
- mongodb
- csharp
- asp-net-core
- asp-net
sources:
- https://github.com/Squidex/squidex
dependencies:
- name: mongodb-replicaset
version: 3.9.6
repository: https://kubernetes-charts.storage.googleapis.com/
condition: mongodb-replicaset.enabled

BIN
helm/squidex7/charts/mongodb-replicaset-3.9.6.tgz

Binary file not shown.

73
helm/squidex7/templates/_helpers.tpl

@ -0,0 +1,73 @@
{{/* vim: set filetype=mustache: */}}
{{- define "squidex.selectors" }}
{{- if .Values.selectors.component }}
app.kubernetes.io/component: {{ .Values.selectors.component }}
{{- end}}
app.kubernetes.io/name: {{ include "squidex.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- if .Values.selectors.partOf }}
app.kubernetes.io/part-of: {{ .Values.selectors.partOf }}
{{- end }}
{{- if .Values.selectors.version }}
app.kubernetes.io/version: {{ .Values.selectors.version | quote }}
{{- end -}}
{{- end -}}
{{- define "squidex.labels" }}
{{- include "squidex.selectors" . }}
helm.sh/chart: {{ include "squidex.chart" . }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- if .Values.labels }}
{{- toYaml .Values.labels | nindent 4 }}
{{- end -}}
{{- end -}}
{{- define "squidex.mongoDefaultHostname" }}
{{- $release := .Release}}
{{- $clusterSuffix := .Values.clusterSuffix}}
{{- range $index, $i := until (int (index .Values "mongodb-replicaset").replicas) }}
{{- $replica := printf "%s-mongodb-replicaset-%d.%s-mongodb-replicaset.%s.svc.%s" $release.Name $i $release.Name $release.Namespace $clusterSuffix }}
{{- if eq $i 0}}
{{- $replica }}
{{- else -}}
,{{ $replica }}
{{- end }}
{{- end }}
{{- end }}
{{- define "squidex.internalDnsName" }}
{{- .Release.Name }}-
{{- include "squidex.name" . }}.
{{- .Release.Namespace }}.svc.
{{- .Values.clusterSuffix}}
{{- end }}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "squidex.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- define "squidex.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "squidex.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- $name := default .Chart.Name .Values.nameOverride -}}
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}

80
helm/squidex7/templates/deployment-worker.yaml

@ -0,0 +1,80 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "squidex.fullname" . }}-worker
labels:
{{- include "squidex.labels" . | indent 4 }}
app.kubernetes.io/role: worker
spec:
replicas: 1
selector:
matchLabels:
{{- include "squidex.selectors" . | indent 6 }}
app.kubernetes.io/role: worker
template:
metadata:
labels:
{{- include "squidex.selectors" . | indent 8 }}
app.kubernetes.io/role: worker
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ default .Chart.AppVersion .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: http
containerPort: 80
protocol: TCP
livenessProbe:
httpGet:
path: /healthz
port: http
initialDelaySeconds: 300
readinessProbe:
httpGet:
path: /readiness
port: http
resources:
{{- toYaml .Values.resources | nindent 12 }}
env:
{{- range $key, $val := .Values.env }}
{{- if (eq $key "URLS__BASEURL") }}
- name: {{ $key | quote }}
value: {{ required (printf "The value .Values.env.%s is required" $key) $val | quote }}
{{- else }}
- name: {{ $key | quote }}
value: {{ $val | quote }}
{{- end }}
{{- end }}
- name: CLUSTERING__WORKER
value: "true"
{{- $mongoDefaultConnectionString := printf "mongodb://%s" (include "squidex.mongoDefaultHostname" .) }}
{{- if (not .Values.env.EVENTSTORE__MONGODB__CONFIGURATION) }}
- name: "EVENTSTORE__MONGODB__CONFIGURATION"
value: {{ $mongoDefaultConnectionString | quote }}
{{- end }}
{{- if (not .Values.env.STORE__MONGODB__CONFIGURATION) }}
- name: "STORE__MONGODB__CONFIGURATION"
value: {{ $mongoDefaultConnectionString | quote }}
{{- end }}
{{- if (not .Values.env.ASSETSTORE__MONGODB__CONFIGURATION) }}
- name: "ASSETSTORE__MONGODB__CONFIGURATION"
value: {{ $mongoDefaultConnectionString | quote }}
{{- end }}
nodeSelector:
{{- toYaml .Values.nodeSelector | nindent 8 }}
affinity:
{{- toYaml .Values.affinity | nindent 8 }}
tolerations:
{{- toYaml .Values.tolerations | nindent 8 }}
{{- if (.Values.deployment.serviceAccountName) }}
serviceAccountName: {{ .Values.deployment.serviceAccountName}}
{{- end }}

77
helm/squidex7/templates/deployment.yaml

@ -0,0 +1,77 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "squidex.fullname" . }}
labels:
{{- include "squidex.labels" . | indent 4 }}
app.kubernetes.io/role: api
spec:
replicas: {{ .Values.deployment.replicaCount }}
selector:
matchLabels:
{{- include "squidex.selectors" . | indent 6 }}
app.kubernetes.io/role: api
template:
metadata:
labels:
{{- include "squidex.selectors" . | indent 8 }}
app.kubernetes.io/role: api
spec:
{{- with .Values.imagePullSecrets }}
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ default .Chart.AppVersion .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: http
containerPort: 80
protocol: TCP
livenessProbe:
httpGet:
path: /healthz
port: http
initialDelaySeconds: 300
readinessProbe:
httpGet:
path: /readiness
port: http
resources:
{{- toYaml .Values.resources | nindent 12 }}
env:
{{- range $key, $val := .Values.env }}
{{- if (eq $key "URLS__BASEURL") }}
- name: {{ $key | quote }}
value: {{ required (printf "The value .Values.env.%s is required" $key) $val | quote }}
{{- else }}
- name: {{ $key | quote }}
value: {{ $val | quote }}
{{- end }}
{{- end }}
{{- $mongoDefaultConnectionString := printf "mongodb://%s" (include "squidex.mongoDefaultHostname" .) }}
{{- if (not .Values.env.EVENTSTORE__MONGODB__CONFIGURATION) }}
- name: "EVENTSTORE__MONGODB__CONFIGURATION"
value: {{ $mongoDefaultConnectionString | quote }}
{{- end }}
{{- if (not .Values.env.STORE__MONGODB__CONFIGURATION) }}
- name: "STORE__MONGODB__CONFIGURATION"
value: {{ $mongoDefaultConnectionString | quote }}
{{- end }}
{{- if (not .Values.env.ASSETSTORE__MONGODB__CONFIGURATION) }}
- name: "ASSETSTORE__MONGODB__CONFIGURATION"
value: {{ $mongoDefaultConnectionString | quote }}
{{- end }}
nodeSelector:
{{- toYaml .Values.nodeSelector | nindent 8 }}
affinity:
{{- toYaml .Values.affinity | nindent 8 }}
tolerations:
{{- toYaml .Values.tolerations | nindent 8 }}
{{- if (.Values.deployment.serviceAccountName) }}
serviceAccountName: {{ .Values.deployment.serviceAccountName}}
{{- end }}

36
helm/squidex7/templates/ingress.yaml

@ -0,0 +1,36 @@
{{- if .Values.ingress.enabled -}}
{{- $fullName := include "squidex.fullname" . -}}
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{ $fullName }}
namespace: {{ .Release.Namespace | quote }}
labels:
{{- include "squidex.labels" . | indent 4 }}
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
{{- if .Values.ingress.tls }}
tls:
{{- range .Values.ingress.tls }}
- hosts:
{{- range .hosts }}
- {{ . | quote }}
{{- end }}
secretName: {{ .secretName }}
{{- end }}
{{- end }}
rules:
- host: {{ .Values.ingress.hostName | quote }}
http:
paths:
- path: /
pathType: ImplementationSpecific
backend:
service:
name: {{ $fullName }}
port:
number: {{ .Values.service.port }}
{{- end -}}

17
helm/squidex7/templates/service.yaml

@ -0,0 +1,17 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "squidex.fullname" . }}
labels:
{{- include "squidex.labels" . | indent 4 }}
app.kubernetes.io/role: api
spec:
type: {{ .Values.service.type }}
ports:
- port: {{ .Values.service.port }}
targetPort: http
protocol: TCP
name: http
selector:
{{- include "squidex.selectors" . | indent 4 }}
app.kubernetes.io/role: api

141
helm/squidex7/values.yaml

@ -0,0 +1,141 @@
labels:
service:
type: ClusterIP
port: 80
deployment:
replicaCount: 1
selectors:
component: squidex
partOf: ""
version: ""
image:
repository: squidex/squidex
tag: "7.0.2"
pullPolicy: IfNotPresent
resources: { }
nodeSelector: { }
tolerations: [ ]
affinity: { }
clusterSuffix: cluster.local
auth:
##
ingress:
## If true, Squidex Ingress will be created.
##
enabled: true
## Squidex Ingress annotations
# annotations:
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
hostName: squidex.local
tls: [ ]
# - secretName: chart-example-tls
# hosts:
# - chart-example.local
env:
# Define the type of the event store
EVENTSTORE__TYPE: MongoDb
EVENTSTORE__MONGODB__DATABASE: "Squidex"
# CREATE LOCAL ADMIN USER
IDENTITY__ADMINEMAIL: ""
IDENTITY__ADMINPASSWORD: ""
IDENTITY__ADMINRECREATE: false # Recreate the admin if it does not exist or the password does not match
IDENTITY__ALLOWPASSWORDAUTH: "true" # Enable password auth. Set this to false if you want to disable local login, leaving only 3rd party login options
IDENTITY__LOCKAUTOMATICALLY: "false" # Lock new users automatically, the administrator must unlock them
IDENTITY__SHOWPII: true # Set to true to show PII (Personally Identifiable Information) in the logs
IDENTITY__PRIVACYURL: "https://squidex.io/privacy" # The url to you privacy statements, if you host squidex by yourself
# Settings for Google auth (keep empty to disable)
IDENTITY__GOOGLECLIENT: null
IDENTITY__GOOGLESECRET: null
# Settings for Github auth (keep empty to disable)
IDENTITY__GITHUBCLIENT: null
IDENTITY__GITHUBSECRET: null
# Settings for Microsoft auth (keep empty to disable)
# NOTE: Tennant is optional for using a specific AzureAD tenant
IDENTITY__MICROSOFTCLIENT: null
IDENTITY__MICROSOFTSECRET: null
IDENTITY__MICROSOFTTENANT: null
# Settings for your custom oidc server
IDENTITY__OIDCNAME: null
IDENTITY__OIDCAUTHORITY: null
IDENTITY__OIDCCLIENT: null
IDENTITY__OIDCSECRET: null
IDENTITY__OIDCMETADATAADDRESS: null
IDENTITY__OIDCSCOPES: [] # ["email"]
IDENTITY__OIDCRESPONSETYPE: null # id_token or code
IDENTITY__OIDCGETCLAIMSFROMUSERINFOENDPOINT: false
IDENTITY__OIDCSINGOUTREDIRECTURL: null
LETSENCRYPT_HOST: null
LETSENCRYPT_EMAIL: null
# LOGGING SETTINGS
LOGGING__LEVEL: INFORMATION # Trace, Debug, Information, Warning, Error, Fatal
LOGGING__HUMAN: false # Setting the flag to true, enables well formatteds json logs
LOGGING__COLORS: false # Set to true, to use colors
LOGGING__LOGREQUESTS: true # Set to false to disable logging of http requests
LOGGING__STOREENABLED: true # False to disable the log store
LOGGING__STORERETENTIONINDAYS: 90 # The number of days request log items will be stored
LOGGING__STACKDRIVER__ENABLED: false # True, to enable stackdriver integration
LOGGING__OTLP__ENABLED: false # True, to enable OpenTelemetry Protocol integration
LOGGING__OLTP__ENDPOINT: null # The endpoint to the agent
LOGGING__APPLICATIONINSIGHTS__ENABLED: false # True, to enable application insights integraon
LOGGING__APPLICATIONINSIGHTS__CONNECTIONSTRING: null # "instrumentationkey=keyvalue"
# Define the clustering type
ORLEANS__CLUSTERING: MongoDB # SUPPORTED: MongoDB, Development
ORLEANS__KUBERNETES: true # Tell Orleans it is running in kubernetes
# Define the type of the read store
STORE__TYPE: MongoDb
STORE__MONGODB__DATABASE: "Squidex"
STORE__MONGODB__CONTENTDATABASE: "SquidexContent"
# Assets
ASSETSTORE__TYPE: MongoDb
URLS__BASEURL: https://squidex.local/ # Set the base url of your application, to generate correct urls in background process
URLS__ENFORCEHTTPS: false # Set it to true to redirect the user from http to https permanently
mongodb-replicaset:
enabled: true
replicas: 3
auth:
enabled: false
existingKeySecret: ""
existingAdminSecret: ""
existingMetricsSecret: ""
# adminUser: username
# adminPassword: password
# metricsUser: metrics
# metricsPassword: password
# key: keycontent
persistentVolume:
enabled: true
## mongodb-replicaset data Persistent Volume Storage Class
## If defined, storageClassName: <storageClass>
## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
##
storageClass: ""
accessModes:
- ReadWriteOnce
size: 10Gi
nodeSelector: {}
Loading…
Cancel
Save