terraform module to provision resources related to harness ccm cluster orchestrator
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"
}
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"
}
Name | Version |
---|---|
terraform | >= 1.2.0 |
aws | >= 4.16 |
harness | >= 0.34.0 |
Name | Version |
---|---|
aws | >= 4.16 |
harness | >= 0.34.0 |
No modules.
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 |
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 |
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 |