solutions/core-landing-zone/setters.yaml (30 lines of code) (raw):

# 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 during the bootstrap procedure # customization: required org-id: "0000000000" # root folder to which the Landing Zone will be deployed into. This folder is created during the bootstrap procedure # customization: required lz-folder-id: '0000000000' # core-landing-zone billing id # customization: required billing-id: "AAAAAA-BBBBBB-CCCCCC" # ########################## # Management Project ########################## # # The management project is where the Landing Zone config controller instance is running, created during the bootstrap procedure. # The $PROJECT_ID (management-project-id) is defined during Initial Organization Configuration (https://github.com/GoogleCloudPlatform/pubsec-declarative-toolkit/blob/main/docs/landing-zone-v2/README.md#initial-organization-configuration) # customization: required management-project-id: management-project-12345 # The management-project-number can be obtained from the Dashboard via https://console.cloud.google.com/home/dashboard?project=$PROJECT_ID # Alternatively, obtain the management-project-number from gcloud: gcloud projects list --filter="${PROJECT_ID}" '--format=value(PROJECT_NUMBER)' # customization: required management-project-number: "0000000000" # kubernetes namespace set to the default, config-control. # customization: Do not change this value. management-namespace: config-control # ########################## # Org Policies ########################## # # The following are Settings for some org policies # # a list of allowed trusted image projects, see YAML file for more info: # org/org-policies/compute-trusted-image-projects.yaml # customization: This setting can be left as default or modified as required allowed-trusted-image-projects: | - "projects/cos-cloud" # # a list of allowed essential contact domains, see YAML file for more info: # org/org-policies/essentialcontacts-allowed-contact-domains.yaml # customization: this setting MUST be changed to a domain in which you choose to allow to receive notifications from Google. allowed-contact-domains: | - "@example.com" # # a list of directory customer IDs from which users can be added to IAM policies, see YAML file for more info: # org/org-policies/iam-allowed-policy-member-domains.yaml # run 'gcloud organizations list' as described in https://cloud.google.com/resource-manager/docs/organization-policy/restricting-domains#retrieving_customer_id # customization: # this setting MUST be changed to include the GCP org's directory customer ID and any other directory containing users that will need IAM roles assigned allowed-policy-domain-members: | - "DIRECTORY_CUSTOMER_ID" # # a list of allowed projects, folders, networks for VPC peering, see YAML file for more info: # org/org-policies/compute-restrict-vpc-peering.yaml # customization: this setting MUST be changed, replace ORGANIZATION_ID with the GCP organizations's ID allowed-vpc-peering: | - "under:organizations/ORGANIZATION_ID" # # a list of IP addresses that should be allowed to be VPN peers to the VPCs in the organization # by default, all IP's are denied. see YAML file for more info: org/org-policies/compute-restrict-vpn-peer-ips.yaml # If you need to allow/deny specific values, update org/org-policies/compute-restrict-vpn-peer-ips.yaml and set the below variable accordingly # ResourceManagerPolicy schema: https://cloud.google.com/config-connector/docs/reference/resource-docs/resourcemanager/resourcemanagerpolicy#schema # allowed-vpn-peering-ips: | # - string # ########################## # Logging ########################## # # Core landing Zone logging project, used by the logging packages # project id for the logging project to be created, following rules and conventions # customization: required logging-project-id: logging-project-12345 # # Storage buckets # Security incident log bucket # Bucket names must be globally unique across all of GCP # customization: required security-incident-log-bucket: security-incident-log-bucket-12345 # # Platform and Component Log Bucket # customization: required platform-and-component-log-bucket: platform-and-component-log-bucket-12345 # # Retention settings # Set the number of days to retain logs in Cloud Logging buckets # Set the lock mechanism on the bucket to: true or false # After a retention policy is locked (true), you can't delete the bucket until every log in the bucket has fulfilled the bucket's retention period # AU-9 PROTECTION OF AUDIT INFORMATION # AU-11 AUDIT RECORD RETENTION # customization: The values below must be modified to locked: true and retentionDays: 365 in a Production setting to implement above mentioned security controls. retention-locking-policy: "false" retention-in-days: "1" # # Retention settings for Cloud Storage bucket to store logs related to security incidents # Events and logs associated with a security incident must be kept for at least 2 years # Set the lock mechanism on the bucket to: true or false # After a retention policy is locked (true), you can't delete the bucket until every log in the bucket has fulfilled the bucket's retention period # AU-9 PROTECTION OF AUDIT INFORMATION # AU-11 AUDIT RECORD RETENTION # customization: The values below must be modified to locked: true and retentionSeconds: 63072000 (730 days) in a Production setting to implement above mentioned security controls. security-incident-log-bucket-retention-locking-policy: "false" security-incident-log-bucket-retention-in-seconds: "86400" # ########################## # DNS ########################## # # DNS project # # project id for the dns project to be created, following rules and conventions # customization: required core-dns-project-id: dns-project-12345 # # Core Landing Zone fqdn. The "dns-name" must end with a "." # dns-name needs needs to receive delegation from the upper level of the domain example.com. # customization: required dns-name: "example.com." # ########################## # 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 fair ########################## # End of Configurations ##########################