This repository has been archived by the owner on Jan 30, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 41
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Configure collections_publisher_db_admin machine class
This creates a dedicated database admin machine for Collections Publisher, following the Account API convention devised in #11342. This is in order to facilitate the implementation of [RFC-143][], which concludes that every GOV.UK relational database should have its own RDS instance. Trello: https://trello.com/c/HjK4AbUS/49-configure-puppet-for-new-db-admin-mysql-instances [RFC-143]: https://github.com/alphagov/govuk-rfcs/blob/main/rfc-143-split-database-instances.md
- Loading branch information
1 parent
23a78db
commit eb9542b
Showing
6 changed files
with
112 additions
and
0 deletions.
There are no files selected for viewing
25 changes: 25 additions & 0 deletions
25
hieradata_aws/class/integration/collections_publisher_db_admin.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
govuk_env_sync::tasks: | ||
"pull_collections_publisher_production_daily": | ||
ensure: "present" | ||
hour: "0" | ||
minute: "0" | ||
action: "pull" | ||
dbms: "mysql" | ||
storagebackend: "s3" | ||
database: "collections_publisher_production" | ||
database_hostname: "collections-publisher-mysql" | ||
temppath: "/tmp/collections_publisher_production" | ||
url: "govuk-production-database-backups" | ||
path: "collections-publisher-mysql" | ||
# "push_collections_publisher_production_daily": | ||
# ensure: "present" | ||
# hour: "5" | ||
# minute: "0" | ||
# action: "push" | ||
# dbms: "mysql" | ||
# storagebackend: "s3" | ||
# database: "collections_publisher_production" | ||
# database_hostname: "collections-publisher-mysql" | ||
# temppath: "/tmp/collections_publisher_production" | ||
# url: "govuk-integration-database-backups" | ||
# path: "collections-publisher-mysql" |
13 changes: 13 additions & 0 deletions
13
hieradata_aws/class/production/collections_publisher_db_admin.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
# govuk_env_sync::tasks: | ||
# "push_collections_publisher_production_daily": | ||
# ensure: "present" | ||
# hour: "23" | ||
# minute: "0" | ||
# action: "push" | ||
# dbms: "mysql" | ||
# storagebackend: "s3" | ||
# database: "collections_publisher_production" | ||
# database_hostname: "collections-publisher-mysql" | ||
# temppath: "/tmp/collections_publisher_production" | ||
# url: "govuk-production-database-backups" | ||
# path: "collections-publisher-mysql" |
25 changes: 25 additions & 0 deletions
25
hieradata_aws/class/staging/collections_publisher_db_admin.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
govuk_env_sync::tasks: | ||
"pull_collections_publisher_production_daily": | ||
ensure: "present" | ||
hour: "0" | ||
minute: "0" | ||
action: "pull" | ||
dbms: "mysql" | ||
storagebackend: "s3" | ||
database: "collections_publisher_production" | ||
database_hostname: "collections-publisher-mysql" | ||
temppath: "/tmp/collections_publisher_production" | ||
url: "govuk-production-database-backups" | ||
path: "collections-publisher-mysql" | ||
# "push_collections_publisher_production_daily": | ||
# ensure: "present" | ||
# hour: "5" | ||
# minute: "0" | ||
# action: "push" | ||
# dbms: "mysql" | ||
# storagebackend: "s3" | ||
# database: "collections_publisher_production" | ||
# database_hostname: "collections-publisher-mysql" | ||
# temppath: "/tmp/collections_publisher_production" | ||
# url: "govuk-staging-database-backups" | ||
# path: "collections-publisher-mysql" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
45 changes: 45 additions & 0 deletions
45
modules/govuk/manifests/node/s_collections_publisher_db_admin.pp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
# == Class: govuk_node::s_collections_db_admin | ||
# | ||
# This machine class is used to administer the Collections Publisher | ||
# MySQL RDS instances. | ||
# | ||
# === Parameters | ||
# | ||
# [*mysql_db_host*] | ||
# The database hostname | ||
# | ||
# [*mysql_db_password*] | ||
# The database password | ||
# | ||
# [*mysql_db_user*] | ||
# The database user to connect to the remote database as | ||
# | ||
# [*apt_mirror_hostname*] | ||
# The hostname for the apt mirror to add to enable fetching specific | ||
# packages | ||
# | ||
# [*apt_mirror_gpg_key_fingerprint*] | ||
# The fingerprint of the local aptly mirror. | ||
# | ||
class govuk::node::s_collections_publisher_db_admin( | ||
$mysql_db_host = undef, | ||
$mysql_db_password = undef, | ||
$mysql_db_user = undef, | ||
$mysql_backup_hour = 9, | ||
$mysql_backup_min = 10, | ||
$apt_mirror_hostname, | ||
$apt_mirror_gpg_key_fingerprint, | ||
) { | ||
include ::govuk::node::s_base | ||
include govuk_env_sync | ||
|
||
file { '/root/.my.cnf': | ||
ensure => 'present', | ||
owner => 'root', | ||
group => 'root', | ||
content => template('govuk/node/s_db_admin/.my.cnf.erb'), | ||
} | ||
|
||
# include all MySQL classes that create databases and users | ||
-> class { '::govuk::apps::collections_publisher::db': } | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters