pellepelster / terraform-hcloud-solidblocks-rds-postgresql

A containerized PostgreSQL database with all batteries included backup solution powered by pgBackRest

Home Page:https://pellepelster.github.io/solidblocks/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RDS PostgreSQL

See documentation for more details and usage examples.

Requirements

Name Version
hcloud >= 1.38.2
http >= 3.3.0

Providers

Name Version
hcloud >= 1.38.2
http >= 3.3.0

Resources

Name Type
hcloud_server.rds resource
hcloud_volume_attachment.backup resource
hcloud_volume_attachment.data resource
hcloud_volume.backup data source
hcloud_volume.data data source
http_http.cloud_init_bootstrap_solidblocks data source

Inputs

Name Description Type Default Required
backup_encryption_passphrase If set the backups will be encrypted using this passphrase string null no
backup_full_calendar systemd timer spec for full backups string "*-*-* 20:00:00" no
backup_incr_calendar systemd timer spec for incremental backups string "*-*-* *:00:55" no
backup_s3_access_key AWS access key for S3 backups. To enable S3 backups backup_s3_bucket, backup_s3_access_key and backup_s3_secret_key have to be provided. string null no
backup_s3_bucket AWS bucket name for S3 backups. To enable S3 backups backup_s3_bucket, backup_s3_access_key and backup_s3_secret_key have to be provided. string null no
backup_s3_secret_key AWS secret key for S3 backups. To enable S3 backups backup_s3_bucket backup_s3_access_key and backup_s3_secret_key have to be provided. string null no
backup_volume backup volume id string 0 no
data_volume data volume id number n/a yes
databases A list of databases to create when the instance is initialized, for example: { id : "database1", user : "user1", password : "password1" }. Changing user and password is supported at any time, the provided config is translated into an config for the Solidblocks RDS PostgreSQL module (https://pellepelster.github.io/solidblocks/rds/index.html), please see https://pellepelster.github.io/solidblocks/rds/index.html#databases for more details of the database configuration. list(object({ id : string, user : string, password : string })) n/a yes
extra_user_data deprecated, please use pre_script/post_script string "" no
labels A list of labels to be attached to the server instance. map(any) {} no
location hetzner location to use for provisioned resources string n/a yes
mode startup mode for the database, can be empty to start the database or 'maintenance' to enable the maintenance mode of the underlying docker container to debug issues see also https://pellepelster.github.io/solidblocks//rds/#maintenance string null no
name Unique name for the PostgreSQL instance string n/a yes
network_id network the created sever should be attached to, network_ip also needs to bet set in that case number null no
network_ip ip address in the attached network string null no
post_script shell script that will be executed after the server configuration is executed string "" no
postgres_major_version PostgreSQL major version to use. Upgrading the version will trigger auto migration based on the underlying RDS PostgreSQL docker image, see also https://pellepelster.github.io/solidblocks/rds/index.html#versions. Please be aware that depending on the amount of data to migrate the migration may Terraforms timeouts, see https://pellepelster.github.io/solidblocks/hetzner/rds-postgresql/index.html#operations for debugging options. number 14 no
pre_script shell script that will be executed before the server configuration is executed string "" no
public_net_ipv4_enabled enable/disable public ip addresses, see also https://registry.terraform.io/providers/hetznercloud/hcloud/latest/docs/resources/server#public_net bool true no
public_net_ipv6_enabled enable/disable public ip addresses, see also https://registry.terraform.io/providers/hetznercloud/hcloud/latest/docs/resources/server#public_net bool true no
server_type hetzner cloud server type, supports x86 and ARM architectures string "cx11" no
solidblocks_base_url override base url for testing purposes string "https://github.com" no
solidblocks_cloud_init_version used for integration tests to inject test versions string "v0.1.17" no
solidblocks_rds_version used for integration tests to inject test versions string "v0.1.17" no
ssh_keys ssh keys to privision for instance access list(number) n/a yes
ssl_dns_provider provider type to use for LetsEncrypt DNS challenge, see https://go-acme.github.io/lego/dns/ for available options string "" no
ssl_dns_provider_config environment configuration variable(s) to use for DNS provider selected via ssl_dns_provider, see documentation of selected provider for required configuration variables map(string) {} no
ssl_domains domains to use for generated certificates list(string) [] no
ssl_email email address to use for LetsEncrypt account creation string "" no
ssl_enable enable automatic ssl certificate creation using LetsEncrypt bool false no

Outputs

Name Description
ipv4_address IpV4 address of the created server if applicable
ipv4_address_private private IpV4 address of the created server if applicable
this_server_id Hetzner ID of the created server
user_data n/a

About

A containerized PostgreSQL database with all batteries included backup solution powered by pgBackRest

https://pellepelster.github.io/solidblocks/


Languages

Language:HCL 65.0%Language:Shell 35.0%