AstroJS/k8s/deployments.yaml
2022-07-31 21:33:27 +09:00

116 lines
2.7 KiB
YAML

apiVersion: apps/v1
kind: Deployment
metadata:
name: astrojs
spec:
selector:
matchLabels:
app: astrojs
replicas: 1
template:
metadata:
labels:
app: astrojs
spec:
imagePullSecrets:
- name: registry-auth
initContainers:
- name: init-dir
image: alpine:latest
command:
- chown
- 1001:1001
- /app/cache
volumeMounts:
- name: cache
mountPath: "/app/cache"
containers:
- name: web
image: registry.k8s.astropenguin.net/astrojs:IMAGE_TAG
securityContext:
runAsGroup: 1001
runAsNonRoot: true
runAsUser: 1001
env:
- name: DEBUG
value: "0"
- name: FLASK_DEBUG
value: "0"
- name: FLASK_ENV
value: "production"
- name: RUN_MODE
value: "web"
- name: REDIS_CONN
value: "redis://:@localhost:6379/9"
volumeMounts:
- name: cache
mountPath: "/app/cache"
livenessProbe:
exec:
command:
- sh
- -c
- wget -qO - http://127.0.0.1:5000/rjs/System | grep -q function
- name: redis
image: redis:6.0.8-alpine
- name: compiler
image: registry.k8s.astropenguin.net/astrojs:IMAGE_TAG
securityContext:
runAsGroup: 1001
runAsNonRoot: true
runAsUser: 1001
env:
- name: RUN_MODE
value: "tasks"
- name: DEBUG
value: "0"
- name: REDIS_CONN
value: "redis://:@localhost:6379/9"
volumeMounts:
- name: cache
mountPath: "/app/cache"
- name: assets
image: nginx:alpine
volumeMounts:
- mountPath: "/usr/share/nginx/html"
name: cache
- mountPath: "/etc/nginx/templates"
name: nginx-conf-templates
volumes:
- name: cache
persistentVolumeClaim:
claimName: astrojs-cache
- name: nginx-conf-templates
secret:
secretName: nginx-conf-templates
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: astrojs-cache
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 1Gi
storageClassName: local-storage
---
apiVersion: v1
kind: Service
metadata:
name: astrojs
spec:
selector:
app: astrojs
ports:
- port: 5000
targetPort: 5000
name: application
- port: 80
targetPort: 80
name: files