Commit Graph

191 Commits

Author SHA1 Message Date
8de1ed9766 feat: dhcp wait for enc_role fact 2024-05-06 22:07:39 +10:00
14a56a41a2 Merge branch 'develop' into neoloc/consul_wan
Conflicts:
	hieradata/common.yaml
2024-05-05 18:01:41 +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
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
052b07be83 chore: remove excessive comments
- remove the excessive comments and notes at the top of the puppet classes
2024-05-03 20:48:20 +10:00
a429255c63 feat: puppet server agent
- add [agent] settings for puppetservers
2024-05-03 20:46:01 +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
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
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
0f0d392fb4 feat: deploy consul agent
- install the consul agent on all nodes, except consul servers
2024-04-28 13:23:43 +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
98deb58fde Merge pull request 'fix: enable new consul clusters to be started' (#173) from neoloc/consul_bootstrap into develop
Reviewed-on: unkinben/puppet-prod#173
2024-04-24 23:23:08 +09:30
b6d3fc26de fix: enable new consul clusters to be started
- wait for the enc_role fact to be correct, as this is required to find
  all keys in hiera
2024-04-24 23:51:26 +10:00
6ad01abc6c Merge pull request 'fix: absent to file, for custom_facts.yaml' (#172) from neoloc/enc_role_facts2 into develop
Reviewed-on: unkinben/puppet-prod#172
2024-04-24 23:05:05 +09:30
5f6ba93393 fix: absent to file, for custom_facts.yaml 2024-04-24 23:34:21 +10:00
3ed433fb97 Merge pull request 'feat: moved enc_role and enc_env to ruby facts' (#171) from neoloc/enc_role_facts into develop
Reviewed-on: unkinben/puppet-prod#171
2024-04-24 23:01:57 +09:30
e0dbecbfa0 feat: moved enc_role and enc_env to ruby facts 2024-04-24 23:30:27 +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
2bae42fa31 Merge pull request 'feat: install ksm for proxmox' (#168) from neoloc/proxmox_ksm into develop
Reviewed-on: unkinben/puppet-prod#168
2024-04-24 17:46:37 +09:30
3810385fcd feat: install ksm for proxmox 2024-04-24 18:13:56 +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
4b2690a678 Merge pull request 'feat: enable selecting nameserver by fact' (#166) from neoloc/dns_selection into develop
Reviewed-on: unkinben/puppet-prod#166
2024-04-23 22:14:59 +09:30
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
a7b40daee0 Merge pull request 'feat: sort nameserver/search_domains' (#165) from neoloc/dns_sorting into develop
Reviewed-on: unkinben/puppet-prod#165
2024-04-23 20:44:59 +09:30
bb8bf202ac feat: sort nameserver/search_domains
- ensure the list doesnt change every puppet run
2024-04-23 21:11:56 +10:00
df56213b18 fix: enable repos before installing packages 2024-04-22 19:07:28 +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
ccf43f3bcb Merge pull request 'feat: manage proxmox nodes' (#159) from neoloc/proxmox into develop
Reviewed-on: unkinben/puppet-prod#159
2024-04-21 15:07:43 +09:30
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
085416fea9 Merge pull request 'feat: node_lookup compatability for Debian' (#158) from neoloc/node_lookup_debian into develop
Reviewed-on: unkinben/puppet-prod#158
2024-04-20 17:39:31 +09:30
80a4cb0544 feat: debian vaultcert compatability
- remove comma from certificate file
- add comments identifying each certificate
2024-04-20 18:08:16 +10:00
49b4a65302 feat: node_lookup compatability for Debian 2024-04-20 18:04:54 +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
114d3fe195 feat: nginx reverse proxy debian cache
- add debian, debian/pool locations to reposyncer
- add selinux fcontext rules
2024-04-13 20:52:27 +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