bitovi/Deploy EKS to AWS

Deploy Kubernetes Service (EKS) to AWS

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Maintainedlast commit Mar 5, 2025
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: bitovi/github-actions-deploy-eks@a161c8b3f82dba716f470bea28ecdceb271c3b42 # v0.1.2

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
checkoutSpecifies if this action should checkout the codenotrue
bitops_code_onlyWill run only the generation phase of BitOps, where the Terraform and Ansible code is built.no
bitops_code_storeStore BitOps code as a GitHub artifactno
tf_stack_destroySet to "true" to Destroy the stack through Terraform.no
tf_state_file_nameChange this to be anything you want to. Carefull to be consistent here. A missing file could trigger recreation, or stepping over destruction of non-defined objects.no
tf_state_file_name_appendAppend a string to the tf-state-file. Setting this to `unique` will generate `tf-state-aws-unique`. Can co-exist with the tf_state_file_name variable. no
tf_state_bucketAWS S3 bucket to use for Terraform state. Defaults to `${org}-${repo}-{branch}-tf-state`no
tf_state_bucket_destroyForce purge and deletion of S3 bucket defined. Any file contained there will be destroyed. `tf_stack_destroy` must also be `true`no
aws_access_key_idAWS access key IDno
aws_secret_access_keyAWS secret access keyno
aws_session_tokenAWS session tokenno
aws_default_regionAWS default regionnous-east-1
aws_resource_identifierSet to override the AWS resource identifier for the deployment. Defaults to `${org}-{repo}-{branch}`. Use with destroy to destroy specific resources.no
aws_additional_tagsA JSON object of additional tags that will be included on created resources. Example: `{"key1": "value1", "key2": "value2"}`no
aws_eks_createDefine if an EKS cluster should be creatednotrue
aws_eks_security_group_name_clusterSG for ${var.aws_resource_identifier} - ${var.aws_eks_environment} - EKS Masterno
aws_eks_security_group_name_nodeSG for ${var.aws_resource_identifier} - ${var.aws_eks_environment} - EKS Workerno
aws_eks_environmentSpecify the eks environment name. Defaults to envno
aws_eks_management_cidrEnter your public IP or CIDR to add it to the allowed master security groups port 443.no
aws_eks_allowed_portsAllow incoming traffic from this port. Accepts comma separated values, matching 1 to 1 with aws_eks_allowed_ports_cidr.no
aws_eks_allowed_ports_cidrAllow incoming traffic from this CIDR block. Accepts comma separated values, matching 1 to 1 with aws_eks_allowed_ports. If none defined, will allow all incoming traffic.no
aws_eks_cluster_nameEKS Cluster name. Defaults to eks-clusterno
aws_eks_cluster_admin_role_arnRole ARN to grant cluster-admin permissionsno
aws_eks_cluster_log_typesEKS Log types, comma separated list. Defaults to api,audit,authenticatorno
aws_eks_cluster_log_retention_daysDays to store logs. Defaults to 7.no
aws_eks_cluster_log_skip_destroySkip deletion of cluster logs if set to trueno
aws_eks_cluster_versionSpecify the k8s cluster versionno
aws_eks_instance_typeenter the aws instance typeno
aws_eks_instance_ami_idAWS AMI ID. Will default to the latest Amazon EKS Node image for the cluster version.no
aws_eks_instance_user_data_fileRelative path in the repo for a user provided script to be executed with Terraform EKS Node creation.no
aws_eks_ec2_key_pairEnter the existing ec2 key pair for worker nodes. If none, one will be created.no
aws_eks_store_keypair_smIf true, will store the newly created keys in Secret Managerno
aws_eks_desired_capacityEnter the desired capacity for the worker nodesno
aws_eks_max_sizeEnter the max_size for the worker nodesno
aws_eks_min_sizeEnter the min_size for the worker nodesno
aws_eks_additional_tagsA JSON object of additional tags that will be included on created resources. Example: `{"key1": "value1", "key2": "value2"}`no
prometheus_enableSpecifies if this action should checkout the code for this deploymentno
grafana_enableSpecifies if this action should checkout the code for this deploymentno
loki_enableSpecifies if this action should checkout the code for this deploymentno
nginx_enableSpecifies if this action should checkout the code for this deploymentno
input_helm_chartsRelative path to the folder from project containing Helm charts to be installed. Could be uncompressed or compressed (.tgz) files.no
aws_vpc_createDefine if a VPC should be creatednotrue
aws_vpc_nameSet a specific name for the VPCno
aws_vpc_cidr_blockDefine Base CIDR block which is divided into subnet CIDR blocks. Defaults to 10.0.0.0/16.no10.0.0.0/16
aws_vpc_public_subnetsComma separated list of public subnets. Defaults to 10.10.110.0/24no10.0.101.0/24,10.0.102.0/24
aws_vpc_private_subnetsComma separated list of private subnets. If none, none will be created.no10.0.1.0/24,10.0.2.0/24
aws_vpc_availability_zonesComma separated list of availability zones. Defaults to `aws_default_region.nous-east-1a,us-east-1b
aws_vpc_idAWS VPC ID. Accepts `vpc-###` values.no
aws_vpc_subnet_idSpecify a Subnet to be used with the instance. If none provided, will pick one.no
aws_vpc_enable_nat_gatewayEnables NAT gatewaynotrue
aws_vpc_single_nat_gatewayCreates only one NAT gatewaynotrue
aws_vpc_external_nat_ip_idsComma separated list of IP IDS to reuse in the NAT gatewaysno
aws_vpc_additional_tagsA JSON object of additional tags that will be included on created resources. Example: `{"key1": "value1", "key2": "value2"}`no
namedescription
aws_vpc_idThe selected VPC ID used.
eks_cluster_nameEKS Cluster name
eks_cluster_role_arnEKS Role ARN