...

Text file src/edge-infra.dev/config/pallets/f8n/dev-infra/argo/workflows/server.yaml

Documentation: edge-infra.dev/config/pallets/f8n/dev-infra/argo/workflows

     1apiVersion: networking.k8s.io/v1
     2kind: Ingress
     3metadata:
     4  name: argo-server
     5  namespace: argo
     6  annotations:
     7    kubernetes.io/ingress.allow-http: "false"
     8    kubernetes.io/ingress.class: 'gce'
     9    kubernetes.io/ingress.global-static-ip-name: "argo-server-ip"
    10    networking.gke.io/managed-certificates: argo-server-cert
    11    networking.gke.io/v1beta1.FrontendConfig: "ncr-default"
    12spec:
    13  defaultBackend:
    14    service:
    15      name: argo-server
    16      port:
    17        number: 2746
    18---
    19apiVersion: networking.gke.io/v1
    20kind: ManagedCertificate
    21metadata:
    22  name: argo-server-cert
    23spec:
    24  domains:
    25  - argo.${domain}
    26---
    27apiVersion: networking.gke.io/v1beta1
    28kind: FrontendConfig
    29metadata:
    30  name: ncr-default
    31spec:
    32  redirectToHttps:
    33    enabled: true
    34  sslPolicy: ncr-default
    35---
    36apiVersion: compute.cnrm.cloud.google.com/v1beta1
    37kind: ComputeAddress
    38metadata:
    39  name: argo-server
    40  annotations:
    41    cnrm.cloud.google.com/project-id: ${gcp_project_id}
    42    dns.edge.ncr.com/dns-project-id: ${gcp_project_id}
    43    dns.edge.ncr.com/managed-zone: infra/dev-infra
    44    dns.edge.ncr.com/name: argo.${domain}.
    45spec:
    46  location: global
    47  resourceID: argo-server-ip
    48---
    49apiVersion: iam.cnrm.cloud.google.com/v1beta1
    50kind: IAMPolicyMember
    51metadata:
    52  name: argo-server-foreman-workload-identity-user
    53  annotations:
    54    description: |
    55      Binds the K8s SA used by argo-server to the GCP IAM
    56      service account defined in the base.
    57spec:
    58  member: serviceAccount:${gcp_project_id}.svc.id.goog[argo/argo-server]
    59  resourceRef:
    60    name: argo-server
    61    apiVersion: iam.cnrm.cloud.google.com/v1beta1
    62    kind: IAMServiceAccount
    63  role: roles/iam.workloadIdentityUser
    64---
    65apiVersion: cloud.google.com/v1
    66kind: BackendConfig
    67metadata:
    68  name: argo-server
    69spec:
    70  iap:
    71    enabled: true
    72    oauthclientCredentials:
    73      secretName: iap-oauth
    74---
    75apiVersion: external-secrets.io/v1beta1
    76kind: ExternalSecret
    77metadata:
    78  name: iap-oauth-ext
    79spec:
    80  dataFrom:
    81  - extract:
    82      key: argo-iap-oauth-creds
    83  refreshInterval: 1h
    84  secretStoreRef:
    85    name: gcp-provider
    86    kind: ClusterSecretStore
    87  target:
    88    name: iap-oauth
    89    creationPolicy: Owner
    90---
    91apiVersion: iam.cnrm.cloud.google.com/v1beta1
    92kind: IAMPolicyMember
    93metadata:
    94  name: essa-iap-oauth-ext
    95spec:
    96  member: serviceAccount:ext-sec-${cluster_hash}@${gcp_project_id}.iam.gserviceaccount.com
    97  resourceRef:
    98    apiVersion: secretmanager.cnrm.cloud.google.com/v1beta1
    99    kind: SecretManagerSecret
   100    external: projects/${gcp_project_id}/secrets/argo-iap-oauth-creds
   101  role: roles/secretmanager.secretAccessor

View as plain text