Opscontrol configuration¶
Platform specific configuration
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| vsphere_host | vSphere host | string |
n/a | yes |
| vsphere_username | vSphere username | string |
n/a | yes |
| vsphere_password | vSphere password | string |
n/a | yes |
| vsphere_allow_unverified_ssl | Allow insecure SSL to vSphere APIs | bool |
n/a | yes |
| vsphere_datacenter | vSphere datacenter name | string |
n/a | yes |
| vsphere_datastore | vSphere datastore name | string |
n/a | yes |
| vsphere_cluster | vSphere cluster name | string |
n/a | yes |
| vsphere_resource_pool | vSphere resource pool name | string |
n/a | yes |
| nsxt_host | NSX-T host | string |
n/a | yes |
| nsxt_username | NSX-T username | string |
n/a | yes |
| nsxt_password | NSX-T password | string |
n/a | yes |
| nsxt_allow_unverified_ssl | Allow insecure SSL to NSX-T APIs | bool |
n/a | yes |
| nsxt_remote_auth | Use remote authorization when connecting to NSX-T APIs | bool |
false |
no |
| nsxt_max_retries | The maximum number of retires before failing an API request | number |
100 |
no |
| nsxt_retry_min_delay | The minimum delay, in milliseconds, between API retries | number |
1000 |
no |
| nsxt_retry_max_delay | The maximum delay, in milliseconds, between API retries | number |
5000 |
no |
| overlay_transport_zone_name | NSX-T overlay transport zone name | string |
n/a | yes |
| tier0_router_name | NSX-T Tier-0 router/gateway name | string |
n/a | yes |
| edge_cluster_name | NSX-T edge cluster name | string |
n/a | yes |
| env_name | Environment name | string |
n/a | yes |
| opscontrol_base_domain | DNS domain for the opscontrol | string |
n/a | yes |
| public_dns_ip | Public DNS server IP address | string |
n/a | yes |
| dns_instance_public_ip | Public IP address of the DNS instance | string |
null |
no |
| dns_instance_private_ip | Private IP address of the DNS instance | string |
null |
no |
| network_cidr | Whole network CIDR | string |
n/a | yes |
| subnets_cidr_mask | Subnets default CIDR mask | number |
26 |
no |
| dmz_subnet_cidr | DMZ subnet CIDR | string |
null |
no |
| dmz_router_ip | DMZ network router/gateway IP address in CIDR format | string |
null |
no |
| dmz_dhcp_server_ip | DMZ network DHCP server IP address in CIDR format | string |
null |
no |
| dmz_dhcp_server_range_start | First IP address from DMZ network DHCP server range | string |
null |
no |
| dmz_dhcp_server_range_end | Last IP address from DMZ network DHCP server range | string |
null |
no |
| mgmt_subnet_cidr | MGMT subnet CIDR | string |
null |
no |
| mgmt_router_ip | MGMT network router/gateway IP address in CIDR format | string |
null |
no |
| mgmt_dhcp_server_ip | MGMT network DHCP server IP address in CIDR format | string |
null |
no |
| mgmt_dhcp_server_range_start | First IP address from MGMT network DHCP server range | string |
null |
no |
| mgmt_dhcp_server_range_end | Last IP address from MGMT network DHCP server range | string |
null |
no |
| control_plane_subnet_cidr | control_plane subnet CIDR | string |
null |
no |
| control_plane_router_ip | control_plane network router/gateway IP address in CIDR format | string |
null |
no |
| control_plane_dhcp_server_ip | control_plane network DHCP server IP address in CIDR format | string |
null |
no |
| control_plane_dhcp_server_range_start | First IP address from control_plane network DHCP server range | string |
null |
no |
| control_plane_dhcp_server_range_end | Last IP address from control_plane network DHCP server range | string |
null |
no |
| control_plane_api_port | K8S API port | number |
6443 |
no |
| control_plane_ingress_ports | K8S Ingress ports | list(number) |
[ |
no |
| control_plane_lb_public_ip | Public IP address of the Control Plane LB | string |
null |
no |
| control_plane_lb_app_profile_name | Name of the application profile used by the Control Plane LB (Used only by the Policy API) | string |
"default-tcp-lb-app-profile" |
no |
| control_plane_lb_ingress_active_monitor_paths | Path of the active monitor K8S LB Pool (Used only by the Policy API) | list(string) |
[ |
no |
| control_plane_lb_api_active_monitor_paths | Path of the active monitor K8S LB Pool (Used only by the Policy API) | list(string) |
[ |
no |
| enable_gateway_policy | Enable Gateway Firewall | bool |
true |
no |
| env_cidrs | CIDRs of the environments | list(string) |
n/a | yes |
| opscontrol_whitelist_out | List of CIDRs to which traffic from opscontrol is allowed | list(string) |
[ |
no |
| control_plane_api_whitelist_in | List of CIDR's from which acccess to k8s_api is allowed | list(string) |
n/a | yes |
| jumpbox_whitelist_ssh_in | List of CIDRs from which SSH to jumpbox is allowed | list(string) |
n/a | yes |
| control_plane_node_ports_enabled | Enable TCP/UDP and whitelist node ports | bool |
false |
no |
| control_plane_node_ports_whitelist | List of CIDRs node ports to open | list(string) |
[] |
no |
| control_plane_node_ports_tcp | TCP node ports | list(string) |
[] |
no |
| control_plane_node_ports_udp | UDP node ports | list(string) |
[] |
no |
| jumpbox_ip | Jumpbox IP address | string |
null |
no |
| jumpbox_template_name | Jumpbox template name | string |
n/a | yes |
| jumpbox_network_name | Jumpbox custom network name | string |
"" |
no |
| jumpbox_network_cidr | Jumpbox custom network CIDR | string |
"" |
no |
| jumpbox_gateway_ip | Jumpbox custom gateway IP address | string |
"" |
no |
| vm_hardware_version | vSphere VM hardware version | number |
13 |
no |
| vmware_tools_upgrade_policy | VMware tools upgrade policy. Possible values: manual, upgradeAtPowerCycle. Default: manual. | string |
"manual" |
no |
| sensitive_data_vsphere_ca_filename | vSphere CA filename | string |
"vsphere_ca" |
no |
| sensitive_data_nsxt_ca_filename | NSXT CA filename | string |
"nsxt_ca" |
no |
| sensitive_data_storage_container_name | Container name for keys | string |
"sensitive-data" |
no |
| sensitive_data_git_private_key_filename | GIT private key filename | string |
"git-devops" |
no |
| sensitive_data_git_private_key_password | GIT private key password | string |
"" |
no |
| sensitive_data_jumpbox_public_key_filename | Jumpbox public key filename | string |
"jumpbox-devops.pub" |
no |
| sensitive_data_jumpbox_private_key_filename | Jumpbox private key filename | string |
"jumpbox-devops" |
no |
| sensitive_data_jumpbox_private_key_password | Jumpbox private key password | string |
"" |
no |
| sensitive_data_dns_public_key_filename | DNS public key filename | string |
"dns-devops.pub" |
no |
| sensitive_data_dns_private_key_filename | DNS private key filename | string |
"dns-devops" |
no |
| sensitive_data_dns_private_key_password | DNS private key password | string |
"" |
no |
| sensitive_data_k8s_public_key_filename | K8S public key filename | string |
"k8s-devops.pub" |
no |
| sensitive_data_k8s_private_key_filename | K8S private key filename | string |
"k8s-devops" |
no |
| sensitive_data_k8s_private_key_password | K8S private key password | string |
"" |
no |
| sensitive_data_traefik_crt_filename | Traefik control plane certificate filename | string |
"" |
no |
| sensitive_data_traefik_crt_chain_filename | Traefik control plane certificate chain filename | string |
"" |
no |
| sensitive_data_traefik_key_filename | Traefik control plane certificate private key filename | string |
"" |
no |
| sensitive_data_traefik_key_password | Traefik control plane certificate private key password | string |
"" |
no |
| sensitive_data_offline_root_ca_crt_filename | Offline Root CA certificate filename | string |
"" |
no |
| sensitive_data_offline_root_ca_crt_chain_filename | Offline Root CA certificate chain filename | string |
"" |
no |
| sensitive_data_offline_root_ca_key_filename | Offline Root CA private key filename | string |
"" |
no |
| sensitive_data_offline_root_ca_key_password | Offline Root CA private key password | string |
"" |
no |
| sensitive_data_trusted_ca_crt_filenames | List of files containing trusted CA certificates | list(string) |
[] |
no |
| root_ca_key_size | Size (in bits) of the Root CA RSA key | number |
4096 |
no |
| root_ca_validity_period | How long (in days) Root CA remains valid | number |
3650 |
no |
| intermediate_ca_key_size | Size (in bits) of the Intermediate CA RSA key | number |
4096 |
no |
| intermediate_ca_validity_period | How long (in days) Intermediate CA remains valid | number |
3650 |
no |
| service_crt_key_size | Size (in bits) of the service certificate RSA key | number |
2048 |
no |
| service_crt_validity_period | How long (in days) service certificate remains valid | number |
365 |
no |
| ca_country | Sets the Country (C) field of the generated certificate | string |
"" |
no |
| ca_province | Sets the State/Province (ST) field of the generated certificate | string |
"" |
no |
| ca_locality | Sets the Locality (L) field of the generated certificate | string |
"" |
no |
| ca_organization | Sets the Organization (O) field of the generated certificate | string |
"" |
no |
| ca_organizational_unit | Sets the Organizational Unit (OU) field of the generated certificate | string |
"" |
no |
| ingestor_port | Ingestor port | number |
30514 |
no |
| elasticsearch_port | ElasticSearch port | number |
30920 |
no |
| ssh_allowed_hosts | List of hostnames, separated by space, which has StrictHostKeyChecking set to no | string |
"ssh.dev.azure.com github.com" |
no |
| config_repository_url | Git URI to the config repository | string |
n/a | yes |
| config_repository_branch | Git branch name in the config repository | string |
n/a | yes |
| docker_registry_url | Docker registry URL | string |
n/a | yes |
| docker_registry_username | Docker registry username | string |
"" |
no |
| docker_registry_password | Docker registry password | string |
"" |
no |
| docker_registry_proxy_cache_project | Name of the Docker registry proxy cache project | string |
n/a | yes |
| docker_registry_cloudboostr_project | Name of the Docker registry Cloudboostr project | string |
n/a | yes |
| cloudboostr_image_name | Name of the Cloudboostr Docker image | string |
n/a | yes |
| cloudboostr_image_tag | Tag of the Cloudboostr Docker image | string |
n/a | yes |
| infrastructure_state_bucket_name | Bucket name for infrastructure state | string |
n/a | yes |
| backups_bucket_name | Bucket name for backups | string |
n/a | yes |
| extensions_bucket_name | Bucket name for extension files | string |
n/a | yes |
| extensions_dns_directory | Directory name for dns extension files in extensions bucket | string |
"vsphere/opscontrol/cb-dns-deployment" |
no |
| extensions_dns_properties | Properties filename for extension ops | string |
"dns.properties" |
no |
| extensions_concourse_directory | Directory name for concourse extension files in extensions bucket | string |
"vsphere/opscontrol/cb-concourse-deployment" |
no |
| extensions_concourse_properties | Properties filename for extension ops | string |
"concourse.properties" |
no |
| extensions_elk_directory | Directory name for elk extension files in extensions bucket | string |
"vsphere/opscontrol/cb-elk-deployment" |
no |
| extensions_elk_properties | Properties filename for extension ops | string |
"elk.properties" |
no |
| extensions_prometheus_directory | Directory name for prometheus extension files in extensions bucket | string |
"vsphere/opscontrol/cb-prometheus-deployment" |
no |
| extensions_prometheus_properties | Properties filename for extension ops | string |
"prometheus.properties" |
no |
| extensions_control_plane_directory | Directory name for kubernetes control plane extension files in extensions bucket | string |
"vsphere/opscontrol/cb-control-plane-deployment" |
no |
| extensions_control_plane_properties | Properties filename for extension ops | string |
"control-plane.properties" |
no |
| extensions_keycloak_directory | Directory name for keycloak extension files in keycloak bucket | string |
"vsphere/opscontrol/cb-keycloak-deployment" |
no |
| extensions_keycloak_properties | Properties filename for extension ops | string |
"keycloak.properties" |
no |
| http_proxy_url | HTTP proxy url in format http:// |
string |
"" |
no |
| https_proxy_url | HTTPS proxy url in format http:// |
string |
"" |
no |
| no_proxy | No proxy comma separated urls/ips | string |
"" |
no |
| control_plane_template_name | Template used for the Kubernetes VMs | string |
n/a | yes |
| k8s_master_count | Number of k8s master nodes | number |
0 |
no |
| control_plane_master_ips | IPs used for the Kubernetes master nodes | list(string) |
null |
no |
| control_plane_master_cpu | CPU used for the Kubernetes master nodes | string |
2 |
no |
| control_plane_master_cores_per_socket | The number of cores per socket in the virtual machine | string |
1 |
no |
| control_plane_master_ram | RAM used for the Kubernetes master nodes | string |
4096 |
no |
| control_plane_master_network_name | Network used for the Kubernetes master nodes | string |
"" |
no |
| control_plane_master_gateway_ip | Gateway used for the Kubernetes master nodes | string |
"" |
no |
| control_plane_master_network_cidr | Network cidr used for the Kubernetes master nodes | string |
"" |
no |
| firewall_logging_enabled | Enable NSX-T policy firewall logging | bool |
true |
no |
| k8s_worker_count | Number of k8s worker nodes | number |
0 |
no |
| control_plane_worker_ips | IPs used for the Kubernetes worker nodes | list(string) |
null |
no |
| control_plane_worker_cpu | CPU used for the Kubernetes worker nodes | string |
4 |
no |
| control_plane_worker_cores_per_socket | The number of cores per socket in the virtual machine | string |
1 |
no |
| control_plane_worker_ram | RAM used for the Kubernetes worker nodes [MB] | string |
4096 |
no |
| control_plane_worker_disk | Storage used for the Kubernetes worker nodes [GB] | string |
200 |
no |
| control_plane_worker_network_name | Network used for the Kubernetes worker nodes | string |
"" |
no |
| control_plane_worker_gateway_ip | Gateway used for the Kubernetes worker nodes | string |
"" |
no |
| control_plane_worker_network_cidr | Network cidr used for the Kubernetes worker nodes | string |
"" |
no |
| ntp_servers | Custom list of NTP servers that should be used on VMs | list(string) |
[] |
no |
| cpu_hot_add_enabled | Allow CPUs to be added to the virtual machine while it is powered on | bool |
false |
no |
| memory_hot_add_enabled | Allow memory to be added to the virtual machine while it is powered on | bool |
false |
no |
| dns_template_name | Template used for the DNS VMs | string |
n/a | yes |
| elasticsearch_deployment_enabled | Enables or disables ELK deployment with Elasticsearch/OpenSearch + Filebeat + Kibana | bool |
true |
no |
| velero_snapshot_volumes | Enables or disables snapshot volumes option in Velero backup | bool |
true |
no |
| velero_deploy_restic | Enables or disables restic in Velero | bool |
true |
no |
| opscontrol_networks | Opscontrol networks and settings | map(object({ |
{ |
no |
| k8s_create_standard_storage_class | Indicates if standard storage class should be created | bool |
true |
no |
| k8s_set_standard_storage_class_as_default | Indicates if standard storage class should be set as a default | bool |
true |
no |
| k8s_standard_storage_class_name | Name of the standard storage class | string |
"standard-storage-class" |
no |
| k8s_storage_class | Name of the storage class to use for deployments | string |
"standard-storage-class" |
no |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| aws_access_key | AWS access_key for the account | string |
n/a | yes |
| aws_secret_key | AWS secret for the account | string |
n/a | yes |
| aws_region | AWS region | string |
n/a | yes |
| azs | List of availability zones (This should be 2 element list) | list(string) |
n/a | yes |
| ami_name | The name of the AMI | string |
n/a | yes |
| public_dns_ip | Public DNS server IP address | string |
"8.8.8.8" |
no |
| sensitive_data_storage_container_name | Container name for keys | string |
"sensitive-data" |
no |
| sensitive_data_git_private_key_filename | GIT private key filename | string |
"git-devops" |
no |
| sensitive_data_git_private_key_password | GIT private key password | string |
"" |
no |
| sensitive_data_jumpbox_public_key_filename | Jumpbox public key filename | string |
"jumpbox-devops.pub" |
no |
| sensitive_data_jumpbox_private_key_filename | Jumpbox private key filename | string |
"jumpbox-devops" |
no |
| sensitive_data_jumpbox_private_key_password | Jumpbox private key password | string |
"" |
no |
| sensitive_data_dns_public_key_filename | DNS public key filename | string |
"dns-devops.pub" |
no |
| sensitive_data_dns_private_key_filename | DNS private key filename | string |
"dns-devops" |
no |
| sensitive_data_dns_private_key_password | DNS private key password | string |
"" |
no |
| sensitive_data_k8s_public_key_filename | K8S public key filename | string |
"k8s-devops.pub" |
no |
| sensitive_data_k8s_private_key_filename | K8S private key filename | string |
"k8s-devops" |
no |
| sensitive_data_k8s_private_key_password | K8S private key password | string |
"" |
no |
| sensitive_data_traefik_crt_filename | Traefik control plane certificate filename | string |
"" |
no |
| sensitive_data_traefik_key_filename | Traefik control plane certificate private key filename | string |
"" |
no |
| sensitive_data_traefik_key_password | Traefik control plane certificate private key password | string |
"" |
no |
| sensitive_data_offline_root_ca_key_password | Offline Root CA private key password | string |
"" |
no |
| sensitive_data_offline_root_ca_key_filename | Offline Root CA private key filename | string |
"" |
no |
| sensitive_data_offline_root_ca_crt_filename | Offline Root CA certificate filename | string |
"" |
no |
| sensitive_data_offline_root_ca_chain_filename | Offline Root CA chain filename | string |
"" |
no |
| sensitive_data_trusted_ca_crt_filenames | List of files containing trusted CA certificates | list(string) |
[] |
no |
| root_ca_key_size | Size (in bits) of the Root CA RSA key | number |
4096 |
no |
| root_ca_validity_period | How long (in days) Root CA remains valid | number |
3650 |
no |
| intermediate_ca_key_size | Size (in bits) of the Intermediate CA RSA key | number |
4096 |
no |
| intermediate_ca_validity_period | How long (in days) Intermediate CA remains valid | number |
3650 |
no |
| service_crt_key_size | Size (in bits) of the service certificate RSA key | number |
2048 |
no |
| service_crt_validity_period | How long (in days) service certificate remains valid | number |
365 |
no |
| ca_country | Sets the Country (C) field of the generated certificate | string |
"" |
no |
| ca_province | Sets the State/Province (ST) field of the generated certificate | string |
"" |
no |
| ca_locality | Sets the Locality (L) field of the generated certificate | string |
"" |
no |
| ca_organization | Sets the Organization (O) field of the generated certificate | string |
"" |
no |
| ca_organizational_unit | Sets the Organizational Unit (OU) field of the generated certificate | string |
"" |
no |
| jumpbox_whitelist_ssh_in | List of CIDRs from which SSH to jumpbox is allowed | list(string) |
n/a | yes |
| opscontrol_whitelist_out | List of CIDRs to which (except env) traffic from opscontrol is allowed (e.g. proxy) | list(string) |
[ |
no |
| env_cidrs | List of CIDRs of envs to and from which traffic is allowed | list(string) |
[ |
no |
| jumpbox_instance_type | AWS VM type that should be used for jumpbox | string |
n/a | yes |
| dns_instance_type | VM instance type that should be used for DNS | string |
n/a | yes |
| env_name | Prefix appended to the resources names | string |
"opscontrol" |
no |
| hosted_zone_id | The ID of the hosted zone to contain DNS records | string |
n/a | yes |
| opscontrol_base_domain | Base domain name to all services in opscontrol | string |
n/a | yes |
| network_cidr | Whole network CIDR | string |
"10.96.0.0/16" |
no |
| config_repository_url | Git URI to the config repository | string |
n/a | yes |
| config_repository_branch | Git branch name in the config repository | string |
n/a | yes |
| infrastructure_state_bucket_name | Bucket name for infrastructure state | string |
n/a | yes |
| backups_bucket_name | Bucket name for backups | string |
n/a | yes |
| extensions_bucket_name | Bucket name for extension files | string |
n/a | yes |
| extensions_dns_directory | Directory name for dns extension files in extensions bucket | string |
"aws/opscontrol/cb-dns-deployment" |
no |
| extensions_dns_properties | Properties filename for extension ops | string |
"dns.properties" |
no |
| extensions_concourse_directory | Directory name for concourse extension files in extensions bucket | string |
"aws/opscontrol/cb-concourse-deployment" |
no |
| extensions_concourse_properties | Properties filename for extension ops | string |
"concourse.properties" |
no |
| extensions_elk_directory | Directory name for elk extension files in extensions bucket | string |
"aws/opscontrol/cb-elk-deployment" |
no |
| extensions_elk_properties | Properties filename for extension ops | string |
"elk.properties" |
no |
| extensions_prometheus_directory | Directory name for prometheus extension files in extensions bucket | string |
"aws/opscontrol/cb-prometheus-deployment" |
no |
| extensions_prometheus_properties | Properties filename for extension ops | string |
"prometheus.properties" |
no |
| extensions_control_plane_directory | Directory name for kubernetes control plane extension files in extensions bucket | string |
"aws/opscontrol/cb-control-plane-deployment" |
no |
| extensions_control_plane_properties | Properties filename for extension ops | string |
"control-plane.properties" |
no |
| extensions_keycloak_directory | Directory name for keycloak extension files in keycloak bucket | string |
"aws/opscontrol/cb-keycloak-deployment" |
no |
| extensions_keycloak_properties | Properties filename for extension ops | string |
"keycloak.properties" |
no |
| ingestor_port | Ingestor port | number |
30514 |
no |
| elasticsearch_port | ElasticSearch port | number |
30920 |
no |
| ssh_allowed_hosts | List of hostnames, separated by space, which has StrictHostKeyChecking set to no | string |
"ssh.dev.azure.com github.com" |
no |
| http_proxy_url | Http proxy url in format http:// |
string |
"" |
no |
| https_proxy_url | Https proxy url in format http:// |
string |
"" |
no |
| no_proxy | No proxy commaseparated urls/ips | string |
"" |
no |
| k8s_master_instance_type | Instance type for k8s master nodes | string |
n/a | yes |
| k8s_worker_instance_type | Instance type for k8s worker nodes | string |
n/a | yes |
| k8s_worker_count | Number of k8s worker instances | number |
3 |
no |
| k8s_worker_volume_size | K8s worker volume size | number |
40 |
no |
| k8s_worker_volume_type | K8s worker volume type | string |
"standard" |
no |
| k8s_worker_iam_instance_profile | K8s worker IAM instance profile | string |
n/a | yes |
| k8s_master_count | Number of k8s master instances | number |
3 |
no |
| k8s_master_volume_size | K8s master volume size | number |
40 |
no |
| k8s_master_volume_type | K8s master volume type | string |
"standard" |
no |
| k8s_master_iam_instance_profile | K8s master IAM instance profile | string |
n/a | yes |
| docker_registry_url | Docker registry URL | string |
n/a | yes |
| docker_registry_username | Docker registry username | string |
"" |
no |
| docker_registry_password | Docker registry password | string |
"" |
no |
| docker_registry_proxy_cache_project | Name of the Docker registry proxy cache project | string |
n/a | yes |
| docker_registry_cloudboostr_project | Name of the Docker registry Cloudboostr project | string |
n/a | yes |
| cloudboostr_image_name | Name of the Cloudboostr Docker image | string |
n/a | yes |
| cloudboostr_image_tag | Tag of the Cloudboostr Docker image | string |
n/a | yes |
| elasticsearch_deployment_enabled | Enables or disables ELK deployment with Elasticsearch/OpenSearch + Filebeat + Kibana | bool |
true |
no |
| velero_snapshot_volumes | Enables or disables snapshot volumes option in Velero backup | bool |
true |
no |
| velero_deploy_restic | Enables or disables restic in Velero | bool |
true |
no |
| opscontrol_networks | Opscontrol networks and settings | map(object({ |
{ |
no |
| k8s_create_standard_storage_class | Indicates if standard storage class should be created | bool |
true |
no |
| k8s_set_standard_storage_class_as_default | Indicates if standard storage class should be set as a default | bool |
true |
no |
| k8s_standard_storage_class_name | Name of the standard storage class | string |
"standard-storage-class" |
no |
| k8s_storage_class | Name of the storage class to use for deployments | string |
"standard-storage-class" |
no |
| Name | Description | Type | Default | Required |
|---|---|---|---|---|
| azure_subscription_id | Azure subscription ID | string |
n/a | yes |
| azure_client_id | Azure client ID | string |
n/a | yes |
| azure_client_secret | Azure client secret | string |
n/a | yes |
| azure_tenant_id | Azure tenant ID | string |
n/a | yes |
| public_dns_ip | Public DNS IP | string |
"8.8.8.8" |
no |
| sensitive_data_storage_container_name | Container name for keys | string |
"sensitive-data" |
no |
| sensitive_data_git_private_key_filename | GIT private key filename | string |
"git-devops" |
no |
| sensitive_data_git_private_key_password | GIT private key password | string |
"" |
no |
| sensitive_data_jumpbox_public_key_filename | Jumpbox public key filename | string |
"jumpbox-devops.pub" |
no |
| sensitive_data_jumpbox_private_key_filename | Jumpbox private key filename | string |
"jumpbox-devops" |
no |
| sensitive_data_jumpbox_private_key_password | Jumpbox private key password | string |
"" |
no |
| sensitive_data_dns_public_key_filename | DNS public key filename | string |
"dns-devops.pub" |
no |
| sensitive_data_dns_private_key_filename | DNS private key filename | string |
"dns-devops" |
no |
| sensitive_data_dns_private_key_password | DNS private key password | string |
"" |
no |
| sensitive_data_k8s_public_key_filename | K8S public key filename | string |
"k8s-devops.pub" |
no |
| sensitive_data_k8s_private_key_filename | K8S private key filename | string |
"k8s-devops" |
no |
| sensitive_data_k8s_private_key_password | K8S private key password | string |
"" |
no |
| sensitive_data_traefik_crt_filename | Traefik control plane certificate filename | string |
"" |
no |
| sensitive_data_traefik_key_filename | Traefik control plane certificate private key filename | string |
"" |
no |
| sensitive_data_traefik_key_password | Traefik control plane certificate private key password | string |
"" |
no |
| sensitive_data_offline_root_ca_key_password | Offline Root CA private key password | string |
"" |
no |
| sensitive_data_offline_root_ca_key_filename | Offline Root CA private key filename | string |
"" |
no |
| sensitive_data_offline_root_ca_crt_filename | Offline Root CA certificate filename | string |
"" |
no |
| sensitive_data_offline_root_ca_chain_filename | Offline Root CA chain filename | string |
"" |
no |
| sensitive_data_trusted_ca_crt_filenames | List of files containing trusted CA certificates | list(string) |
[] |
no |
| root_ca_key_size | Size (in bits) of the Root CA RSA key | number |
4096 |
no |
| root_ca_validity_period | How long (in days) Root CA remains valid | number |
3650 |
no |
| intermediate_ca_key_size | Size (in bits) of the Intermediate CA RSA key | number |
4096 |
no |
| intermediate_ca_validity_period | How long (in days) Intermediate CA remains valid | number |
3650 |
no |
| service_crt_key_size | Size (in bits) of the service certificate RSA key | number |
2048 |
no |
| service_crt_validity_period | How long (in days) service certificate remains valid | number |
365 |
no |
| ca_country | Sets the Country (C) field of the generated certificate | string |
"" |
no |
| ca_province | Sets the State/Province (ST) field of the generated certificate | string |
"" |
no |
| ca_locality | Sets the Locality (L) field of the generated certificate | string |
"" |
no |
| ca_organization | Sets the Organization (O) field of the generated certificate | string |
"" |
no |
| ca_organizational_unit | Sets the Organizational Unit (OU) field of the generated certificate | string |
"" |
no |
| jumpbox_whitelist_ssh_in | List of CIDRs from which SSH to jumpbox is allowed | list(string) |
n/a | yes |
| opscontrol_whitelist_out | List of CIDRs to which (except env) traffic from opscontrol is allowed (e.g. proxy) | list(string) |
[ |
no |
| env_cidrs | List of CIDRs of envs to and from which traffic is allowed | list(string) |
[ |
no |
| jumpbox_vm_size | Azure VM size that should be used for jumpbox | string |
n/a | yes |
| dns_vm_size | Azure VM size that should be used for dns | string |
n/a | yes |
| dns_instance_public_ip | Floating IP created manually for the DNS | string |
n/a | yes |
| dns_instance_private_ip | Private IP address of the DNS instance | string |
"10.96.2.141" |
no |
| dns_vm_public_ip_resource_id | Id of Public IP address resource of the DNS instance in Azure | string |
n/a | yes |
| env_name | Prefix appended to the resources names | string |
"opscontrol" |
no |
| opscontrol_base_domain | Base domain name to all services in opscontrol | string |
n/a | yes |
| vm_admin_username | Admin username that should be used for instance's general settings | string |
n/a | yes |
| vm_source_image | VM image details for instances | object({ |
n/a | yes |
| vm_disk_sku | VM disk SKU | string |
"StandardSSD_LRS" |
no |
| vm_disk_size | VM disk size | string |
"64" |
no |
| network_cidr | Whole network CIDR | string |
"10.96.0.0/16" |
no |
| network_location | Location for the network | string |
n/a | yes |
| network_resource_group_name | Resource group name for the network | string |
n/a | yes |
| mgmt_subnet_cidr | Management subnet CIDR | string |
"10.96.1.0/26" |
no |
| mgmt_gateway_ip | IP for management subnet gateway | string |
"10.96.1.1" |
no |
| mgmt_reserved_ips | Management reserved IP range | list(string) |
[ |
no |
| application_gateway_subnet_cidr | Application gateway subnet CIDR | string |
"10.96.2.128/26" |
no |
| dmz_subnet_cidr | DMZ subnet CIDR | string |
"10.96.2.0/26" |
no |
| dmz_gateway_ip | IP for dmz subnet gateway | string |
"10.96.2.1" |
no |
| dmz_reserved_ips | DMZ reserved IP range | list(string) |
[ |
no |
| dmz_static_ips | DMZ static IP | list(string) |
[ |
no |
| telemetry_subnet_cidr | Telemetry subnet CIDR | string |
"10.96.8.0/22" |
no |
| telemetry_gateway_ip | IP for telemetry subnet gateway | string |
"10.96.8.1" |
no |
| telemetry_reserved_ips | Telemetry reserved IP ranges | list(string) |
[ |
no |
| telemetry_static_ips | Telemetry static IP ranges | list(string) |
[ |
no |
| config_repository_url | Git URI to the config repository | string |
n/a | yes |
| config_repository_branch | Git branch name in the config repository | string |
n/a | yes |
| infrastructure_state_bucket_name | Bucket name for infrastructure state | string |
n/a | yes |
| backups_bucket_name | Bucket name for backups | string |
n/a | yes |
| extensions_bucket_name | Bucket name for extension files | string |
n/a | yes |
| extensions_dns_directory | Directory name for dns extension files in extensions bucket | string |
"azure/opscontrol/cb-dns-deployment" |
no |
| extensions_dns_properties | Properties filename for extension ops | string |
"dns.properties" |
no |
| extensions_concourse_directory | Directory name for concourse extension files in extensions bucket | string |
"azure/opscontrol/cb-concourse-deployment" |
no |
| extensions_concourse_properties | Properties filename for extension ops | string |
"concourse.properties" |
no |
| extensions_elk_directory | Directory name for elk extension files in extensions bucket | string |
"azure/opscontrol/cb-elk-deployment" |
no |
| extensions_elk_properties | Properties filename for extension ops | string |
"elk.properties" |
no |
| extensions_prometheus_directory | Directory name for prometheus extension files in extensions bucket | string |
"azure/opscontrol/cb-prometheus-deployment" |
no |
| extensions_prometheus_properties | Properties filename for extension ops | string |
"prometheus.properties" |
no |
| extensions_control_plane_directory | Directory name for kubernetes control plane extension files in extensions bucket | string |
"azure/opscontrol/cb-control-plane-deployment" |
no |
| extensions_control_plane_properties | Properties filename for extension ops | string |
"control-plane.properties" |
no |
| extensions_keycloak_directory | Directory name for keycloak extension files in keycloak bucket | string |
"azure/opscontrol/cb-keycloak-deployment" |
no |
| extensions_keycloak_properties | Properties filename for extension ops | string |
"keycloak.properties" |
no |
| ssh_allowed_hosts | List of hostnames, separated by space, which has StrictHostKeyChecking set to no | string |
"ssh.dev.azure.com github.com" |
no |
| http_proxy_url | Http proxy url in format http:// |
string |
"" |
no |
| https_proxy_url | Https proxy url in format http:// |
string |
"" |
no |
| no_proxy | No proxy commaseparated urls/ips | string |
"" |
no |
| k8s_master_vm_size | Instance type for k8s master nodes | string |
n/a | yes |
| k8s_worker_vm_size | Instance type for k8s worker nodes | string |
n/a | yes |
| k8s_worker_count | Number of k8s worker instances | number |
3 |
no |
| k8s_worker_iam_instance_profile | K8s worker IAM instance profile | string |
n/a | yes |
| k8s_master_count | Number of k8s master instances | number |
3 |
no |
| k8s_master_iam_instance_profile | K8s master IAM instance profile | string |
n/a | yes |
| docker_registry_url | Docker registry URL | string |
n/a | yes |
| docker_registry_username | Docker registry username | string |
"" |
no |
| docker_registry_password | Docker registry password | string |
"" |
no |
| docker_registry_proxy_cache_project | Name of the Docker registry proxy cache project | string |
n/a | yes |
| docker_registry_cloudboostr_project | Name of the Docker registry Cloudboostr project | string |
n/a | yes |
| cloudboostr_image_name | Name of the Cloudboostr Docker image | string |
n/a | yes |
| cloudboostr_image_tag | Tag of the Cloudboostr Docker image | string |
n/a | yes |
| elasticsearch_deployment_enabled | Enables or disables ELK deployment with Elasticsearch/OpenSearch + Filebeat + Kibana | bool |
true |
no |
| velero_snapshot_volumes | Enables or disables snapshot volumes option in Velero backup | bool |
true |
no |
| velero_deploy_restic | Enables or disables restic in Velero | bool |
true |
no |
| ingestor_port | Ingestor port | number |
30514 |
no |
| elasticsearch_port | ElasticSearch port | number |
30920 |
no |
| k8s_create_standard_storage_class | Indicates if standard storage class should be created | bool |
true |
no |
| k8s_set_standard_storage_class_as_default | Indicates if standard storage class should be set as a default | bool |
true |
no |
| k8s_standard_storage_class_name | Name of the standard storage class | string |
"standard-storage-class" |
no |
| k8s_storage_class | Name of the storage class to use for deployments | string |
"standard-storage-class" |
no |
## Required fields
Required fields does not provide default value thus it is required to fill them before the deployment.
#### Openstack credentials
* **auth_url** - Openstack authorization URL
* **user_name** - Openstack account username
* **password** - Openstack account password
* **tenant_name** - Openstack project (tenant) name
* **tenant_id** - Openstack project (tenant) id
* **domain_name** - Openstack domain name
* **region** - Openstack network region
* **storage_region** - Openstack containers (swift) region
#### Configuration
* **jumpbox_image_name** - Openstack VM image name that should be used for jumpbox
* **jumpbox_flavor_name** - Openstack VM flavor name that should be used for jumpbox (`openstack flavor list`)
* **ext_net_name** - Name of external network defined in openstack (this can be retrieved via `openstack network list`)
## Optional fields
Optional fields provide default value. They are mainly used for configuration customization.
#### Openstack credentials
* **auth_version** - Openstack Keystone identity service version (2 or 3)
(default = "3")
* **insecure** - Allow insecure connections to Openstack APIs
(default = "false")
#### Subnets
* **mgmt_subnet_cidr** - Management subnet CIDR
(default = "10.96.1.0/26")
* **dmz_subnet_cidr** - DMZ subnet CIDR
(default = "10.96.2.0/26")
* **dmz_gateway_ip** - IP for dmz subnet gateway
(default = "10.96.2.1")
* **dmz_reserved_ips** - DMZ reserved IP range
(default = "10.96.2.2-10.96.2.20")
* **telemetry_subnet_cidr** - Telemetry subnet CIDR
(default = "10.96.4.0/22")
* **telemetry_gateway_ip** - IP for telemetry subnet gateway
(default = "10.96.4.1")
* **telemetry_reserved_ips** - Telemetry reserved IP range
(default = ["10.96.4.2-10.96.4.10"])
* **telemetry_static_ips** - Telemetry reserved IP range
(default = ["10.96.4.11-10.96.4.20"])
### Load Balancers
* **control_plane_lb_private_ip** - Control plane lb ip in dmz reserved IP
(default = "10.96.2.13")
## Proxy and network configuration
Additionaly proxy can be configured if required in the network.
* **ssh_allowed_hosts** - SSH allowed hosts for GIT repostiory
* **http_proxy_url** - HTTP proxy URL
* **https_proxy_url** - HTTPS proxy URL
* **no_proxy** - No proxy values