e7ddbfa035
feat: increase client_max_body_size for git
...
- update hieradata with client_max_body_size for git role
2024-06-01 12:51:06 +10:00
f029b04427
feat: update git sources
...
- update r10k source
- update enc source
- update source for puppet-bind module
2024-05-28 23:51:19 +10:00
fab4ea5998
feat: add gitea classes
...
- add basic gitea class
2024-05-28 23:14:36 +10:00
263d41fe9e
chore: remove prodinf01n01 as puppetca
2024-05-28 21:06:04 +10:00
df371a6b09
feat: syd1 puppetca provisioning
...
- move puppetca to ausyd1nxvm1036
2024-05-28 20:13:08 +10:00
d2d08bc479
fix: change drw1 puppetmasters to use syd1 approle
...
- changing vault url to vault.query.consul forced puppetmasters in drw1
to connect to syd1 vault hosts
- set drw1 puppetmasters to use syd1 approle_id
2024-05-26 01:27:45 +10:00
b00781b604
feat: change vault url to vaul.query.consul
...
- support access to vault from multiple datacentres for certmanager
2024-05-26 01:23:16 +10:00
ad268e8977
Merge pull request 'feat: vault use vault' ( #226 ) from neoloc/vault_use_vault into develop
...
Reviewed-on: unkinben/puppet-prod#226
2024-05-26 00:38:55 +09:30
ad4f9b81f4
Merge pull request 'neoloc/syd1_certmanager_approle' ( #224 ) from neoloc/syd1_certmanager_approle into develop
...
Reviewed-on: unkinben/puppet-prod#224
2024-05-26 00:38:16 +09:30
7c0bf4a398
feat: vault use vault
...
- change vault to use vault ephemeral certificates
- remove nginx frontend to vault
2024-05-26 01:06:48 +10:00
b9c327799f
feat: add vault service/query altnames
...
- add nginx aliases for vault services
- add additional vault certificates
- change certmanager script to use vault.service.consul
2024-05-25 15:51:09 +10:00
2c3aa2bbdc
feat: vault certmanager tokens
...
- move vault certmanager tokens to drw1/syd1 specific eyaml
- add syd1 certmanger token for syd1 vault
2024-05-25 15:50:59 +10:00
0b549325a1
Merge pull request 'feat: added country-region altnames' ( #223 ) from neoloc/puppetboard_altnames into develop
...
Reviewed-on: unkinben/puppet-prod#223
2024-05-24 23:01:37 +09:30
c883bc8c91
feat: added country-region altnames
...
- add puppetboard.service.au-{syd1|drw1}.consul to:
- vault pki cert
- nginx server aliases
2024-05-24 23:27:07 +10:00
cbf3f0e694
feat: change drw1 puppetdb -> syd1
2024-05-24 23:06:18 +10:00
22af602510
Merge pull request 'feat: puppet::client multiple altnames' ( #221 ) from neoloc/puppetdbapi_certs into develop
...
Reviewed-on: unkinben/puppet-prod#221
2024-05-22 22:42:59 +09:30
0901595de9
feat: puppet::client multiple altnames
...
- puppet clients can not request multiple dns alt_names
- set puppetdbapi hosts to request multiple certificates
2024-05-22 23:05:34 +10:00
349547c4bc
feat: puppetboard on consul
...
- updated nginx param types
- add nginx aliases, merge with vhost, use as server_names
- add additional vault alt-names
- add prepared query for puppetboard
2024-05-22 22:54:54 +10:00
8fb4c59f88
Merge branch 'develop' into neoloc/syd1_puppetdb
2024-05-22 22:30:10 +10:00
d2235610af
Merge pull request 'feat: set syd1 puppetdb hosts' ( #218 ) from neoloc/puppetboard into develop
...
Reviewed-on: unkinben/puppet-prod#218
2024-05-22 21:58:52 +09:30
25cbff4656
feat: set syd1 puppetdb hosts
...
- change syd1 puppetdb hosts to use consul serivce/query addresses
2024-05-22 22:23:07 +10:00
770c8cc159
feat: update hiera key for puppetdb api/sql
...
- changed to use puppetdbapi and puppetdbsql hiera keys
- updated all classes that referenced old values
2024-05-22 22:18:32 +10:00
9e3b680b0b
feat: add prepared query for puppetdbapi
...
- merge to develop
- add prepared query for puppetdbapi
2024-05-22 22:11:51 +10:00
f6bf504416
Merge branch 'develop' into neoloc/syd1_puppetdb
2024-05-22 22:11:04 +10:00
39aa6e114e
feat: puppetdb sql updates
...
- add consul support
- enable local script checks in consul agents
- add a test DB/User for consult to verify the psql instance is running
- manage the postgresql repo and gpg key
2024-05-22 22:05:54 +10:00
6035af37a1
feat: increase puppetdb api Xmx
...
- change java args to use 2048mb of memory
2024-05-22 21:37:00 +10:00
65bd2ae8d5
fix: repo target changes
...
- use per-repo target files
2024-05-19 22:46:27 +10:00
0e7168026d
Merge pull request 'neoloc/yumrepos' ( #212 ) from neoloc/yumrepos into develop
...
Reviewed-on: unkinben/puppet-prod#212
2024-05-19 20:09:50 +09:30
fd466fcccc
feat: cleanup old repo management
...
- change profiles::puppet::agent to require Yumrepo['puppet']
- remove managed repos hieradata
- remove profiles:😋 :* classes that are not required
- remove missed rebase comment
2024-05-19 20:27:56 +10:00
5f9480f186
feat: direct yumrepo config
...
- deep merge yumrepo resources
- convert repos to direct yumrepo in hieradata
- change from repos.main.unkin.net to edgecache.query.consul
- create all yumrepo resources from $profiles:😋 :global::repos
2024-05-19 20:27:47 +10:00
da2e98ed4d
feat: add centos mirror to edgecache
...
- add centos repo to edgecache
2024-05-19 19:41:15 +10:00
6f9a606549
feat: configure edgecache for postgresql
...
- add fact to record system resolvers
- add resolvers feature in /etc/nginx/conf.d/resolvers.conf
- add rewrite rules for postgres/yum/repodata
2024-05-19 16:56:36 +10:00
9640779846
feat: mariadb improvements
...
- add bind-address to local_ip
- add consul service
2024-05-19 14:53:14 +10:00
8f4799ce2a
feat: update consul service service
...
- change edgecache service name from puppet -> edgecache
2024-05-19 14:53:14 +10:00
6bddec6bd2
Merge pull request 'feat: manage pgsql settings for puppetdb' ( #208 ) from neoloc/puppetdb_connections into develop
...
Reviewed-on: unkinben/puppet-prod#208
2024-05-12 16:10:42 +09:30
5774ebd614
feat: manage pgsql settings for puppetdb
...
- deep merge postgresql_config_entries in common.yaml
- add postgresql_config_entries into a new hieradata/roles/infra/puppetdb/sql.yaml
- set puppetdb role to import the options
2024-05-12 16:36:43 +10:00
2aa5ead9d1
feat: prepare syd1 mariadb cluster
...
- update role to wait for enc_role
- move hiera data to country/region/role specific location
2024-05-12 15:40:43 +10:00
4a1848db38
fix: cobbler host
...
- fixed name of cobbler host in yaml
2024-05-11 23:09:30 +10:00
5577e368e9
Merge pull request 'chore: move pxeboot to syd1 cobbler' ( #204 ) from neoloc/dhcp_syd1_cobbler into develop
...
Reviewed-on: unkinben/puppet-prod#204
2024-05-11 21:36:23 +09:30
dca99d2716
chore: move pxeboot to syd1 cobbler
...
- update nameservers for syd1 to use local dns resolvers
- update pxeserver to au-syd1 cobbler
2024-05-11 22:05:21 +10:00
ec6e49e37a
Merge pull request 'feat: change cobbler master' ( #203 ) from neoloc/cobbler_master into develop
...
Reviewed-on: unkinben/puppet-prod#203
2024-05-11 21:20:56 +09:30
3e233ea688
feat: change cobbler master
...
- promote ausyd1nxvm1017
2024-05-11 21:50:02 +10:00
cb54cd2dba
feat: add edgecache prepared_query
...
- add edgecache as a prepared_query in consul
2024-05-11 21:47:14 +10:00
4171427e7b
feat: add edgecache role
...
- add edge-caching role
- add mirror for debian, almalinux and epel repositories
- export service as edgecache in consul
2024-05-11 21:46:20 +10:00
9edd060367
feat: deep merge /etc/hosts
...
- allow managing /etc/hosts on multiple levels of hiera
2024-05-11 21:45:24 +10:00
eeb21081d3
Merge branch 'develop' into neoloc/selinux_fix
2024-05-11 15:01:38 +09:30
6633f07d8b
feat: install policycoreutils
...
- install policycoreutils on all almalinux releases
2024-05-11 15:30:01 +10:00
a618962d07
fix: move selinux profile to cobbler
...
- only import the selinux enforce profile in cobbler
2024-05-11 15:22:16 +10:00
911e284586
Merge pull request 'fix: export cobbler DNS if is_cobbler_master' ( #200 ) from neoloc/cobbler_dns into develop
...
Reviewed-on: unkinben/puppet-prod#200
2024-05-11 14:13:37 +09:30
a05f81799d
fix: export cobbler DNS if is_cobbler_master
...
- set prodinf01n48 as primary cobbler node
- ensure the cobbler DNS record is created
2024-05-11 14:36:28 +10:00
ce3e0f2320
Merge pull request 'neoloc/cobbler_refacter' ( #199 ) from neoloc/cobbler_refacter into develop
...
Reviewed-on: unkinben/puppet-prod#199
2024-05-09 22:45:33 +09:30
fee0bde604
feat: complete cobbler automation
...
- add facts to manage the /var/www/cobbler and /data/cobbler directories
- move /var/www/cobbler -> /data/cobbler
- create symlink from /var/www/cobbler -> /data/cobbler
- ensure that cobbler nodes are set to permissive selinux mode
2024-05-09 22:44:55 +10:00
72077d64a2
refactor: reconfigure cobbler to module style
...
- split params into class
- split class into individual functions
2024-05-07 22:44:01 +10:00
c2e413c0fb
chore: move dhcp hieradata to hieradata/role
2024-05-06 21:49:41 +10:00
e9c7fbc2b5
feat: update puppetdb_api for multi-zone
...
- wait for the enc_role fact to be updated and match
- move puppetdb db/api host values to common.yaml
- add vault cert altnames for consul query/service addresses
- add consul services/rules/checks
2024-05-06 20:38:25 +10:00
14a56a41a2
Merge branch 'develop' into neoloc/consul_wan
...
Conflicts:
hieradata/common.yaml
2024-05-05 18:01:41 +10:00
31f670ad18
Merge pull request 'neoloc/syd1_puppet' ( #195 ) from neoloc/syd1_puppet into develop
...
Reviewed-on: unkinben/puppet-prod#195
2024-05-05 17:13:38 +09:30
6335167e3a
feat: change clients to use puppet.query.consul
...
- change all clients/servers to use puppet from consul service mesh
2024-05-05 16:47:39 +10:00
f1ff7cb736
feat: distribute eyaml pub/priv key
...
- distribute the private/public pem for eyaml via eyaml
2024-05-05 16:25:18 +10:00
51bd1796ad
feat: per-datacentre consul dns
...
- change forwarding for consul to be per-datacentre to local consul
- change domain from service.consul -> consul so query.consul can be resolved
2024-05-04 16:27:32 +10:00
fe296d52d9
feat: manage puppet/puppetca consul services
...
- add puppet service
- add puppetca service
- add ability to write to puppet/puppetca service in consul
- add puppet.(query,service).consul to dns_alt_names of all masters
- add puppetca.(query,service).consul to dns_alt_names of puppetca
2024-05-04 16:10:32 +10:00
8a241d6b96
feat: add prepared_query capabilities to consul
...
- add prepared query for:
- vault
- puppet
- puppetca
2024-05-04 15:46:47 +10:00
6020143f76
feat: consul multi-datacentre joining
...
- add method to join multiple consul datacentres
- set syd1 as the primary datacentre
- use default token from au-syd1 cluster in all locations
- add replication token
2024-05-04 00:39:18 +10:00
df8a55c3dd
feat: manage puppetca
...
- manage the puppet ca.cfg
- distribute the crl.pem from the puppetca to masters
2024-05-03 21:29:25 +10:00
56b23620b7
refactor: reoganise the puppetserver profile
...
- manage puppetserver package
- set order for puppetserver classes
- for profiles::puppet::server class:
- set param types using stdlib where possible
- set default values for all params
- move configuration data to hieradata
- wait for enc_role fact to match role
- exclude puppet::client from puppermaster nodes
2024-05-02 23:32:32 +10:00
95135fb58a
fix: add use_backend for drw1 haproxy
2024-05-01 21:58:10 +10:00
8697492611
feat: haproxy refactor
...
- configure deep merging in hiera
- move fe_http and fe_https to hiera
- configure pve backends for standard and api traffic
2024-05-01 19:02:03 +10:00
220ac182f4
feat: sydney haproxy cluster
...
- add au-syd1 halb cluster
- add http-response to frontends
- manage haproxy after enc_role is correct
2024-04-28 21:14:36 +10:00
587df5309f
Merge branch 'develop' into neoloc/consul_services
...
Conflicts:
hieradata/common.yaml
site/profiles/manifests/consul/client.pp
2024-04-28 17:09:18 +10:00
8df927de18
feat: add node_token to agent config
...
- move policy rules to hiera array[hash]
- add node_token to agent as the default token
2024-04-28 17:06:06 +10:00
dff3f93297
feat: change forwarded domain for consul
...
- change forward lookup zone for consul from consul.service.consul -> service.consul
2024-04-28 15:45:13 +10:00
199e35840f
fix: fix proxyurl for vault
...
- change to http://
- change to localhost
2024-04-28 14:22:33 +10:00
43afc23535
feat: deploy consul services
...
- add vault.service.consul
2024-04-28 14:06:49 +10:00
0f0d392fb4
feat: deploy consul agent
...
- install the consul agent on all nodes, except consul servers
2024-04-28 13:23:43 +10:00
dc39b7c7a4
Merge pull request 'fix: fix proxyurl for vault' ( #188 ) from neoloc/vault_proxy into develop
...
Reviewed-on: unkinben/puppet-prod#188
2024-04-28 00:54:49 +09:30
bf44c8f7b7
feat: deploy consul agent
...
- install the consul agent on all nodes, except consul servers
2024-04-28 01:19:08 +10:00
4453c8604a
fix: fix proxyurl for vault
...
- change to http://
- change to localhost
2024-04-28 00:52:47 +10:00
6fc5829fce
feat: simple nginx proxy
...
- merge consul/vault nginx proxy into single class
- replace nginx proxy classes for consul/vault with simpleproxy class
2024-04-28 00:32:04 +10:00
3001bc32f2
feat: add sydney vault cluster
...
- separate yaml between multiple regions
- add nginx frontend to vault
2024-04-27 22:35:16 +10:00
f536d19034
feat: generate consul policy/tokens
...
- generate policy/token to add nodes
- generate policy/token for all nodes
- add base::root profile to manage aspects of the root user
2024-04-27 20:21:57 +10:00
a7e9f1590e
fix: move primary_datacenter to region/role
...
- set syd1 as primary consul datacentre
- add consul.service.consul zone
- add nginx reverse proxy for consul webui
- set dns zones/acls/views/keys to be deep merged from hiera
- update default token
- add consul/consul.service.consul/consul.main.unkin.net to vault cert
2024-04-26 23:11:38 +10:00
3ca92ee1f3
fix: consul members role key
...
- moved members_role for consul to common yaml
2024-04-25 00:00:24 +10:00
2671b51fc2
Merge pull request 'feat: add syd1 consul cluster' ( #170 ) from neoloc/syd1_consul_cluster into develop
...
Reviewed-on: unkinben/puppet-prod#170
2024-04-24 19:02:01 +09:30
89fcfe38ea
feat: add syd1 consul cluster
2024-04-24 19:31:18 +10:00
99d3dcf4d8
Merge branch 'develop' into neoloc/dns_master_multiregion
2024-04-24 18:58:41 +10:00
b8d799e8e9
feat: select nameserver in soa based on role
...
- find all dns servers in $ns_use (region/country/all),
- or use the current node as the only nameserver
2024-04-24 18:44:08 +10:00
f8fd6700da
feat: enable selecting nameserver by fact
...
- enable selecting nameservers to use by region, country or all
- set default for nameservers to be region
2024-04-24 18:40:18 +10:00
6fc0b240c1
Merge pull request 'feat: sort ntpservers, select ntp to use' ( #167 ) from neoloc/ntp_selection into develop
...
Reviewed-on: unkinben/puppet-prod#167
2024-04-23 23:29:06 +09:30
7b316c6b0b
feat: sort ntpservers, select ntp to use
...
- sort the ntpservers array so it doesnt change each run of puppet
- allow the selection of all, region or country specific ntp servers
2024-04-23 23:57:01 +10:00
dbe11323c5
feat: enable selecting nameserver by fact
...
- enable selecting nameservers to use by region, country or all
- set default for nameservers to be region
2024-04-23 22:39:33 +10:00
e5b3112189
Merge pull request 'feat: add new syd1 prod networks' ( #161 ) from neoloc/sydney_subnets into develop
...
Reviewed-on: unkinben/puppet-prod#161
2024-04-21 22:25:56 +09:30
bc4246dd05
feat: add new syd1 prod networks
2024-04-21 22:55:06 +10:00
9c6dee7609
feat: manage timezone per region
...
- add timezone module
- set per-region timezone setting
- setup hiera_classes, set to deep merge, and set to include all in base profile
2024-04-21 15:48:09 +10:00
f04c74bd4d
feat: manage proxmox nodes
...
- change /etc/hosts to meet proxmox requirements
- add proxmox node role
- add init, params, repo, install, clusterjoin classes
2024-04-21 15:08:28 +10:00
19c8749d9e
feat: split lm-sensors for debian/rhel
2024-04-14 23:17:38 +10:00
d0d67e316a
feat: prepare puppet for debian
...
- set yum::versionlock to be only for redhat family
- set puppet-agent require statement to use apt or yum
- remove requirement of downloading puppet7-release-$dist.deb
- create all paths in $base_path for vault certificate
- set correct $PATH for update-ca-certificates
- dynamically set debian release name
- split packages to install from common.yaml to os-specific
- create groups profile to manage local groups
- change sysadmin to be a member of admins group
- setup admins sudo rules
2024-04-13 22:34:28 +10:00
82f2d75888
feat: add frontends, backends, listeners
...
- add a way to define frontends, backends and listeners through hieradata
2024-04-06 20:23:37 +11:00
ed60e18062
feat: update jdk11 for puppetdb
...
- specify the java_bin
- specify the java_args
2024-04-06 20:05:23 +11:00
f79d9de495
feat: update node_lookup
...
- update node_lookup to use new puppetdb URL
2024-04-06 18:31:41 +11:00
c9a1d35af9
feat: add cnames to haproxy
...
- manage A records for haproxy
- manage cnames for services using haproxy
2024-04-06 16:26:50 +11:00
e97d061f46
feat: add puppetdbapi to haproxy
...
- add puppetdbapi backend to haproxy
- add puppetdbapi altname to the vault certificate
- add mapping for hostname to backend
2024-04-06 15:49:10 +11:00
f7881b19cf
Merge pull request 'feat: add puppetboard backend' ( #150 ) from neoloc/haproxy_puppetboard into develop
...
Reviewed-on: unkinben/puppet-prod#150
2024-04-06 02:54:26 +09:30
57b7a3036b
Merge pull request 'feat: add virtual/physical check' ( #147 ) from neoloc/sensors into develop
...
Reviewed-on: unkinben/puppet-prod#147
2024-04-06 02:53:57 +09:30
105bf1b09d
feat: add puppetboard backend
...
- add balancemember to puppetboard nodes
- add be_puppetboard to haproxxy
- add puppetboard.main.unkin.net to haproxy altnames
- add puppetboard to backend mapping
- change way backends are registered in haproxy
2024-04-06 04:20:39 +11:00
2091f1ada3
feat: add haproxy profile
...
- add haproxy server class
- add haproxy profile to role
- add hiera data for region specific haproxy
- add selinux configuration
- add certlist management
- add default http and https frontends
- add default stats listener
2024-04-06 03:27:45 +11:00
5bde96fb4d
feat: change certmanage to approles
...
- created approle 'certmanager' using 'certmanager' policy
- update certmanager script to generate token based on roleid
2024-04-04 00:32:08 +11:00
64563902d4
feat: deploy cobbler enc
...
- install python3.11 on all nodes
- create python3.11 venv for cobbler-enc
- install requirements in cobbler-enc venv
- symlink to /usr/local/bin/
2024-03-31 20:58:31 +11:00
0ad31f6013
feat: add virtual/physical check
...
- add virtual tree to hiera
- add virtual/kvm and virtual/physical hiera sources
- add lm_sensors to be installed on hardware nodes
2024-03-31 15:36:41 +11:00
d64e185919
Merge pull request 'feat: add dhcp servers' ( #145 ) from neoloc/dhcp-server into develop
...
Reviewed-on: unkinben/puppet-prod#145
2024-03-29 07:45:16 +09:30
d64860f47b
feat: add dhcp servers
...
- include puppet-dhcp module
- manage dhcp pools
- manage dhcp classes (bios/uefi)
2024-03-29 09:13:26 +11:00
159c57677a
Merge pull request 'feat: add cobbler profile' ( #144 ) from neoloc/cobbler_profile into develop
...
Reviewed-on: unkinben/puppet-prod#144
2024-03-29 07:10:33 +09:30
80b7ad8639
feat: add cobbler profile
...
- add datavol to cobbler nodes
- add cobbler profile
- add cobbler role hieradata
- manage selinux where required for cobbler
- manage service cname
2024-03-29 08:36:42 +11:00
e02921be75
feat: deep merge yum repos to manage
...
- fixed merging of yum repos
- changed puppet7 to use local copy of repo
2024-03-28 21:41:15 +11:00
0383db2b10
feat: set sysadmin password
2024-03-28 20:34:50 +11:00
748a0e8632
feat: enable sydney subnets
2024-03-28 20:08:00 +11:00
f2cdcb8c8e
feat: add sydney subnets
2024-03-21 22:02:25 +11:00
8f5e9e40a1
feat: add ovirt roles
...
- add repositories for ovirt
- add role/profile for ovirt/engine and ovirt/node
- add deep-merge for managed_repos
- change repos to allow filesource (URL or file://)
- change reposync to use curl instead of wget
2024-03-16 16:43:12 +11:00
bca5d32793
fix: updated gpg key for psql repos
2024-03-10 16:18:03 +11:00
51d0ca16ec
feat: update yumrepos to use https://
...
- require vaultca on all repos on repos.main.unkin.net
2024-03-03 16:44:16 +11:00
df97b75aca
Merge pull request 'feat: change nginx to use vault ssl certs' ( #128 ) from neoloc/packagerepo_ssl into develop
...
Reviewed-on: unkinben/puppet-prod#128
2024-03-03 13:34:04 +09:30
5afa9e8960
Merge pull request 'neoloc/pki_generate' ( #127 ) from neoloc/pki_generate into develop
...
Reviewed-on: unkinben/puppet-prod#127
2024-03-03 13:33:33 +09:30
88ba8406b8
feat: deep merge alt_names and ip_sans
...
- set hiera to deep-merge alt_names and ip_sans for generating vault
certificates
2024-03-03 15:01:14 +11:00
3e98ced8da
feat: change nginx to use vault ssl certs
...
- update packagerepo webserver class to allow using ssl
2024-03-03 14:53:36 +11:00
5b56767be7
chore: updated vault_token
2024-02-25 22:32:18 +11:00
6bcdda1a93
chore: update vault policy
...
- updated vault policy for certificates
2024-02-25 22:11:31 +11:00
8112c07ba8
fix: rebuild vault
...
- rebuilt vault, updated root token and unseak keys
2024-02-25 21:19:43 +11:00
7f03bc5c76
feat: add certmanager helper
...
- add certmanager script and config.yaml file
- install into pyenv for certmanager
- deploy to puppet-masters only
2024-02-19 21:20:50 +11:00
12ff053c6d
refacter: cleanup packages setup
2024-02-17 22:49:32 +11:00
fe05c86463
feat: add vault server profile
...
- add vault module to puppetfile
- define class to manage the install and config of vault
- manage the datavol and raft storage
- manage the unzip and other compression tools
- define custom unseal script and service
- add documentation on initial setup of vault
2024-02-17 21:12:12 +11:00
Ben Vincent
f8b30f335b
Merge pull request 'feat: add consul server profile' ( #111 ) from neoloc/consul_server into develop
...
Reviewed-on: unkinben/puppet-prod#111
2024-02-11 15:56:24 +09:30
8cb6b68b53
feat: add consul server profile
...
- install/configure consul
- install/configure dnsmasq as dns proxy for consul
- add unkin yumrepo definition as source for consul
- update datavol to ensure the /data volume is mounted
2024-02-11 17:12:35 +11:00
5471294f1e
feat: cleanup almalinux 8.8 reposync
...
- syncing almalinux 8.8 no longer required
2024-02-10 14:13:59 +11:00
d8751ac6c8
feat: add minio profile
...
- add additional modules in Puppetfile
- update puppetlabs-lvm to 2.1.0
- add facts.d base path to hieradata
- add infra/storage and infra/storage/minio role data to hieradata
- add new facts for minio setup status
- add a static yaml minio-facts file to assist dynamic ruby facts
- updated hiera with additional directories (country/{role,region})
2024-01-05 21:44:41 +11:00
Ben Vincent
2b4e1e1d03
Merge pull request 'feat: remove boolean for bind::updater' ( #99 ) from neoloc/add_bind_utils_woops into develop
...
Reviewed-on: unkinben/puppet-prod#99
2023-12-26 15:02:29 +09:30
aabce289a4
feat: remove boolean for bind::updater
...
- default to the default set by the module
2023-12-26 16:31:40 +11:00
Ben Vincent
a049338c9d
Merge pull request 'feat: install bind-utils' ( #98 ) from neoloc/add_bind_utils into develop
...
Reviewed-on: unkinben/puppet-prod#98
2023-12-26 14:58:10 +09:30
a144e4ec2d
feat: install bind-utils
2023-12-26 16:27:28 +11:00
5b75cf735a
feat: manage ruby/puppet gems
...
- manage installation of puppet_gem packages for puppetmasters
2023-12-11 22:07:23 +11:00
254c9f1358
feat: configure grafana
...
- create grafana class
- configure database with db export, and db parameters
2023-12-11 21:46:53 +11:00
d998fbd85a
Merge branch 'develop' into neoloc/mariadbgalera
2023-12-10 16:34:42 +11:00
11a98b16bb
feat: setup galera cluster member profile
...
- add eyaml support for role
- add /data volume for galera cluster members
- create profiles::selinux namespace for defining selinux configuration
- create profiles::selinux::mysqld for managing specifics for mysqld
- create profiles::selinux::setenforce to manage selinux mode
- parameterised options required in mysqld::server module
- add mariadb repo
- add additional facts for managing mysqld and galera
2023-12-10 16:31:57 +11:00
d261e3348d
Merge pull request 'feat: add/remove capabilities for packages' ( #86 ) from neoloc/base_packages_refactor into develop
...
Reviewed-on: unkinben/puppet-prod#86
2023-12-03 16:38:17 +09:30
8f04de2b52
feat: add/remove capabilities for packages
...
- add deepmerge lookup_options
- add packages to remove and packages to add to profiles::packages::base class
2023-12-03 17:24:58 +11:00
6e185ee248
Merge pull request 'feat: split agent service/package from config' ( #84 ) from neoloc/split_puppet_agent into develop
...
Reviewed-on: unkinben/puppet-prod#84
2023-12-03 15:20:51 +09:30
08c14c2329
feat: split agent service/package from config
...
- split package/service from config so puppetservers agents can be
managed in the same was as clients
2023-12-03 16:49:38 +11:00
8a6b3ef0fb
feat: add mirrorlist capability to reposyncer
...
- add mirrorlist param to reposyncer repos
- update almalinux 8.8 repos to use mirrorlist
- add almalinux 8.9 repos
2023-12-03 00:16:01 +11:00
ae05b870aa
fix: wrong scheme for gpgkey
...
- change gpg key for puppet7 from http:// to https://
2023-11-27 23:38:25 +11:00
cfec05f3c7
feat: update repositories to sync
...
- remove epel modular
- add postgresql 16 for rhel8
- add postgresql common for rhel8
2023-11-27 23:27:44 +11:00
e183ee2b44
feat: add extra repositories
...
- mariadb 11.2
- puppet el8
2023-11-27 18:57:42 +11:00
10a6085b84
fix: resolve prometheus issues
...
- broken prometheus::server config, resolve conflicts
- move hieradata for role to match role, not profile
2023-11-21 20:03:26 +11:00
663b10e5a5
Merge branch 'develop' into neoloc/prometheus
2023-11-21 19:40:17 +11:00
a5207eb717
feat: add prometheus server
...
- bump enc, include prometheus server nodes
- add prometheus role and server class
2023-11-21 19:38:22 +11:00
Ben Vincent
530ffed55a
Merge pull request 'feat: add forwarding for 17.18.198.in-addr.arpa' ( #72 ) from neoloc/reversedns_zone_forwarding into develop
...
Reviewed-on: unkinben/puppet-prod#72
2023-11-18 18:52:43 +09:30
c34a2b2360
feat: add forwarding for 17.18.198.in-addr.arpa
...
- add forward zone for 198.18.17.0/24 reverse dns zone
2023-11-18 20:21:27 +11:00
dd334da2b0
chore: reorganise reposync role
2023-11-18 20:08:16 +11:00
ab1b031275
Merge branch 'develop' into neoloc/puppet_cleanup
2023-11-18 20:03:46 +11:00
460f9bc7e8
refactor: move puppet::* roles to infra::puppet
...
- start creation on apps:: roles
- reorganise hieradata to match role changes
- remove tagging for enc repo
2023-11-18 20:00:58 +11:00
dffc97ad4c
chore: reorganise ntp server
...
- bump enc to match changes
- change ntp client to find servers through puppetdb query
- changed default ntp servers to publicly available nodes
2023-11-18 19:18:14 +11:00
92269ae94b
Merge branch 'develop' into neoloc/node_exporter
2023-11-17 23:20:02 +11:00
a21b7ffc96
feat: setup metrics agents
...
- set puppet::puppetdb_api class to export puppetdb
- set infra::dns::server class to export bind
- set all to export node and systemd metrics
2023-11-17 23:12:37 +11:00
fdb13b7338
feat: find resolvers by role
...
- use puppetdbquery module to query puppetdb for resolvers
- move dns client config to profiles::dns::base
- manage the /etc/resolv.conf file
2023-11-17 21:54:20 +11:00
c996c9b7e3
fix: enable dynamic/tsig updates
...
- add eyaml to hiera.yaml
- consolidate all paths into single tree
- change to new profiles::dns::client wrapper
- change to new profiles::dns::record wrapper
- change to use concat method to build zone file
2023-11-16 21:40:16 +11:00
d877fd00f3
chore: bump enc version
...
unkinben/puppet-enc#27
2023-11-13 22:00:19 +11:00
49f31edb03
Merge branch 'develop' into neoloc/bind_resolver
2023-11-13 21:55:21 +11:00
76b54fc59d
feat: add dns resolver/master classes
...
- define resolver and master dns server
- export A and PTR records from dns clients
- collect exported resources for master
- create hiera structure for acls, zones and views
2023-11-13 21:42:57 +11:00
cc77cc7ded
feat: change to use local mirror
...
- change almalinux and epel *.repo files on nodes to use local package mirror
- add option to purge yumrepo resources, default to true
- add versionlocking to yum, enable it for puppet-agent
2023-11-12 17:17:59 +11:00
1b78904588
fix: typo in repo url namne
...
- change repo.main.unkin.net to repos.main.unkin.net
2023-11-12 15:55:19 +11:00
fa211925e4
chore: bump enc version
...
- add new dns hosts, update dns roles
2023-11-12 14:42:38 +11:00
1999b96d24
Merge branch 'develop' into neoloc/reorganise_hiera
...
- added the additional powertools repo
2023-11-12 14:03:00 +11:00
0071f74e60
chore: reorganise hieradata
...
- move role specific hieradata into respective roles/* paths
2023-11-12 13:57:39 +11:00
02976779c3
Merge pull request 'feat: add powertools repo to reposync' ( #54 ) from neoloc/powertools_repo into develop
...
Reviewed-on: unkinben/puppet-prod#54
2023-11-11 22:48:57 +09:30
2efde81fff
feat: add powertools repo to reposync
...
- add http://mirror.aarnet.edu.au/pub/almalinux/8.8/PowerTools/x86_64/os/ to
be synced and mirrored by reposync tools
2023-11-12 00:17:28 +11:00
c3b8044e1c
Merge pull request 'chore: bump puppet-enc' ( #52 ) from neoloc/bump_enc_ntpservers into develop
...
Reviewed-on: unkinben/puppet-prod#52
2023-11-10 22:53:03 +09:30
aef3311fce
chore: bump puppet-enc
...
- includes ntpservers in ntpserver role
- unkinben/puppet-enc#25
2023-11-11 00:21:56 +11:00
9cb730d116
feat: add ntp server/client
...
- add ntp client and server class
- add ntp server role
- update hiera.yaml to work with enc_role
- cleanup base profile
2023-11-10 23:59:10 +11:00
a913e44176
Merge branch 'develop' into neoloc/packagerepo
2023-11-09 22:09:24 +11:00
19836e2069
feat: adding reposync wrapper and tooling
...
- add autosyncer/autopromoter scripts
- add timer and service to initial sync process
- add timer/service for daily/weekly/monthly autopromote
- add define to manage each repo
- add nginx webserver to share repos
- add favion.ico if enabled
- add selinux management, and packages for selinux
- cleanup package management, sorting package groups into package classes
2023-11-08 23:16:56 +11:00
058cc25008
feat: add bash completion
...
- quality of life addition to all hosts
2023-11-08 22:03:21 +11:00
36142a3565
fix: bump enc
...
unkinben/puppet-enc#24
2023-11-05 17:54:36 +11:00
1d1541419a
feat: adding base packagerepo role
...
- create roles::infra::packagerepo
- bump enc version
2023-11-05 17:45:13 +11:00
56518f1fcb
feat: change enc repo to be tagged
...
- enc repository will download a specific tag
- defaults to master
- hiera set to release tag '0.1'
2023-11-04 20:36:08 +11:00
a89a68bc61
fix: debian puppet_version different to EL
...
- change puppet_version to be set per-os in hieradata
2023-11-02 22:14:38 +11:00
75a66a3339
fix: digitalpacific epel repodata broken
...
- change epel to read from aarnet
2023-11-02 22:08:00 +11:00
Ben Vincent
89653912cb
Merge pull request 'feat: manage puppet clients' ( #35 ) from neoloc/puppetclient into develop
...
Reviewed-on: unkinben/puppet-prod#35
2023-10-29 18:59:52 +09:30
130669a130
feat: manage puppet clients
...
- manage the service
- manage the package, version lock it
- deploy the /etc/puppetlabs/puppet/puppet.conf from template for puppet
clients only
2023-10-29 20:26:39 +11:00
46c3eb9597
feat: add puppetboard role
...
- add nginx module to manage reverse proxy on host level
- add puppetboard venv
- add gunicorn instance
- add script to start the gunicorn instance
- add nginx vhost
2023-10-29 19:33:11 +11:00
ef0d865845
Merge pull request 'feat: split puppetdb role into api and sql' ( #32 ) from neoloc/puppetdb2 into develop
...
Reviewed-on: unkinben/puppet-prod#32
2023-10-22 20:30:43 +09:30
e682462917
feat: split puppetdb role into api and sql
...
- add puppetdb_api and puppetdb_sql role
- add puppetdb_api and puppetdb_sql profile
- add prodinf01n05 to /etc/hosts file
- set listen_address for all services to be hosts ip
- set storeconfigs and storeconfigs_backend to be managed by puppetmaster profile
2023-10-22 21:55:50 +11:00
6bb52f2a15
feat: add firewalld management profile
...
- basic profile to enable/disable, and install/remove
- defaulting to enabled and installed, but set to disabled and removed
in hiera
2023-10-22 19:54:10 +11:00
95434214a9
feat: add management of /etc/hosts
...
- add class to manage the /etc/hosts file
- add static hosts to /etc/hosts file via hiera array/hash
2023-10-22 00:34:22 +11:00
e847954e03
Merge branch 'develop' into neoloc/puppet_wrapper
2023-10-22 00:00:52 +11:00
ac27a9ce0b
Merge branch 'develop' into neoloc/puppetdb
2023-10-21 23:30:40 +11:00
080cdd8884
Setup PuppetDB/Puppetboard
...
- install modules required
- puppetdb
- postgresql
- puppetboard
- python
- create new profiles to manage each item (puppetdb/puppetboard)
- added puppetdb role
- include the puppetdb::master::config in puppetmaster role
- re-organised the puppetfile
- moved python to be managed by the python module
- added postgresql to list of managed repos
2023-10-21 23:11:40 +11:00
2b11a9417c
Account/Sudo management
...
- imported account and sudo puppet modules
- created account management wrapper
- defined sysadmin account, set to be created on all nodes
- removed sudo from base packages as its managed by sudo module now
2023-08-29 23:25:10 +10:00
116342bdaa
Added class to manage a default set of scripts
...
- included scripts into profiles::base
- updated hiera with list of scripts to create and their template name
- created template for a puppet wrapper
2023-08-26 16:11:53 +10:00
efc769191e
Adding a default environment
...
- set through puppet.conf
- created symbolic link from develop -> production in code/environments
- changed puppet-g10k script to be generated from a template
- parameterised g10k into hieradata
2023-08-26 15:36:35 +10:00
c96676e143
Updated autosign
...
- added way to manage individual nodes
- added defaults for domains, subnets and nodes
- updated comments and doc
2023-08-26 01:00:31 +10:00
5b4a17b77a
Changed to a simple autosign method
2023-08-26 00:49:21 +10:00
d48283734c
Added a new profile to manage common packages
...
* will by default pull data from hiera
* could change it on a per-distro/role basis
* requires stdlib for ensure_packages
2023-07-02 14:55:02 +10:00
87f174df33
Added Debian components
...
* added debian components for Debian12 and Debian11
* added apt module to puppetfile
* removed /etc/apt/sources.list management, done by apt module
* added profiles::apt::puppet7
2023-07-01 22:38:25 +10:00
b12e3471f3
Merge branch 'develop' into feature/apt_repository
2023-06-27 20:10:44 +09:30
5d758da66e
Added r10k repo management
...
* added profile to download puppet-r10k, add a script to pull changes,
and scheduled it to happen automatically with systemd timer/service
* added to the puppetmaster profile
* updated hieradata
2023-06-26 19:42:15 +10:00
4e30d9b6d9
Added boilerplate for debian host management
...
* added apt repo management
* added switcher based on OS to base.pp
2023-06-26 19:20:05 +10:00
87c38eadf2
Renamed role/profile directories
...
* renamed role to roles
* renamed profile to profiles
* cleaned up all profiles/roles/hieradata to match new paths
2023-06-25 13:24:07 +10:00
93c4689d8d
Setup puppet7 repo for el distros
...
* create that puppet7.repo file
* install the puppet-release rpm
2023-06-24 22:33:47 +10:00
87d9d920e8
Added classes to manage repositories for yum
...
* manage all base repositories
* manage epel if required
* cleanup /etc/yum.repos.d directory
2023-06-24 21:58:00 +10:00
c6d62a710c
Added puppet-enc setup
...
* systemd timer/service to update repo every minute
* added puppetlabs/vcsrepo module
* install git if its not already installed
* added to profile::puppet::puppetmaster
* updated pre-commit to allow long yaml lines
2023-06-21 22:03:43 +10:00
9536be5864
Inital commit for profile::puppet::*
...
* profile::pupper::server
* profile::puppet::puppetmaster
* profile::puppet::g10k
* profile::puppet::autosign
* updated Puppetfile
* updated role::puppet::puppetmaster
* added profile::puppet::puppetmaster to puppetmaster role
* added profile::puppet::server templates
2023-06-21 21:17:07 +10:00
725fef7d01
Updated ntp to chrony
...
* updated Puppetfile
* updated profiles::base to use chrony, and added class parameters
2023-06-18 17:16:48 +10:00
a4f3859acc
Removed classes from common.yaml
2023-06-18 15:59:21 +10:00
172b9d2d1f
Initial commit
2023-05-15 22:27:27 +10:00