apiVersion: apps/v1 kind: Deployment metadata: name: deployment-2048 labels: app: 2048 {{- toYaml .Values.labels | nindent 4 }} spec: selector: matchLabels: app.kubernetes.io/name: app-2048 replicas: 3 strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: labels: app.kubernetes.io/name: app-2048 spec: automountServiceAccountToken: false containers: - image: public.ecr.aws/l6m2t8p7/docker-2048:latest imagePullPolicy: Always name: app-2048 ports: - containerPort: 80 protocol: TCP resources: limits: cpu: 500m memory: 512Mi requests: cpu: 250m memory: 50Mi dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} shareProcessNamespace: false terminationGracePeriodSeconds: 30 {{ if .Values.spec.karpenterInstanceProfile }} nodeSelector: team: default type: karpenter tolerations: - key: 'karpenter' operator: 'Exists' effect: 'NoSchedule' {{ end }} topologySpreadConstraints: - maxSkew: 1 topologyKey: topology.kubernetes.io/zone whenUnsatisfiable: DoNotSchedule labelSelector: matchLabels: app.kubernetes.io/name: app-2048 --- apiVersion: v1 kind: Service metadata: namespace: team-riker name: service-2048 labels: app: 2048 {{- toYaml .Values.labels | nindent 4 }} spec: ports: - port: 80 targetPort: 80 protocol: TCP type: NodePort selector: app.kubernetes.io/name: app-2048 --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: namespace: team-riker name: ingress-2048 labels: app: 2048 {{- toYaml .Values.labels | nindent 4 }} annotations: {{ if eq .Values.spec.ingress.type "nginx" }} kubernetes.io/ingress.class: "nginx" {{ else }} alb.ingress.kubernetes.io/scheme: internet-facing alb.ingress.kubernetes.io/target-type: ip {{ if .Values.spec.ingress.host }} alb.ingress.kubernetes.io/listen-ports: '[{"HTTP":80,"HTTPS": 443}]' alb.ingress.kubernetes.io/ssl-redirect: '443' {{ else }} alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}]' {{ end }} alb.ingress.kubernetes.io/tags: Environment={{ .Values.labels.env }},Team=Riker {{ end }} {{ if .Values.spec.ingress.host }} external-dns.alpha.kubernetes.io/set-identifier: {{ .Values.spec.clusterName }} external-dns.alpha.kubernetes.io/aws-weight: '{{ .Values.spec.ingress.route53_weight }}' external-dns.alpha.kubernetes.io/ttl: "10" {{ end }} spec: {{ if eq .Values.spec.ingress.type "nginx" }} kubernetes.io/ingress.class: "nginx" {{ else }} ingressClassName: alb {{ end }} rules: {{ if .Values.spec.ingress.host }} - host: 2048.{{ .Values.spec.ingress.host }} {{ else }} - host: {{ end }} http: paths: - path: / pathType: Prefix backend: service: name: service-2048 port: number: 80