Commit Graph

60 Commits

Author SHA1 Message Date
7823a2ceaf ci: Add Jenkins pipeline for pxe.yml 2025-07-13 16:10:20 -05:00
fdc59fe73b pyrocufflink-dns: Drop group
The internal DNS server for the *pyrocufflink.blue* et al. domains runs
on the firewall now, and is thus no longer managed by Ansible.  Dropping
the group variables so the file encrypted with Ansible Vault can go
away.
2024-02-22 10:23:19 -06:00
1bbcbcd929 ci: Add Jenkins pipeline for UniFi controller 2024-01-21 16:12:29 -06:00
3da74b8e53 ci: Add pipeline for file server 2023-12-04 13:59:48 -06:00
00be022c04 ci: Add pipeline for Jellyfin 2023-12-04 12:20:39 -06:00
cd1f7b354b ci: Add Jenkins pipeline for MinIO 2023-05-23 08:33:09 -05:00
cdc120bb07 ci: Add metricspi pipeline 2022-12-18 19:30:00 -06:00
c625b28d6d ci: radius: Convert to using shared library 2022-11-09 21:37:01 -06:00
42830c1d5b ci: samba-dc: Convert to using shared library 2022-11-09 21:36:23 -06:00
eff98691fe ci: smtp: Convert to using shared library 2022-11-09 21:35:18 -06:00
db28544824 ci: ntp: Convert to using shared library 2022-11-09 21:31:53 -06:00
b62f08ccd4 ci: gitea: Convert to cfgpol shared library 2021-11-13 09:49:24 -06:00
9fab49928d ci: Update container image to Fedora 34 2021-11-09 18:07:59 -06:00
c861d2f70a ci: homeassistant: Remove hassdb playbook
The `hassdb.yml` playbook is no longer used; the new Home Assistant
deployment uses the built-in database again, since it is stored on NVMe
instead of an SD card.

Further, the current deployment is hosted by a machine with a single
filesystem, which thus cannot be remounted read-only after applying
policy.
2021-10-16 10:20:01 -05:00
47954dca48 ci: Add pipeline for Grafana 2021-07-02 21:55:02 -05:00
284fb569a2 ci: Add pipeline for Graylog 2021-01-31 15:34:36 -06:00
cd577a555e ci: Add pipeline for Synapse (Matrix) 2020-12-30 22:12:54 -06:00
d0bf4f9893 ci: Add pipeline for motionEye 2020-12-30 21:06:22 -06:00
b6650e4067 ci: collectd: fix syntax error 2020-12-26 09:39:28 -06:00
4a4f984f1f ci: Add Jenkins pipeline for collectd 2020-12-08 21:26:43 -06:00
53bc4eac6d ci: Add pipeline for Pyrocufflink DNS 2020-09-06 11:10:50 -05:00
451df9042c ci: Add Jenkins pipeline for Home Assistant 2020-08-29 14:34:50 -05:00
8958071edb ci: pyrocufflink: Use pipeline library 2020-08-29 09:12:48 -05:00
a68e7b04df ci: Update container image to Fedora 32 2020-05-30 12:33:08 -05:00
aef175b72b ci: Add pipeline for Nextcloud 2020-03-20 11:03:04 -05:00
825e6164d9 ci: Add pipeline for Bitwarden 2020-03-19 07:42:25 -05:00
744206fd03 ci: Add pipeline for public websites 2020-03-18 11:40:33 -05:00
29e713f862 ci: Add pipeline for Gitea 2020-02-22 16:43:46 -06:00
53f2a8e365 ci: Install findutils in build environment
The *findutils* package is needed for the `find` command, which is used
at the end of the CI pipelines to remove the `sudo-pass` vault files.
2019-05-02 16:27:58 -05:00
b7381b3fb1 ci: Use lockable resource to enforce serial runs
It is important that only one configuration management job run at a
time. Currently, this is enforced by having only one agent with the
*ansible* label, and that agent has only one executor. This is not an
ideal solution, because it requires maintaining a separate machine for
this purpose.

The *Lockable Resources Plugin* provides an alternate solution to this
problem. Using this plugin, jobs can acquire an exclusive lock on a
"resource" that prevents other jobs that require the same resource from
running. Any job that starts while the lock is held will wait until it
is released before executing. This will enforce the same serial
execution policy, but does not require a separate, dedicated machine.
Jobs will be able to run on any executor with the appropriate label.

Using this option, it is now possible to run configuration management
jobs on the normal agents, defining the execution environment in a
Docker image, so the *cm0.pyrocufflink.blue* agent can be
decommissioned.
2019-05-02 09:58:20 -05:00
5351e753d7 ci: dch-vpn: Use AD credentials
Now that the VPN server is a member of the *pyrocufflink.blue* domain,
Kerberos credentials are required to manage it.
2018-10-13 12:40:09 -05:00
bd7e9c88bf ci: dch-vpn: Update host filter 2018-10-13 12:07:30 -05:00
0b972da789 ci: Add pipeline for Koji 2018-08-12 10:27:20 -05:00
507eec6565 ci: dch-gw: Limit dhcpcd PB to dch-gw
To avoid applying configuration to hosts besides the gateway, the
`dhcpcd.yml` playbook needs to be limited.
2018-08-01 22:13:53 -05:00
036234bba5 ci: Add pipeline for dch-vpn playbook 2018-07-01 15:32:14 -05:00
7766cc1d05 ci: zabbix: Specify credentials
Since the host *gw0* is not a member of the *pyrocufflink.blue* domain,
GSSAPI authentication does not work. As such, the SSH private key has to
be made available to the `ansible-playbook` process for authentication
to that host.
2018-06-22 19:43:08 -05:00
cae9f2e3c2 ci: zabbix: Separate server, agent stages
Separating the Zabbix server and agent playbooks into separate stages
allows better visibility into the time taken for each.
2018-06-22 19:43:06 -05:00
0500adadfa ci: zabbix: Use multiple sudo-pass files
The `zabbix.yml` playbook applies to hosts that are not members of the
*pyrocufflink.blue* domain, and thus have different passwords for
`sudo`. Using the `-e` argument to `ansible-playbook` and specifying a
single Vault-encrypted file that defines the `ansible_become_password`
variable effectively forces Ansible to try to use that password on every
host. This is because variables defined on the command line, or read
from a file specified on the command line, have the highest precedence.

To use different passwords on different hosts, the normal variable
scoping rules have to be used. To that end, one `sudo-pass` file is
created in the `group_vars/pyrocufflink` directory, so it will apply to
all machines that are members of the *pyrocufflink.blue* domain.
Additionally, another `sudo-pass` file is created in the `host_vars/gw0`
directory; it will only apply to the gateway device.
2018-06-22 19:33:23 -05:00
1d2e581a85 ci: Send emails on failed builds 2018-05-19 10:00:34 -05:00
72cd67e025 ci: Add pipeline for RADIUS 2018-05-06 18:43:29 -05:00
d1cdf1831b ci: Add pipeline for NTP 2018-04-22 11:54:51 -05:00
20507d4e13 ci: smtp: Remount filesystems 2018-04-16 08:37:06 -05:00
2274fb3202 ci: samba-dc: Remount filesystems 2018-04-16 08:35:38 -05:00
168f542d6b ci: pyrocufflink: Remount filesystems 2018-04-16 08:35:34 -05:00
6bd89c9206 ci: dch-gw: Remount filesystems 2018-04-16 07:33:02 -05:00
e61fe015ed ci: zabbix: Remount filesystems 2018-04-15 13:48:54 -05:00
933d318cbe ci: Add smtp pipeline 2018-04-15 11:40:39 -05:00
e8d670c2bf ci: samba-dc: Switch to ansiblePlaybook steps 2018-04-15 10:15:49 -05:00
4148ce02a5 ci: dch-gw: Switch to ansiblePlaybook steps 2018-04-15 10:14:41 -05:00
cccb442c08 ci: pyrocufflink: Switch to ansiblePlaybook steps 2018-04-15 10:12:22 -05:00