Skip to content

terraform-ibm-modules/terraform-ibm-sw-common-services

Repository files navigation

Terraform cert-manager and licensing deployments

Incubating (Not yet consumable) latest release pre-commit Renovate enabled semantic-release

This module deploys the cert-manager and licensing operators to a Kubernetes cluster

Overview

terraform-ibm-sw-common-services

Usage

# ############################################################################
# Init cluster config for helm
# ############################################################################

data "ibm_container_cluster_config" "cluster_config" {
  # Update this value with the ID or name of the cluster where the operators will be deployed
  cluster_name_id = "cluster_id"
}

# ############################################################################
# Config providers
# ############################################################################

provider "ibm" {
  # Update this value with your IBM Cloud API key value
  ibmcloud_api_key = "api key value"  # pragma: allowlist secret
  # Update this value with the region that your cluster is deployed
  region           = "us-south"
}

provider "helm" {
  kubernetes {
    host  = data.ibm_container_cluster_config.cluster_config.host
    token = data.ibm_container_cluster_config.cluster_config.token
    cluster_ca_certificate = data.ibm_container_cluster_config.cluster_config.ca_certificate
  }
}

provider "kubernetes" {
  host  = data.ibm_container_cluster_config.cluster_config.host
  token = data.ibm_container_cluster_config.cluster_config.token
  cluster_ca_certificate = data.ibm_container_cluster_config.cluster_config.ca_certificate
}

# ############################################################################
# Install cert-manager and licensing operators
# ############################################################################

module "ibm_common_services_prereq" {
  source                           = "terraform-ibm-modules/sw-common-services/ibm"
  cluster_id                       = "cluster id" # Update this with the ID of the cluster where the operators will be deployed
  cluster_resource_group_id        = "resource group id" # Update this with the ID of your IBM Cloud resource group
}

Required IAM access policies

You need the following permissions to run this module.

  • IAM Services
    • Kubernetes service
      • Viewer platform access
      • Manager service access

Requirements

Name Version
terraform >= 1.3.0
helm >= 2.13.1, < 3.0.0
ibm >= 1.64.0, < 2.0.0

Modules

No modules.

Resources

Name Type
helm_release.ibm_cert_manager resource
helm_release.ibm_licensing resource
ibm_container_cluster.cluster data source
ibm_container_vpc_cluster.cluster data source

Inputs

Name Description Type Default Required
cert_manager_catalog The catalog name for cert manager string "ibm-cert-manager-catalog" no
cert_manager_catalog_source_image The catalog source image for cert manager string "icr.io/cpopen/ibm-cert-manager-operator-catalog" no
cert_manager_namespace The namespace for cert manager string "ibm-cert-manager" no
cert_manager_operator The operator name for cert manager string "ibm-cert-manager-operator" no
cert_manager_operator_group The operator group for cert manager string "cert-manager-operatorgroup" no
cert_manager_subscription_channel The subscription channel for cert manager string "v4.2" no
cluster_id The ID of the cluster you wish to deploy the agents in string n/a yes
cluster_resource_group_id The Resource Group ID of the cluster string n/a yes
is_vpc_cluster Specify true if the target cluster for the observability agents is a VPC cluster, false if it is a classic cluster. bool true no
licensing_catalog The catalog name for licensing string "ibm-licensing-catalog" no
licensing_catalog_source_image The catalog source image for licensing string "icr.io/cpopen/ibm-licensing-catalog" no
licensing_namespace The namespace for licensing string "ibm-licensing" no
licensing_operator The operator name for licensing string "ibm-licensing-operator-app" no
licensing_operator_group The operator group for licensing string "licensing-operatorgroup" no
licensing_subscription_channel The subscription channel for licensing string "v4.2" no
openshift_source The openshift source for the subscriptions string "openshift-marketplace" no

Outputs

No outputs.

Contributing

You can report issues and request features for this module in GitHub issues in the module repo. See Report an issue or request a feature.

To set up your local development environment, see Local development setup in the project documentation.