Updating structure

This commit is contained in:
2026-09-26 00:48:37 -04:00
parent 6eceff8002
commit 36b3c4f2b6
116 changed files with 1947 additions and 140 deletions
+59
View File
@@ -0,0 +1,59 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: apiservice
labels:
app.kubernetes.io/name: apiservice
app.kubernetes.io/part-of: zerospace
spec:
replicas: 2
selector:
matchLabels:
app: apiservice
template:
metadata:
labels:
app: apiservice
app.kubernetes.io/name: apiservice
app.kubernetes.io/part-of: zerospace
spec:
containers:
- name: apiservice
image: zerospace-apiservice:latest
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 8080
env:
- name: ASPNETCORE_ENVIRONMENT
value: Production
- name: ConnectionStrings__zerospacedb
valueFrom:
secretKeyRef:
name: postgres-secret
key: connection-string
- name: OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EXCEPTION_LOG_ATTRIBUTES
value: "true"
- name: OTEL_DOTNET_EXPERIMENTAL_OTLP_EMIT_EVENT_LOG_ATTRIBUTES
value: "true"
livenessProbe:
httpGet:
path: /alive
port: 8080
initialDelaySeconds: 10
periodSeconds: 10
timeoutSeconds: 5
readinessProbe:
httpGet:
path: /health
port: 8080
initialDelaySeconds: 5
periodSeconds: 5
timeoutSeconds: 5
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi
+15
View File
@@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: apiservice
labels:
app.kubernetes.io/name: apiservice
app.kubernetes.io/part-of: zerospace
spec:
type: ClusterIP
ports:
- name: http
port: 8080
targetPort: 8080
selector:
app: apiservice
+35
View File
@@ -0,0 +1,35 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: zerospace-ingress
labels:
app.kubernetes.io/part-of: zerospace
annotations:
nginx.ingress.kubernetes.io/ssl-redirect: "false"
nginx.ingress.kubernetes.io/use-regex: "true"
spec:
ingressClassName: nginx
rules:
- http:
paths:
- path: /graphql(/|$)(.*)
pathType: ImplementationSpecific
backend:
service:
name: apiservice
port:
number: 8080
- path: /api(/|$)(.*)
pathType: ImplementationSpecific
backend:
service:
name: apiservice
port:
number: 8080
- path: /(.*)
pathType: ImplementationSpecific
backend:
service:
name: web
port:
number: 80
+16
View File
@@ -0,0 +1,16 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- postgres-secret.yaml
- postgres-pvc.yaml
- postgres-deployment.yaml
- postgres-service.yaml
- apiservice-deployment.yaml
- apiservice-service.yaml
- web-deployment.yaml
- web-service.yaml
- ingress.yaml
commonLabels:
app.kubernetes.io/part-of: zerospace
+63
View File
@@ -0,0 +1,63 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: postgres
labels:
app.kubernetes.io/name: postgres
app.kubernetes.io/part-of: zerospace
spec:
replicas: 1
strategy:
type: Recreate
selector:
matchLabels:
app: postgres
template:
metadata:
labels:
app: postgres
app.kubernetes.io/name: postgres
app.kubernetes.io/part-of: zerospace
spec:
containers:
- name: postgres
image: postgres:17-alpine
imagePullPolicy: IfNotPresent
ports:
- name: tcp-postgres
containerPort: 5432
envFrom:
- secretRef:
name: postgres-secret
volumeMounts:
- name: postgres-storage
mountPath: /var/lib/postgresql/data
livenessProbe:
exec:
command:
- /bin/sh
- -c
- exec pg_isready -U postgres -d zerospacedb
initialDelaySeconds: 15
periodSeconds: 10
timeoutSeconds: 5
readinessProbe:
exec:
command:
- /bin/sh
- -c
- exec pg_isready -U postgres -d zerospacedb
initialDelaySeconds: 5
periodSeconds: 5
timeoutSeconds: 5
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
cpu: 1000m
memory: 1Gi
volumes:
- name: postgres-storage
persistentVolumeClaim:
claimName: postgres-data-pvc
+13
View File
@@ -0,0 +1,13 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgres-data-pvc
labels:
app.kubernetes.io/name: postgres
app.kubernetes.io/part-of: zerospace
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
+13
View File
@@ -0,0 +1,13 @@
apiVersion: v1
kind: Secret
metadata:
name: postgres-secret
labels:
app.kubernetes.io/name: postgres
app.kubernetes.io/part-of: zerospace
type: Opaque
stringData:
POSTGRES_DB: zerospacedb
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password123
connection-string: "Host=postgres;Port=5432;Database=zerospacedb;Username=postgres;Password=password123"
+15
View File
@@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: postgres
labels:
app.kubernetes.io/name: postgres
app.kubernetes.io/part-of: zerospace
spec:
type: ClusterIP
ports:
- name: tcp-postgres
port: 5432
targetPort: 5432
selector:
app: postgres
+47
View File
@@ -0,0 +1,47 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: web
labels:
app.kubernetes.io/name: web
app.kubernetes.io/part-of: zerospace
spec:
replicas: 2
selector:
matchLabels:
app: web
template:
metadata:
labels:
app: web
app.kubernetes.io/name: web
app.kubernetes.io/part-of: zerospace
spec:
containers:
- name: web
image: zerospace-web:latest
imagePullPolicy: IfNotPresent
ports:
- name: http
containerPort: 80
livenessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 5
periodSeconds: 10
timeoutSeconds: 3
readinessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 3
periodSeconds: 5
timeoutSeconds: 3
resources:
requests:
cpu: 50m
memory: 64Mi
limits:
cpu: 250m
memory: 256Mi
+15
View File
@@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: web
labels:
app.kubernetes.io/name: web
app.kubernetes.io/part-of: zerospace
spec:
type: ClusterIP
ports:
- name: http
port: 80
targetPort: 80
selector:
app: web