Add DEMO feature to the project
This commit is contained in:
@@ -0,0 +1,77 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: demo-session-db-service
|
||||
namespace: bakery-ia
|
||||
labels:
|
||||
app: demo-session-db
|
||||
component: database
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- port: 5432
|
||||
targetPort: 5432
|
||||
protocol: TCP
|
||||
name: postgres
|
||||
selector:
|
||||
app: demo-session-db
|
||||
---
|
||||
apiVersion: apps/v1
|
||||
kind: StatefulSet
|
||||
metadata:
|
||||
name: demo-session-db
|
||||
namespace: bakery-ia
|
||||
labels:
|
||||
app: demo-session-db
|
||||
component: database
|
||||
spec:
|
||||
serviceName: demo-session-db-service
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: demo-session-db
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: demo-session-db
|
||||
component: database
|
||||
spec:
|
||||
containers:
|
||||
- name: postgres
|
||||
image: postgres:15-alpine
|
||||
ports:
|
||||
- containerPort: 5432
|
||||
name: postgres
|
||||
env:
|
||||
- name: POSTGRES_DB
|
||||
value: "demo_session_db"
|
||||
- name: POSTGRES_USER
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: database-secrets
|
||||
key: DEMO_SESSION_DB_USER
|
||||
- name: POSTGRES_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: database-secrets
|
||||
key: DEMO_SESSION_DB_PASSWORD
|
||||
- name: PGDATA
|
||||
value: /var/lib/postgresql/data/pgdata
|
||||
volumeMounts:
|
||||
- name: postgres-data
|
||||
mountPath: /var/lib/postgresql/data
|
||||
resources:
|
||||
requests:
|
||||
memory: "256Mi"
|
||||
cpu: "250m"
|
||||
limits:
|
||||
memory: "512Mi"
|
||||
cpu: "500m"
|
||||
volumeClaimTemplates:
|
||||
- metadata:
|
||||
name: postgres-data
|
||||
spec:
|
||||
accessModes: ["ReadWriteOnce"]
|
||||
resources:
|
||||
requests:
|
||||
storage: 2Gi
|
||||
@@ -0,0 +1,84 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: demo-session-service
|
||||
namespace: bakery-ia
|
||||
labels:
|
||||
app: demo-session-service
|
||||
component: demo-session
|
||||
spec:
|
||||
replicas: 2
|
||||
selector:
|
||||
matchLabels:
|
||||
app: demo-session-service
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: demo-session-service
|
||||
component: demo-session
|
||||
spec:
|
||||
serviceAccountName: demo-session-sa
|
||||
containers:
|
||||
- name: demo-session
|
||||
image: bakery/demo-session-service:latest
|
||||
ports:
|
||||
- containerPort: 8000
|
||||
name: http
|
||||
env:
|
||||
- name: SERVICE_NAME
|
||||
value: "demo-session"
|
||||
- name: DEMO_SESSION_DATABASE_URL
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: database-secrets
|
||||
key: DEMO_SESSION_DATABASE_URL
|
||||
- name: REDIS_PASSWORD
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: redis-secrets
|
||||
key: REDIS_PASSWORD
|
||||
- name: REDIS_URL
|
||||
value: "redis://:$(REDIS_PASSWORD)@redis-service:6379/0"
|
||||
- name: AUTH_SERVICE_URL
|
||||
value: "http://auth-service:8000"
|
||||
- name: TENANT_SERVICE_URL
|
||||
value: "http://tenant-service:8000"
|
||||
- name: INVENTORY_SERVICE_URL
|
||||
value: "http://inventory-service:8000"
|
||||
- name: RECIPES_SERVICE_URL
|
||||
value: "http://recipes-service:8000"
|
||||
- name: SALES_SERVICE_URL
|
||||
value: "http://sales-service:8000"
|
||||
- name: ORDERS_SERVICE_URL
|
||||
value: "http://orders-service:8000"
|
||||
- name: PRODUCTION_SERVICE_URL
|
||||
value: "http://production-service:8000"
|
||||
- name: SUPPLIERS_SERVICE_URL
|
||||
value: "http://suppliers-service:8000"
|
||||
- name: LOG_LEVEL
|
||||
value: "INFO"
|
||||
- name: POD_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- name: CLONE_JOB_IMAGE
|
||||
value: "bakery/inventory-service:latest"
|
||||
resources:
|
||||
requests:
|
||||
memory: "256Mi"
|
||||
cpu: "200m"
|
||||
limits:
|
||||
memory: "512Mi"
|
||||
cpu: "500m"
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /health
|
||||
port: 8000
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 30
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /health
|
||||
port: 8000
|
||||
initialDelaySeconds: 10
|
||||
periodSeconds: 10
|
||||
@@ -0,0 +1,35 @@
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: demo-session-sa
|
||||
namespace: bakery-ia
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: Role
|
||||
metadata:
|
||||
name: demo-session-job-creator
|
||||
namespace: bakery-ia
|
||||
rules:
|
||||
- apiGroups: ["batch"]
|
||||
resources: ["jobs"]
|
||||
verbs: ["create", "get", "list", "watch", "delete"]
|
||||
- apiGroups: [""]
|
||||
resources: ["pods"]
|
||||
verbs: ["get", "list", "watch"]
|
||||
- apiGroups: [""]
|
||||
resources: ["pods/log"]
|
||||
verbs: ["get"]
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
name: demo-session-job-creator-binding
|
||||
namespace: bakery-ia
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: demo-session-job-creator
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: demo-session-sa
|
||||
namespace: bakery-ia
|
||||
@@ -0,0 +1,17 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: demo-session-service
|
||||
namespace: bakery-ia
|
||||
labels:
|
||||
app: demo-session-service
|
||||
component: demo-session
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- port: 8000
|
||||
targetPort: 8000
|
||||
protocol: TCP
|
||||
name: http
|
||||
selector:
|
||||
app: demo-session-service
|
||||
Reference in New Issue
Block a user