Skip to content

Commit cce7b3b

Browse files
authored
Create runner.yml
Signed-off-by: Tijuks <154919533+tijuks@users.noreply.github.com>
1 parent 823bcdb commit cce7b3b

1 file changed

Lines changed: 138 additions & 0 deletions

File tree

.github/workflows/runner.yml

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
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

Comments
 (0)