|
| 1 | + - name: Deploy GitHub Runner to AWS (EC2) |
| 2 | + # You may pin to the exact commit or the version. |
| 3 | + # uses: bitovi/github-actions-deploy-github-runner-to-ec2@6e35bdc2c305bec7608655b84227b88ac75c5961 |
| 4 | + uses: bitovi/github-actions-deploy-github-runner-to-ec2@v0 |
| 5 | + with: |
| 6 | + # Specifies if this action should checkout the code |
| 7 | + checkout: # optional, default is true |
| 8 | + # Will run only the generation phase of BitOps, where the Terraform and Ansible code is built. |
| 9 | + bitops_code_only: # optional |
| 10 | + # Store BitOps code as a GitHub artifact |
| 11 | + bitops_code_store: # optional |
| 12 | + # Repo URL for the runner to listen to |
| 13 | + repo_url: |
| 14 | + # Repo access token |
| 15 | + repo_access_token: |
| 16 | + # AWS access key ID |
| 17 | + aws_access_key_id: # optional |
| 18 | + # AWS secret access key |
| 19 | + aws_secret_access_key: # optional |
| 20 | + # AWS session token |
| 21 | + aws_session_token: # optional |
| 22 | + # AWS default region |
| 23 | + aws_default_region: # optional, default is us-east-1 |
| 24 | + # Set to override the AWS resource identifier for the deployment. Defaults to `${org}-{repo}-{branch}`. Use with destroy to destroy specific resources. |
| 25 | + aws_resource_identifier: # optional |
| 26 | + # A JSON object of additional tags that will be included on created resources. Example: `{"key1": "value1", "key2": "value2"}` |
| 27 | + aws_additional_tags: # optional |
| 28 | + # Set to "true" to Destroy the stack through Terraform. |
| 29 | + tf_stack_destroy: # optional |
| 30 | + # Change 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. |
| 31 | + tf_state_file_name: # optional |
| 32 | + # Append 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. |
| 33 | + tf_state_file_name_append: # optional |
| 34 | + # AWS S3 bucket to use for Terraform state. Defaults to `${org}-${repo}-{branch}-tf-state` |
| 35 | + tf_state_bucket: # optional |
| 36 | + # Force purge and deletion of S3 bucket defined. Any file contained there will be destroyed. `tf_stack_destroy` must also be `true` |
| 37 | + tf_state_bucket_destroy: # optional |
| 38 | + # Secret name to pull env variables from AWS Secret Manager, could be a comma separated list, read in order. Expected JSON content. |
| 39 | + env_aws_secret: # optional |
| 40 | + # File containing environment variables to be used with the app |
| 41 | + env_repo: # optional |
| 42 | + # `.env` file to be used with the app from Github secrets |
| 43 | + env_ghs: # optional |
| 44 | + # `.env` file to be used with the app from Github variables |
| 45 | + env_ghv: # optional |
| 46 | + # Define if an EC2 instance should be created |
| 47 | + aws_ec2_instance_create: # optional |
| 48 | + # AWS 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-*`. |
| 49 | + aws_ec2_ami_filter: # optional |
| 50 | + # Owner of AWS AMI image. This ensures the provider is the one we are looking for. Defaults to `099720109477`, Canonical (Ubuntu). |
| 51 | + aws_ec2_ami_owner: # optional |
| 52 | + # AWS AMI ID. Will default to lookup for latest image of the `aws_ec2_ami_filter` string. This will override `aws_ec2_ami_filter` lookup. |
| 53 | + aws_ec2_ami_id: # optional |
| 54 | + # Set this to true if you want to recreate the EC2 instance if there is a newer version of the AMI. |
| 55 | + aws_ec2_ami_update: # optional |
| 56 | + # The AWS IAM instance profile to use for the EC2 instance |
| 57 | + aws_ec2_iam_instance_profile: # optional |
| 58 | + # The AWS Instance type |
| 59 | + aws_ec2_instance_type: # optional |
| 60 | + # Define the volume size (in GiB) for the root volume on the AWS Instance. |
| 61 | + aws_ec2_instance_root_vol_size: # optional |
| 62 | + # Set this to true to avoid deletion of root volume on termination. Defaults to false. |
| 63 | + aws_ec2_instance_root_vol_preserve: # optional |
| 64 | + # The name of the EC2 security group |
| 65 | + aws_ec2_security_group_name: # optional |
| 66 | + # Generates and manages a secret manager entry that contains the public and private keys created for the ec2 instance. |
| 67 | + aws_ec2_create_keypair_sm: # optional |
| 68 | + # Add a public IP to the instance or not. (Not an Elastic IP) |
| 69 | + aws_ec2_instance_public_ip: # optional |
| 70 | + # List of ports to be enabled as an ingress rule in the EC2 SG, in a [xx,yy] format - Not the ELB |
| 71 | + aws_ec2_port_list: # optional |
| 72 | + # Relative path in the repo for a user provided script to be executed with Terraform EC2 Instance creation. |
| 73 | + aws_ec2_user_data_file: # optional, default is no-file-provided |
| 74 | + # If user_data file changes, instance will stop and start. Hence public IP will change. Defaults to true. |
| 75 | + aws_ec2_user_data_replace_on_change: # optional |
| 76 | + # A JSON object of additional tags that will be included on created resources. Example: `{"key1": "value1", "key2": "value2"}` |
| 77 | + aws_ec2_additional_tags: # optional |
| 78 | + # Define if a VPC should be created |
| 79 | + aws_vpc_create: # optional |
| 80 | + # Set a specific name for the VPC |
| 81 | + aws_vpc_name: # optional |
| 82 | + # Define Base CIDR block which is divided into subnet CIDR blocks. Defaults to 10.0.0.0/16. |
| 83 | + aws_vpc_cidr_block: # optional |
| 84 | + # Comma separated list of public subnets. Defaults to 10.10.110.0/24 |
| 85 | + aws_vpc_public_subnets: # optional |
| 86 | + # Comma separated list of private subnets. If none, none will be created. |
| 87 | + aws_vpc_private_subnets: # optional |
| 88 | + # Comma separated list of availability zones. Defaults to `aws_default_region. |
| 89 | + aws_vpc_availability_zones: # optional |
| 90 | + # AWS VPC ID. Accepts `vpc-###` values. |
| 91 | + aws_vpc_id: # optional |
| 92 | + # Specify a Subnet to be used with the instance. If none provided, will pick one. |
| 93 | + aws_vpc_subnet_id: # optional |
| 94 | + # Enables NAT gateway |
| 95 | + aws_vpc_enable_nat_gateway: # optional |
| 96 | + # Creates only one NAT gateway |
| 97 | + aws_vpc_single_nat_gateway: # optional |
| 98 | + # Comma separated list of IP IDS to reuse in the NAT gateways |
| 99 | + aws_vpc_external_nat_ip_ids: # optional |
| 100 | + # A JSON object of additional tags that will be included on created resources. Example: `{"key1": "value1", "key2": "value2"}` |
| 101 | + aws_vpc_additional_tags: # optional |
| 102 | + # |
| 103 | + aws_secret_env: # optional |
| 104 | + # |
| 105 | + repo_env: # optional |
| 106 | + # |
| 107 | + dot_env: # optional |
| 108 | + # |
| 109 | + ghv_env: # optional |
| 110 | + # |
| 111 | + stack_destroy: # optional |
| 112 | + # |
| 113 | + additional_tags: # optional |
| 114 | + # |
| 115 | + ec2_instance_profile: # optional |
| 116 | + # |
| 117 | + ec2_instance_type: # optional |
| 118 | + # |
| 119 | + ec2_ami_id: # optional |
| 120 | + # |
| 121 | + ec2_ami_update: # optional |
| 122 | + # |
| 123 | + ec2_volume_size: # optional |
| 124 | + # |
| 125 | + ec2_root_preserve: # optional |
| 126 | + # |
| 127 | + ec2_security_group_name: # optional |
| 128 | + # |
| 129 | + ec2_create_keypair_sm: # optional |
| 130 | + # |
| 131 | + ec2_instance_public_ip: # optional |
| 132 | + # |
| 133 | + ec2_user_data_file: # optional, default is no-file-provided |
| 134 | + # |
| 135 | + ec2_user_data_replace_on_change: # optional |
| 136 | + # |
| 137 | + ec2_additional_tags: # optional |
| 138 | + |
0 commit comments