Commit Graph

73 Commits

Author SHA1 Message Date
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
14a56a41a2 Merge branch 'develop' into neoloc/consul_wan
Conflicts:
	hieradata/common.yaml
2024-05-05 18:01:41 +10:00
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
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
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
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
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
bf44c8f7b7 feat: deploy consul agent
- install the consul agent on all nodes, except consul servers
2024-04-28 01:19:08 +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
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
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
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
f79d9de495 feat: update node_lookup
- update node_lookup to use new puppetdb URL
2024-04-06 18:31:41 +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
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
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
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
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
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
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
aabce289a4 feat: remove boolean for bind::updater
- default to the default set by the module
2023-12-26 16:31:40 +11:00
a144e4ec2d feat: install bind-utils 2023-12-26 16:27:28 +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
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
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
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
0071f74e60 chore: reorganise hieradata
- move role specific hieradata into respective roles/* paths
2023-11-12 13:57:39 +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