Commit Graph

396 Commits

Author SHA1 Message Date
d87983d8fc chore: add sysadmin user after first run (#242)
- enables extra_groups to function correctly

Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/242
2025-04-02 20:27:11 +11:00
978013f325 chore: set default nameservers (#240)
- if no nameservers are returned from puppetdb query, use default

Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/240
2025-03-31 22:49:47 +11:00
829b1b05fd feat: cleanup consul from url install (#239)
- set bind_dir to be /usr/bin for rhel, /usr/local/bin for debian
- remove url-installed consul from rhel

Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/239
2025-03-30 18:40:09 +11:00
e025928d77 chore: set secretid for puppetboard (#232)
- manage the secret_key for puppetboard
- required since module upgrade

https://github.com/voxpupuli/puppetboard/issues/721

Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/232
2025-03-30 01:53:25 +11:00
e3e8b3484d chore: enable extra groups (#231)
- enable adding extra groups to the sysadmin user

Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/231
2025-03-30 01:20:59 +11:00
dd5a4646ff feat: update all modules (#228)
- update puppetlabs-* modules
- update puppet-* modules
- add limits and sysctl

Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/228
2025-03-30 00:51:49 +11:00
3a4e606459 chore: set yum/dnf metadata expiry (#226)
- set expiry to 1 day so that dnf frequently checks for updates from packagerepo

Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/226
2025-03-29 22:37:37 +11:00
e0c3a23424 fix: define missing .cache directory (#221)
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/221
2025-03-13 21:48:47 +11:00
8eb751e22f feat: change enc_* fact to read direct from cobbler (#219)
- change enc_role and enc_env to read direct from cobbler
- cleanup profiles::base::facts

Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/219
2025-03-12 23:09:15 +11:00
afd3405c98 feat: add etcd module/role (#215)
- add etcd module
- add etcd role, profile and hieradata

Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/215
2025-01-26 20:00:20 +11:00
a5a193d9eb feat: update jupyterlab container (#209)
- change to packer created alma9 instance
- change docker root to use /data volume

Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/209
2025-01-04 14:10:44 +11:00
4400456519 feat: add frrouting module (#208)
- add frrouting module
- enable ospf daemon on nomad agents
- enable docker volumes

Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/208
2024-12-27 23:39:03 +11:00
022a564dc0 feat: add nomad agent role (#206)
- add nomad agent role
- mount cephfs volume nomadfs to /shared/nomad
- manage docker volume path to be /shared/nomad

Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/206
2024-12-26 20:20:51 +11:00
6ebf5c03a5 feat: add nomad profile/role (#200)
- add basic consul manage nomad servers

Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/200
2024-12-22 22:35:31 +11:00
46b4fdf632 neoloc/sysadmin_early (#197)
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/197
2024-12-09 22:12:01 +11:00
aaf81d0a6c feat: create sysadmin on firstrun (#196)
- prevent packages from using uid 1000

Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/196
2024-12-09 21:51:37 +11:00
afbc15ff40 feat: import crypto-policices earlier (#195)
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/195
2024-12-08 22:50:25 +11:00
64248a45c2 feat: ensure crypto-policices are managed before yumrepos (#194)
- ensure crypto_policies are set before creating yum yumrepos
- ensure that they rpmdb is rebuilt after upgrading to el9

Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/194
2024-12-08 20:30:08 +11:00
ec926dfe0a feat: enable network manager on el9 (#189)
- el9 doesnt have the network-scripts scripts

Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/189
2024-12-08 19:11:54 +11:00
40af30d0ff chore: change packagerepo vhost name (#188)
- ensure http endpoint works for packagerepo.service.consul

Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/188
2024-12-08 17:05:38 +11:00
bac90b5459 Merge pull request 'fix: permissions for cobbler files' (#187) from neoloc/cobbler_perms into develop
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/187
2024-12-08 08:37:36 +11:00
41aab65f85 fix: permissions for cobbler files
- ensure idempotency for /var/lib/cobbler/web.ss
2024-12-08 08:36:35 +11:00
766f124b2c feat: edgecache updates
- update metadatacache size
- increase cache age from 60d to 365d
- subscribe nginx service to ssl certs
2024-12-07 23:50:45 +11:00
58d31c5c9a chore: migrate puppet-r10k
- moved puppet-r10k the unkin organisation
- ensure branch is set to follow origin/master
2024-11-17 19:26:27 +11:00
845b91b497 fix: ensure reposync directories exist 2024-11-16 22:32:15 +11:00
6493f392b8 Merge pull request 'neoloc/jupyterhub' (#174) from neoloc/jupyterhub into develop
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/174
2024-11-16 20:20:16 +11:00
92a9655a50 feat: jupyterhub updates
- always pull containers when starting new instance
- enable access to terminal
2024-11-16 19:54:19 +11:00
42ad972697 feat: add ldap configuration
- add group members to jupyterhub_user
- add svc_jupyterhub user for ldap binding
- paramatarise all ldap fields required
- manage the notebook data directory
2024-11-16 19:20:20 +11:00
61f5f1ce1f feat: add docker settings
- list docker network and image
- fix ldap_admin setting to be a list of users
2024-11-10 20:26:18 +11:00
c6bdae5790 Merge pull request 'feat: add jupyterhub role' (#173) from neoloc/jupyterhub into develop
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/173
2024-11-10 19:14:49 +11:00
159d66af18 feat: add jupyterhub role
- add nodejs module to use npm package provider
- add jupyterhub role
- add class to configure the jupyterhub instance
- add ldap groups
- add nginx simpleproxy
2024-11-10 19:09:50 +11:00
ca87702466 feat: ensure vault restarts with ssl cert
- ensure the vault service resource subscribes to the ssl crt/key
- update unseal script to retry unseal process until it completes
2024-10-27 12:59:36 +11:00
4bf4b42fdf feat: restart nginx on ssl change
- manage nginx service from simpleproxy class
- ensure nginx restarts when ssl certificates are changed
2024-09-27 21:46:46 +10:00
0210d849c7 feat: add gitea runner role
- ensure docker is configured
- create runner user/group
- deploy config.yaml from hiera hash
- install runner from url
- register the runner with the gitea instance
- manage the act_runner service
2024-09-07 17:59:02 +10:00
afda425fab feat: psql changes on master only
- add fact to detect if a psql host is a slave
- only import users/db/grants on master
2024-09-03 22:13:50 +10:00
8fad79f2bc feat: manage database/user/grants for patroni
- add defines for exporting/collecting psql objects for patroni
- add generic profile for managing patroni psql databases for an app
2024-08-24 00:33:18 +10:00
1a2023f4ff Merge pull request 'feat: add patroni/psql cluster' (#140) from neoloc/patroni into develop
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/140
2024-08-10 23:40:29 +10:00
35834f8f5a feat: add patroni/psql cluster
- add patroni puppet module
- add patroni role and hieradata
- add sql/patroni class that utilised consul
2024-08-10 22:34:43 +10:00
dafac3d5ab fix: require vault-unseal.service
- wrong service name specified
2024-08-07 22:05:50 +10:00
3ce2ec3754 Merge pull request 'feat: auto-unseal vault every hour' (#132) from neoloc/vault_unseal_check into develop
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/132
2024-08-06 22:51:54 +10:00
7863d54275 feat: auto-unseal vault every hour
- add cron job to run vault unsealing service hourly
2024-08-06 22:51:16 +10:00
988e7c2a32 Merge pull request 'feat: auto restart puppetdb' (#131) from neoloc/puppetdb_restart into develop
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/131
2024-08-06 22:47:02 +10:00
0c44654a47 feat: auto restart puppetdb
- found several times the puppetdb service locks up after a week of active time
- restart the puppetdb nightly to prevent lock ups
2024-08-06 22:43:07 +10:00
c846cc4e21 feat: add rundeck runner user
- add rundeck account on all hosts except rundeck
- add rundeck ssh private/public key to rundeck server
2024-08-06 22:33:32 +10:00
eb32a216f5 Merge pull request 'neoloc/rundeck' (#121) from neoloc/rundeck into develop
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/121
2024-07-28 02:05:20 +10:00
5354c99b1e feat: add rundeck profile
- export mysql user for each rundeck server
- ensure the jdbc driver for mariadb is available
- exclude jq from default packages (managed by rundeck)
- add groups for admin/user for each project in rundeck
- add consul service
- add vault certificates
- add ssh principals
- add nginx simpleproxy
2024-07-28 01:51:41 +10:00
6a3123e12e Merge pull request 'feat: change packages to Hash' (#120) from neoloc/packages_hash into develop
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/120
2024-07-27 16:29:48 +10:00
76989e45c4 feat: change packages to Hash
- change from multiple arrays for managing packages to a hash
- change to ensure_packages to prevent duplicate resource conflicts
2024-07-27 13:05:54 +10:00
cc01259a64 feat: change packages to Hash
- change from multiple arrays for managing packages to a hash
- change to ensure_packages to prevent duplicate resource conflicts
2024-07-27 13:01:06 +10:00
b5148fc2a0 Merge pull request 'fix: generate_types cahnges' (#119) from neoloc/puppetserver_startup into develop
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/119
2024-07-27 00:17:46 +10:00
ab44bfc430 fix: generate_types cahnges
- this command will always fail, remove the systemd dropin
- create script that will run and exit with 0
- create systemd service/timer to run script daily
2024-07-27 00:13:25 +10:00
480eced404 Merge pull request 'feat: add vrrp to halb' (#116) from neoloc/keepalived into develop
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/116
2024-07-14 22:07:34 +10:00
946922fdb9 feat: add vrrp to halb
- update keepalived module to 5.1.0
- add keepalived::vrrp::* to be deep merged in hiera
- add vrrp dns configuration
- add vrrp instance/script to halb in syd1
2024-07-13 20:15:13 +10:00
0fb11b22cf feat: add param for ffmpeg
- add param to jellyfin class to specify the path to ffmpeg
- update templates to use location
2024-07-11 22:41:08 +10:00
f63cf2f654 fix: create nginx cache dirs before nginx class 2024-07-09 23:29:56 +10:00
e8c8f5c1d6 fix: simpleproxy create cachedirs
- ensure the '/var/cache/nginx' directory exists
2024-07-09 23:27:51 +10:00
1204ee3314 feat: actually add nzbget profile 2024-07-09 23:20:12 +10:00
1532641640 feat: add nzbget to media platform
- add haproxy rules
- generate/distribute letsencrypt certificates
- manage access to cephfs
2024-07-09 22:32:54 +10:00
bd5164fed3 feat: certbot reorg
- moved certbot into its own module
- added fact to list available certificates
- created systemd timer to rsync data to $data_dir/pub
- ensure the $data_dir/pub exists
- manage selinux for nginx
2024-07-08 22:33:11 +10:00
30ec8c1bb1 feat: enable retrieval of certbot certs
- refactor certbot
- add nginx to certbot hosts
2024-07-07 22:30:40 +10:00
9db714d02f feat: manage certbot
- add haproxy backend for be_letsencrypt
- manage the certbot role/profile
- create define to export certificate requests
2024-07-07 21:21:50 +10:00
152ffaa1d3 Merge pull request 'feat: stop installing systemd exported by default' (#94) from neoloc/systemd_exporter_removal into develop
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/94
2024-07-07 15:02:48 +10:00
65046329f4 feat: stop installing systemd exported by default 2024-07-07 15:01:49 +10:00
d05cf628a8 Merge pull request 'fix: change service to socket' (#93) from neoloc/cobbler_socket into develop
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/93
2024-07-06 23:40:20 +10:00
da1402691c fix: change service to socket
- ensure the tftpd.socket is running, which starts the service
2024-07-06 23:37:55 +10:00
b5c7b310ee Merge pull request 'neoloc/mediaproxy' (#92) from neoloc/mediaproxy into develop
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/92
2024-07-06 23:24:49 +10:00
8b01ddba9c fix: cleanup simpleproxy
- remove commented sections
- remove $server from locations
2024-07-06 22:09:16 +10:00
d1dd12a091 feat: add cache to simpleproxy 2024-07-06 22:05:55 +10:00
354e561380 feat: add ldapauth for nginx
- add service, defaults and script
2024-07-06 22:02:00 +10:00
02a2097955 feat: paramatise use_default_location
- allow the use of location blocks for simpleproxy
- add way to add locations in simpleproxy
2024-07-05 23:10:58 +10:00
658af2b6b6 Merge pull request 'feat: manage jellyfin data migration_flag' (#90) from neoloc/jellyfin into develop
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/90
2024-07-04 00:09:22 +10:00
f3046f8fbb feat: manage jellyfin data migration_flag 2024-07-03 22:49:54 +10:00
8e1622a158 Merge pull request 'neoloc/glauth' (#87) from neoloc/glauth into develop
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/87
2024-07-02 18:12:54 +10:00
6e3802ad57 feat: add users/services/groups 2024-07-01 22:54:22 +10:00
c8604baa4e feat: add glauth role/profile classes
- role added to cobbler
- add role specific hieradata
2024-07-01 22:42:29 +10:00
f81b5753ff feat: add jellyfin role/profile classes 2024-06-30 00:02:16 +10:00
d07751a151 feat: haproxy for *arr stack
- add additional backends
- set *arr's to export as a backend
- add *arr.main.unkin.net certificates
2024-06-28 22:46:50 +10:00
9b8556f487 fear: deploy additional *arr stack apps
- cleanup hieradata entires for roles to remove some defaults
- add profiles::media::* classes to manage *arr stacks
2024-06-27 23:42:33 +10:00
7efd6edea9 Revert "chore: cleanup yum repos"
This reverts commit febd98d316.
2024-06-27 22:11:46 +10:00
febd98d316 chore: cleanup yum repos
- cleanup yum repos on first run
2024-06-27 21:59:27 +10:00
40ff5f7d92 feat: deploy radarr
- manage ens19 nic on ausyd1nxvm1040
- manage cephfs storage
2024-06-26 22:57:36 +10:00
679a4203a9 chore: duplicate resource 2024-06-26 22:42:17 +10:00
b90c6468b3 chore: add facts/motd to firstrun 2024-06-26 22:37:17 +10:00
3b907159f1 chore: change eth0 to ens18 2024-06-23 16:47:46 +10:00
803a0ac01d Merge pull request 'neoloc/cephfs' (#54) from neoloc/cephfs into develop
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/54
2024-06-23 15:34:04 +10:00
82ed27cf56 feat: add sonarr profile
- add cephfs secret for mounting mediafs
- add ceph-reef repo for apps::media roles
- add the shared cephfs mediafs mount
2024-06-23 15:33:40 +10:00
5631f07e6e feat: add cephfs shared volume define
- add ceph class to manage ceph client configuration/packages
- add cephfs define for mounting volumes
- add ceph keyring define to manage secrets used to mount cephfs
2024-06-23 15:33:33 +10:00
548076728a feat: swap networkmanager for network service 2024-06-22 16:31:03 +10:00
f5a9eaef4a fix: proxmox ceph services use different network
- set the consul services for ceph mon, mds, mgr and osd to report the ceph
  cluster interface
2024-06-22 00:45:17 +10:00
8548ef0284 Merge pull request 'neoloc/sonarr_deploy' (#48) from neoloc/sonarr_deploy into develop
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/48
2024-06-21 22:53:06 +10:00
681f9e3eb8 feat: deploy sonarr
- add required hieradata/role data to deploy sonarr
- add nginx simpleproxy
- add consul service/query
- add vault certificates
2024-06-21 22:51:40 +10:00
59b181ed54 Merge pull request 'feat: add ceph mirror to edgecache' (#43) from neoloc/ceph_mirror into develop
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/43
2024-06-21 20:44:08 +10:00
36ad19ffed feat: add ceph mirror to edgecache
- add ceph reef apt and rpm repository to edgecache
- add the centos storage sig gpg
2024-06-21 20:38:54 +10:00
a3ef535bfc fix: ceph consul check script
- add permissions to write ceph-* services to consul
- change from `script` to `args` array
2024-06-19 22:36:04 +10:00
eb462eb3a3 fix: update check script to use pgrep 2024-06-18 21:33:38 +10:00
94aed2df9c feat: add pveceph consul services
- refacter the pveceph facts
- define consul services for osd, mgr, mds and mons
2024-06-18 21:14:57 +10:00
c6530e34f6 Merge pull request 'feat: add haproxy exporter' (#38) from neoloc/haproxy_exporter into develop
Reviewed-on: https://git.query.consul/unkinben/puppet-prod/pulls/38
2024-06-17 21:36:31 +10:00
5725d092b8 feat: add haproxy exporter
- add admin socket for exporter
2024-06-16 20:56:23 +10:00
62cac63f11 feat: add database generation to grafana
- ensure a database, user and credential is created for each grafana node
- ensure all databases for a region are included in a mariadb cluster
- refine params with stdlib types
2024-06-16 18:49:59 +10:00
0fe05bb896 Merge branch 'develop' into neoloc/grafana 2024-06-16 00:39:45 +10:00