bitovi/Deploy Amazon Aurora DB cluster (Postgres/MySQL)

Deploys an AWS Aurora cluster database (Postgres/MySQL)

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Stalelast commit Jan 27, 2025
License
MIT

Pinned Snippet

workflow.ymlSHA-pinned
uses: bitovi/github-actions-deploy-aurora@392cfc5a345cf67ecc2aff99d2675f28423c71e2 # v0.1.2

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
bitops_code_onlyWill run only the generation phase of BitOps, where the Terraform and Ansible code is built.no
bitops_code_storeStore BitOps code as a GitHub artifactnofalse
aws_access_key_idAWS access key IDyes
aws_secret_access_keyAWS secret access keyyes
aws_session_tokenAWS session tokenno
aws_default_regionAWS default regionnous-east-1
aws_resource_identifierSet to override the AWS resource identifier for the deployment. Defaults to `${org}-{repo}-{branch}`. Use with destroy to destroy specific resources.no
aws_additional_tagsA JSON object of additional tags that will be included on created resources. Example: `{"key1": "value1", "key2": "value2"}`no
tf_stack_destroySet to "true" to Destroy the stack through Terraform.no
tf_state_file_nameChange 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_appendAppend 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_bucketAWS S3 bucket to use for Terraform state. Defaults to `${org}-${repo}-{branch}-tf-state`no
tf_state_bucket_destroyForce purge and deletion of S3 bucket defined. Any file contained there will be destroyed. `tf_stack_destroy` must also be `true`no
aws_aurora_enableToggles deployment of an Aurora database. Defaults to true.notrue
aws_aurora_proxyAurora DB Proxy Toggle. Defaults to false.no
aws_aurora_cluster_nameThe name of the cluster. Will be created if it does not exist. Defaults to aws_resource_identifier if none set.no
aws_aurora_engineThe database engine to use. Defaults to aurora-postgresql.no
aws_aurora_engine_versionThe DB version of the engine to use.no
aws_aurora_engine_modeDatabase engine mode. Could be global, multimaster, parallelquey, provisioned, serverless.no
aws_aurora_availability_zonesList of availability zones for the DB cluster storage where DB cluster instances can be created.no
aws_aurora_cluster_apply_immediatelyApply changes immediately to the cluster. If not, will be done in next maintenance window.. Default falseno
aws_aurora_allocated_storageAmount of storage in gigabytes. Required for multi-az cluster.no
aws_aurora_storage_encryptedToggles whether the DB cluster is encrypted. Defaults to true.no
aws_aurora_kms_key_idKMS Key ID to use with the cluster encrypted storage.no
aws_aurora_storage_typeDefine type of storage to use. Required for multi-az cluster.no
aws_aurora_storage_iopsiops for storage. Required for multi-az cluster. no
aws_aurora_database_nameThe name of the database. will be created if it does not exist. Defaults to aurorano
aws_aurora_master_usernameMaster username. Defaults to aurorano
aws_aurora_database_group_familyThe 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_enabledToggles IAM Authentication. Defaults to false.no
aws_aurora_iam_rolesDefine the ARN list of allowed roles.no
aws_aurora_cluster_db_instance_classTo 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_nameName of the security group to use for postgres. Defaults to SG for ${var.aws_resource_identifier} - Aurorano
aws_aurora_ingress_allow_allAllow access from 0.0.0.0/0 in the same VPC. Defaults to trueno
aws_aurora_allowed_security_groupsExtra names of the security groups to access Aurora.no
aws_aurora_subnetsThe list of subnet ids to use for postgres.no
aws_aurora_database_portDatabase port. Defaults to 5432no
aws_aurora_db_publicly_accessibleMake database publicly accessible. Defaults to false.no
aws_aurora_cloudwatch_enableToggles cloudwatch. Defaults to trueno
aws_aurora_cloudwatch_log_typeComma 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_daysDays to store cloudwatch logs. Defaults to 7.no
aws_aurora_backtrack_windowTarget backtrack window, in seconds. Only available for aurora and aurora-mysql engines currently. 0 to disable. Defaults to 0no
aws_aurora_backup_retention_periodDays to retain backups for. Defaults to 5.no
aws_aurora_backup_windowDaily time range during which the backups happen.no
aws_aurora_maintenance_windowMaintenance window.no
aws_aurora_database_final_snapshotSet the name to Generate a snapshot of the database before deletion.no
aws_aurora_deletion_protectionProtects the database from deletion. Defaults to false. This wont prevent Terraform from destroying it.no
aws_aurora_delete_auto_backupsSpecifies whether to remove automated backups immediately after the DB cluster is deleted. Default is true.no
aws_aurora_restore_snapshot_idRestore an initial snapshot of the DB if specified.no
aws_aurora_restore_to_point_in_timeRestore 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_nameTakes a snapshot of the DB.no
aws_aurora_snapshot_overwriteOverwrites snapshot if same name is set. Defaults to false.no
aws_aurora_db_instances_countAmount of instances to create. Defaults to 1.no
aws_aurora_db_instance_classDatabase instance size. Defaults to db.r6g.large.no
aws_aurora_db_apply_immediatelySpecifies whether any modifications are applied immediately, or during the next maintenance window. Defaults to false.no
aws_aurora_db_ca_cert_identifierCertificate to use with the database. Defaults to rds-ca-ecc384-g1.no
aws_aurora_db_maintenance_windowMaintenance window.no
aws_aurora_additional_tagsA JSON object of additional tags that will be included on created resources. Example: `{"key1": "value1", "key2": "value2"}`no
aws_db_proxy_nameDB Proxy nameno
aws_db_proxy_client_password_auth_typeAuth type to use, will use the following, depending on DB the family. MYSQL_NATIVE_PASSWORD, POSTGRES_SCRAM_SHA_256, and SQL_SERVER_AUTHENTICATIONno
aws_db_proxy_tlsToogle TLS enforcement for connectionno
aws_db_proxy_security_group_nameName for the proxy security group. Default to aws_resource_identifier if none.no
aws_db_proxy_database_security_group_allowWill add an incoming rule from every security group associated with the DBno
aws_db_proxy_allowed_security_groupComma separated list of SG Ids to add.no
aws_db_proxy_allow_all_incomingAllow 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_enableToggle Cloudwatch logs. Will be stored in /aws/rds/proxy/rds_proxy.nameno
aws_db_proxy_cloudwatch_retention_daysNumber of days to retain logsno
aws_db_proxy_additional_tagsA list of strings that will be added to created resourcesno
aws_vpc_createDefine if a VPC should be createdno
aws_vpc_nameSet a specific name for the VPCno
aws_vpc_cidr_blockDefine Base CIDR block which is divided into subnet CIDR blocks. Defaults to 10.0.0.0/16.no
aws_vpc_public_subnetsComma separated list of public subnets. Defaults to 10.10.110.0/24no
aws_vpc_private_subnetsComma separated list of private subnets. If none, none will be created.no
aws_vpc_availability_zonesComma separated list of availability zones. Defaults to `aws_default_region.no
aws_vpc_idAWS VPC ID. Accepts `vpc-###` values.no
aws_vpc_subnet_idSpecify a Subnet to be used with the instance. If none provided, will pick one.no
aws_vpc_additional_tagsA JSON object of additional tags that will be included on created resources. Example: `{"key1": "value1", "key2": "value2"}`no
namedescription
aws_vpc_idThe selected VPC ID used.
aurora_db_endpointAurora Endpoint
aurora_db_secret_details_nameAWS Secret name containing db credentials
aurora_db_sg_idSG ID for the Aurora instance
aurora_proxy_endpointDatabase proxy endpoint
aurora_proxy_secret_nameAWS Secret name containing proxy credentials
aurora_proxy_sg_idSG ID for the Aurora Proxy instance