Add begin for repoSpanner role
Signed-off-by: Patrick Uiterwijk <patrick@puiterwijk.org>
This commit is contained in:
parent
c0465fa9e0
commit
2452a7d0f1
3 changed files with 148 additions and 0 deletions
95
roles/repoSpanner/server/tasks/main.yml
Normal file
95
roles/repoSpanner/server/tasks/main.yml
Normal file
|
@ -0,0 +1,95 @@
|
||||||
|
---
|
||||||
|
# Configuration for repoSpanner server
|
||||||
|
|
||||||
|
- name: install needed packages
|
||||||
|
package: name={{ item }} state=present
|
||||||
|
with_items:
|
||||||
|
- repoSpanner
|
||||||
|
tags:
|
||||||
|
- repoSpanner/server
|
||||||
|
- packages
|
||||||
|
|
||||||
|
- name: Create group
|
||||||
|
group:
|
||||||
|
name: repoSpanner
|
||||||
|
state: present
|
||||||
|
tags:
|
||||||
|
- repoSpanner/server
|
||||||
|
- config
|
||||||
|
|
||||||
|
- name: Create user
|
||||||
|
user:
|
||||||
|
name: repoSpanner
|
||||||
|
state: present
|
||||||
|
group: repoSpanner
|
||||||
|
shell: /sbin/nologin
|
||||||
|
tags:
|
||||||
|
- repoSpanner/server
|
||||||
|
- config
|
||||||
|
|
||||||
|
- name: Create directory
|
||||||
|
file:
|
||||||
|
path: /var/lib/repospanner
|
||||||
|
state: directory
|
||||||
|
owner: repoSpanner
|
||||||
|
group: repoSpanner
|
||||||
|
mode: 0755
|
||||||
|
tags:
|
||||||
|
- repoSpanner/server
|
||||||
|
- config
|
||||||
|
|
||||||
|
- name: Deploy configuration
|
||||||
|
template: src=repoSpanner.conf
|
||||||
|
dest=/etc/repoSpanner/config.yml
|
||||||
|
owner=repoSpanner group=repoSpanner mode=0600
|
||||||
|
notify:
|
||||||
|
- reload repoSpanner
|
||||||
|
tags:
|
||||||
|
- repoSpanner/server
|
||||||
|
- config
|
||||||
|
|
||||||
|
- name: Deploy certificates
|
||||||
|
copy: src="{{private}}/files/repoSpanner/{{env}}/ca/{{item.src}}
|
||||||
|
dest=/etc/repospanner/{{item.dest}}
|
||||||
|
owner=repoSpanner group=repoSpanner mode=0600
|
||||||
|
with_items:
|
||||||
|
- src: ca.crt
|
||||||
|
dest: ca.crt
|
||||||
|
- src: {{node}}.{{region}}.crt
|
||||||
|
dest: node.crt
|
||||||
|
- src: {{node}}.{{region}}.key
|
||||||
|
dest: node.key
|
||||||
|
notify:
|
||||||
|
- reload repoSpanner
|
||||||
|
tags:
|
||||||
|
- repoSpanner/server
|
||||||
|
- config
|
||||||
|
|
||||||
|
- name: Deploy unit file
|
||||||
|
template: src=repoSpanner.service
|
||||||
|
dest=/etc/systemd/system/repospanner@.service
|
||||||
|
notify:
|
||||||
|
- reload repoSpanner
|
||||||
|
tags:
|
||||||
|
- repoSpanner/server
|
||||||
|
- config
|
||||||
|
|
||||||
|
- name: Spawn node
|
||||||
|
command: repospanner --config /etc/repospanner/config.yml serve --spawn
|
||||||
|
creates: /var/lib/repospanner/state/state.json
|
||||||
|
become: yes
|
||||||
|
become_user: repoSpanner
|
||||||
|
when: "spawn_repospanner_node"
|
||||||
|
|
||||||
|
- name: Join node
|
||||||
|
command: repospanner --config /etc/repospanner/config.yml serve --joinnode {{ join_repospanner_node }}
|
||||||
|
creates: /var/lib/repospanner/state/state.json
|
||||||
|
become: yes
|
||||||
|
become_user: repoSpanner
|
||||||
|
when: "not spawn_repospanner_node"
|
||||||
|
|
||||||
|
- name: Start and enable
|
||||||
|
service: name=repoSpanner@config state=started enabled=yes
|
||||||
|
tags:
|
||||||
|
- repoSpanner/server
|
||||||
|
- config
|
9
roles/repoSpanner/server/templates/repoSpanner.service
Normal file
9
roles/repoSpanner/server/templates/repoSpanner.service
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
[Unit]
|
||||||
|
Description=repoSpanner - instance %i
|
||||||
|
After=network.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=/usr/bin/repospanner serve --config /etc/repospanner/%i.yml --debug
|
||||||
|
User=repoSpanner
|
||||||
|
Group=repoSpanner
|
44
roles/repoSpanner/server/templates/repoSpanner.yml
Normal file
44
roles/repoSpanner/server/templates/repoSpanner.yml
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
---
|
||||||
|
storage:
|
||||||
|
state: /var/lib/repospanner/state
|
||||||
|
git:
|
||||||
|
type: tree
|
||||||
|
clustered: true
|
||||||
|
directory: /var/lib/repospanner/gitstore
|
||||||
|
listen:
|
||||||
|
rpc: 0.0.0.0:8444
|
||||||
|
http: 0.0.0.0:8443
|
||||||
|
certificates:
|
||||||
|
ca: /etc/repospanner/ca.crt
|
||||||
|
client:
|
||||||
|
cert: /etc/repospanner/node.crt
|
||||||
|
key: /etc/repospanner/node.key
|
||||||
|
server:
|
||||||
|
default:
|
||||||
|
cert: /etc/repospanner/node.crt
|
||||||
|
key: /etc/repospanner/node.key
|
||||||
|
hooks:
|
||||||
|
bubblewrap:
|
||||||
|
enabled: true
|
||||||
|
unshare:
|
||||||
|
- net
|
||||||
|
- ipc
|
||||||
|
- pid
|
||||||
|
- uts
|
||||||
|
share_net: false
|
||||||
|
mount_proc: true
|
||||||
|
mount_dev: true
|
||||||
|
uid:
|
||||||
|
gid:
|
||||||
|
hostname: myhostname
|
||||||
|
bind:
|
||||||
|
ro_bind:
|
||||||
|
- - /usr
|
||||||
|
- /usr
|
||||||
|
symlink:
|
||||||
|
- - usr/lib64
|
||||||
|
- /lib64
|
||||||
|
- - usr/bin
|
||||||
|
- /bin
|
||||||
|
runner: /usr/libexec/repohookrunner
|
||||||
|
user: 0
|
Loading…
Add table
Add a link
Reference in a new issue