solutions/client-landing-zone/setters.yaml (52 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.
#
##########################
# Client
##########################
#
# Name for the client, lowercase only
# customization: required
client-name: 'client1'
#
# Clients Billing Account ID to associate with the client-landing-zone resources. The client-name-projects-sa will need billing user role permission granted.
# customization: required
client-billing-id: "AAAAAA-BBBBBB-CCCCCC"
#
# group to grant viewer permission on client folder
# customization: required
client-folderviewer: 'group:client1@example.com'
#
##########################
# Logging
##########################
#
# logging project id created in core-landing-zone
# customization: required
logging-project-id: logging-project-12345
#
# LoggingLogBucket 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
# The values below must be modified to retention-locking-policy: true in a Production setting to implement above mentioned security controls.
# customization: required
retention-locking-policy: "false"
#
# The values below must be modified to retention-in-days: 365 in a Production setting to implement above mentioned security controls.
# customization: required
retention-in-days: "1"
#
##########################
# Network Host Project (standard)
##########################
#
# the distinct network host projects that will be created for each classification
# customization: required
host-project-id-nonp: net-host-project-nonp-12345
host-project-id-pbmm: net-host-project-pbmm-12345
#
# Org policy exception to allow vpc peering between a defined list and the host project.
# The file is located here client-folder/standard/application-infrastructure/host-project/org-policies/exceptions/compute-restrict-vpc-peering-except-host-project.yaml
# Warning ! this file is commented out by default. You will need to customize this setter only if you enable it.
# The allowed/denied list of networks must be identified in the form:
# under:organizations/ORGANIZATION_ID, under:folders/FOLDER_ID, under:projects/PROJECT_ID,
# or projects/PROJECT_ID/global/networks/NETWORK_NAME.
# customization: required
project-allowed-restrict-vpc-peering: |
- under:projects/PROJECT_ID
#
# Subnet IP range for nonp-main in northamerica-northeast1
standard-nane1-nonp-main-snet: 10.1.0.0/21
#
# Subnet IP range for nonp-main in northamerica-northeast2
standard-nane2-nonp-main-snet: 10.1.8.0/21
#
# Subnet IP range for pbmm-main in northamerica-northeast1
standard-nane1-pbmm-main-snet: 10.1.128.0/21
#
# Subnet IP range for pbmm-main in northamerica-northeast2
standard-nane2-pbmm-main-snet: 10.1.136.0/21
#
# A list of internal IP ranges used by firewall rules
firewall-internal-ip-ranges: |
- 10.0.0.0/8
- 172.16.0.0/12
- 192.168.0.0/16
#
##########################
# Firewall Policy (client-folder)
##########################
#
# Deny sanctioned countries ingress traffic
# https://cloud.google.com/firewall/docs/firewall-policies-rule-details#geo-location-object
# https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2#Officially_assigned_code_elements
# The list below MUST BE reconfigured. If the value stays XX it will fail reconciliation with an error for unrecognized country.
# customization: required
denied-sanctioned-countries: |
- "XX"
#
# Allowed domain names for os updates
# The list below is an example for Debian and Ubuntu, modify as per trusted images
# note that cloud.google.com is required when GKE nodes are provisioned
# customization: optional
allowed-os-update-domains: |
- "debian.map.fastlydns.net"
- "debian.org"
- "deb.debian.org"
- "ubuntu.com"
- "cloud.google.com"
- "packages.cloud.google.com"
- "security.ubuntu.com"
- "northamerica-northeast1.gce.archive.ubuntu.com"
- "northamerica-northeast2.gce.archive.ubuntu.com"
#
# the source IP ranges allowed to access the domains listed above
# the ranges should match the values of the '*main-snet' setters configured earlier:
# - standard-nane1-nonp-main-snet
# - standard-nane2-nonp-main-snet
# - standard-nane1-pbmm-main-snet
# - standard-nane2-pbmm-main-snet
# OR a list of more restrictive ranges within those subnets (for example, 10.1.1.5/32)
# it also has to include the primary ranges of the GKE nodes otherwise, nodes won't be able to be provisioned.
# customization: optional
allowed-os-update-source-ip-ranges: |
- "10.1.0.0/21"
- "10.1.8.0/21"
- "10.1.32.0/19"
- "10.1.128.0/21"
- "10.1.136.0/21"
- "10.1.160.0/19"
#
##########################
# DNS
##########################
#
# dns project id created during core-landing-zone package deployment
# customization: required, obtain value from the core-landing-zone setters.yaml
core-dns-project-id: core-dns-project-12345
#
# dns project id that will be created for this client
# customization: required
dns-project-id: dns-project-12345
#
# Clients Landing Zone fqdn. The "dns-name" must end with a "."
# dns-name needs to receive delegation from the upper level of the domain example.com.
# customization: required
dns-name: "client-name.example.com."
#
# The nameservers below must be updated to match the same nameservers as the client DNS subzone
# Cloud DNS creates NS and SOA records automatically when a zone is created and these cannot be changed
# See https://cloud.google.com/dns/docs/zones#create-pub-zone
dns-nameservers: |
- "ns-cloud-a1.googledomains.com."
- "ns-cloud-a2.googledomains.com."
- "ns-cloud-a3.googledomains.com."
- "ns-cloud-a4.googledomains.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 fail
##########################
# End of Configurations
##########################