Commit Graph

31 Commits

Author SHA1 Message Date
ed60e18062 feat: update jdk11 for puppetdb
- specify the java_bin
- specify the java_args
2024-04-06 20:05:23 +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
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
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
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
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
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
Ben Vincent
7aae7e22a3 Merge pull request 'feat: add galera role' (#76) from neoloc/mariadb into develop
Reviewed-on: unkinben/puppet-prod#76
2023-11-21 19:31:05 +09:30
a0d1623286 feat: add galera role
- add a base galera cluster member role
- include mysql and galera modules
2023-11-21 21:00:12 +11:00
609f9135df feat: add base grafana role
- include puppet-grafana module
- infra::metrics::grafana role is currently clone of base
2023-11-21 20:13: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
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
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
6bbc14136f Merge branch 'develop' into neoloc/datavol 2023-11-05 17:40:19 +11:00
def2561e6c feat: add datavol class to manage /data
- included puppetlabs-lvm module
  - created profiles::base::datavol to:
    - create pv, vg, lv and format the filesystem and mount it
2023-11-05 17:37:10 +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
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
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
f1f39ef4e3 Changed to vox systemd module
* updated Puppetfile
  * updated puppet-enc timer/service
  * updated puppet-g10k timer/service
2023-06-25 14:46:09 +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
ce20bf5914 Cleanup code
* puppetfile - remove :latest from each module
  * environment.conf - set the correct modules path
  * site.pp - comment out hiera lookup
2023-06-18 16:57:17 +10:00
1a8648021e Updated modules to use :latest 2023-06-18 16:03:52 +10:00
d4ec7e5041 Added puppetmaster role 2023-06-18 00:10:03 +10:00
172b9d2d1f Initial commit 2023-05-15 22:27:27 +10:00