apiVersion: apps/v1 kind: Deployment metadata: labels: app: school-games name: school-games namespace: games spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: app: school-games strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: labels: app: school-games spec: containers: - env: - name: PORT value: '3000' image: gitea.imcu.ro/homeschool/school-games:20260112T132336 imagePullPolicy: IfNotPresent name: school-games ports: - containerPort: 3000 protocol: TCP resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst imagePullSecrets: - name: gitea-registry restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 --- apiVersion: v1 kind: Service metadata: name: school-games-service namespace: games spec: clusterIP: 10.43.115.23 clusterIPs: - 10.43.115.23 internalTrafficPolicy: Cluster ipFamilies: - IPv4 ipFamilyPolicy: SingleStack ports: - port: 80 protocol: TCP targetPort: 3000 selector: app: school-games sessionAffinity: None type: ClusterIP --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: school-games-ingress namespace: games spec: ingressClassName: traefik rules: - host: school.imcu.ro http: paths: - backend: service: name: school-games-service port: number: 80 path: /games pathType: Prefix - backend: service: name: school-games-service port: number: 80 path: / pathType: Exact tls: - hosts: - school.imcu.ro secretName: school-imcu-ro-tls