Commit Graph

59 Commits (757494b48b78a6e0f6cb2fd820f24226859b72f2)

Author SHA1 Message Date
Dustin 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
Dustin 1bbcbcd929 ci: Add Jenkins pipeline for UniFi controller 2024-01-21 16:12:29 -06:00
Dustin 3da74b8e53 ci: Add pipeline for file server 2023-12-04 13:59:48 -06:00
Dustin 00be022c04 ci: Add pipeline for Jellyfin 2023-12-04 12:20:39 -06:00
Dustin cd1f7b354b ci: Add Jenkins pipeline for MinIO 2023-05-23 08:33:09 -05:00
Dustin cdc120bb07 ci: Add metricspi pipeline 2022-12-18 19:30:00 -06:00
Dustin c625b28d6d ci: radius: Convert to using shared library 2022-11-09 21:37:01 -06:00
Dustin 42830c1d5b ci: samba-dc: Convert to using shared library 2022-11-09 21:36:23 -06:00
Dustin eff98691fe ci: smtp: Convert to using shared library 2022-11-09 21:35:18 -06:00
Dustin db28544824 ci: ntp: Convert to using shared library 2022-11-09 21:31:53 -06:00
Dustin b62f08ccd4 ci: gitea: Convert to cfgpol shared library 2021-11-13 09:49:24 -06:00
Dustin 9fab49928d ci: Update container image to Fedora 34 2021-11-09 18:07:59 -06:00
Dustin 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
Dustin 47954dca48 ci: Add pipeline for Grafana 2021-07-02 21:55:02 -05:00
Dustin 284fb569a2 ci: Add pipeline for Graylog 2021-01-31 15:34:36 -06:00
Dustin cd577a555e ci: Add pipeline for Synapse (Matrix) 2020-12-30 22:12:54 -06:00
Dustin d0bf4f9893 ci: Add pipeline for motionEye 2020-12-30 21:06:22 -06:00
Dustin b6650e4067 ci: collectd: fix syntax error 2020-12-26 09:39:28 -06:00
Dustin 4a4f984f1f ci: Add Jenkins pipeline for collectd 2020-12-08 21:26:43 -06:00
Dustin 53bc4eac6d ci: Add pipeline for Pyrocufflink DNS 2020-09-06 11:10:50 -05:00
Dustin 451df9042c ci: Add Jenkins pipeline for Home Assistant 2020-08-29 14:34:50 -05:00
Dustin 8958071edb ci: pyrocufflink: Use pipeline library 2020-08-29 09:12:48 -05:00
Dustin a68e7b04df ci: Update container image to Fedora 32 2020-05-30 12:33:08 -05:00
Dustin aef175b72b ci: Add pipeline for Nextcloud 2020-03-20 11:03:04 -05:00
Dustin 825e6164d9 ci: Add pipeline for Bitwarden 2020-03-19 07:42:25 -05:00
Dustin 744206fd03 ci: Add pipeline for public websites 2020-03-18 11:40:33 -05:00
Dustin 29e713f862 ci: Add pipeline for Gitea 2020-02-22 16:43:46 -06:00
Dustin 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
Dustin 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
Dustin 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
Dustin bd7e9c88bf ci: dch-vpn: Update host filter 2018-10-13 12:07:30 -05:00
Dustin 0b972da789 ci: Add pipeline for Koji 2018-08-12 10:27:20 -05:00
Dustin 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
Dustin 036234bba5 ci: Add pipeline for dch-vpn playbook 2018-07-01 15:32:14 -05:00
Dustin 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
Dustin 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
Dustin 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
Dustin 1d2e581a85 ci: Send emails on failed builds 2018-05-19 10:00:34 -05:00
Dustin 72cd67e025 ci: Add pipeline for RADIUS 2018-05-06 18:43:29 -05:00
Dustin d1cdf1831b ci: Add pipeline for NTP 2018-04-22 11:54:51 -05:00
Dustin 20507d4e13 ci: smtp: Remount filesystems 2018-04-16 08:37:06 -05:00
Dustin 2274fb3202 ci: samba-dc: Remount filesystems 2018-04-16 08:35:38 -05:00
Dustin 168f542d6b ci: pyrocufflink: Remount filesystems 2018-04-16 08:35:34 -05:00
Dustin 6bd89c9206 ci: dch-gw: Remount filesystems 2018-04-16 07:33:02 -05:00
Dustin e61fe015ed ci: zabbix: Remount filesystems 2018-04-15 13:48:54 -05:00
Dustin 933d318cbe ci: Add smtp pipeline 2018-04-15 11:40:39 -05:00
Dustin e8d670c2bf ci: samba-dc: Switch to ansiblePlaybook steps 2018-04-15 10:15:49 -05:00
Dustin 4148ce02a5 ci: dch-gw: Switch to ansiblePlaybook steps 2018-04-15 10:14:41 -05:00
Dustin cccb442c08 ci: pyrocufflink: Switch to ansiblePlaybook steps 2018-04-15 10:12:22 -05:00
Dustin 8b5c1fccfc ci: Add pipeline for Zabbix 2018-04-14 15:57:41 -05:00