diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..c6048e2 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,30 @@ +name: Release Charts + +on: + push: + branches: + - main + +jobs: + release: + permissions: + contents: write + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Configure Git + run: | + git config user.name "$GITHUB_ACTOR" + git config user.email "$GITHUB_ACTOR@users.noreply.github.com" + + - name: Run chart-releaser + uses: helm/chart-releaser-action@v1.7.0 + with: + charts_dir: ./ + pages_branch: gh-pages + env: + CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" diff --git a/chart/Chart.yaml b/chart/Chart.yaml new file mode 100644 index 0000000..ba5f384 --- /dev/null +++ b/chart/Chart.yaml @@ -0,0 +1,18 @@ +# This is the main values.yaml file for the resourcespace chart. +# More information can be found in the chart's README.md file. +# +# generated at: 2025-11-26T10:32:40-06:00 +# compose files: docker-compose.yaml +# compose hash (sha1): 130407091ed05d8753a6b9ecc272bb838a11d1ca + +# Name of the chart (required), basically the name of the project. +name: resourcespace +apiVersion: v2 + +# Version of the chart (required) +version: 0.1.5 + +# Version of the application (required). +# This should be the main application version. +appVersion: 0.1.5 +description: A Helm chart for resourcespace diff --git a/chart/README.md b/chart/README.md new file mode 100644 index 0000000..ee590c9 --- /dev/null +++ b/chart/README.md @@ -0,0 +1,53 @@ +# resourcespace + +A Helm chart for resourcespace + +## Installing the Chart + +To install the chart with the release name `my-release`: + +```bash +# Standard Helm install +$ helm install my-release resourcespace + +# To use a custom namespace and force the creation of the namespace +$ helm install my-release --namespace my-namespace --create-namespace resourcespace + +# To use a custom values file +$ helm install my-release -f my-values.yaml resourcespace +``` + +See the [Helm documentation](https://helm.sh/docs/intro/using_helm/) for more information on installing and managing the chart. + +## Configuration + +The following table lists the configurable parameters of the resourcespace chart and their default values. + +| Parameter | Default | +| --------------------------------------------------------- | -------------------------- | +| `mariadb.imagePullPolicy` | `IfNotPresent` | +| `mariadb.persistence.mariadb.accessMode[0].value` | `ReadWriteOnce` | +| `mariadb.persistence.mariadb.enabled` | `true` | +| `mariadb.persistence.mariadb.size` | `1Gi` | +| `mariadb.persistence.mariadb.storageClass` | `-` | +| `mariadb.replicas` | `1` | +| `mariadb.repository.image` | `mariadb` | +| `mariadb.repository.tag` | `` | +| `mariadb.serviceAccount` | `` | +| `resourcespace.imagePullPolicy` | `IfNotPresent` | +| `resourcespace.ingress.class` | `-` | +| `resourcespace.ingress.enabled` | `false` | +| `resourcespace.ingress.host` | `mywebsite.com (optional)` | +| `resourcespace.ingress.path` | `/` | +| `resourcespace.ingress.tls.enabled` | `true` | +| `resourcespace.ingress.tls.secretName` | `` | +| `resourcespace.persistence.filestore.accessMode[0].value` | `ReadWriteOnce` | +| `resourcespace.persistence.filestore.enabled` | `true` | +| `resourcespace.persistence.filestore.size` | `1Gi` | +| `resourcespace.persistence.filestore.storageClass` | `-` | +| `resourcespace.replicas` | `1` | +| `resourcespace.repository.image` | `` | +| `resourcespace.repository.tag` | `` | +| `resourcespace.serviceAccount` | `` | + + diff --git a/chart/templates/NOTES.txt b/chart/templates/NOTES.txt new file mode 100644 index 0000000..ce26270 --- /dev/null +++ b/chart/templates/NOTES.txt @@ -0,0 +1,44 @@ +Thanks to have installed {{ .Chart.Name }} {{ .Chart.Version }} as {{ .Release.Name }} ({{.Chart.AppVersion }}). + +# Get release information + +To learn more about the release, try: + + $ helm -n {{ .Release.Namespace }} status {{ .Release.Name }} + $ helm -n {{ .Release.Namespace }} get values {{ .Release.Name }} + $ helm -n {{ .Release.Namespace }} get all {{ .Release.Name }} + +# To delete the release + +Use helm uninstall command to delete the release. + + $ helm -n {{ .Release.Namespace }} uninstall {{ .Release.Name }} + +Note that some resources may still be in use after a release is deleted. For exemple, PersistentVolumeClaims are not deleted by default for some storage classes or if some annotations are set. + +# More information + +You can see this notes again by running: + + $ helm -n {{ .Release.Namespace }} get notes {{ .Release.Name }} + +{{- $count := 0 -}} +{{- $listOfURL := "" -}} +{{- if and .Values.resourcespace.ingress .Values.resourcespace.ingress.enabled }} +{{- $count = add1 $count -}}{{- $listOfURL = printf "%s\n- http://%s" $listOfURL (tpl .Values.resourcespace.ingress.host .) -}} +{{- end }} +{{- if and .Values.mariadb.ingress .Values.mariadb.ingress.enabled }} +{{- $count = add1 $count -}}{{- $listOfURL = printf "%s\n- http://%s" $listOfURL (tpl .Values.mariadb.ingress.host .) -}} +{{- end }} +{{- if gt $count 0 }} + +# List of activated ingresses URL: +{{ $listOfURL }} + +You can get these urls with kubectl: + + kubeclt get ingress -n {{ .Release.Namespace }} + +{{- end }} + +Thanks for using Helm! diff --git a/chart/templates/_helpers.tpl b/chart/templates/_helpers.tpl new file mode 100644 index 0000000..3b42cbc --- /dev/null +++ b/chart/templates/_helpers.tpl @@ -0,0 +1,36 @@ +{{- define "resourcespace.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 -}} + +{{- define "resourcespace.name" -}} +{{- if .Values.nameOverride -}} +{{- .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- else -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} +{{- end -}} + +{{- define "resourcespace.labels" -}} +{{ include "resourcespace.selectorLabels" .}} +{{ if .Chart.Version -}} +{{ printf "katenary.v3/chart-version: '%s'" .Chart.Version }} +{{- end }} +{{ if .Chart.AppVersion -}} +{{ printf "katenary.v3/app-version: '%s'" .Chart.AppVersion }} +{{- end }} +{{- end -}} + +{{- define "resourcespace.selectorLabels" -}} +{{- $name := default .Chart.Name .Values.nameOverride -}} +{{ printf "katenary.v3/name: %s" $name }} +{{ printf "katenary.v3/instance: %s" .Release.Name }} +{{- end -}} diff --git a/chart/templates/mariadb/configmap.yaml b/chart/templates/mariadb/configmap.yaml new file mode 100644 index 0000000..222efd2 --- /dev/null +++ b/chart/templates/mariadb/configmap.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +data: + MYSQL_DATABASE: resourcespace + MYSQL_PASSWORD: change-me + MYSQL_ROOT_PASSWORD: change-me + MYSQL_USER: resourcespace_rw +kind: ConfigMap +metadata: + annotations: + katenary.v3/compose-hash: 130407091ed05d8753a6b9ecc272bb838a11d1ca + katenary.v3/version: master + labels: + {{- include "resourcespace.labels" . | nindent 4 }} + katenary.v3/component: mariadb + name: '{{ include "resourcespace.fullname" . }}-mariadb' diff --git a/chart/templates/mariadb/deployment.yaml b/chart/templates/mariadb/deployment.yaml new file mode 100644 index 0000000..7dc25f4 --- /dev/null +++ b/chart/templates/mariadb/deployment.yaml @@ -0,0 +1,59 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + katenary.v3/compose-hash: 130407091ed05d8753a6b9ecc272bb838a11d1ca + katenary.v3/version: master + labels: + {{- include "resourcespace.labels" . | nindent 4 }} + katenary.v3/component: mariadb + name: '{{ include "resourcespace.fullname" . }}-mariadb' +spec: + replicas: {{ .Values.mariadb.replicas }} + selector: + matchLabels: + {{- include "resourcespace.selectorLabels" . | nindent 6 }} + katenary.v3/component: mariadb + strategy: {} + template: + metadata: + labels: + {{- include "resourcespace.selectorLabels" . | nindent 8 }} + katenary.v3/component: mariadb + spec: + containers: + - envFrom: + - configMapRef: + name: '{{ include "resourcespace.fullname" . }}-mariadb' + image: '{{ tpl .Values.mariadb.repository.image $ }}:{{ tpl .Values.mariadb.repository.tag $ | default "latest" }}' + imagePullPolicy: {{ .Values.mariadb.imagePullPolicy }} + name: mariadb + ports: + - containerPort: 3306 + name: mysql + {{- if .Values.mariadb.resources }} + resources: + {{ .Values.mariadb.resources | toYaml | nindent 10 }} + {{- end }} + volumeMounts: + {{- if .Values.mariadb.persistence.mariadb.enabled }} + - mountPath: /var/lib/mysql + name: mariadb + {{- end }} + {{- if .Values.pullSecrets }} + imagePullSecrets: + {{- .Values.pullSecrets | toYaml | nindent 6 }} + {{- end }} + {{- if .Values.mariadb.nodeSelector }} + nodeSelector: + {{- .Values.mariadb.nodeSelector | toYaml | nindent 8 }} + {{- end }} + {{- if ne .Values.mariadb.serviceAccount "" }} + serviceAccountName: {{ .Values.mariadb.serviceAccount | quote }} + {{- end }} + volumes: + {{- if .Values.mariadb.persistence.mariadb.enabled }} + - name: mariadb + persistentVolumeClaim: + claimName: '{{ include "resourcespace.fullname" . }}-mariadb-mariadb' + {{- end }} diff --git a/chart/templates/mariadb/mariadb.volumeclaim.yaml b/chart/templates/mariadb/mariadb.volumeclaim.yaml new file mode 100644 index 0000000..4ccb9ea --- /dev/null +++ b/chart/templates/mariadb/mariadb.volumeclaim.yaml @@ -0,0 +1,22 @@ +{{- if .Values.mariadb.persistence.mariadb.enabled }} +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + annotations: + katenary.v3/compose-hash: 130407091ed05d8753a6b9ecc272bb838a11d1ca + katenary.v3/version: master + labels: + {{- include "resourcespace.labels" . | nindent 4 }} + katenary.v3/component: mariadb + name: '{{ include "resourcespace.fullname" . }}-mariadb-mariadb' +spec: + accessModes: + {{- .Values.mariadb.persistence.mariadb.accessMode | toYaml | nindent 2 }} + resources: + requests: + storage: {{ tpl .Values.mariadb.persistence.mariadb.size $ }} + {{- if ne .Values.mariadb.persistence.mariadb.storageClass "-" }} + storageClassName: '{{ .Values.mariadb.persistence.mariadb.storageClass }}' + {{- end }} + +{{- end }} \ No newline at end of file diff --git a/chart/templates/mariadb/service.yaml b/chart/templates/mariadb/service.yaml new file mode 100644 index 0000000..5e15af1 --- /dev/null +++ b/chart/templates/mariadb/service.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Service +metadata: + annotations: + katenary.v3/compose-hash: 130407091ed05d8753a6b9ecc272bb838a11d1ca + katenary.v3/version: master + labels: + {{- include "resourcespace.labels" . | nindent 4 }} + katenary.v3/component: mariadb + name: '{{ include "resourcespace.fullname" . }}-mariadb' +spec: + ports: + - name: mysql + port: 3306 + protocol: TCP + targetPort: mysql + selector: + {{- include "resourcespace.selectorLabels" . | nindent 4 }} + katenary.v3/component: mariadb diff --git a/chart/templates/resourcespace/deployment.yaml b/chart/templates/resourcespace/deployment.yaml new file mode 100644 index 0000000..4a85699 --- /dev/null +++ b/chart/templates/resourcespace/deployment.yaml @@ -0,0 +1,76 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + annotations: + katenary.v3/compose-hash: 130407091ed05d8753a6b9ecc272bb838a11d1ca + katenary.v3/version: master + labels: + {{- include "resourcespace.labels" . | nindent 4 }} + katenary.v3/component: resourcespace + name: '{{ include "resourcespace.fullname" . }}-resourcespace' +spec: + replicas: {{ .Values.resourcespace.replicas }} + selector: + matchLabels: + {{- include "resourcespace.selectorLabels" . | nindent 6 }} + katenary.v3/component: resourcespace + strategy: {} + template: + metadata: + labels: + {{- include "resourcespace.selectorLabels" . | nindent 8 }} + katenary.v3/component: resourcespace + spec: + containers: + - image: '{{ tpl .Values.resourcespace.repository.image $ }}:{{ tpl .Values.resourcespace.repository.tag $ | default .Chart.AppVersion }}' + imagePullPolicy: {{ .Values.resourcespace.imagePullPolicy }} + name: resourcespace + ports: + - containerPort: 80 + name: http + {{- if .Values.resourcespace.resources }} + resources: + {{ .Values.resourcespace.resources | toYaml | nindent 10 }} + {{- end }} + volumeMounts: + {{- if .Values.resourcespace.persistence.filestore.enabled }} + - mountPath: /var/www/html/filestore + name: filestore + {{- end }} + - mountPath: /var/www/html/include/config.php + name: config-php + subPath: config.php + {{- if .Values.pullSecrets }} + imagePullSecrets: + {{- .Values.pullSecrets | toYaml | nindent 6 }} + {{- end }} + initContainers: + - command: + - /bin/sh + - -c + - |- + until nc -z {{ include "resourcespace.fullname" . }}-mariadb 3306; do + sleep 1; + done + image: busybox:latest + name: wait-for-mariadb + {{- if .Values.resourcespace.resources }} + resources: + {{ .Values.resourcespace.resources | toYaml | nindent 10 }} + {{- end }} + {{- if .Values.resourcespace.nodeSelector }} + nodeSelector: + {{- .Values.resourcespace.nodeSelector | toYaml | nindent 8 }} + {{- end }} + {{- if ne .Values.resourcespace.serviceAccount "" }} + serviceAccountName: {{ .Values.resourcespace.serviceAccount | quote }} + {{- end }} + volumes: + {{- if .Values.resourcespace.persistence.filestore.enabled }} + - name: filestore + persistentVolumeClaim: + claimName: '{{ include "resourcespace.fullname" . }}-resourcespace-filestore' + {{- end }} + - configMap: + name: '{{ include "resourcespace.fullname" . }}-resourcespace' + name: config-php diff --git a/chart/templates/resourcespace/filestore.volumeclaim.yaml b/chart/templates/resourcespace/filestore.volumeclaim.yaml new file mode 100644 index 0000000..a5dbe10 --- /dev/null +++ b/chart/templates/resourcespace/filestore.volumeclaim.yaml @@ -0,0 +1,22 @@ +{{- if .Values.resourcespace.persistence.filestore.enabled }} +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + annotations: + katenary.v3/compose-hash: 130407091ed05d8753a6b9ecc272bb838a11d1ca + katenary.v3/version: master + labels: + {{- include "resourcespace.labels" . | nindent 4 }} + katenary.v3/component: resourcespace + name: '{{ include "resourcespace.fullname" . }}-resourcespace-filestore' +spec: + accessModes: + {{- .Values.resourcespace.persistence.filestore.accessMode | toYaml | nindent 2 }} + resources: + requests: + storage: {{ tpl .Values.resourcespace.persistence.filestore.size $ }} + {{- if ne .Values.resourcespace.persistence.filestore.storageClass "-" }} + storageClassName: '{{ .Values.resourcespace.persistence.filestore.storageClass }}' + {{- end }} + +{{- end }} \ No newline at end of file diff --git a/chart/templates/resourcespace/ingress.yaml b/chart/templates/resourcespace/ingress.yaml new file mode 100644 index 0000000..1261712 --- /dev/null +++ b/chart/templates/resourcespace/ingress.yaml @@ -0,0 +1,39 @@ +{{- if .Values.resourcespace.ingress.enabled -}} +{{- $fullname := include "resourcespace.fullname" . -}} +{{- $tlsname := printf "%s-%s-tls" $fullname "resourcespace" -}} +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + annotations: + katenary.v3/compose-hash: 130407091ed05d8753a6b9ecc272bb838a11d1ca + katenary.v3/version: master + {{- if .Values.resourcespace.ingress.annotations -}} + {{- toYaml .Values.resourcespace.ingress.annotations | nindent 4 }} + {{- end }} + labels: + {{- include "resourcespace.labels" . | nindent 4 }} + katenary.v3/component: resourcespace + name: '{{ $fullname }}-resourcespace' +spec: + {{- if ne .Values.resourcespace.ingress.class "-" }} + ingressClassName: '{{ tpl .Values.resourcespace.ingress.class $ }}' + {{- end }} + rules: + - host: '{{ tpl .Values.resourcespace.ingress.host $ }}' + http: + paths: + - backend: + service: + name: '{{ $fullname }}-resourcespace' + port: + name: http + path: '{{ tpl .Values.resourcespace.ingress.path $ }}' + pathType: ImplementationSpecific + {{- if .Values.resourcespace.ingress.tls.enabled }} + tls: + - hosts: + - '{{ tpl .Values.resourcespace.ingress.host . }}' + secretName: '{{ .Values.resourcespace.ingress.tls.secretName | default $tlsname }}' + {{ end -}} + +{{- end -}} \ No newline at end of file diff --git a/chart/templates/resourcespace/service.yaml b/chart/templates/resourcespace/service.yaml new file mode 100644 index 0000000..1ea3db8 --- /dev/null +++ b/chart/templates/resourcespace/service.yaml @@ -0,0 +1,19 @@ +apiVersion: v1 +kind: Service +metadata: + annotations: + katenary.v3/compose-hash: 130407091ed05d8753a6b9ecc272bb838a11d1ca + katenary.v3/version: master + labels: + {{- include "resourcespace.labels" . | nindent 4 }} + katenary.v3/component: resourcespace + name: '{{ include "resourcespace.fullname" . }}-resourcespace' +spec: + ports: + - name: http + port: 80 + protocol: TCP + targetPort: http + selector: + {{- include "resourcespace.selectorLabels" . | nindent 4 }} + katenary.v3/component: resourcespace diff --git a/chart/templates/resourcespace/statics/configmap.yaml b/chart/templates/resourcespace/statics/configmap.yaml new file mode 100644 index 0000000..642d5eb --- /dev/null +++ b/chart/templates/resourcespace/statics/configmap.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +data: + config.php: "" +kind: ConfigMap +metadata: + annotations: + katenary.v3/compose-hash: 130407091ed05d8753a6b9ecc272bb838a11d1ca + katenary.v3/version: master + labels: + {{- include "resourcespace.labels" . | nindent 4 }} + katenary.v3/component: resourcespace + name: '{{ include "resourcespace.fullname" . }}-resourcespace' diff --git a/chart/values.yaml b/chart/values.yaml new file mode 100644 index 0000000..bb37972 --- /dev/null +++ b/chart/values.yaml @@ -0,0 +1,157 @@ +# This file is autogenerated by katenary +# +# DO NOT EDIT IT BY HAND UNLESS YOU KNOW WHAT YOU ARE DOING +# +# If you want to change the content of this file, you should edit the +# compose file and run katenary again. +# If you need to override some values, you can do it in a override file +# and use the -f flag to specify it when running the helm command. + + + +# mariadb configuration +mariadb: + # key: mariadb.repository + repository: + # key: mariadb.repository.image + image: mariadb + # key: mariadb.repository.tag + tag: "" + # key: mariadb.persistence + persistence: + # key: mariadb.persistence.mariadb + mariadb: + # Storage class to use for PVCs + # storageClass: "-" means use default + # storageClass: "" means do not specify + # storageClass: "foo" means use that storageClass + # key: mariadb.persistence.mariadb.storageClass + storageClass: '-' + # key: mariadb.persistence.mariadb.size + size: 1Gi + # key: mariadb.persistence.mariadb.accessMode + accessMode: + - ReadWriteOnce + # key: mariadb.persistence.mariadb.enabled + enabled: true + # key: mariadb.replicas + replicas: 1 + # key: mariadb.nodeSelector + nodeSelector: {} + # Resources allows you to specify the resource requests and limits for a service. + # Resources are used to specify the amount of CPU and memory that + # a container needs. + # + # e.g. + # resources: + # requests: + # memory: "64Mi" + # cpu: "250m" + # limits: + # memory: "128Mi" + # cpu: "500m" + # key: mariadb.resources + resources: {} + # imagePullPolicy allows you to specify a policy to cache or always pull an image. + # You must provide a string value with one of the following values: + # - Always -> will always pull the image + # - Never -> will never pull the image, the image should be present on the node + # - IfNotPresent -> will pull the image only if it is not present on the node + # key: mariadb.imagePullPolicy + imagePullPolicy: IfNotPresent + # key: mariadb.serviceAccount + serviceAccount: "" + +# imagePullSecrets allows you to specify a name of an image pull secret. +# You must provide a list of object with the name field set to the name of the +# e.g. +# pullSecrets: +# - name: regcred +# You are, for now, responsible for creating the secret. +pullSecrets: [] + +# resourcespace configuration +resourcespace: + # key: resourcespace.repository + repository: + # key: resourcespace.repository.image + image: "ghcr.io/joshuacox/resourcespace_docker/resourcespace" + # This is the version of the main application. + # Leave it to blank to use the Chart "AppVersion" value. + # key: resourcespace.repository.tag + tag: "latest" + + # key: resourcespace.persistence + persistence: + # key: resourcespace.persistence.filestore + filestore: + # Storage class to use for PVCs + # storageClass: "-" means use default + # storageClass: "" means do not specify + # storageClass: "foo" means use that storageClass + # key: resourcespace.persistence.filestore.storageClass + storageClass: '-' + # key: resourcespace.persistence.filestore.size + size: 1Gi + # key: resourcespace.persistence.filestore.accessMode + accessMode: + - ReadWriteOnce + # key: resourcespace.persistence.filestore.enabled + enabled: true + # Default value for ingress.class annotation + # class: "-" + # If the value is "-", controller will not set ingressClassName + # If the value is "", Ingress will be set to an empty string, so + # controller will use the default value for ingressClass + # If the value is specified, controller will set the named class e.g. "nginx" + # key: resourcespace.ingress + ingress: + # key: resourcespace.ingress.annotations + annotations: {} + # key: resourcespace.ingress.host + host: resourcespace.example.com + # key: resourcespace.ingress.path + path: / + # key: resourcespace.ingress.class + class: '-' + # key: resourcespace.ingress.enabled + enabled: false + # Ingress TLS configuration + # If enabled, a secret containing the certificate and the key should be + # created by the ingress controller. If the name if emtpy, so the secret + # name is generated. You can specify the secret name to use your own secret. + # key: resourcespace.ingress.tls + tls: + # key: resourcespace.ingress.tls.enabled + enabled: true + # key: resourcespace.ingress.tls.secretName + secretName: "" + # key: resourcespace.replicas + replicas: 1 + # key: resourcespace.nodeSelector + nodeSelector: {} + # Resources allows you to specify the resource requests and limits for a service. + # Resources are used to specify the amount of CPU and memory that + # a container needs. + # + # e.g. + # resources: + # requests: + # memory: "64Mi" + # cpu: "250m" + # limits: + # memory: "128Mi" + # cpu: "500m" + # key: resourcespace.resources + resources: {} + # imagePullPolicy allows you to specify a policy to cache or always pull an image. + # You must provide a string value with one of the following values: + # - Always -> will always pull the image + # - Never -> will never pull the image, the image should be present on the node + # - IfNotPresent -> will pull the image only if it is not present on the node + # key: resourcespace.imagePullPolicy + imagePullPolicy: IfNotPresent + # key: resourcespace.serviceAccount + serviceAccount: "" + +# vim: ft=yaml diff --git a/docker-compose.yaml b/docker-compose.yaml index cc20f52..621e71d 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -8,6 +8,13 @@ services: volumes: - filestore:/var/www/html/filestore - ./config.php:/var/www/html/include/config.php + labels: + katenary.v3/main-app: true + katenary.v3/configmap-files: |- + - ./config.php + katenary.v3/ingress: |- + port: 80 + hostname: mywebsite.com (optional) networks: - frontend - backend @@ -24,6 +31,9 @@ services: - mariadb:/var/lib/mysql networks: - backend + labels: + katenary.v3/ports: |- + - 3306 networks: frontend: