--- # Source: mini-app/templates/app.yaml apiVersion: v1 kind: Service metadata: name: app spec: selector: app: app ports: - port: 80 --- # Source: mini-app/templates/etcd.yaml apiVersion: v1 kind: Service metadata: name: etcd spec: selector: app: etcd ports: - port: 2379 --- # Source: mini-app/templates/app.yaml apiVersion: apps/v1 kind: Deployment metadata: name: app spec: replicas: 1 selector: matchLabels: app: app template: metadata: labels: app: app spec: containers: - name: app command: [ "app" ] image: "gitea.demos.novit.tech/demo/app:v0.0.1" imagePullPolicy: IfNotPresent --- # Source: mini-app/templates/etcd.yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: etcd annotations: argocd.argoproj.io/sync-wave: "1" spec: replicas: 1 selector: matchLabels: app: etcd template: metadata: labels: app: etcd spec: containers: - name: etcd image: quay.io/coreos/etcd:v3.5.9 imagePullPolicy: IfNotPresent command: - etcd - --initial-cluster-state=new - --data-dir=/data - --advertise-client-urls=http://etcd-0.etcd:2379 - --listen-client-urls=http://[::]:2379 volumeMounts: - mountPath: /data name: data subPath: etcd volumeClaimTemplates: - metadata: name: data spec: storageClassName: "local" accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- # Source: mini-app/templates/pre-sync.yaml apiVersion: batch/v1 kind: Job metadata: generateName: presync-wave-1-etcd-backup- annotations: argocd.argoproj.io/hook: PreSync spec: backoffLimit: 3 template: spec: restartPolicy: Never containers: - name: etcd-backup image: quay.io/coreos/etcd:v3.5.9 volumeMounts: - mountPath: /data name: data command: - etcdctl - --endpoints=http://etcd:2379 - snap - save - /data/snap-1696450492 volumes: - name: data persistentVolumeClaim: claimName: etcd-backups --- # Source: mini-app/templates/sync.yaml apiVersion: batch/v1 kind: Job metadata: generateName: sync-wave-2-migrate- annotations: argocd.argoproj.io/hook: Sync argocd.argoproj.io/sync-wave: "2" spec: backoffLimit: 3 template: spec: restartPolicy: Never containers: - name: migrate image: gitea.demos.novit.tech/demo/migrate:v2 imagePullPolicy: Always # XXX remove command: - migrate --- # Source: mini-app/templates/ingress.yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: mini-app labels: helm.sh/chart: mini-app-1.0.0 app.kubernetes.io/name: mini-app app.kubernetes.io/instance: mini-app app.kubernetes.io/version: "1.0.0" app.kubernetes.io/managed-by: Helm spec: tls: - hosts: - "app.demos.novit.tech" secretName: app-crt rules: - host: "app.demos.novit.tech" http: paths: - path: / pathType: Prefix backend: service: name: app port: number: 80 --- # Source: mini-app/templates/pre-sync.yaml # ------------------------------------------------------------------------