apiVersion: apps/v1 kind: Deployment metadata: name: jaejadle-app labels: app: jaejadle-app spec: replicas: 1 selector: matchLabels: app: jaejadle-app strategy: type: RollingUpdate rollingUpdate: maxUnavailable: 1 maxSurge: 1 template: metadata: labels: app: jaejadle-app spec: containers: - name: jaejadle-app image: ghcr.io/mayne0213/jaejadle:latest imagePullPolicy: Always ports: - containerPort: 3000 protocol: TCP env: - name: NODE_ENV value: production - name: JWT_SECRET valueFrom: secretKeyRef: name: jaejadle-secret key: jwt-secret - name: DATABASE_URL valueFrom: secretKeyRef: name: jaejadle-secret key: database-url - name: AWS_REGION valueFrom: secretKeyRef: name: jaejadle-secret key: aws-region - name: AWS_S3_BUCKET_NAME valueFrom: secretKeyRef: name: jaejadle-secret key: aws-s3-bucket-name - name: AWS_S3_BUCKET_URL valueFrom: secretKeyRef: name: jaejadle-secret key: aws-s3-bucket-url - name: AWS_ACCESS_KEY_ID valueFrom: secretKeyRef: name: jaejadle-secret key: aws-access-key-id - name: AWS_SECRET_ACCESS_KEY valueFrom: secretKeyRef: name: jaejadle-secret key: aws-secret-access-key resources: requests: memory: "256Mi" cpu: "100m" limits: memory: "512Mi" cpu: "300m" livenessProbe: httpGet: path: / port: 3000 initialDelaySeconds: 30 periodSeconds: 10 readinessProbe: httpGet: path: / port: 3000 initialDelaySeconds: 5 periodSeconds: 5 restartPolicy: Always