r/netboot/jenkins-agent: Configure NBD exports

The *netboot/jenkins-agent* Ansible role configures three NBD exports:

* A single, shared, read-only export containing the Jenkins agent root
  filesystem, as a SquashFS filesystem
* For each defined agent host, a writable data volume for Jenkins
  workspaces
* For each defined agent host, a writable data volume for Docker

Agent hosts must have some kind of unique value to identify their
persistent data volumes.  Raspberry Pi devices, for example, can use the
SoC serial number.
btop
Dustin 2022-03-17 15:14:49 -05:00
parent 20fd03795b
commit 4622240c6c
3 changed files with 23 additions and 0 deletions

View File

@ -0,0 +1,2 @@
netboot_jenkins_agents:
- ba5bebc5

View File

@ -0,0 +1,7 @@
- name: ensure jenkins-agent nbd export is configured
template:
src: jenkins-agent.ini.j2
dest: /etc/nbd-server/config.d/jenkins-agent.conf
mode: u=rw,go=r
tags:
- nbd-config

View File

@ -0,0 +1,14 @@
[jenkinsagent-aarch64]
exportname = /var/lib/nbd/jenkinsagent-aarch64.squashfs
readonly = true
{% for name in netboot_jenkins_agents %}
[docker-{{ name }}]
exportname = /var/lib/nbd/docker-{{ name }}.img
filesize = 10737418240
[jenkins-ba5bebc5]
exportname = /var/lib/nbd/jenkins-{{ name }}.img
filesize = 10737418240
#force_tls = true
{% endfor %}