Edwin Salguero
Enterprise: Clean up directory structure and add proper CI/CD, monitoring, and deployment configurations
10d71ba
apiVersion: apps/v1 | |
kind: Deployment | |
metadata: | |
name: fred-ml | |
labels: | |
app: fred-ml | |
version: v1.0.0 | |
spec: | |
replicas: 3 | |
selector: | |
matchLabels: | |
app: fred-ml | |
template: | |
metadata: | |
labels: | |
app: fred-ml | |
version: v1.0.0 | |
spec: | |
containers: | |
- name: fred-ml | |
image: ghcr.io/eaname/fredml:latest | |
ports: | |
- containerPort: 8000 | |
name: http | |
env: | |
- name: FRED_API_KEY | |
valueFrom: | |
secretKeyRef: | |
name: fred-ml-secrets | |
key: fred-api-key | |
- name: ENVIRONMENT | |
value: "production" | |
- name: LOG_LEVEL | |
value: "INFO" | |
resources: | |
requests: | |
memory: "256Mi" | |
cpu: "250m" | |
limits: | |
memory: "512Mi" | |
cpu: "500m" | |
livenessProbe: | |
httpGet: | |
path: /health | |
port: 8000 | |
initialDelaySeconds: 30 | |
periodSeconds: 10 | |
timeoutSeconds: 5 | |
failureThreshold: 3 | |
readinessProbe: | |
httpGet: | |
path: /ready | |
port: 8000 | |
initialDelaySeconds: 5 | |
periodSeconds: 5 | |
timeoutSeconds: 3 | |
failureThreshold: 3 | |
volumeMounts: | |
- name: data-volume | |
mountPath: /app/data | |
- name: logs-volume | |
mountPath: /app/logs | |
volumes: | |
- name: data-volume | |
persistentVolumeClaim: | |
claimName: fred-ml-data-pvc | |
- name: logs-volume | |
persistentVolumeClaim: | |
claimName: fred-ml-logs-pvc | |
apiVersion: v1 | |
kind: Service | |
metadata: | |
name: fred-ml-service | |
labels: | |
app: fred-ml | |
spec: | |
selector: | |
app: fred-ml | |
ports: | |
- protocol: TCP | |
port: 80 | |
targetPort: 8000 | |
name: http | |
type: LoadBalancer | |
apiVersion: v1 | |
kind: PersistentVolumeClaim | |
metadata: | |
name: fred-ml-data-pvc | |
spec: | |
accessModes: | |
- ReadWriteOnce | |
resources: | |
requests: | |
storage: 10Gi | |
apiVersion: v1 | |
kind: PersistentVolumeClaim | |
metadata: | |
name: fred-ml-logs-pvc | |
spec: | |
accessModes: | |
- ReadWriteOnce | |
resources: | |
requests: | |
storage: 5Gi |