apiVersion: v1 kind: Namespace metadata: name: qr-generator --- apiVersion: apps/v1 kind: Deployment metadata: name: qr-generator-ui namespace: qr-generator labels: app: qr-generator spec: replicas: 1 selector: matchLabels: app: qr-generator template: metadata: labels: app: qr-generator spec: containers: - name: generator image: kavehbc/qrcode-barcode:latest imagePullPolicy: IfNotPresent ports: - containerPort: 8501 resources: limits: memory: "256Mi" cpu: "500m" requests: memory: "128Mi" cpu: "100m" --- apiVersion: v1 kind: Service metadata: name: qr-generator-svc namespace: qr-generator spec: ports: - port: 80 targetPort: 8501 protocol: TCP selector: app: qr-generator --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: qr-generator-ingress namespace: qr-generator annotations: cert-manager.io/cluster-issuer: "letsencrypt-production" nginx.ingress.kubernetes.io/backend-protocol: "HTTP" spec: ingressClassName: nginx tls: - secretName: qr-generator-tls-secret hosts: - qr.needlestack.boo rules: - host: qr.needlestack.boo http: paths: - path: / pathType: Prefix backend: service: name: qr-generator-svc port: number: 80