Browse Source

Copy the labels to the persistent data volume

Move the custom label definitions to a custom folder in the kubernetes
folder, as well as the config files
pull/15/head
greg 2 years ago
parent
commit
eba722992f
  1. 2
      .gitignore
  2. 0
      kubernetes/custom/config/.gitkeep
  3. 0
      kubernetes/custom/options/label/Default
  4. 0
      kubernetes/custom/options/label/Kosmos
  5. 16
      kubernetes/gitea-server.yaml
  6. 2
      script/get_secrets
  7. 4
      script/replace_secrets

2
.gitignore

@ -1 +1 @@
/kubernetes/config/
/kubernetes/custom/config/

0
kubernetes/config/.gitkeep → kubernetes/custom/config/.gitkeep

0
custom/options/label/Default → kubernetes/custom/options/label/Default

0
custom/options/label/Kosmos → kubernetes/custom/options/label/Kosmos

16
kubernetes/gitea-server.yaml

@ -15,16 +15,21 @@ spec:
initContainers:
- name: init-config
image: busybox
command: ['sh', '-c', 'mkdir -p /data/gitea/conf && mkdir -p /data/gitea/https && cp /root/conf/app.ini /data/gitea/conf/app.ini && chown 1000:1000 /data/gitea/conf/app.ini && chmod 660 /data/gitea/conf/app.ini && cp /root/conf/*.pem /data/gitea/https && chmod 600 /data/gitea/https/*.pem && chown -R 1000:1000 /data/gitea']
command: [
'sh', '-c',
'mkdir -p /data/gitea/conf && mkdir -p /data/gitea/https && mkdir -p /data/gitea/options/label && cp /root/conf/app.ini /data/gitea/conf/app.ini && chown 1000:1000 /data/gitea/conf/app.ini && chmod 660 /data/gitea/conf/app.ini && cp /root/conf/*.pem /data/gitea/https && chmod 600 /data/gitea/https/*.pem && cp /root/options/label/* /data/gitea/options/label/ && chown -R 1000:1000 /data/gitea'
]
volumeMounts:
- mountPath: /data
name: gitea-server-data
- mountPath: /root/conf
name: config
# The labels have been created as a ConfigMap from local files using this command:
#
# kubectl create configmap gitea-options-label --from-file=custom/options/label/
- mountPath: /root/options/label
name: label
containers:
# This is only used for the initial setup, it does nothing once a app.ini
# file exists in the conf/ directory of the data directory
# (/data/gitea/conf in our case)
- name: gitea-server
image: gitea/gitea:1.7.1
ports:
@ -52,6 +57,9 @@ spec:
- key: key.pem
path: key.pem
mode: 256
- name: label
configMap:
name: gitea-options-label
---
apiVersion: v1
kind: PersistentVolumeClaim

2
script/get_secrets

@ -7,7 +7,7 @@ secret = `kubectl get secret gitea-config -o yaml`
yaml = YAML.load(secret)
yaml['data'].each do |key, data|
filename = File.join('kubernetes', 'config', key)
filename = File.join('kubernetes', 'custom', 'config', key)
File.open(filename, "w+") do |f|
puts "Writing #{filename}"
f.write Base64.decode64(data)

4
script/replace_secrets

@ -2,8 +2,8 @@
# Delete the gitea-config secrets
kubectl delete secret gitea-config
# Replace it from the local files in kubernetes/config/* (acquired by running
# Replace it from the local files in kubernetes/custom/config/* (acquired by running
# ./script/get_secrets)
kubectl create secret generic gitea-config --from-file=cert.pem=kubernetes/config/cert.pem --from-file=key.pem=kubernetes/config/key.pem --from-file=app.ini=kubernetes/config/app.ini
kubectl create secret generic gitea-config --from-file=cert.pem=kubernetes/custom/config/cert.pem --from-file=key.pem=kubernetes/custom/config/key.pem --from-file=app.ini=kubernetes/custom/config/app.ini
# Force the pod to restart by patching the deployment resource
kubectl patch deployment gitea-server -p "{\"spec\":{\"template\":{\"metadata\":{\"annotations\":{\"date\":\"`date +'%s'`\"}}}}}"
Loading…
Cancel
Save