bitovi/Deploy GitHub Runner to AWS (EC2)

Deploy a GitHub runner to an AWS EC2 instance.

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stale
License
None
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 artifactnofalse
repo_urlRepo URL for the runner to listen toyes
repo_access_tokenRepo access tokenyes
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
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
env_aws_secretSecret name to pull env variables from AWS Secret Manager, could be a comma separated list, read in order. Expected JSON content.no
env_repoFile containing environment variables to be used with the appno
env_ghs`.env` file to be used with the app from Github secretsno
env_ghv`.env` file to be used with the app from Github variablesno
aws_ec2_instance_createDefine if an EC2 instance should be createdno
aws_ec2_ami_filterAWS AMI Filter string. Will be used to lookup for lates image based on the string. Defaults to `ubuntu/images/hvm-ssd/ubuntu-jammy-22.04-amd64-server-*`.no
aws_ec2_ami_ownerOwner of AWS AMI image. This ensures the provider is the one we are looking for. Defaults to `099720109477`, Canonical (Ubuntu).no
aws_ec2_ami_idAWS AMI ID. Will default to lookup for latest image of the `aws_ec2_ami_filter` string. This will override `aws_ec2_ami_filter` lookup.no
aws_ec2_ami_updateSet this to true if you want to recreate the EC2 instance if there is a newer version of the AMI.no
aws_ec2_iam_instance_profileThe AWS IAM instance profile to use for the EC2 instanceno
aws_ec2_instance_typeThe AWS Instance typeno
aws_ec2_instance_root_vol_sizeDefine the volume size (in GiB) for the root volume on the AWS Instance.no
aws_ec2_instance_root_vol_preserveSet this to true to avoid deletion of root volume on termination. Defaults to false.no
aws_ec2_security_group_nameThe name of the EC2 security groupno
aws_ec2_create_keypair_smGenerates and manages a secret manager entry that contains the public and private keys created for the ec2 instance.no
aws_ec2_instance_public_ipAdd a public IP to the instance or not. (Not an Elastic IP)no
aws_ec2_port_listList of ports to be enabled as an ingress rule in the EC2 SG, in a [xx,yy] format - Not the ELBno
aws_ec2_user_data_fileRelative path in the repo for a user provided script to be executed with Terraform EC2 Instance creation.nono-file-provided
aws_ec2_user_data_replace_on_changeIf user_data file changes, instance will stop and start. Hence public IP will change. Defaults to true.no
aws_ec2_additional_tagsA JSON object of additional tags that will be included on created resources. Example: `{"key1": "value1", "key2": "value2"}`no
aws_vpc_createDefine if a VPC should be createdno
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.no
aws_vpc_public_subnetsComma separated list of public subnets. Defaults to 10.10.110.0/24no
aws_vpc_private_subnetsComma separated list of private subnets. If none, none will be created.no
aws_vpc_availability_zonesComma separated list of availability zones. Defaults to `aws_default_region.no
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 gatewayno
aws_vpc_single_nat_gatewayCreates only one NAT gatewayno
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
aws_secret_envno
repo_envno
dot_envno
ghv_envno
stack_destroyno
additional_tagsno
ec2_instance_profileno
ec2_instance_typeno
ec2_ami_idno
ec2_ami_updateno
ec2_volume_sizeno
ec2_root_preserveno
ec2_security_group_nameno
ec2_create_keypair_smno
ec2_instance_public_ipno
ec2_user_data_filenono-file-provided
ec2_user_data_replace_on_changeno
ec2_additional_tagsno
namedescription
vm_urlThe URL of the generated app