apiVersion: apps/v1 kind: Deployment metadata: {name: demo-api, namespace: devops} spec: replicas: 1 selector: {matchLabels: {app: demo-api}} template: metadata: {labels: {app: demo-api}} spec: containers: - name: demo-api image: harbor.otone.run/otone/demo-api:__TAG__ ports: [{containerPort: 8080}] resources: {requests: {memory: 128Mi}, limits: {memory: 512Mi}} --- apiVersion: v1 kind: Service metadata: {name: demo-api, namespace: devops} spec: selector: {app: demo-api} ports: [{port: 8080, targetPort: 8080}] --- apiVersion: apps/v1 kind: Deployment metadata: {name: demo-web, namespace: devops} spec: replicas: 1 selector: {matchLabels: {app: demo-web}} template: metadata: {labels: {app: demo-web}} spec: containers: - name: demo-web image: harbor.otone.run/otone/demo-web:__TAG__ ports: [{containerPort: 80}] resources: {requests: {memory: 64Mi}, limits: {memory: 256Mi}} --- apiVersion: v1 kind: Service metadata: {name: demo-web, namespace: devops} spec: selector: {app: demo-web} ports: [{port: 80, targetPort: 80}] --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: demo namespace: devops spec: ingressClassName: traefik rules: - host: demo.otone.run http: paths: - path: / pathType: Prefix backend: {service: {name: demo-web, port: {number: 80}}} - host: demo-api.otone.run http: paths: - path: / pathType: Prefix backend: {service: {name: demo-api, port: {number: 8080}}} tls: - hosts: [demo.otone.run, demo-api.otone.run] secretName: otone-tls