New enterprise feature

This commit is contained in:
Urtzi Alfaro
2025-11-30 09:12:40 +01:00
parent f9d0eec6ec
commit 972db02f6d
176 changed files with 19741 additions and 1361 deletions

View File

@@ -0,0 +1,55 @@
apiVersion: batch/v1
kind: Job
metadata:
name: demo-seed-alerts-retail
namespace: bakery-ia
labels:
app: demo-seed
component: initialization
tier: retail
annotations:
"helm.sh/hook": post-install,post-upgrade
"helm.sh/hook-weight": "56" # After retail forecasts (55)
spec:
ttlSecondsAfterFinished: 3600
template:
metadata:
labels:
app: demo-seed-alerts-retail
spec:
initContainers:
- name: wait-for-alert-processor-service
image: curlimages/curl:latest
command:
- sh
- -c
- |
echo "Waiting for alert-processor-api to be ready..."
until curl -f http://alert-processor-api.bakery-ia.svc.cluster.local:8010/health > /dev/null 2>&1; do
echo "alert-processor-api not ready yet, waiting..."
sleep 5
done
echo "alert-processor-api is ready!"
containers:
- name: seed-alerts-retail
image: bakery/alert-processor:latest
command: ["python", "/app/scripts/demo/seed_demo_alerts_retail.py"]
env:
- name: ALERT_PROCESSOR_DATABASE_URL
valueFrom:
secretKeyRef:
name: database-secrets
key: ALERT_PROCESSOR_DATABASE_URL
- name: DEMO_MODE
value: "production"
- name: LOG_LEVEL
value: "INFO"
resources:
requests:
memory: "256Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "500m"
restartPolicy: OnFailure
serviceAccountName: demo-seed-sa

View File

@@ -0,0 +1,55 @@
apiVersion: batch/v1
kind: Job
metadata:
name: demo-seed-customers-retail
namespace: bakery-ia
labels:
app: demo-seed
component: initialization
tier: retail
annotations:
"helm.sh/hook": post-install,post-upgrade
"helm.sh/hook-weight": "53" # After retail sales (52)
spec:
ttlSecondsAfterFinished: 3600
template:
metadata:
labels:
app: demo-seed-customers-retail
spec:
initContainers:
- name: wait-for-orders-service
image: curlimages/curl:latest
command:
- sh
- -c
- |
echo "Waiting for orders-service to be ready..."
until curl -f http://orders-service.bakery-ia.svc.cluster.local:8000/health/ready > /dev/null 2>&1; do
echo "orders-service not ready yet, waiting..."
sleep 5
done
echo "orders-service is ready!"
containers:
- name: seed-customers-retail
image: bakery/orders-service:latest
command: ["python", "/app/scripts/demo/seed_demo_customers_retail.py"]
env:
- name: ORDERS_DATABASE_URL
valueFrom:
secretKeyRef:
name: database-secrets
key: ORDERS_DATABASE_URL
- name: DEMO_MODE
value: "production"
- name: LOG_LEVEL
value: "INFO"
resources:
requests:
memory: "256Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "500m"
restartPolicy: OnFailure
serviceAccountName: demo-seed-sa

View File

@@ -0,0 +1,64 @@
apiVersion: batch/v1
kind: Job
metadata:
name: demo-seed-distribution-history
namespace: bakery-ia
labels:
app: demo-seed
component: initialization
tier: enterprise
annotations:
"helm.sh/hook": post-install,post-upgrade
"helm.sh/hook-weight": "57" # After all retail seeds (56) - CRITICAL for enterprise demo
spec:
ttlSecondsAfterFinished: 3600
template:
metadata:
labels:
app: demo-seed-distribution-history
spec:
initContainers:
- name: wait-for-distribution-service
image: curlimages/curl:latest
command:
- sh
- -c
- |
echo "Waiting for distribution-service to be ready..."
until curl -f http://distribution-service.bakery-ia.svc.cluster.local:8000/health > /dev/null 2>&1; do
echo "distribution-service not ready yet, waiting..."
sleep 5
done
echo "distribution-service is ready!"
- name: wait-for-all-retail-seeds
image: busybox:1.36
command:
- sh
- -c
- |
echo "Waiting 60 seconds for all retail seeds to complete..."
echo "This ensures distribution history has all child data in place"
sleep 60
containers:
- name: seed-distribution-history
image: bakery/distribution-service:latest
command: ["python", "/app/scripts/demo/seed_demo_distribution_history.py"]
env:
- name: DISTRIBUTION_DATABASE_URL
valueFrom:
secretKeyRef:
name: database-secrets
key: DISTRIBUTION_DATABASE_URL
- name: DEMO_MODE
value: "production"
- name: LOG_LEVEL
value: "INFO"
resources:
requests:
memory: "256Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "500m"
restartPolicy: OnFailure
serviceAccountName: demo-seed-sa

View File

@@ -0,0 +1,55 @@
apiVersion: batch/v1
kind: Job
metadata:
name: demo-seed-forecasts-retail
namespace: bakery-ia
labels:
app: demo-seed
component: initialization
tier: retail
annotations:
"helm.sh/hook": post-install,post-upgrade
"helm.sh/hook-weight": "55" # After retail POS (54)
spec:
ttlSecondsAfterFinished: 3600
template:
metadata:
labels:
app: demo-seed-forecasts-retail
spec:
initContainers:
- name: wait-for-forecasting-service
image: curlimages/curl:latest
command:
- sh
- -c
- |
echo "Waiting for forecasting-service to be ready..."
until curl -f http://forecasting-service.bakery-ia.svc.cluster.local:8000/health/ready > /dev/null 2>&1; do
echo "forecasting-service not ready yet, waiting..."
sleep 5
done
echo "forecasting-service is ready!"
containers:
- name: seed-forecasts-retail
image: bakery/forecasting-service:latest
command: ["python", "/app/scripts/demo/seed_demo_forecasts_retail.py"]
env:
- name: FORECASTING_DATABASE_URL
valueFrom:
secretKeyRef:
name: database-secrets
key: FORECASTING_DATABASE_URL
- name: DEMO_MODE
value: "production"
- name: LOG_LEVEL
value: "INFO"
resources:
requests:
memory: "256Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "500m"
restartPolicy: OnFailure
serviceAccountName: demo-seed-sa

View File

@@ -0,0 +1,63 @@
apiVersion: batch/v1
kind: Job
metadata:
name: demo-seed-inventory-retail
namespace: bakery-ia
labels:
app: demo-seed
component: initialization
tier: retail
annotations:
"helm.sh/hook": post-install,post-upgrade
"helm.sh/hook-weight": "50" # After parent inventory (15)
spec:
ttlSecondsAfterFinished: 3600
template:
metadata:
labels:
app: demo-seed-inventory-retail
spec:
initContainers:
- name: wait-for-parent-inventory
image: busybox:1.36
command:
- sh
- -c
- |
echo "Waiting 45 seconds for parent inventory seed to complete..."
sleep 45
- name: wait-for-inventory-service
image: curlimages/curl:latest
command:
- sh
- -c
- |
echo "Waiting for inventory-service to be ready..."
until curl -f http://inventory-service.bakery-ia.svc.cluster.local:8000/health/ready > /dev/null 2>&1; do
echo "inventory-service not ready yet, waiting..."
sleep 5
done
echo "inventory-service is ready!"
containers:
- name: seed-inventory-retail
image: bakery/inventory-service:latest
command: ["python", "/app/scripts/demo/seed_demo_inventory_retail.py"]
env:
- name: INVENTORY_DATABASE_URL
valueFrom:
secretKeyRef:
name: database-secrets
key: INVENTORY_DATABASE_URL
- name: DEMO_MODE
value: "production"
- name: LOG_LEVEL
value: "INFO"
resources:
requests:
memory: "256Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "500m"
restartPolicy: OnFailure
serviceAccountName: demo-seed-sa

View File

@@ -0,0 +1,55 @@
apiVersion: batch/v1
kind: Job
metadata:
name: demo-seed-pos-retail
namespace: bakery-ia
labels:
app: demo-seed
component: initialization
tier: retail
annotations:
"helm.sh/hook": post-install,post-upgrade
"helm.sh/hook-weight": "54" # After retail customers (53)
spec:
ttlSecondsAfterFinished: 3600
template:
metadata:
labels:
app: demo-seed-pos-retail
spec:
initContainers:
- name: wait-for-pos-service
image: curlimages/curl:latest
command:
- sh
- -c
- |
echo "Waiting for pos-service to be ready..."
until curl -f http://pos-service.bakery-ia.svc.cluster.local:8000/health/ready > /dev/null 2>&1; do
echo "pos-service not ready yet, waiting..."
sleep 5
done
echo "pos-service is ready!"
containers:
- name: seed-pos-retail
image: bakery/pos-service:latest
command: ["python", "/app/scripts/demo/seed_demo_pos_retail.py"]
env:
- name: POS_DATABASE_URL
valueFrom:
secretKeyRef:
name: database-secrets
key: POS_DATABASE_URL
- name: DEMO_MODE
value: "production"
- name: LOG_LEVEL
value: "INFO"
resources:
requests:
memory: "256Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "500m"
restartPolicy: OnFailure
serviceAccountName: demo-seed-sa

View File

@@ -0,0 +1,63 @@
apiVersion: batch/v1
kind: Job
metadata:
name: demo-seed-sales-retail
namespace: bakery-ia
labels:
app: demo-seed
component: initialization
tier: retail
annotations:
"helm.sh/hook": post-install,post-upgrade
"helm.sh/hook-weight": "52" # After retail stock (51)
spec:
ttlSecondsAfterFinished: 3600
template:
metadata:
labels:
app: demo-seed-sales-retail
spec:
initContainers:
- name: wait-for-retail-stock
image: busybox:1.36
command:
- sh
- -c
- |
echo "Waiting 30 seconds for retail stock seed to complete..."
sleep 30
- name: wait-for-sales-service
image: curlimages/curl:latest
command:
- sh
- -c
- |
echo "Waiting for sales-service to be ready..."
until curl -f http://sales-service.bakery-ia.svc.cluster.local:8000/health/ready > /dev/null 2>&1; do
echo "sales-service not ready yet, waiting..."
sleep 5
done
echo "sales-service is ready!"
containers:
- name: seed-sales-retail
image: bakery/sales-service:latest
command: ["python", "/app/scripts/demo/seed_demo_sales_retail.py"]
env:
- name: SALES_DATABASE_URL
valueFrom:
secretKeyRef:
name: database-secrets
key: SALES_DATABASE_URL
- name: DEMO_MODE
value: "production"
- name: LOG_LEVEL
value: "INFO"
resources:
requests:
memory: "256Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "500m"
restartPolicy: OnFailure
serviceAccountName: demo-seed-sa

View File

@@ -0,0 +1,51 @@
apiVersion: batch/v1
kind: Job
metadata:
name: demo-seed-stock-retail
namespace: bakery-ia
labels:
app: demo-seed
component: initialization
tier: retail
annotations:
"helm.sh/hook": post-install,post-upgrade
"helm.sh/hook-weight": "51" # After retail inventory (50)
spec:
ttlSecondsAfterFinished: 3600
template:
metadata:
labels:
app: demo-seed-stock-retail
spec:
initContainers:
- name: wait-for-retail-inventory
image: busybox:1.36
command:
- sh
- -c
- |
echo "Waiting 30 seconds for retail inventory seed to complete..."
sleep 30
containers:
- name: seed-stock-retail
image: bakery/inventory-service:latest
command: ["python", "/app/scripts/demo/seed_demo_stock_retail.py"]
env:
- name: INVENTORY_DATABASE_URL
valueFrom:
secretKeyRef:
name: database-secrets
key: INVENTORY_DATABASE_URL
- name: DEMO_MODE
value: "production"
- name: LOG_LEVEL
value: "INFO"
resources:
requests:
memory: "256Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "500m"
restartPolicy: OnFailure
serviceAccountName: demo-seed-sa