github.com/navikt/knorten@v0.0.0-20240419132333-1333f46ed8b6/k8s/deployment.yaml (about)

     1  apiVersion: apps/v1
     2  kind: Deployment
     3  metadata:
     4    name: knorten
     5    namespace: knada-system
     6    labels:
     7      app: knorten
     8  spec:
     9    replicas: 2
    10    selector:
    11      matchLabels:
    12        app: knorten
    13    template:
    14      metadata:
    15        labels:
    16          app: knorten
    17      spec:
    18        serviceAccountName: knorten
    19        containers:
    20          - name: knorten
    21            image: europe-north1-docker.pkg.dev/knada-gcp/knada-north/knorten
    22            ports:
    23              - containerPort: 8080
    24            env:
    25              - name: "GIN_MODE"
    26                value: "release"
    27              - name: KNORTEN_HELM_AIRFLOW_CHART_VERSION
    28                valueFrom:
    29                  configMapKeyRef:
    30                    name: helm-repos
    31                    key: airflow_chart_version
    32              - name: KNORTEN_HELM_JUPYTER_CHART_VERSION
    33                valueFrom:
    34                  configMapKeyRef:
    35                    name: helm-repos
    36                    key: jupyter_chart_version
    37              - name: ELECTOR_PATH
    38                value: localhost:4040
    39            envFrom:
    40              - secretRef:
    41                  name: knorten
    42            volumeMounts:
    43              - name: helm-repos-config
    44                mountPath: /home/knorten/.config/helm/repositories.yaml
    45                subPath: repositories.yaml
    46              - name: knorten-config
    47                mountPath: /app/config.yaml
    48                subPath: config.yaml
    49            resources:
    50              limits:
    51                memory: 1.5Gi
    52              requests:
    53                cpu: 200m
    54                memory: 128Mi
    55            securityContext:
    56              runAsUser: 1001
    57              runAsGroup: 1001
    58              allowPrivilegeEscalation: false
    59          - name: cloudsql-proxy
    60            command:
    61              - /cloud-sql-proxy
    62              - --max-sigterm-delay=30s
    63              - --address=0.0.0.0
    64              - --port=5432
    65              - knada-gcp:europe-north1:knorten-north
    66            image: gcr.io/cloud-sql-connectors/cloud-sql-proxy:2.6.0-alpine
    67            resources:
    68              limits:
    69                memory: 64Mi
    70              requests:
    71                cpu: 10m
    72                memory: 24Mi
    73            ports:
    74              - containerPort: 5432
    75                protocol: TCP
    76            securityContext:
    77              allowPrivilegeEscalation: false
    78              capabilities:
    79                drop:
    80                  - ALL
    81              privileged: false
    82              readOnlyRootFilesystem: true
    83              runAsGroup: 2
    84              runAsNonRoot: true
    85              runAsUser: 2
    86            terminationMessagePath: /dev/termination-log
    87            terminationMessagePolicy: File
    88          - name: elector
    89            image: europe-north1-docker.pkg.dev/nais-io/nais/images/elector:2023-12-19-121147-d47e080
    90            resources:
    91              limits:
    92                memory: 64Mi
    93              requests:
    94                cpu: 10m
    95                memory: 32Mi
    96            command:
    97              - /elector
    98              - --election=knorten
    99              - --http=localhost:4040
   100              - --election-namespace=knada-system
   101            securityContext:
   102              runAsUser: 65534
   103              runAsGroup: 65534
   104              allowPrivilegeEscalation: false
   105            env:
   106              - name: ELECTOR_LOG_FORMAT
   107                value: json
   108        volumes:
   109          - name: helm-repos-config
   110            configMap:
   111              name: helm-repos
   112              defaultMode: 420
   113          - name: knorten-config
   114            configMap:
   115                name: knorten-config
   116        securityContext:
   117          runAsNonRoot: true