apiVersion: v1 kind: ConfigMap metadata: name: core-hub-prod-runtime namespace: core-hub labels: app.kubernetes.io/name: core-hub app.kubernetes.io/part-of: core-hub environment: production data: CORE_HUB_ENV: production CORE_HUB_AUTO_CREATE_TABLES: "0" --- apiVersion: batch/v1 kind: Job metadata: name: core-hub-prod-migrate namespace: core-hub labels: app.kubernetes.io/name: core-hub app.kubernetes.io/component: migration app.kubernetes.io/part-of: core-hub environment: production spec: backoffLimit: 1 template: metadata: labels: app.kubernetes.io/name: core-hub app.kubernetes.io/component: migration app.kubernetes.io/part-of: core-hub environment: production spec: restartPolicy: Never containers: - name: migrate image: gitea.coulomb.social/coulomb/core-hub:production-placeholder imagePullPolicy: IfNotPresent command: ["alembic", "upgrade", "head"] envFrom: - configMapRef: name: core-hub-prod-runtime - secretRef: name: core-hub-prod-env --- apiVersion: apps/v1 kind: Deployment metadata: name: core-hub-api namespace: core-hub labels: app.kubernetes.io/name: core-hub app.kubernetes.io/component: api app.kubernetes.io/part-of: core-hub environment: production spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: core-hub app.kubernetes.io/component: api template: metadata: labels: app.kubernetes.io/name: core-hub app.kubernetes.io/component: api app.kubernetes.io/part-of: core-hub environment: production spec: containers: - name: api image: gitea.coulomb.social/coulomb/core-hub:production-placeholder imagePullPolicy: IfNotPresent ports: - name: http containerPort: 8010 envFrom: - configMapRef: name: core-hub-prod-runtime - secretRef: name: core-hub-prod-env readinessProbe: httpGet: path: /readyz port: http initialDelaySeconds: 5 periodSeconds: 10 livenessProbe: httpGet: path: /healthz port: http initialDelaySeconds: 15 periodSeconds: 20 --- apiVersion: v1 kind: Service metadata: name: core-hub-api namespace: core-hub labels: app.kubernetes.io/name: core-hub app.kubernetes.io/component: api app.kubernetes.io/part-of: core-hub environment: production spec: type: ClusterIP selector: app.kubernetes.io/name: core-hub app.kubernetes.io/component: api ports: - name: http port: 8010 targetPort: http