Commit Graph

44 Commits

Author SHA1 Message Date
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
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
0cc0bacad3 feat: add motd and facts
- use parameters created by the enc to create external facts
- use external facts to generate the motd
- use features from unkinben/puppet-enc#22
2023-11-04 20:11:20 +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
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
f772215630 fix: found typo in r10k script 2023-10-22 01:30:57 +11:00
2faed5de72 Merge pull request 'fix: set the puppetdb_host correctly' (#29) from neoloc/puppetdb_server_loc into develop
Reviewed-on: unkinben/puppet-prod#29
2023-10-21 23:17:00 +09:30
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
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
86a6c1bd96 feat: add sudo secure_path
- update the sudo class from an include to a definition
- set the secure_path variable to include /usr/local/{bin,sbin}
2023-10-21 23:52:48 +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
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
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
8fb922d5fb Merge pull request 'Added a new profile to manage common packages' (#7) from feature/base_packages into develop
Reviewed-on: unkinben/puppet-prod#7
2023-07-02 14:30:53 +09:30
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
8663d446d3 Merge pull request 'Added default resource settings' (#6) from fix/global_exec_path into develop
Reviewed-on: unkinben/puppet-prod#6
2023-07-02 13:53:49 +09:30
d7a7198497 Added default resource settings
* added profiles::default class in defaults.pp file
  * imported into all roles
  * cleaned up some duplicated code
2023-07-02 14:21:09 +10:00
e519b2aeff Changed source for package to be url
* this removes the need to manually download/store the file, then
    pass it to the dpkg package manager
2023-07-02 14:13:50 +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
46a95d756a Merge pull request 'Added a base role' (#3) from feature/base_role into develop
Reviewed-on: unkinben/puppet-prod#3
2023-06-27 20:13:27 +09:30
b12e3471f3 Merge branch 'develop' into feature/apt_repository 2023-06-27 20:10:44 +09:30
c00821763e Added a base role
* base role imports the base profile
  * updated profiles::base to work with debian family
2023-06-27 20:37:06 +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
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
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
5ee4891157 Add a switch to check for os family
This is so I can include either apt or yum/dnf based profiles. This can
be expanded easily if new families are added, or if new base role
includes are added that are different based on the family of the os.
2023-06-25 14:36:23 +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