chart update

This commit is contained in:
Alexis GUYOT 2024-06-19 16:53:44 +02:00
parent 6f89755796
commit 6e310f7d09
8 changed files with 578 additions and 24 deletions

View File

@ -15,4 +15,4 @@ sources:
- https://github.com/martialblog/docker-limesurvey/ - https://github.com/martialblog/docker-limesurvey/
- https://limesurvey.org/ - https://limesurvey.org/
type: application type: application
version: 0.8.1 version: 0.8.18

View File

@ -0,0 +1,454 @@
---
# Source: limesurvey-martial-perpetuel/charts/mariadb/templates/serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: lime-db
namespace: "default"
labels:
app.kubernetes.io/name: mariadb
helm.sh/chart: mariadb-11.4.2
app.kubernetes.io/instance: kk
app.kubernetes.io/managed-by: Helm
annotations:
automountServiceAccountToken: false
---
# Source: limesurvey-martial-perpetuel/templates/serviceaccount.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: kk-limesurvey-martial-perpetuel
labels:
helm.sh/chart: limesurvey-martial-perpetuel-0.8.11
app.kubernetes.io/name: limesurvey-martial-perpetuel
app.kubernetes.io/instance: kk
app.kubernetes.io/version: "5-apache"
app.kubernetes.io/managed-by: Helm
---
# Source: limesurvey-martial-perpetuel/charts/mariadb/templates/secrets.yaml
apiVersion: v1
kind: Secret
metadata:
name: lime-db
namespace: "default"
labels:
app.kubernetes.io/name: mariadb
helm.sh/chart: mariadb-11.4.2
app.kubernetes.io/instance: kk
app.kubernetes.io/managed-by: Helm
type: Opaque
data:
mariadb-root-password: "bGltZXN1cnZleQ=="
mariadb-password: "bGltZXN1cnZleQ=="
---
# Source: limesurvey-martial-perpetuel/templates/secrets.yaml
apiVersion: v1
kind: Secret
metadata:
name: kk-limesurvey-martial-perpetuel-app-secrets
namespace: "default"
labels:
helm.sh/chart: limesurvey-martial-perpetuel-0.8.11
app.kubernetes.io/name: limesurvey-martial-perpetuel
app.kubernetes.io/instance: kk
app.kubernetes.io/version: "5-apache"
app.kubernetes.io/managed-by: Helm
type: Opaque
data:
limesurvey-admin-password: "YWRtaW4="
---
# Source: limesurvey-martial-perpetuel/charts/mariadb/templates/primary/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: lime-db
namespace: "default"
labels:
app.kubernetes.io/name: mariadb
helm.sh/chart: mariadb-11.4.2
app.kubernetes.io/instance: kk
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/component: primary
data:
my.cnf: |-
[mysqld]
skip-name-resolve
explicit_defaults_for_timestamp
basedir=/opt/bitnami/mariadb
plugin_dir=/opt/bitnami/mariadb/plugin
port=3306
socket=/opt/bitnami/mariadb/tmp/mysql.sock
tmpdir=/opt/bitnami/mariadb/tmp
max_allowed_packet=16M
bind-address=*
pid-file=/opt/bitnami/mariadb/tmp/mysqld.pid
log-error=/opt/bitnami/mariadb/logs/mysqld.log
character-set-server=UTF8
collation-server=utf8_general_ci
slow_query_log=0
slow_query_log_file=/opt/bitnami/mariadb/logs/mysqld.log
long_query_time=10.0
[client]
port=3306
socket=/opt/bitnami/mariadb/tmp/mysql.sock
default-character-set=UTF8
plugin_dir=/opt/bitnami/mariadb/plugin
[manager]
port=3306
socket=/opt/bitnami/mariadb/tmp/mysql.sock
pid-file=/opt/bitnami/mariadb/tmp/mysqld.pid
---
# Source: limesurvey-martial-perpetuel/templates/pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: kk-limesurvey-martial-perpetuel
labels:
helm.sh/chart: limesurvey-martial-perpetuel-0.8.11
app.kubernetes.io/name: limesurvey-martial-perpetuel
app.kubernetes.io/instance: kk
app.kubernetes.io/version: "5-apache"
app.kubernetes.io/managed-by: Helm
finalizers:
- kubernetes.io/pvc-protection
spec:
accessModes:
- "ReadWriteOnce"
resources:
requests:
storage: "5Gi"
---
# Source: limesurvey-martial-perpetuel/charts/mariadb/templates/primary/svc.yaml
apiVersion: v1
kind: Service
metadata:
name: lime-db
namespace: "default"
labels:
app.kubernetes.io/name: mariadb
helm.sh/chart: mariadb-11.4.2
app.kubernetes.io/instance: kk
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/component: primary
annotations:
spec:
type: ClusterIP
sessionAffinity: None
ports:
- name: mysql
port: 3306
protocol: TCP
targetPort: mysql
nodePort: null
selector:
app.kubernetes.io/name: mariadb
app.kubernetes.io/instance: kk
app.kubernetes.io/component: primary
---
# Source: limesurvey-martial-perpetuel/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: kk-limesurvey-martial-perpetuel
labels:
helm.sh/chart: limesurvey-martial-perpetuel-0.8.11
app.kubernetes.io/name: limesurvey-martial-perpetuel
app.kubernetes.io/instance: kk
app.kubernetes.io/version: "5-apache"
app.kubernetes.io/managed-by: Helm
spec:
type: ClusterIP
ports:
- port: 80
targetPort: http
protocol: TCP
name: http
selector:
app.kubernetes.io/name: limesurvey-martial-perpetuel
app.kubernetes.io/instance: kk
---
# Source: limesurvey-martial-perpetuel/templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: kk-limesurvey-martial-perpetuel
labels:
helm.sh/chart: limesurvey-martial-perpetuel-0.8.11
app.kubernetes.io/name: limesurvey-martial-perpetuel
app.kubernetes.io/instance: kk
app.kubernetes.io/version: "5-apache"
app.kubernetes.io/managed-by: Helm
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: limesurvey-martial-perpetuel
app.kubernetes.io/instance: kk
strategy:
type: RollingUpdate
template:
metadata:
labels:
app.kubernetes.io/name: limesurvey-martial-perpetuel
app.kubernetes.io/instance: kk
spec:
serviceAccountName: kk-limesurvey-martial-perpetuel
securityContext:
fsGroup: 33
runAsGroup: 33
runAsUser: 33
initContainers:
- name: wait-for-db
image: docker.io/martialblog/limesurvey:5-apache
securityContext:
allowPrivilegeEscalation: false
imagePullPolicy: IfNotPresent
command: ['/bin/sh', '-c',
'until nc -z -v -w30 "$DB_HOST" "$DB_PORT"; do
echo "Info: Waiting for database connection...";
sleep 5;
done']
resources:
limits: {}
requests:
cpu: 300m
memory: 512Mi
env:
- name: DB_HOST
value: kk-mariadb
- name: DB_PORT
value: "3306"
containers:
- name: limesurvey-apache
image: docker.io/martialblog/limesurvey:5-apache
imagePullPolicy: IfNotPresent
securityContext:
allowPrivilegeEscalation: false
ports:
- name: http
containerPort: 8080
protocol: TCP
livenessProbe:
httpGet:
path: /
port: http
readinessProbe:
httpGet:
path: /
port: http
resources:
limits: {}
requests:
cpu: 300m
memory: 512Mi
volumeMounts:
- name: storage
mountPath: "/var/www/html/upload/"
env:
- name: DB_TYPE
value: "mysql"
- name: DB_HOST
value: kk-mariadb
- name: DB_PORT
value: "3306"
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: kk-mariadb
key: mariadb-password
- name: DB_USERNAME
value: limesurvey
- name: DB_NAME
value: my_database
- name: DB_TABLE_PREFIX
value: "lime_"
- name: DB_MYSQL_ENGINE
value: MyISAM
- name: ADMIN_PASSWORD
valueFrom:
secretKeyRef:
name: kk-limesurvey-martial-perpetuel-app-secrets
key: limesurvey-admin-password
- name: ADMIN_USER
value: admin
- name: ADMIN_NAME
value: Administrator
- name: ADMIN_EMAIL
value: admin@example.com
- name: LISTEN_PORT
value: "8080"
- name: URL_FORMAT
value: path
- name: DEBUG
value: "0"
- name: DEBUG_SQL
value: "0"
volumes:
- name: storage
persistentVolumeClaim:
claimName: kk-limesurvey-martial-perpetuel
---
# Source: limesurvey-martial-perpetuel/charts/mariadb/templates/primary/statefulset.yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: lime-db
namespace: "default"
labels:
app.kubernetes.io/name: mariadb
helm.sh/chart: mariadb-11.4.2
app.kubernetes.io/instance: kk
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/component: primary
spec:
replicas: 1
revisionHistoryLimit: 10
selector:
matchLabels:
app.kubernetes.io/name: mariadb
app.kubernetes.io/instance: kk
app.kubernetes.io/component: primary
serviceName: lime-db
updateStrategy:
type: RollingUpdate
template:
metadata:
annotations:
checksum/configuration: b990a93957c260bd0eadaa1c9f51ba284c7ea4d78c86574295208187bca6276c
labels:
app.kubernetes.io/name: mariadb
helm.sh/chart: mariadb-11.4.2
app.kubernetes.io/instance: kk
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/component: primary
spec:
serviceAccountName: lime-db
affinity:
podAffinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- podAffinityTerm:
labelSelector:
matchLabels:
app.kubernetes.io/name: mariadb
app.kubernetes.io/instance: kk
app.kubernetes.io/component: primary
topologyKey: kubernetes.io/hostname
weight: 1
nodeAffinity:
securityContext:
fsGroup: 1001
containers:
- name: mariadb
image: docker.io/bitnami/mariadb:10.6.11-debian-11-r12
imagePullPolicy: "IfNotPresent"
securityContext:
runAsNonRoot: true
runAsUser: 1001
env:
- name: BITNAMI_DEBUG
value: "false"
- name: MARIADB_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: lime-db
key: mariadb-root-password
- name: MARIADB_USER
value: "limesurvey"
- name: MARIADB_PASSWORD
valueFrom:
secretKeyRef:
name: lime-db
key: mariadb-password
- name: MARIADB_DATABASE
value: "my_database"
ports:
- name: mysql
containerPort: 3306
livenessProbe:
failureThreshold: 3
initialDelaySeconds: 120
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
exec:
command:
- /bin/bash
- -ec
- |
password_aux="${MARIADB_ROOT_PASSWORD:-}"
if [[ -f "${MARIADB_ROOT_PASSWORD_FILE:-}" ]]; then
password_aux=$(cat "$MARIADB_ROOT_PASSWORD_FILE")
fi
mysqladmin status -uroot -p"${password_aux}"
readinessProbe:
failureThreshold: 3
initialDelaySeconds: 30
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
exec:
command:
- /bin/bash
- -ec
- |
password_aux="${MARIADB_ROOT_PASSWORD:-}"
if [[ -f "${MARIADB_ROOT_PASSWORD_FILE:-}" ]]; then
password_aux=$(cat "$MARIADB_ROOT_PASSWORD_FILE")
fi
mysqladmin status -uroot -p"${password_aux}"
resources:
limits: {}
requests: {}
volumeMounts:
- name: data
mountPath: /bitnami/mariadb
- name: config
mountPath: /opt/bitnami/mariadb/conf/my.cnf
subPath: my.cnf
volumes:
- name: config
configMap:
name: lime-db
volumeClaimTemplates:
- metadata:
name: data
labels:
app.kubernetes.io/name: mariadb
app.kubernetes.io/instance: kk
app.kubernetes.io/component: primary
spec:
accessModes:
- "ReadWriteOnce"
resources:
requests:
storage: "8Gi"
---
# Source: limesurvey-martial-perpetuel/templates/ingress.yaml
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: kk-limesurvey-martial-perpetuel
labels:
helm.sh/chart: limesurvey-martial-perpetuel-0.8.11
app.kubernetes.io/name: limesurvey-martial-perpetuel
app.kubernetes.io/instance: kk
app.kubernetes.io/version: "5-apache"
app.kubernetes.io/managed-by: Helm
spec:
rules:
- host: "limesurvey-genes.lab.groupe-genes.fr"
http:
paths:
- path: /
pathType: ImplementationSpecific
backend:
service:
name: kk-limesurvey-martial-perpetuel
port:
number: 80

View File

@ -2,30 +2,127 @@
"$schema": "http://json-schema.org/schema#", "$schema": "http://json-schema.org/schema#",
"type": "object", "type": "object",
"properties": { "properties": {
"ingress": { "persistence": {
"type": "object", "description": "Configuration for persistence",
"type": "object",
"properties": {
"enabled": {
"type": "boolean",
"description": "Create a persistent volume",
"default": true
},
"size": {
"type": "string",
"title": "Persistent volume size",
"description": "Size of the persistent volume",
"default": "10Gi",
"form": true, "form": true,
"title": "Ingress Details", "render": "slider",
"properties": { "sliderMin": 1,
"enabled": { "sliderMax": 100,
"description": "Enable Ingress", "sliderStep": 1,
"type": "boolean", "sliderUnit": "Gi"
"default": true,
"x-onyxia": {
"hidden": true,
"overwriteDefaultWith": "k8s.ingress"
}
},
"hostname": {
"type": "string",
"form": true,
"title": "Hostname",
"x-onyxia": {
"hidden": false,
"overwriteDefaultWith": "{{project.id}}-{{k8s.randomSubdomain}}-0.{{k8s.domain}}"
}
}
} }
} }
},
"resources": {
"description": "Your service will have at least the requested resources and never more than its limits. No limit for a resource and you can consume everything left on the host machine.",
"type": "object",
"properties": {
"requests": {
"description": "Guaranteed resources",
"type": "object",
"properties": {
"cpu": {
"description": "The amount of cpu guaranteed",
"title": "CPU",
"type": "string",
"default": "100m",
"render": "slider",
"sliderMin": 50,
"sliderMax": 40000,
"sliderStep": 50,
"sliderUnit": "m",
"sliderExtremity": "down",
"sliderExtremitySemantic": "guaranteed",
"sliderRangeId": "cpu"
},
"memory": {
"description": "The amount of memory guaranteed",
"title": "memory",
"type": "string",
"default": "2Gi",
"render": "slider",
"sliderMin": 1,
"sliderMax": 200,
"sliderStep": 1,
"sliderUnit": "Gi",
"sliderExtremity": "down",
"sliderExtremitySemantic": "guaranteed",
"sliderRangeId": "memory"
}
}
},
"limits": {
"description": "max resources",
"type": "object",
"properties": {
"cpu": {
"description": "The maximum amount of cpu",
"title": "CPU",
"type": "string",
"default": "30000m",
"render": "slider",
"sliderMin": 50,
"sliderMax": 40000,
"sliderStep": 50,
"sliderUnit": "m",
"sliderExtremity": "up",
"sliderExtremitySemantic": "Maximum",
"sliderRangeId": "cpu"
},
"memory": {
"description": "The maximum amount of memory",
"title": "Memory",
"type": "string",
"default": "50Gi",
"render": "slider",
"sliderMin": 1,
"sliderMax": 200,
"sliderStep": 1,
"sliderUnit": "Gi",
"sliderExtremity": "up",
"sliderExtremitySemantic": "Maximum",
"sliderRangeId": "memory"
}
}
}
}
}
},
"security": {
"description": "security specific configuration",
"type": "object",
"properties": {
"networkPolicy": {
"type": "object",
"description": "Define access policy to the service",
"properties": {
"enabled": {
"type": "boolean",
"title": "Enable network policy",
"description": "Only pod from the same namespace will be allowed",
"default": true,
"x-form": {
"value": "{{region.defaultNetworkPolicy}}"
},
"x-onyxia": {
"overwriteDefaultWith": "region.defaultNetworkPolicy"
}
}
}
}
} }
}
} }

View File

@ -26,6 +26,7 @@ serviceAccount:
## MariaDB chart configuration ## MariaDB chart configuration
mariadb: mariadb:
# Deploy a MariaDB server to satisfy the database requirements # Deploy a MariaDB server to satisfy the database requirements
fullnameOverride: lime-db
enabled: true enabled: true
# for all possible configuration values, see: # for all possible configuration values, see:
# https://github.com/bitnami/charts/blob/master/bitnami/mariadb/values.yaml # https://github.com/bitnami/charts/blob/master/bitnami/mariadb/values.yaml
@ -52,7 +53,7 @@ externalDatabase:
username: limesurvey username: limesurvey
# External Database user password # External Database user password
# (ignored when existingSecret is set, use existingSecretConfig.passwordField to change key) # (ignored when existingSecret is set, use existingSecretConfig.passwordField to change key)
password: null password: "limesurvey"
# External Database database name (use existingSecretConfig.databaseField to load from secret) # External Database database name (use existingSecretConfig.databaseField to load from secret)
database: limesurvey database: limesurvey
# Use an existing secret for retrieving the database password. # Use an existing secret for retrieving the database password.

View File

@ -29,3 +29,5 @@
} }
} }
} }