...

Text file src/edge-infra.dev/config/pallets/edge/ctlfish/base/manifests.yaml

Documentation: edge-infra.dev/config/pallets/edge/ctlfish/base

     1apiVersion: apps/v1
     2kind: Deployment
     3metadata:
     4  name: ctlfish
     5spec:
     6  replicas: 1
     7  selector:
     8    matchLabels:
     9      platform.edge.ncr.com/component: ctlfish
    10  template:
    11    metadata:
    12      labels:
    13        platform.edge.ncr.com/component: ctlfish
    14    spec:
    15      serviceAccountName: ctlfish
    16      priorityClassName: edge-p4-operability-services
    17      containers:
    18      - name: ctlfish
    19        image: bzl://cmd/edge/ctlfish:container_push
    20        ports:
    21        - name: http-metrics
    22          containerPort: 5001
    23        envFrom:
    24        - secretRef:
    25            name: ldkey
    26        resources:
    27          limits:
    28            cpu: "500m"
    29            memory: "512Mi"
    30          requests:
    31            cpu: "10m"
    32            memory: "256Mi"
    33        volumeMounts:
    34        - name: config-volume
    35          mountPath: /opt
    36        imagePullPolicy: IfNotPresent
    37      volumes:
    38      - name: config-volume
    39        configMap:
    40          name: ctlfish-config
    41      affinity:
    42        nodeAffinity:
    43          preferredDuringSchedulingIgnoredDuringExecution:
    44          - preference:
    45              matchExpressions:
    46              - key: node.ncr.com/class
    47                operator: In
    48                values:
    49                - server
    50            weight: 100
    51---
    52apiVersion: v1
    53kind: ServiceAccount
    54metadata:
    55  name: ctlfish
    56imagePullSecrets:
    57- name: edge-docker-pull-secret
    58---
    59apiVersion: policy.linkerd.io/v1beta1
    60kind: Server
    61metadata:
    62  name: http-metrics
    63spec:
    64  port: http-metrics
    65  podSelector:
    66    matchLabels:
    67      platform.edge.ncr.com/component: ctlfish
    68  proxyProtocol: HTTP/1
    69---
    70apiVersion: policy.linkerd.io/v1beta1
    71kind: ServerAuthorization
    72metadata:
    73  name: http-metrics-auth
    74spec:
    75  client:
    76    meshTLS:
    77      serviceAccounts:
    78      - name: prometheus
    79        namespace: prometheus
    80  server:
    81    name: http-metrics
    82---
    83apiVersion: v1
    84kind: Service
    85metadata:
    86  name: ctlfish-service
    87spec:
    88  selector:
    89    platform.edge.ncr.com/component: ctlfish
    90  ports:
    91  - name: metrics
    92    port: 8080
    93    targetPort: 5001
    94  clusterIP: None
    95---
    96apiVersion: monitoring.coreos.com/v1
    97kind: ServiceMonitor
    98metadata:
    99  name: ctlfish-monitoring
   100  annotations:
   101    monitoring.edge.ncr.com/allowed-metrics: |
   102      ctlfish_resource_creations
   103      ctlfish_resource_deletions
   104      ctlfish_resource_updates
   105spec:
   106  selector:
   107    matchLabels:
   108      platform.edge.ncr.com/component: ctlfish
   109  endpoints:
   110  - port: metrics
   111---
   112apiVersion: v1
   113kind: Namespace
   114metadata:
   115  name: ctlfish
   116  labels:
   117    workload.edge.ncr.com: 'platform'
   118---
   119apiVersion: rbac.authorization.k8s.io/v1
   120kind: ClusterRole
   121metadata:
   122  name: metrics-admin
   123rules:
   124- resources:
   125  - "*"
   126  apiGroups:
   127  - "*"
   128  verbs:
   129  - "*"
   130---
   131apiVersion: rbac.authorization.k8s.io/v1
   132kind: ClusterRoleBinding
   133metadata:
   134  name: metrics-admins
   135roleRef:
   136  name: metrics-admin
   137  kind: ClusterRole
   138  apiGroup: rbac.authorization.k8s.io
   139subjects:
   140- name: ctlfish
   141  namespace: ctlfish
   142  kind: ServiceAccount
   143---
   144apiVersion: external-secrets.io/v1beta1
   145kind: ExternalSecret
   146metadata:
   147  name: ldkey
   148spec:
   149  data:
   150  - remoteRef:
   151      key: edge-backend-launch-darkly-sdk-key
   152    secretKey: LD_KEY
   153  refreshInterval: 1m
   154  secretStoreRef:
   155    name: gcp-provider
   156    kind: ClusterSecretStore
   157  target:
   158    name: ldkey
   159    creationPolicy: Owner
   160---
   161apiVersion: iam.cnrm.cloud.google.com/v1beta1
   162kind: IAMPolicyMember
   163metadata:
   164  name: essa-edge-backend-launch-darkly-sdk-key
   165spec:
   166  member: serviceAccount:ext-sec-${cluster_hash}@${gcp_project_id}.iam.gserviceaccount.com
   167  resourceRef:
   168    apiVersion: secretmanager.cnrm.cloud.google.com/v1beta1
   169    kind: SecretManagerSecret
   170    external: projects/${gcp_project_id}/secrets/edge-backend-launch-darkly-sdk-key
   171  role: roles/secretmanager.secretAccessor

View as plain text