Skip to content

ibm-cloud-architecture/terraform-openshift-inventory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

terraform-openshift-inventory

This is meant to be used as a module, make sure your module implementation sets all the variables in its terraform.tfvars file.

It creates a folder called inventory_repo and places a hosts and inventory.cfg file to be used for OpenShift installation

module "inventory" {
    source                  = "git::ssh://git@github.ibm.com/ncolon/terraform-openshift-inventory.git"
    domain                  = "${var.domain}"
    master_private_ip       = "${module.infrastructure.master_private_ip}"
    infra_private_ip        = "${module.infrastructure.infra_private_ip}"
    app_private_ip          = "${module.infrastructure.app_private_ip}"
    storage_private_ip      = "${module.infrastructure.storage_private_ip}"
    master_hostname         = "${module.infrastructure.master_hostname}"
    infra_hostname          = "${module.infrastructure.infra_hostname}"
    app_hostname            = "${module.infrastructure.app_hostname}"
    storage_hostname        = "${module.infrastructure.storage_hostname}"
    ose_version             = "${var.ose_version}"
    ose_deployment_type     = "${var.ose_deployment_type}"
    image_registry          = "${var.image_registry}"
    image_registry_username = "${var.image_registry_username == "" ? var.rhn_username : ""}"
    image_registry_password = "${var.image_registry_password == "" ? var.rhn_password : ""}"
    master_cluster_hostname = "${module.infrastructure.public_master_vip}"
    cluster_public_hostname = "${var.master_cname}-${random_id.tag.hex}.${var.domain}"
    app_cluster_subdomain   = "${var.app_cname}-${random_id.tag.hex}.${var.domain}"
    letsencrypt             = "${var.letsencrypt}"
    registry_volume_size    = "${var.registry_volume_size}"
}

Module Inputs Variables

Variable Name Description Default Value Type
domain Custom domain for OpenShift - string
master_private_ip Private IPv4 Address of Master Nodes - list
infra_private_ip Private IPv4 Address of Infra Nodes - list
storage_private_ip Private IPv4 Address of Storage Nodes - list
master_hostname Hostnames of Master Nodes - list
infra_hostname Hostnames of Infra Nodes - list
app_hostname Hostnames of App Nodes - list
storage_hostname Hostnames of Storage Nodes - list
ose_version Version of OpenShift to install 3.11 string
ose_deployment_type OpenShift Product Type openshift-enterprise string
image_registry Image registry to pull installation images from registry.redhat.io string
image_registry_username Username for image registry - string
image_registry_password Password for image registry - string
image_registry_path Path for OSE regirty /openshift3/ose-$${component}:$${version} string
master_cluster_hostname Complete CNAME for master VIP Ex.:master-ibm-5e5fd6c5.ncolon.xyz - string
cluster_public_hostname VIP of master loadbalancer Ex.:ncolon-ocp-master-76fbf24d-625675-wdc04.clb.appdomain.cloud - string
app_cluster_subdomain Complete CNAME for apps VIP Ex.:apps.master-ibm-5e5fd6c5.ncolon.xyz - string
letsencrypt If set to true, pushes certificates to master server false bool
registry_volume_size Registry Size in GB 100 int
pod_network_cidr CIDR Network for Pods 10.128.0.0/14 string
service_network_cidr Network CIDR for Services 172.30.0.0/16 string
host_subnet_length Host subnet length 9 int
openshift_identity_provider String for Identity Provider openshift_master_htpasswd_users={'admin': '$apr1$qSzqkDd8$fU.yI4bV8KmXD9kreFSL//'} admin/admin string

Module Output

This module produces no terraform output.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages