apiVersion: apps/v1 kind: Deployment metadata: name: it-tools namespace: default spec: replicas: 1 selector: matchLabels: app: it-tools strategy: type: Recreate template: metadata: labels: app: it-tools spec: containers: - image: corentinth/it-tools:latest imagePullPolicy: Always name: it-tools ports: - containerPort: 80 protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: / port: 80 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 status: availableReplicas: 1 conditions: - lastTransitionTime: '2026-05-19T01:51:47Z' lastUpdateTime: '2026-07-22T10:14:45Z' message: ReplicaSet "it-tools-6fc797dd48" has successfully progressed. reason: NewReplicaSetAvailable status: 'True' type: Progressing - lastTransitionTime: '2026-08-28T06:04:26Z' lastUpdateTime: '2026-08-28T06:04:26Z' message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: 'True' type: Available observedGeneration: 93 readyReplicas: 1 replicas: 1 terminatingReplicas: 0 updatedReplicas: 1 --- apiVersion: v1 kind: Service metadata: name: it-tools-svc namespace: default spec: internalTrafficPolicy: Cluster ipFamilies: - IPv4 ipFamilyPolicy: SingleStack ports: - port: 80 protocol: TCP targetPort: 80 selector: app: it-tools sessionAffinity: None type: ClusterIP status: loadBalancer: {} --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: it-tools-ingress namespace: default spec: ingressClassName: nginx rules: - host: tools.haven http: paths: - backend: service: name: it-tools-svc port: number: 80 path: / pathType: Prefix status: loadBalancer: ingress: - ip: 192.168.20.204