# Copyright 2021 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#########
apiVersion: v1
kind: ConfigMap
metadata:
  name: setters
  annotations:
    config.kubernetes.io/local-config: "true"
data:
  ##########################
  # Instructions
  ##########################
  #
  # Follow instructions specific to each section.
  # Project IDs must follow the rules below, additionally,
  # if a gatekeeper policy is used to enforce specific naming conventions, refer to its documentation.
  #   - All IDs should be universally unique.
  #   - Must be 6 to 30 characters in length.
  #   - Can only contain lowercase letters, numbers, and hyphens.
  #   - Must start with a letter.
  #   - Cannot end with a hyphen.
  #   - Cannot be in use or previously used; this includes deleted projects.
  #   - Cannot contain restricted strings, such as google and ssl.
  #
  ##########################
  # General Settings Values
  ##########################
  #
  # Use the same Google Cloud Organization ID that was used when deploying the core-landing-zone package
  # customization: required
  org-id: "0000000000"
  #
  ##########################
  # Management Project
  ##########################
  #
  # The management project is where the Landing Zone config controller instance is running.
  # management-project-id is the same value as defined in the core-landing-zone package
  # customization: required
  management-project-id: management-project-12345
  #
  # kubernetes namespace set to the default, config-control.
  # customization: Do not change this value.
  management-namespace: config-control
  #
  ##########################
  # Client
  ##########################
  #
  # Name for the client, lowercase only
  # customization: required
  client-name: 'client1'
  #
  # project id for the client management project that was created in the client-setup package
  # customization: required
  client-management-project-id: client-management-project-12345
  #
  ##########################
  # Network Host Project
  ##########################
  #
  # the network host project id that is created by the client-landing-zone package
  # must align with the classification defined in the "Project" section
  # customization: required
  host-project-id: net-host-project-12345
  #
  ##########################
  # Project
  ##########################
  #
  # project id for the client project to be created, following rules and conventions
  # customization: required
  project-id: client-project-12345
  #
  # Clients Billing Account ID to associate with this service project. The client-name-projects-sa will need billing user role permission granted.
  # customization: required
  project-billing-id: "AAAAAA-BBBBBB-CCCCCC"
  #
  # the classification for the project that will be created, accepted values are: 'pbmm' OR 'nonp' (unclassified)
  # customization: required
  classification: nonp
  #
  # the network connectivity profile of this project, accepted values are: 'standard' OR 'sc2g' (future releases)
  # customization: optional
  network-connectivity-profile: standard
  #
  ##########################
  # DNS
  ##########################
  #
  # the client DNS project id that was created by the client-landing-zone package
  # customization: required
  dns-project-id: dns-project-12345
  #
  ##########################
  # Config Sync
  ##########################
  #
  # Used for the client root sync external git repo (GitHub, Azure DevOps, etc.)
  # The repo stores client resources configs that will be created in the service project
  # To disable this option, delete the 'root-sync-git/' directory
  #
  # the git repo URL, for example
  # https://github.com/GITHUB-ORG/REPO-NAME
  # https://AZDO-ORG@dev.azure.com/AZDO-ORG/AZDO-PROJECT/_git/REPO-NAME
  # customization: required
  repo-url: git-repo-to-observe
  #
  # the branch to check out (usually main)
  # customization: optional
  repo-branch: main
  #
  # the directory to observe for YAML manifests
  # customization: optional
  tier3-repo-dir: csync/tier3/configcontroller/deploy/env
  tier4-repo-dir: csync/tier4/configcontroller/deploy/env
  #
  # Labels
  ##########################
  # Labels can be set on project using set-labels-project.yaml. Please make sure there is one pair of key-value pair otherwise render will fail
  ##########################
  # End of Configurations
  ##########################
