# namespace apiVersion: v1 kind: Namespace metadata: name: experiments labels: name: experiments --- # config map apiVersion: v1 kind: ConfigMap metadata: name: sampleapi-configmap namespace: experiments data: appname: "SampleApi" --- # deployment apiVersion: apps/v1 kind: Deployment metadata: name: sampleapi-deployment namespace: experiments labels: app: sampleapi spec: replicas: 1 selector: matchLabels: app: sampleapi template: metadata: labels: app: sampleapi spec: containers: - name: sampleapi image: khwezi/mngomalab:latest imagePullPolicy: IfNotPresent ports: - name: http containerPort: 8080 protocol: TCP - name: https containerPort: 8081 protocol: TCP --- # service apiVersion: v1 kind: Service metadata: name: sampleapi-service namespace: experiments spec: type: ClusterIP selector: app: sampleapi app.kubernetes.io/instance: sampleapi ports: - port: 8080 targetPort: 80 - port: 8081 targetPort: 443 --- # ingress apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: sampleapi-ingress namespace: experiments annotations: cert-manager.io/cluster-issuer: sampleapi-secret nginx.ingress.kubernetes.io/rewrite-target: /$1 nginx.ingress.kubernetes.io/ssl-redirect: "false" cert-manager.io/private-key-size: "4096" spec: ingressClassName: nginx rules: - host: sampleapi.main.k3s.lab.mngoma.africa http: paths: - pathType: Prefix path: / backend: service: name: sampleapi-service port: number: 80 tls: - hosts: - sampleapi.main.k3s.lab.mngoma.africa secretName: sampleapi-secret