Merge branch 'gitlab-runner' into 'master'
Gitlab runner See merge request mg/ansible!30
This commit is contained in:
commit
69d9951815
13 changed files with 102 additions and 17 deletions
1
.gitmodules
vendored
1
.gitmodules
vendored
|
@ -40,3 +40,4 @@
|
||||||
[submodule "roles/geerlingguy.gitlab"]
|
[submodule "roles/geerlingguy.gitlab"]
|
||||||
path = roles/geerlingguy.gitlab
|
path = roles/geerlingguy.gitlab
|
||||||
url = https://github.com/geerlingguy/ansible-role-gitlab
|
url = https://github.com/geerlingguy/ansible-role-gitlab
|
||||||
|
|
||||||
|
|
21
README.md
21
README.md
|
@ -1,5 +1,26 @@
|
||||||
# ansible_heimserver
|
# ansible_heimserver
|
||||||
|
|
||||||
|
## collections als Dependency
|
||||||
|
- in meta
|
||||||
|
```
|
||||||
|
collections:
|
||||||
|
- community.general
|
||||||
|
```
|
||||||
|
|
||||||
|
## defaults in Dictionary
|
||||||
|
```bash
|
||||||
|
- name: "register_runner"
|
||||||
|
community.general.gitlab_runner:
|
||||||
|
description: "{{ description|default('GitLab-Runner') }}"
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
description: <-- Original-Variable
|
||||||
|
"{{ item.description| <-- Original-Inhalt
|
||||||
|
default('GitLab-Runner') }}" <-- wenn Inhalt leer, dann default...
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
## playbook-grapher
|
## playbook-grapher
|
||||||
`ansible-playbook-grapher --include-role-tasks tests/fixtures/with_roles.yml`
|
`ansible-playbook-grapher --include-role-tasks tests/fixtures/with_roles.yml`
|
||||||
|
|
||||||
|
|
|
@ -47,18 +47,18 @@
|
||||||
ufw_default_outgoing_policy: allow
|
ufw_default_outgoing_policy: allow
|
||||||
### ryandaniels.create_users
|
### ryandaniels.create_users
|
||||||
users:
|
users:
|
||||||
- username: mg
|
- username: mg
|
||||||
password: "{{ lookup('keepass', 'linux_mg_user_password_hash', 'password') }}"
|
password: "{{ lookup('keepass', 'linux_mg_user_password_hash', 'password') }}"
|
||||||
update_password: on_create
|
update_password: on_create
|
||||||
ssh_key: "{{ lookup('keepass', 'ssh_pubkey_mg', 'password') }}"
|
ssh_key: "{{ lookup('keepass', 'ssh_pubkey_mg', 'password') }}"
|
||||||
use_sudo: yes
|
use_sudo: yes
|
||||||
use_sudo_nopass: yes
|
use_sudo_nopass: yes
|
||||||
user_state: present
|
user_state: present
|
||||||
groups: ssh, sudo
|
groups: ssh, sudo
|
||||||
servers:
|
servers:
|
||||||
- production
|
- production
|
||||||
- staging
|
- staging
|
||||||
- test
|
- test
|
||||||
### geerlingguy.dotfiles
|
### geerlingguy.dotfiles
|
||||||
dotfiles_repo: "https://git.mgrote.net/mg/dotfiles"
|
dotfiles_repo: "https://git.mgrote.net/mg/dotfiles"
|
||||||
dotfiles_repo_local_destination: "/home/mg/dotfiles-repo"
|
dotfiles_repo_local_destination: "/home/mg/dotfiles-repo"
|
||||||
|
|
|
@ -28,9 +28,6 @@
|
||||||
- production
|
- production
|
||||||
- staging
|
- staging
|
||||||
- test
|
- test
|
||||||
- virt
|
|
||||||
- cephq
|
|
||||||
- k8s
|
|
||||||
### mgrote.restic
|
### mgrote.restic
|
||||||
restic_folders_to_backup: /usr/local /etc /root /home /var/lib/docker
|
restic_folders_to_backup: /usr/local /etc /root /home /var/lib/docker
|
||||||
restic_cron_hours: "*"
|
restic_cron_hours: "*"
|
||||||
|
|
17
group_vars/gitlabrunner.yml
Normal file
17
group_vars/gitlabrunner.yml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
---
|
||||||
|
### geerlingguy.docker
|
||||||
|
docker_users:
|
||||||
|
- mg
|
||||||
|
- root
|
||||||
|
- ansible-user
|
||||||
|
### geerlingguy.pip
|
||||||
|
pip_package: python3-pip
|
||||||
|
pip_install_packages:
|
||||||
|
- name: python-gitlab
|
||||||
|
### mgrote.gitlab-runner
|
||||||
|
gitlab_runner:
|
||||||
|
- api_url: https://git.mgrote.net
|
||||||
|
registration_token: "{{ lookup('keepass', 'gitlab_runner_registration_token', 'password') }}"
|
||||||
|
api_token: "{{ lookup('keepass', 'gitlab_runner_api_token', 'password') }}" #Token: ansible-gitlab-runner
|
||||||
|
api_username: root
|
||||||
|
description: "{{ ansible_hostname }}"
|
11
inventory
11
inventory
|
@ -54,12 +54,16 @@ all:
|
||||||
gitea-staging.grote.lan:
|
gitea-staging.grote.lan:
|
||||||
gitea-test.grote.lan:
|
gitea-test.grote.lan:
|
||||||
gitea.grote.lan:
|
gitea.grote.lan:
|
||||||
gitlab: # immer auch unten in den 2 Gruppen eintragen, sonst schlägt in Bootstrap das verteilen der ssh-keys fehl
|
gitlab:
|
||||||
hosts:
|
hosts:
|
||||||
gitlab-staging.grote.lan:
|
gitlab-staging.grote.lan:
|
||||||
gitlab-test.grote.lan:
|
gitlab-test.grote.lan:
|
||||||
gitlab.grote.lan:
|
gitlab.grote.lan:
|
||||||
|
gitlabrunner: # immer auch unten in den 2 Gruppen eintragen, sonst schlägt in Bootstrap das verteilen der ssh-keys fehl
|
||||||
|
hosts:
|
||||||
|
gitlab-runner-staging.grote.lan:
|
||||||
|
gitlab-runner-test.grote.lan:
|
||||||
|
gitlab-runner.grote.lan:
|
||||||
# wsl:
|
# wsl:
|
||||||
# hosts:
|
# hosts:
|
||||||
# irantu.grote.lan:
|
# irantu.grote.lan:
|
||||||
|
@ -85,6 +89,7 @@ all:
|
||||||
jenkins.grote.lan:
|
jenkins.grote.lan:
|
||||||
gitea.grote.lan:
|
gitea.grote.lan:
|
||||||
gitlab.grote.lan:
|
gitlab.grote.lan:
|
||||||
|
gitlab-runner.grote.lan:
|
||||||
staging:
|
staging:
|
||||||
hosts:
|
hosts:
|
||||||
wireguard-staging.grote.lan:
|
wireguard-staging.grote.lan:
|
||||||
|
@ -98,6 +103,7 @@ all:
|
||||||
jenkins-staging.grote.lan:
|
jenkins-staging.grote.lan:
|
||||||
gitea-staging.grote.lan:
|
gitea-staging.grote.lan:
|
||||||
gitlab-staging.grote.lan:
|
gitlab-staging.grote.lan:
|
||||||
|
gitlab-runner-staging.grote.lan:
|
||||||
test:
|
test:
|
||||||
hosts:
|
hosts:
|
||||||
wireguard-test.grote.lan:
|
wireguard-test.grote.lan:
|
||||||
|
@ -113,3 +119,4 @@ all:
|
||||||
jenkins-test.grote.lan:
|
jenkins-test.grote.lan:
|
||||||
gitea-test.grote.lan:
|
gitea-test.grote.lan:
|
||||||
gitlab-test.grote.lan:
|
gitlab-test.grote.lan:
|
||||||
|
gitlab-runner-test.grote.lan:
|
||||||
|
|
BIN
keepass_db.kdbx
BIN
keepass_db.kdbx
Binary file not shown.
7
playbooks/service/gitlab-runner.yml
Normal file
7
playbooks/service/gitlab-runner.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
---
|
||||||
|
- hosts: gitlabrunner
|
||||||
|
roles:
|
||||||
|
- { role: geerlingguy.pip, tags: "pip", become: true }
|
||||||
|
- { role: geerlingguy.docker, tags: "docker", become: true }
|
||||||
|
- { role: gantsign.ctop, tags: "ctop", become: true }
|
||||||
|
- { role: mgrote.gitlab-runner, tags: "gitlab-runner", become: true }
|
10
roles/mgrote.gitlab-runner/README.md
Normal file
10
roles/mgrote.gitlab-runner/README.md
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
## mgrote.gitlab_runner
|
||||||
|
|
||||||
|
### Beschreibung
|
||||||
|
Installiert einen Gitlab-Runner.
|
||||||
|
|
||||||
|
### Funktioniert auf
|
||||||
|
- [X] Ubuntu (>=18.04)
|
||||||
|
|
||||||
|
### Variablen + Defaults
|
||||||
|
see [defaults](./defaults/main.yml)
|
3
roles/mgrote.gitlab-runner/defaults/main.yml
Normal file
3
roles/mgrote.gitlab-runner/defaults/main.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
gitlab_runner_arch: amd64 #https://gitlab-runner-downloads.s3.amazonaws.com/latest/index.html
|
||||||
|
gitlab_runner_dl_link: "https://gitlab-runner-downloads.s3.amazonaws.com/latest/deb/gitlab-runner_{{ gitlab_runner_arch }}.deb"
|
13
roles/mgrote.gitlab-runner/handlers/main.yml
Normal file
13
roles/mgrote.gitlab-runner/handlers/main.yml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
---
|
||||||
|
- name: "register_runner"
|
||||||
|
community.general.gitlab_runner:
|
||||||
|
api_url: "{{ item.api_url }}"
|
||||||
|
registration_token: "{{ item.registration_token }}"
|
||||||
|
api_token: "{{ item.api_token }}"
|
||||||
|
description: "{{ item.description|default('GitLab-Runner') }}"
|
||||||
|
state: "{{ item.state|default('present') }}"
|
||||||
|
active: "{{ item.active|default('True') }}"
|
||||||
|
run_untagged: True
|
||||||
|
locked: "{{ item.locked|default('False') }}"
|
||||||
|
loop: "{{ gitlab_runner }}"
|
||||||
|
no_log: true
|
3
roles/mgrote.gitlab-runner/meta/main.yml
Normal file
3
roles/mgrote.gitlab-runner/meta/main.yml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
---
|
||||||
|
collections: # Damit wird die Collection, wenn nicht vorhanden, als Abhängigkeit heruntergeladen.
|
||||||
|
- community.general
|
6
roles/mgrote.gitlab-runner/tasks/main.yml
Normal file
6
roles/mgrote.gitlab-runner/tasks/main.yml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
- name: Install deb package
|
||||||
|
apt:
|
||||||
|
deb: "{{ gitlab_runner_dl_link }}"
|
||||||
|
state: present
|
||||||
|
notify: register_runner
|
Loading…
Reference in a new issue