11locals {
2- fill_char_length = 64 - length (" github-runner" )- 4
2+ fill_char_length = 64 - length (" github-runner" ) - 4
33}
44
55resource "random_string" "hetzner_machine" {
6- length = local. fill_char_length > 0 ? local. fill_char_length : 0
7- special = false
6+ length = local. fill_char_length > 0 ? local. fill_char_length : 0
7+ special = false
88}
99
1010resource "hcloud_server" "github_runner" {
@@ -33,42 +33,42 @@ resource "hcloud_server" "github_runner" {
3333
3434 provisioner "remote-exec" {
3535 inline = [
36- " apt-get update -y" ,
37- " DEBIAN_FRONTEND=noninteractive apt-get upgrade -y" ,
38- " DEBIAN_FRONTEND=noninteractive apt-get install sudo git vim tmux apt-transport-https ca-certificates curl gnupg lsb-release pass ${ var . hetzner_machine_additional_packages } -y" ,
39- " echo '127.0.0.1 fylr-server-postgres fylr-server-sqlite execserver minio2 postgres2 elasticsearch2' >> /etc/hosts" ,
40- " curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg" ,
41- " echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian buster stable' | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null" ,
42- " apt-get update -y" ,
43- " apt-get install docker-ce docker-ce-cli containerd.io docker-compose -y" ,
44- " curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -" ,
45- " apt install nodejs" ,
46- " mkdir /srv/actions-runner && cd /srv/actions-runner" ,
47- " curl -o actions-runner-linux-x64-2.277.1.tar.gz -L https://github.com/actions/runner/releases/download/v2.277.1/actions-runner-linux-x64-2.277.1.tar.gz" ,
48- " tar xzf ./actions-runner-linux-x64-2.277.1.tar.gz" ,
49- " adduser github-runner --disabled-login --gecos ''" ,
50- " usermod -aG docker github-runner" ,
51- " echo 'github-runner ALL=(ALL:ALL)NOPASSWD:ALL' > /etc/sudoers.d/github-runner" ,
52- " chown -R github-runner /srv" ,
53- " chmod +x /srv/setup-runner.sh /srv/gh-runner-cli" ,
54- " mv /srv/actions-runner/run.sh /srv/actions-runner/run.sh.old" ,
55- " su github-runner -c 'export CUSTOM_HOSTNAME=${ self . name } ; export GH_USERNAME=${ var . github_authentication_user } ; export GH_TOKEN=${ var . github_authentication_token } ; export GH_OWNER=${ var . github_owner } ; export GH_NAME=${ var . github_repository_name } ; export GH_LABELS=${ var . github_actions_runner_labels } ; export GH_REPLACE_RUNNERS=${ var . github_actions_runner_replace_existing } ; export GH_RUNNER_TYPE=${ var . github_runner_type } ; /srv/setup-runner.sh'"
56- ]
36+ " apt-get update -y" ,
37+ " DEBIAN_FRONTEND=noninteractive apt-get upgrade -y" ,
38+ " DEBIAN_FRONTEND=noninteractive apt-get install sudo git vim tmux apt-transport-https ca-certificates curl gnupg lsb-release pass ${ var . hetzner_machine_additional_packages } -y" ,
39+ " echo '127.0.0.1 fylr-server-postgres fylr-server-sqlite execserver minio2 postgres2 elasticsearch2' >> /etc/hosts" ,
40+ " curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg" ,
41+ " echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian buster stable' | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null" ,
42+ " apt-get update -y" ,
43+ " apt-get install docker-ce docker-ce-cli containerd.io docker-compose -y" ,
44+ " curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -" ,
45+ " apt install nodejs" ,
46+ " mkdir /srv/actions-runner && cd /srv/actions-runner" ,
47+ " curl -o actions-runner-linux-x64-2.277.1.tar.gz -L https://github.com/actions/runner/releases/download/v2.277.1/actions-runner-linux-x64-2.277.1.tar.gz" ,
48+ " tar xzf ./actions-runner-linux-x64-2.277.1.tar.gz" ,
49+ " adduser github-runner --disabled-login --gecos ''" ,
50+ " usermod -aG docker github-runner" ,
51+ " echo 'github-runner ALL=(ALL:ALL)NOPASSWD:ALL' > /etc/sudoers.d/github-runner" ,
52+ " chown -R github-runner /srv" ,
53+ " chmod +x /srv/setup-runner.sh /srv/gh-runner-cli" ,
54+ " mv /srv/actions-runner/run.sh /srv/actions-runner/run.sh.old" ,
55+ " su github-runner -c 'export CUSTOM_HOSTNAME=${ self . name } ; export GH_USERNAME=${ var . github_authentication_user } ; export GH_TOKEN=${ var . github_authentication_token } ; export GH_OWNER=${ var . github_owner } ; export GH_NAME=${ var . github_repository_name } ; export GH_LABELS=${ var . github_actions_runner_labels } ; export GH_REPLACE_RUNNERS=${ var . github_actions_runner_replace_existing } ; export GH_RUNNER_TYPE=${ var . github_runner_type } ; /srv/setup-runner.sh'"
56+ ]
5757 }
5858}
5959
6060resource "null_resource" "deprovision" {
6161 triggers = {
62- machine_names = join (" ," , tolist (hcloud_server. github_runner . * . name ))
63- github_user = var.github_authentication_user
64- github_user_token = var.github_authentication_token
65- github_repo_name = var.github_repository_name
66- github_repo_owner = var.github_owner
62+ machine_names = join (" ," , tolist (hcloud_server. github_runner . * . name ))
63+ github_user = var.github_authentication_user
64+ github_user_token = var.github_authentication_token
65+ github_repo_name = var.github_repository_name
66+ github_repo_owner = var.github_owner
6767 github_runner_type = var.github_runner_type
6868 }
6969
7070 provisioner "local-exec" {
71- when = destroy
72- command = " ./scripts/local/destroy_runner.sh ${ self . triggers . machine_names } ${ self . triggers . github_user } ${ self . triggers . github_user_token } ${ self . triggers . github_repo_name } ${ self . triggers . github_repo_owner } ${ self . triggers . github_runner_type } "
71+ when = destroy
72+ command = " ./scripts/local/destroy_runner.sh ${ self . triggers . machine_names } ${ self . triggers . github_user } ${ self . triggers . github_user_token } ${ self . triggers . github_repo_name } ${ self . triggers . github_repo_owner } ${ self . triggers . github_runner_type } "
7373 }
74- }
74+ }
0 commit comments