# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # SPDX-License-Identifier: MIT-0 apiVersion: v1 kind: Namespace metadata: name: eksfg-etl --- # Ingest kind: Service apiVersion: v1 metadata: labels: k8s-app: etl-ingest name: etl-ingest namespace: eksfg-etl annotations: service.beta.kubernetes.io/aws-load-balancer-type: external service.beta.kubernetes.io/aws-load-balancer-nlb-target-type: ip service.beta.kubernetes.io/aws-load-balancer-scheme: internet-facing spec: ports: - port: 80 targetPort: 5000 selector: k8s-app: etl-ingest type: LoadBalancer --- kind: Deployment apiVersion: apps/v1 metadata: labels: k8s-app: etl-ingest name: etl-ingest namespace: eksfg-etl spec: replicas: 6 revisionHistoryLimit: 10 selector: matchLabels: k8s-app: etl-ingest template: metadata: labels: k8s-app: etl-ingest spec: serviceAccountName: s3-reader containers: - name: etl-ingest image: INGEST_IMAGE_TAG imagePullPolicy: Always env: - name: PYTHONUNBUFFERED value: "1" ports: - containerPort: 5000 protocol: TCP livenessProbe: httpGet: scheme: HTTP path: / port: 5000 initialDelaySeconds: 30 timeoutSeconds: 30 securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true runAsUser: 0 runAsGroup: 0 volumeMounts: - mountPath: /tmp name: tmp-volume - name: persistent-storage mountPath: /data volumes: - name: persistent-storage persistentVolumeClaim: claimName: efs-claim - name: tmp-volume emptyDir: {} --- # Transform kind: Deployment apiVersion: apps/v1 metadata: labels: k8s-app: etl-transform name: etl-transform namespace: eksfg-etl spec: replicas: 6 revisionHistoryLimit: 10 selector: matchLabels: k8s-app: etl-transform template: metadata: labels: k8s-app: etl-transform spec: containers: - name: etl-transform resources: requests: memory: "16Gi" cpu: "2" limits: memory: "16Gi" cpu: "4" image: TRANSFORM_IMAGE_TAG imagePullPolicy: Always env: - name: PYTHONUNBUFFERED value: "1" securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true runAsUser: 0 runAsGroup: 0 volumeMounts: - mountPath: /tmp name: tmp-volume - name: persistent-storage mountPath: /data volumes: - name: persistent-storage persistentVolumeClaim: claimName: efs-claim - name: tmp-volume emptyDir: {} --- # S3load kind: Deployment apiVersion: apps/v1 metadata: labels: k8s-app: etl-efsload name: etl-efsload namespace: eksfg-etl spec: replicas: 6 revisionHistoryLimit: 10 selector: matchLabels: k8s-app: etl-efsload template: metadata: labels: k8s-app: etl-efsload spec: containers: - name: etl-efsload image: EFSLOAD_IMAGE_TAG imagePullPolicy: Always env: - name: PYTHONUNBUFFERED value: "1" securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: true runAsUser: 0 runAsGroup: 0 volumeMounts: - name: persistent-storage mountPath: /data volumes: - name: persistent-storage persistentVolumeClaim: claimName: efs-claim