diff --git a/apps/templates/k8s-deployment.yaml b/apps/templates/k8s-deployment.yaml deleted file mode 100644 index f2f495e..0000000 --- a/apps/templates/k8s-deployment.yaml +++ /dev/null @@ -1,131 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: outrun-game ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: outrun-game - namespace: outrun-game - labels: - app: outrun-game -spec: - replicas: 1 - selector: - matchLabels: - app: outrun-game - template: - metadata: - labels: - app: outrun-game - spec: - containers: - - name: outrun-game - image: hebury/outrun-game:v1.3.3 - ports: - - containerPort: 3001 - env: - - name: NODE_ENV - value: "production" - - name: PORT - value: "3001" - volumeMounts: - - name: highscores-storage - mountPath: /app/data - resources: - requests: - memory: "128Mi" - cpu: "100m" - limits: - memory: "512Mi" - cpu: "500m" - livenessProbe: - httpGet: - path: /api/health - port: 3001 - initialDelaySeconds: 30 - periodSeconds: 10 - readinessProbe: - httpGet: - path: /api/health - port: 3001 - initialDelaySeconds: 5 - periodSeconds: 5 - volumes: - - name: highscores-storage - persistentVolumeClaim: - claimName: outrun-game-pvc8 ---- -apiVersion: v1 -kind: Service -metadata: - name: outrun-game-service - namespace: outrun-game - labels: - app: outrun-game -spec: - selector: - app: outrun-game - ports: - - port: 80 - targetPort: 3001 - protocol: TCP - name: http - type: ClusterIP ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: outrun-game-pvc8 - namespace: outrun-game -spec: - storageClassName: longhorn - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 1Gi ---- -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: outrun-game-ingress - namespace: outrun-game - annotations: - nginx.ingress.kubernetes.io/rewrite-target: / - annotations: - cert-manager.io/cluster-issuer: prod-cluster-issuer - nginx.ingress.kubernetes.io/backend-protocol: "HTTP" - nginx.ingress.kubernetes.io/ssl-passthrough: "false" -spec: - ingressClassName: nginx - rules: - - host: wissel.hensen.io - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: outrun-game-service - port: - number: 80 - - host: wissel.phocas.nl - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: outrun-game-service - port: - number: 80 - # TLS configuration for HTTPS - tls: - # TLS secretName used on ClusterIssuer - - secretName: letsencrypt-prod - hosts: - - wissel.hensen.io - - wissel.phocas.nl - diff --git a/wishlist.txt b/wishlist.txt index 3a28fd5..1abab2a 100644 --- a/wishlist.txt +++ b/wishlist.txt @@ -4,4 +4,26 @@ - beter begrip van Longhorn en deletion policies enzo. - minder handmatig werk als ik een app wil deployen? - 3-node cluster -- +- CI/CD pipeline +- image registry +- centralized logging met loki en grafana +- metrics met prometheus en grafana +- alertmanager met goede alerts +- uitzoeken wat goede alerts zijn +- hardware management met behulp van die idempotem client ding, ben de naam kwijt. +Dan een nieuwe server opzetten compleet met dat, +en dan overgaan door het als een nieuwe node toe te voegen en de andere uit te zetten. +- authentik en alles met sso openid verbinden +- Renovate voor automatische updates zodat ik niet zo achter raak. +- Trivy vulnarability scanning (CVE scans) +- Network policies +- clean up repo +- remove hardcodes secrets. +- health probes to all services +- limits and requests for all services. +- non root security policy for all services. +- kube hunter network scans +- Draai mijn eigen github alternative + + +