diff --git a/kustomize/backups/batch.yaml b/kustomize/backups/batch.yaml new file mode 100644 index 0000000..da67728 --- /dev/null +++ b/kustomize/backups/batch.yaml @@ -0,0 +1,48 @@ +apiVersion: batch/v1 +kind: CronJob +metadata: + name: backup +spec: + schedule: "0 3 * * *" + jobTemplate: + spec: + template: + spec: + restartPolicy: OnFailure + containers: + - name: backup + image: busybox + command: + - /bin/bash + - -c + - | + echo $HEALTHCHECK_BASE_URL/${HEALTHCHECK_ID} + # Start signal + curl -fsS -m 10 --retry 5 ${HEALTHCHECK_BASE_URL}/${HEALTHCHECK_ID}/start + + # Perform backup + if ! ${BACKUP_COMMAND} | gzip > /backup/${ROTATE_PREFIX}-$(date +%Y%m%d).sql.gz; then + curl -fsS -m 10 --retry 5 ${HEALTHCHECK_BASE_URL}/${HEALTHCHECK_ID}/fail + exit 1 + fi + + # list backups + ls /backup + # Rotate old backups + find /backup -name "${ROTATE_PREFIX}-*.sql.gz" -mtime +7 -delete + + # Success signal + curl -fsS -m 10 --retry 5 ${HEALTHCHECK_BASE_URL}/${HEALTHCHECK_ID} + envFrom: + - configMapRef: + name: backup-config + - secretRef: + name: core-secrets + volumeMounts: + - mountPath: /backup + name: backup + subPath: "data" + volumes: + - name: backup + persistentVolumeClaim: + claimName: backup-pvc diff --git a/kustomize/backups/kustomization.yaml b/kustomize/backups/kustomization.yaml new file mode 100644 index 0000000..a6c43e8 --- /dev/null +++ b/kustomize/backups/kustomization.yaml @@ -0,0 +1,9 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - batch.yaml + +labels: + - includeSelectors: true + pairs: + app.kubernetes.io/managed-by: kustomize diff --git a/kustomize/deployment/configmap.yaml b/kustomize/deployment/configmap.yaml deleted file mode 100644 index d8641b6..0000000 --- a/kustomize/deployment/configmap.yaml +++ /dev/null @@ -1,5 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: config -data: diff --git a/kustomize/deployment/kustomization.yaml b/kustomize/deployment/kustomization.yaml index 133e22f..2c541e2 100644 --- a/kustomize/deployment/kustomization.yaml +++ b/kustomize/deployment/kustomization.yaml @@ -9,7 +9,6 @@ resources: - secret.yaml - httproute-http.yaml - httproute-https.yaml - # - configmap.yaml labels: - includeSelectors: true diff --git a/kustomize/noservice/configmap.yaml b/kustomize/noservice/configmap.yaml deleted file mode 100644 index d8641b6..0000000 --- a/kustomize/noservice/configmap.yaml +++ /dev/null @@ -1,5 +0,0 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: config -data: diff --git a/kustomize/noservice/httproute-http.yaml b/kustomize/noservice/httproute-http.yaml deleted file mode 100644 index 43f5c01..0000000 --- a/kustomize/noservice/httproute-http.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: http -spec: - parentRefs: - - name: homelab-gateway - sectionName: web - kind: Gateway - namespace: homelab - hostnames: - - web.leechpepin.com - rules: - - matches: - - path: - type: PathPrefix - value: / - backendRefs: - - name: web - port: 80 diff --git a/kustomize/noservice/httproute-https.yaml b/kustomize/noservice/httproute-https.yaml deleted file mode 100644 index b38ea13..0000000 --- a/kustomize/noservice/httproute-https.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: gateway.networking.k8s.io/v1 -kind: HTTPRoute -metadata: - name: https -spec: - parentRefs: - - name: homelab-gateway - sectionName: websecure - kind: Gateway - namespace: homelab - hostnames: - - web.leechpepin.com - rules: - - matches: - - path: - type: PathPrefix - value: / - backendRefs: - - name: web - port: 80 diff --git a/kustomize/noservice/kustomization.yaml b/kustomize/noservice/kustomization.yaml index 19265b6..96a450f 100644 --- a/kustomize/noservice/kustomization.yaml +++ b/kustomize/noservice/kustomization.yaml @@ -6,7 +6,6 @@ resources: - deployment.yaml - pvc.yaml - secret.yaml - # - configmap.yaml labels: - includeSelectors: true diff --git a/kustomize/noservice/service.yaml b/kustomize/noservice/service.yaml deleted file mode 100644 index 2d0c61a..0000000 --- a/kustomize/noservice/service.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: v1 -kind: Service -metadata: - name: svc -spec: - type: ClusterIP - ports: - - port: 80 - name: test - targetPort: test - protocol: TCP