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})
This commit is contained in:
2023-12-24 13:54:40 +11:00
parent f260b09d49
commit d8751ac6c8
15 changed files with 449 additions and 7 deletions
@@ -0,0 +1,38 @@
[Unit]
Description=Minio
Documentation=https://docs.minio.io
Wants=network-online.target
After=network-online.target
After=syslog.target network.target
AssertFileIsExecutable=<%= @installation_directory %>/minio
[Service]
WorkingDirectory=<%= @installation_directory %>
User=<%= @owner %>
Group=<%= @group %>
PermissionsStartOnly=true
EnvironmentFile=<%= @configuration_file_path %>
ExecStart=<%= @installation_directory %>/minio server $MINIO_OPTS --address <%= @listen_ip %>:<%= @listen_port %> $MINIO_DEPLOYMENT_DEFINITION
StandardOutput=journal
StandardError=inherit
# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=65536
# Disable timeout logic and wait until process is stopped
TimeoutStopSec=0
# SIGTERM signal is used to stop Minio
KillSignal=SIGTERM
SendSIGKILL=no
SuccessExitStatus=0
[Install]
WantedBy=multi-user.target
@@ -0,0 +1,17 @@
# minio_facts.yaml
minio_user: '<%= @owner %>'
minio_group: '<%= @group %>'
minio_pool: '<%= @minio_pool %>'
minio_datadir: '<%= @datadir %>'
minio_confdir: '<%= @confdir %>'
minio_homedir: '<%= @homedir %>'
minio_bindir: '<%= @bindir %>'
minio_region: '<%= @minio_region %>'
minio_members: <%= @minio_members %>
minio_blockdev_count: <%= @blockdev_count %>
<% unless @blockdev.empty? -%>
minio_blockdevs:
<% @blockdev.each do |device| -%>
- '<%= device %>'
<% end -%>
<% end -%>