Skip to content

harness-community/terraform-aws-harness-ccm-cluster-orchestrator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

terraform-aws-harness-ccm-cluster-orchestrator

terraform module to provision resources related to harness ccm cluster orchestrator

Example

In-Line Values

module "cluster-orchestrator" {
  source = "git::https://github.com/harness-community/terraform-aws-harness-ccm-cluster-orchestrator.git"

  cluster_name       = "dev"
  cluster_endpoint   = "https://example-cluster-endpoint.amazonaws.com"
  cluster_oidc_arn   = "arn:aws:iam::123456789012:oidc-provider/oidc.eks.us-west-2.amazonaws.com/id/EXAMPLE"
  cluster_subnet_ids = [
    "subnet-12345678"
  ]
  cluster_security_group_ids = [
    "sg-12345678"
  ]
  cluster_amis = [
    "ami-12345678"
  ]
  ccm_k8s_connector_id = "dev-ccm"
}

Using VPC+EKS Module

If you provision your VPC and EKS using the AWS provided TF modules, you can directly reference their outputs:

module "cluster-orchestrator" {
  source = "git::https://github.com/harness-community/terraform-aws-harness-ccm-cluster-orchestrator.git"

  cluster_name               = module.eks.cluster_name
  cluster_endpoint           = module.eks.cluster_endpoint
  cluster_oidc_arn           = module.eks.oidc_provider_arn
  cluster_subnet_ids         = module.vpc.private_subnets
  cluster_security_group_ids = module.eks.node_security_group_id
  cluster_amis = [
    "ami-12345678"
  ]
  ccm_k8s_connector_id = "dev-ccm"
}

Requirements

Name Version
terraform >= 1.2.0
aws >= 4.16
harness >= 0.34.0

Providers

Name Version
aws >= 4.16
harness >= 0.34.0

Modules

No modules.

Resources

Name Type
aws_ec2_tag.cluster_ami_tag resource
aws_ec2_tag.cluster_security_group_tag resource
aws_ec2_tag.cluster_subnet_tag resource
aws_iam_instance_profile.instance_profile resource
aws_iam_policy.controller_role_policy resource
aws_iam_role.controller_role resource
aws_iam_role.node_role resource
harness_cluster_orchestrator.cluster_orchestrator resource
harness_platform_apikey.api_key resource
harness_platform_role_assignments.cluster_orch_role resource
harness_platform_service_account.cluster_orch_service_account resource
harness_platform_token.api_token resource
aws_iam_policy_document.assume_inline_policy data source
aws_iam_policy_document.controller_trust_policy data source
harness_platform_current_account.current data source

Inputs

Name Description Type Default Required
ccm_k8s_connector_id harness ccm kubernetes connector for the cluster string n/a yes
cluster_amis AMIs used in your EKS cluster; If passed will be tagged with required orchestrator labels list(string) [] no
cluster_endpoint EKS cluster endpoint string n/a yes
cluster_name EKS cluster Name string n/a yes
cluster_oidc_arn OIDC Provder ARN for the cluster string n/a yes
cluster_security_group_ids Security group IDs used in your EKS cluster; If passed will be tagged with required orchestrator labels list(string) [] no
cluster_subnet_ids Subnet IDs used in your EKS cluster; If passed will be tagged with required orchestrator labels list(string) [] no
node_role_policies List of IAM policies to attach to the node role list(string) [] no

Outputs

Name Description
eks_cluster_controller_role_arn n/a
eks_cluster_default_instance_profile n/a
eks_cluster_node_role_arn n/a
harness_ccm_token n/a
harness_cluster_orchestrator_id n/a

About

terraform module to provision resources related to harness ccm cluster orchestrator

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages