bitovi/Deploy Amazon Aurora DB cluster (Postgres/MySQL)
Deploys an AWS Aurora cluster database (Postgres/MySQL)
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stalelast commit Jan 27, 2025
- License
- MIT
Pinned Snippet
uses: bitovi/github-actions-deploy-aurora@392cfc5a345cf67ecc2aff99d2675f28423c71e2 # v0.1.2tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| bitops_code_only | Will run only the generation phase of BitOps, where the Terraform and Ansible code is built. | no | — |
| bitops_code_store | Store BitOps code as a GitHub artifact | no | false |
| aws_access_key_id | AWS access key ID | yes | — |
| aws_secret_access_key | AWS secret access key | yes | — |
| aws_session_token | AWS session token | no | — |
| aws_default_region | AWS default region | no | us-east-1 |
| aws_resource_identifier | Set to override the AWS resource identifier for the deployment. Defaults to `${org}-{repo}-{branch}`. Use with destroy to destroy specific resources. | no | — |
| aws_additional_tags | A JSON object of additional tags that will be included on created resources. Example: `{"key1": "value1", "key2": "value2"}` | no | — |
| tf_stack_destroy | Set to "true" to Destroy the stack through Terraform. | no | — |
| tf_state_file_name | Change this to be anything you want to. Carefull to be consistent here. A missing file could trigger recreation, or stepping over destruction of non-defined objects. | no | — |
| tf_state_file_name_append | Append a string to the tf-state-file. Setting this to `unique` will generate `tf-state-aws-unique`. Can co-exist with the tf_state_file_name variable. | no | — |
| tf_state_bucket | AWS S3 bucket to use for Terraform state. Defaults to `${org}-${repo}-{branch}-tf-state` | no | — |
| tf_state_bucket_destroy | Force purge and deletion of S3 bucket defined. Any file contained there will be destroyed. `tf_stack_destroy` must also be `true` | no | — |
| aws_aurora_enable | Toggles deployment of an Aurora database. Defaults to true. | no | true |
| aws_aurora_proxy | Aurora DB Proxy Toggle. Defaults to false. | no | — |
| aws_aurora_cluster_name | The name of the cluster. Will be created if it does not exist. Defaults to aws_resource_identifier if none set. | no | — |
| aws_aurora_engine | The database engine to use. Defaults to aurora-postgresql. | no | — |
| aws_aurora_engine_version | The DB version of the engine to use. | no | — |
| aws_aurora_engine_mode | Database engine mode. Could be global, multimaster, parallelquey, provisioned, serverless. | no | — |
| aws_aurora_availability_zones | List of availability zones for the DB cluster storage where DB cluster instances can be created. | no | — |
| aws_aurora_cluster_apply_immediately | Apply changes immediately to the cluster. If not, will be done in next maintenance window.. Default false | no | — |
| aws_aurora_allocated_storage | Amount of storage in gigabytes. Required for multi-az cluster. | no | — |
| aws_aurora_storage_encrypted | Toggles whether the DB cluster is encrypted. Defaults to true. | no | — |
| aws_aurora_kms_key_id | KMS Key ID to use with the cluster encrypted storage. | no | — |
| aws_aurora_storage_type | Define type of storage to use. Required for multi-az cluster. | no | — |
| aws_aurora_storage_iops | iops for storage. Required for multi-az cluster. | no | — |
| aws_aurora_database_name | The name of the database. will be created if it does not exist. Defaults to aurora | no | — |
| aws_aurora_master_username | Master username. Defaults to aurora | no | — |
| aws_aurora_database_group_family | The family of the DB parameter group. See https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraMySQL.Reference.html https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/AuroraPostgreSQL.Reference.html. Defaults set for Postges and MySQL. | no | — |
| aws_aurora_iam_auth_enabled | Toggles IAM Authentication. Defaults to false. | no | — |
| aws_aurora_iam_roles | Define the ARN list of allowed roles. | no | — |
| aws_aurora_cluster_db_instance_class | To create a Multi-AZ RDS cluster, you must additionally specify the engine, storage_type, allocated_storage, iops and aws_aurora_db_cluster_instance_class attributes. | no | — |
| aws_aurora_security_group_name | Name of the security group to use for postgres. Defaults to SG for ${var.aws_resource_identifier} - Aurora | no | — |
| aws_aurora_ingress_allow_all | Allow access from 0.0.0.0/0 in the same VPC. Defaults to true | no | — |
| aws_aurora_allowed_security_groups | Extra names of the security groups to access Aurora. | no | — |
| aws_aurora_subnets | The list of subnet ids to use for postgres. | no | — |
| aws_aurora_database_port | Database port. Defaults to 5432 | no | — |
| aws_aurora_db_publicly_accessible | Make database publicly accessible. Defaults to false. | no | — |
| aws_aurora_cloudwatch_enable | Toggles cloudwatch. Defaults to true | no | — |
| aws_aurora_cloudwatch_log_type | Comma separated list of log types to include in cloudwatch. If none defined, will use [postgresql] or [audit,error,general,slowquery]. Based on the db engine. | no | — |
| aws_aurora_cloudwatch_retention_days | Days to store cloudwatch logs. Defaults to 7. | no | — |
| aws_aurora_backtrack_window | Target backtrack window, in seconds. Only available for aurora and aurora-mysql engines currently. 0 to disable. Defaults to 0 | no | — |
| aws_aurora_backup_retention_period | Days to retain backups for. Defaults to 5. | no | — |
| aws_aurora_backup_window | Daily time range during which the backups happen. | no | — |
| aws_aurora_maintenance_window | Maintenance window. | no | — |
| aws_aurora_database_final_snapshot | Set the name to Generate a snapshot of the database before deletion. | no | — |
| aws_aurora_deletion_protection | Protects the database from deletion. Defaults to false. This wont prevent Terraform from destroying it. | no | — |
| aws_aurora_delete_auto_backups | Specifies whether to remove automated backups immediately after the DB cluster is deleted. Default is true. | no | — |
| aws_aurora_restore_snapshot_id | Restore an initial snapshot of the DB if specified. | no | — |
| aws_aurora_restore_to_point_in_time | Restore database to a point in time. Will require a map of strings. Like {"restore_to_time"="W","restore_type"="X","source_cluster_identifier"="Y", "use_latest_restorable_time"="Z"}. Default {} | no | — |
| aws_aurora_snapshot_name | Takes a snapshot of the DB. | no | — |
| aws_aurora_snapshot_overwrite | Overwrites snapshot if same name is set. Defaults to false. | no | — |
| aws_aurora_db_instances_count | Amount of instances to create. Defaults to 1. | no | — |
| aws_aurora_db_instance_class | Database instance size. Defaults to db.r6g.large. | no | — |
| aws_aurora_db_apply_immediately | Specifies whether any modifications are applied immediately, or during the next maintenance window. Defaults to false. | no | — |
| aws_aurora_db_ca_cert_identifier | Certificate to use with the database. Defaults to rds-ca-ecc384-g1. | no | — |
| aws_aurora_db_maintenance_window | Maintenance window. | no | — |
| aws_aurora_additional_tags | A JSON object of additional tags that will be included on created resources. Example: `{"key1": "value1", "key2": "value2"}` | no | — |
| aws_db_proxy_name | DB Proxy name | no | — |
| aws_db_proxy_client_password_auth_type | Auth type to use, will use the following, depending on DB the family. MYSQL_NATIVE_PASSWORD, POSTGRES_SCRAM_SHA_256, and SQL_SERVER_AUTHENTICATION | no | — |
| aws_db_proxy_tls | Toogle TLS enforcement for connection | no | — |
| aws_db_proxy_security_group_name | Name for the proxy security group. Default to aws_resource_identifier if none. | no | — |
| aws_db_proxy_database_security_group_allow | Will add an incoming rule from every security group associated with the DB | no | — |
| aws_db_proxy_allowed_security_group | Comma separated list of SG Ids to add. | no | — |
| aws_db_proxy_allow_all_incoming | Allow all incoming traffic to the DB Proxy. Mind that the proxy is only available from the internal network except manually exposed. | no | — |
| aws_db_proxy_cloudwatch_enable | Toggle Cloudwatch logs. Will be stored in /aws/rds/proxy/rds_proxy.name | no | — |
| aws_db_proxy_cloudwatch_retention_days | Number of days to retain logs | no | — |
| aws_db_proxy_additional_tags | A list of strings that will be added to created resources | no | — |
| aws_vpc_create | Define if a VPC should be created | no | — |
| aws_vpc_name | Set a specific name for the VPC | no | — |
| aws_vpc_cidr_block | Define Base CIDR block which is divided into subnet CIDR blocks. Defaults to 10.0.0.0/16. | no | — |
| aws_vpc_public_subnets | Comma separated list of public subnets. Defaults to 10.10.110.0/24 | no | — |
| aws_vpc_private_subnets | Comma separated list of private subnets. If none, none will be created. | no | — |
| aws_vpc_availability_zones | Comma separated list of availability zones. Defaults to `aws_default_region. | no | — |
| aws_vpc_id | AWS VPC ID. Accepts `vpc-###` values. | no | — |
| aws_vpc_subnet_id | Specify a Subnet to be used with the instance. If none provided, will pick one. | no | — |
| aws_vpc_additional_tags | A JSON object of additional tags that will be included on created resources. Example: `{"key1": "value1", "key2": "value2"}` | no | — |
Outputs
| name | description |
|---|---|
| aws_vpc_id | The selected VPC ID used. |
| aurora_db_endpoint | Aurora Endpoint |
| aurora_db_secret_details_name | AWS Secret name containing db credentials |
| aurora_db_sg_id | SG ID for the Aurora instance |
| aurora_proxy_endpoint | Database proxy endpoint |
| aurora_proxy_secret_name | AWS Secret name containing proxy credentials |
| aurora_proxy_sg_id | SG ID for the Aurora Proxy instance |