Skip to content

Latest commit

 

History

History
129 lines (111 loc) · 16.1 KB

INFO.md

File metadata and controls

129 lines (111 loc) · 16.1 KB

Requirements

Name Version
ibm 1.55.0

Modules

Name Source Version
ansible ./ansible n/a
bastion ./modules/compute n/a
control_plane ./modules/compute n/a
cos git::https://github.com/terraform-ibm-modules/terraform-ibm-cos v6.10.0
microk8s_subnet terraform-ibm-modules/vpc/ibm//modules/subnet 1.1.1
resource_group git::https://github.com/terraform-ibm-modules/terraform-ibm-resource-group.git v1.0.6
security_group terraform-ibm-modules/vpc/ibm//modules/security-group 1.1.1
vpc terraform-ibm-modules/vpc/ibm//modules/vpc 1.1.1
worker_bucket git::https://github.com/terraform-ibm-modules/terraform-ibm-cos v6.10.0
worker_node ./modules/compute n/a

Resources

Name Type
ibm_iam_authorization_policy.cos_flowlogs resource
ibm_is_floating_ip.bastion resource
ibm_is_flow_log.control_plane resource
ibm_is_flow_log.worker_nodes resource
ibm_is_ssh_key.generated_key resource
random_string.prefix resource
tls_private_key.ssh resource
ibm_is_ssh_key.sshkey data source
ibm_is_zones.regional data source
ibm_resource_group.resource_group data source
ibm_resource_instance.cos data source

Inputs

Name Description Type Default Required
classic_access Allow classic access to the VPC. bool false no
controller_node_count Number of microk8s controller nodes to create. number 1 no
default_address_prefix The address prefix to use for the VPC. Default is set to auto. string "auto" no
existing_cos_instance Name of an existing Object Storage instance to use for the VPC Flowlog collectors. If not set, a new Object Storage instance will be created. string "" no
existing_resource_group Name of an existing Resource Group to use for resources. If not set, a new Resource Group will be created. string "" no
existing_ssh_key Name of an existing SSH key to use for the VPC. If not set, a new SSH key will be created. string "" no
frontend_rules A list of security group rules to be added to the microk8s security group
list(
object({
name = string
direction = string
remote = string
tcp = optional(
object({
port_max = optional(number)
port_min = optional(number)
})
)
udp = optional(
object({
port_max = optional(number)
port_min = optional(number)
})
)
icmp = optional(
object({
type = optional(number)
code = optional(number)
})
)
})
)
[
{
"direction": "inbound",
"ip_version": "ipv4",
"name": "inbound-http",
"remote": "0.0.0.0/0",
"tcp": {
"port_max": 80,
"port_min": 80
}
},
{
"direction": "inbound",
"ip_version": "ipv4",
"name": "inbound-https",
"remote": "0.0.0.0/0",
"tcp": {
"port_max": 443,
"port_min": 443
}
},
{
"direction": "inbound",
"ip_version": "ipv4",
"name": "inbound-ssh",
"remote": "0.0.0.0/0",
"tcp": {
"port_max": 22,
"port_min": 22
}
},
{
"direction": "inbound",
"ip_version": "ipv4",
"name": "inbound-cluster-join",
"remote": "0.0.0.0/0",
"tcp": {
"port_max": 25000,
"port_min": 25000
}
},
{
"direction": "inbound",
"icmp": {
"code": 0,
"type": 8
},
"ip_version": "ipv4",
"name": "inbound-icmp",
"remote": "0.0.0.0/0"
},
{
"direction": "inbound",
"ip_version": "ipv4",
"name": "microk8s-api-inbound",
"remote": "0.0.0.0/0",
"tcp": {
"port_max": 16443,
"port_min": 16443
}
},
{
"direction": "outbound",
"ip_version": "ipv4",
"name": "services-outbound",
"remote": "161.26.0.0/16"
},
{
"direction": "outbound",
"ip_version": "ipv4",
"name": "all-outbound",
"remote": "0.0.0.0/0"
}
]
no
ibmcloud_api_key IBM Cloud API key needed to deploy the resources string n/a yes
number_of_addresses Number of IPs to assign for each subnet. number 128 no
owner Owner declaration for resource tags. e.g. 'ryantiffany' string n/a yes
region IBM Cloud region where resources will be deployed string n/a yes
worker_node_count Number of microk8s worker nodes to create. number 3 no

Outputs

Name Description
bastion_ip Bastion Public IP
step_01_ping_hosts Run the following playbook to ping all hosts and check connectivity
step_02_update_hosts Run the following playbook to update systems and install obersevability tools
step_03_deploy_cluster Run the following playbook to create the microk8s cluster

Providers

Name Version
ibm 1.55.0
random n/a
tls n/a

Modules

Name Source Version
ansible ./ansible n/a
bastion ./modules/compute n/a
control_plane ./modules/compute n/a
cos git::https://github.com/terraform-ibm-modules/terraform-ibm-cos v6.10.0
microk8s_subnet terraform-ibm-modules/vpc/ibm//modules/subnet 1.1.1
resource_group git::https://github.com/terraform-ibm-modules/terraform-ibm-resource-group.git v1.0.6
security_group terraform-ibm-modules/vpc/ibm//modules/security-group 1.1.1
vpc terraform-ibm-modules/vpc/ibm//modules/vpc 1.1.1
worker_bucket git::https://github.com/terraform-ibm-modules/terraform-ibm-cos v6.10.0
worker_node ./modules/compute n/a

Resources

Name Type
ibm_iam_authorization_policy.cos_flowlogs resource
ibm_is_floating_ip.bastion resource
ibm_is_flow_log.control_plane resource
ibm_is_flow_log.worker_nodes resource
ibm_is_ssh_key.generated_key resource
random_string.prefix resource
tls_private_key.ssh resource
ibm_is_ssh_key.sshkey data source
ibm_is_zones.regional data source
ibm_resource_group.resource_group data source
ibm_resource_instance.cos data source

Inputs

Name Description Type Default Required
classic_access Allow classic access to the VPC. bool false no
controller_node_count Number of microk8s controller nodes to create. number 1 no
default_address_prefix The address prefix to use for the VPC. Default is set to auto. string "auto" no
existing_cos_instance Name of an existing Object Storage instance to use for the VPC Flowlog collectors. If not set, a new Object Storage instance will be created. string "" no
existing_resource_group Name of an existing Resource Group to use for resources. If not set, a new Resource Group will be created. string "" no
existing_ssh_key Name of an existing SSH key to use for the VPC. If not set, a new SSH key will be created. string "" no
frontend_rules A list of security group rules to be added to the microk8s security group
list(
object({
name = string
direction = string
remote = string
tcp = optional(
object({
port_max = optional(number)
port_min = optional(number)
})
)
udp = optional(
object({
port_max = optional(number)
port_min = optional(number)
})
)
icmp = optional(
object({
type = optional(number)
code = optional(number)
})
)
})
)
[
{
"direction": "inbound",
"ip_version": "ipv4",
"name": "inbound-http",
"remote": "0.0.0.0/0",
"tcp": {
"port_max": 80,
"port_min": 80
}
},
{
"direction": "inbound",
"ip_version": "ipv4",
"name": "inbound-https",
"remote": "0.0.0.0/0",
"tcp": {
"port_max": 443,
"port_min": 443
}
},
{
"direction": "inbound",
"ip_version": "ipv4",
"name": "inbound-ssh",
"remote": "0.0.0.0/0",
"tcp": {
"port_max": 22,
"port_min": 22
}
},
{
"direction": "inbound",
"ip_version": "ipv4",
"name": "inbound-cluster-join",
"remote": "0.0.0.0/0",
"tcp": {
"port_max": 25000,
"port_min": 25000
}
},
{
"direction": "inbound",
"icmp": {
"code": 0,
"type": 8
},
"ip_version": "ipv4",
"name": "inbound-icmp",
"remote": "0.0.0.0/0"
},
{
"direction": "inbound",
"ip_version": "ipv4",
"name": "microk8s-api-inbound",
"remote": "0.0.0.0/0",
"tcp": {
"port_max": 16443,
"port_min": 16443
}
},
{
"direction": "outbound",
"ip_version": "ipv4",
"name": "services-outbound",
"remote": "161.26.0.0/16"
},
{
"direction": "outbound",
"ip_version": "ipv4",
"name": "all-outbound",
"remote": "0.0.0.0/0"
}
]
no
ibmcloud_api_key IBM Cloud API key needed to deploy the resources string n/a yes
number_of_addresses Number of IPs to assign for each subnet. number 128 no
owner Owner declaration for resource tags. e.g. 'ryantiffany' string n/a yes
region IBM Cloud region where resources will be deployed string n/a yes
worker_node_count Number of microk8s worker nodes to create. number 3 no

Outputs

Name Description
bastion_ip Bastion Public IP
step_01_ping_hosts Run the following playbook to ping all hosts and check connectivity
step_02_update_hosts Run the following playbook to update systems and install obersevability tools
step_03_deploy_cluster Run the following playbook to create the microk8s cluster