Skip to content

sreway/gitlab-runner-docker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Example Docker Gitlab runner creation via terraform and ansible

Requirements

Name Version
terraform >= 1.3.3

Providers

Name Version
local 2.2.3
null 3.2.1

Modules

Name Source Version
ansible_inventory git n/a
available_instances git n/a
floating_ip_mapping git n/a
instance git n/a
internal_network git n/a
router git n/a

Resources

Name Type
local_file.ansible_inventory resource
null_resource.deploy_inventory resource

Inputs

Name Description Type Default Required
gitlab_token Gitlab registration token string n/a yes
gitlab_url Gitlab URL string n/a yes
instances Hash map of instances setting that should be created
map(object({
name = string
vcpus = number
ram = number
disk = number
image = string
zone = string
network_name = string
remote_volumes = map(object({
name = string
size = number
type = string
zone = string
}))
create_floating_ip = bool
tags = list(string)
}))
{
"gitlab-runner-01": {
"create_floating_ip": true,
"disk": 40,
"image": "Ubuntu 22.04 LTS 64-bit",
"name": "gitlab-runner-01",
"network_name": "gitlab-runners-net",
"ram": 4096,
"remote_volumes": {},
"tags": [
"gitlab_runner",
"docker",
"preemptible"
],
"vcpus": 2,
"zone": "ru-7a"
}
}
no
networks Hash map of Virtual Private Cloud network settings that should be created
map(object({
name = string
subnet_cidr = string
router_name = string
dns_nameservers = list(string)
tags = list(string)
}))
{
"gitlab-runners-net": {
"dns_nameservers": [
"188.93.16.19",
"188.93.17.19"
],
"enable_dhcp": false,
"name": "gitlab-runners-net",
"router_name": "gitlab-runners-router",
"subnet_cidr": "192.168.1.0/24",
"tags": [
"gitlab_runners_net"
]
}
}
no
sel_account_id Selectel account id. (contract number) string n/a yes
sel_api_key Selectel API key. Can be create: https://my.selectel.ru/profile/apikeys string n/a yes
sel_auth_url Auth url of Selectel VPC API. string "https://api.selvpc.ru/identity/v3" no
sel_project_id Selectel VPC project ID string n/a yes
sel_project_name Selectel VPC project name string "sreway" no
sel_region_name Name of region for Selectel VPC resources string "ru-7" no
sel_ssh_key_name The name of the SSH key pair to put on the compute instance. The key pair must already be created in some region and associated with Selectel vpc project string "andy" no
sel_user_name Name of user for access to Selectel VPC project string n/a yes
sel_user_password Password of user for access to Selectel VPC project string n/a yes
ssh_public_key SSH public key on compute nodes string n/a yes
ssh_user SSH username administrator on compute nodes (sudoers) string "is" no

Outputs

Name Description
ansible_inventory_data n/a

About

Example gitlab runner creation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages