GoogleCloudPlatform / pubsec-declarative-toolkit

The GCP PubSec Declarative Toolkit is a collection of declarative solutions to help you on your Journey to Google Cloud. Solutions are designed using Config Connector and deployed using Config Controller.
Apache License 2.0
31 stars 28 forks source link

Ambiguity: client-project-setup setters.yaml folder ID, name or metaname - clarify in setters docs #829

Open obriensystems opened 7 months ago

obriensystems commented 7 months ago
  # GCP folder to use as parent to this project
  # the values must match the kubernetes resources 'metadata.name', for example "standard.applications.nonp"
  # customization: required
  project-parent-folder: project-parent-folder

Setting as Id for now as in

Screenshot 2024-02-13 at 16 56 05

name on standard.applications.nonp project-parent-folder: standard.applications.${CLIENT_PROJECT_PARENT_FOLDER}

michael@cloudshell:~/kcc-cso/github (kcc-cso-4380)$ gcloud resource-manager folders describe 202541361947
createTime: '2024-02-06T17:58:03.940Z'
displayName: nonp
lifecycleState: ACTIVE
name: folders/202541361947
parent: folders/1095956291549

needs to be clients.clients-cso3.standard.applications.nonp

that seems to be working partially - need to get the folder right

Screenshot 2024-02-13 at 22 42 37
  project-parent-folder: clients.clients-cso3.standard.applications.nonp
inventory-65598980/project.resourcemanager.cnrm.cloud.google.com/client-cso3-projects/client-project-cso3 is InProgress: reference Folder client-cso3-hierarchy/clients.clients-cso3.standard.applications.nonp is not found

extra s - removing it
project-parent-folder: clients.client-${PREFIX_CLIENT_SETUP}.standard.applications.${CLIENT_PROJECT_PARENT_FOLDER}

  inventory-79772528/project.resourcemanager.cnrm.cloud.google.com/client-cso3-projects/client-project-cso3 is InProgress: reference Folder client-cso3-hierarchy/clients.client-cso3.standard.applications.nonp is not found
  folderRef:
    name: clients.client-cso3.standard.applications.nonp # kpt-set: ${project-parent-folder}
    namespace: client-cso3-hierarchy # kpt-set: ${client-name}-hierarchy

   it looks like the namespace is wrong - the folder reference is not in
inventory-15023513/project.resourcemanager.cnrm.cloud.google.com/client-cso3-projects/client-project-cso3 is InProgress: reference Folder client-cso3-hierarchy/clients.client-cso3.standard.applications-infrastructure.nonp is not found

we are there though
michael@cloudshell:~/kcc-cso/kpt (kcc-cso-4380)$ kubectl get gcp -n client-cso3-hierarchy
NAME                                                                                             AGE     READY   STATUS     STATUS AGE
iampolicymember.iam.cnrm.cloud.google.com/clients.client-cso3-client-folder-viewer-permissions   7d10h   True    UpToDate   7d10h

NAME                                                                                     AGE     READY   STATUS     STATUS AGE
folder.resourcemanager.cnrm.cloud.google.com/standard                                    7d10h   True    UpToDate   7d10h
folder.resourcemanager.cnrm.cloud.google.com/standard.applications                       7d10h   True    UpToDate   7d10h
folder.resourcemanager.cnrm.cloud.google.com/standard.applications-infrastructure        7d10h   True    UpToDate   7d10h
folder.resourcemanager.cnrm.cloud.google.com/standard.applications-infrastructure.nonp   7d10h   True    UpToDate   7d10h
folder.resourcemanager.cnrm.cloud.google.com/standard.applications-infrastructure.pbmm   7d10h   True    UpToDate   7d10h
folder.resourcemanager.cnrm.cloud.google.com/standard.applications.nonp                  7d10h   True    UpToDate   7d10h
folder.resourcemanager.cnrm.cloud.google.com/standard.applications.pbmm                  7d10h   True    UpToDate   7d10h
folder.resourcemanager.cnrm.cloud.google.com/standard.auto                               7d10h   True    UpToDate   7d10h
folder.resourcemanager.cnrm.cloud.google.com/standard.auto.nonp                          7d10h   True    UpToDate   7d10h
folder.resourcemanager.cnrm.cloud.google.com/standard.auto.pbmm                          7d10h   True    UpToDate   7d10h

switch to subfolder
  project-parent-folder: standard.applications.${CLIENT_PROJECT_PARENT_FOLDER}

we are good

Screenshot 2024-02-13 at 23 20 41 Screenshot 2024-02-13 at 23 11 00
obriensystems commented 7 months ago

client-project-setup

data:
  org-id: "${ORG_ID}"  
  management-project-id: "${KCC_PROJECT_ID}"
  management-namespace: "${MANAGEMENT_NAMESPACE}"
  client-name: client-${PREFIX_CLIENT_SETUP}
  client-management-project-id: client-management-project-${PREFIX_CLIENT_SETUP}
  host-project-id: net-host-project-${PREFIX_CLIENT_LANDING_ZONE}
  # see https://github.com/GoogleCloudPlatform/pubsec-declarative-toolkit/blob/main/solutions/client-landing-zone/client-folder/standard/applications-infrastructure/host-project/network/subnet.yaml#L26
  #allowed-nane1-main-subnet: net-host-project-${PREFIX_CLIENT_LANDING_ZONE}-nane1-standard-${CLIENT_CLASSIFICATION}-main-snet
  #allowed-nane2-main-subnet: net-host-project-${PREFIX_CLIENT_LANDING_ZONE}-nane2-standard-${CLIENT_CLASSIFICATION}-main-snet
  allowed-nane1-main-subnet: nane1-standard-${CLIENT_CLASSIFICATION}-main-snet
  allowed-nane2-main-subnet: nane2-standard-${CLIENT_CLASSIFICATION}-main-snet
  project-id: client-project-${PREFIX_CLIENT_PROJECT_SETUP}
  project-billing-id: "${BILLING_ID}"
#  project-parent-folder: clients.client-${PREFIX_CLIENT_SETUP}.standard.applications-infrastructure.${CLIENT_PROJECT_PARENT_FOLDER}
  project-parent-folder: standard.applications.${CLIENT_PROJECT_PARENT_FOLDER}
  repo-url: git-repo-to-observe
  repo-branch: main
  tier3-repo-dir: csync/tier3/configcontroller/deploy/env
  tier4-repo-dir: csync/tier4/configcontroller/deploy/env