Commit Graph

43 Commits

Author SHA1 Message Date
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
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
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
ed60e18062 feat: update jdk11 for puppetdb
- specify the java_bin
- specify the java_args
2024-04-06 20:05:23 +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
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
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
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
09291da89f fix: use fact to determine if selinux in use 2024-02-11 21:05:48 +11:00
b6c7e3fd2d Merge pull request 'feat: add selinux support to puppetboard' (#92) from neoloc/nginx_selinux into develop
Reviewed-on: unkinben/puppet-prod#92
2023-12-11 20:46:30 +09:30
bf729d9b11 feat: add selinux support to puppetboard
- required to allow nginx to reach puppetdb
2023-12-11 22:14:45 +11:00
5b75cf735a feat: manage ruby/puppet gems
- manage installation of puppet_gem packages for puppetmasters
2023-12-11 22:07:23 +11:00
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
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
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
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
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
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
Ben Vincent
cf26d2d2e7 Merge pull request 'feat: add puppetboard role' (#34) from neoloc/puppetboard into develop
Reviewed-on: unkinben/puppet-prod#34
2023-10-29 18:06:27 +09:30
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
0171a82d58 feat: add features to puppet.conf
- reports, for sending reports to puppetdb
- usecacheonfailure, to show faulures in puppetboard (when set to false)
2023-10-23 22:37:41 +11:00
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
f772215630 fix: found typo in r10k script 2023-10-22 01:30:57 +11:00
c6c36e8351 fix: set the puppetdb_host correctly
- change the puppetdb::master::config from include to class statement
- set the puppetdb_host value to match what is stored in hiera
- disable firewall management on the puppetdb host
2023-10-22 00:40:12 +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
d2fb3cff27 Merge branch 'develop' into feature/default_environment 2023-08-26 19:50:54 +10:00
afb30f9dce Updated dns_alt_names for puppetmaster 2023-08-26 19:45:43 +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
754241bcf2 Added class to manage installing the git client 2023-06-26 20:06:15 +10:00
45a9639346 Changed r10k to update every 5 minutes 2023-06-26 20:02:08 +10:00
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
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
7a789ceaee 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 14:36:23 +10:00
1b7e807c0e 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:06:36 +10:00