Files
spinifex/docs/coverage/rds
Julian Sommer 3b523498fc docs: stop publishing planned RDS work as never
Multi-AZ clusters, read replicas and point-in-time restore were declared not
applicable, which says the platform will never serve them. All three are
planned, so the pages claimed something the roadmap contradicts.

Only a declaration now publishes that claim. A handler that refuses an
operation today establishes nothing about tomorrow, so it reads as the gap it
is rather than a permanent one.
2026-09-15 10:56:29 +10:00
..

title, seoTitle, description, category, sections, tags
title seoTitle description category sections tags
RDS API Coverage Relational Database Service API Coverage — Spinifex Docs The Amazon RDS API operations Spinifex implements, for the managed PostgreSQL and MariaDB engines it offers, with those the platform does not offer and why. Coverage
overview
aws
compatibility
coverage
rds
databases
postgresql
mariadb

RDS API Coverage

Overview

Spinifex implements 26 operations in the RDS 2014-10-31 API model.

Engines

Spinifex offers PostgreSQL and MariaDB. Each DB instance is one dedicated system-owned VM running the engine directly, launched from a platform AMI and hidden from the customer's EC2 API. Engine is fixed at create: there is no in-place engine change, no cross-engine snapshot restore and no migration between the two.

mysql is not an accepted engine and is not an alias for mariadb. MariaDB is offered under its own AWS engine name, exactly as AWS RDS offers it, so a client — including Terraform's aws_db_instance — must set engine = "mariadb".

Engine versions are pinned per engine. An EngineVersion naming anything but the pin is rejected, including a narrower minor version, because the AMI makes no promise about which minor it carries.

The endpoint is private

The engine is reached over a customer-account ENI injected into a subnet of the DB subnet group, so the endpoint is reachable from inside the VPC only. The DB VM has other NICs that no customer security group governs, and the engine binds none of them — the port is not open there at all, rather than open and gated.

TLS is required by default

Both engines enforce encrypted connections by default: rds.force_ssl on PostgreSQL and require_secure_transport on MariaDB. For MariaDB this is a deliberate divergence from AWS, which leaves it off. Both are boolean, modifiable and dynamic, so setting either to 0 in a parameter group restores plaintext without a reboot.

Rejected parameters

A parameter whose omission would create a false safety, security or availability guarantee is rejected with InvalidParameterValue rather than silently dropped.

Parameter Why it is rejected
MultiAZ=true Single-AZ platform; a standby would not exist
PubliclyAccessible=true The endpoint is a private VPC address
StorageEncrypted=false Unencrypted storage is not offered
EnableIAMDatabaseAuthentication IAM database authentication is not implemented
Iops, StorageThroughput, StorageType ≠ gp3 Provisioned performance classes are not implemented
KmsKeyId, TdeCredentialArn Storage is encrypted with the cluster key, not a customer-managed one
AvailabilityZone The platform exposes a single zone
AvailabilityZoneGroup (orderable options) It selects a zone or local-zone group, and naming a zone is already refused
DBSecurityGroups EC2-Classic security groups — use VpcSecurityGroupIds
DBClusterIdentifier, DBClusterSnapshotIdentifier Clustered engines are not offered
EnableCloudwatchLogsExports Log export is not implemented
EngineVersion other than the engine's pin, Engine on modify No in-place engine or version change
Engine=mysql (and Aurora engines) Oracle MySQL is not offered; mariadb is a distinct engine, not an alias for it
NewDBInstanceIdentifier The identifier is the DNS label and the KV key
DBPortNumber, DBSubnetGroupName on modify Both would move the endpoint
MaxAllocatedStorage Storage autoscaling is not implemented
ManageMasterUserPassword, RotateMasterUserPassword Secrets Manager integration is not offered
CACertificateIdentifier The serving certificate is minted from the cluster CA
Domain, DomainFqdn Active Directory domain join is not offered
OptionGroupName Option groups are not offered
CustomIamInstanceProfile The DB VM's instance profile is platform-owned
EnableCustomerOwnedIp An Outposts feature
ForceFailover (reboot) No standby to fail over to
DBSnapshotIdentifier (stop) Snapshot-on-stop is not implemented

Operations

Operation Status
AddTagsToResource ✅ Implemented
CreateDBInstance ✅ Implemented
CreateDBParameterGroup ✅ Implemented
CreateDBSnapshot ✅ Implemented
CreateDBSubnetGroup ✅ Implemented
CreateOptionGroup ⛔ Not applicable 1
DeleteDBInstance ✅ Implemented
DeleteDBParameterGroup ✅ Implemented
DeleteDBSnapshot ✅ Implemented
DeleteDBSubnetGroup ✅ Implemented
DeleteOptionGroup ⛔ Not applicable 1
DescribeDBEngineVersions ✅ Implemented
DescribeDBInstanceAutomatedBackups ✅ Implemented
DescribeDBInstances ✅ Implemented
DescribeDBParameterGroups ✅ Implemented
DescribeDBParameters ✅ Implemented
DescribeDBSnapshots ✅ Implemented
DescribeDBSubnetGroups ✅ Implemented
DescribeEvents ✅ Implemented
DescribeOptionGroups ⛔ Not applicable 1
DescribeOrderableDBInstanceOptions ✅ Implemented
ListTagsForResource ✅ Implemented
ModifyDBInstance ✅ Implemented
ModifyDBParameterGroup ✅ Implemented
ModifyOptionGroup ⛔ Not applicable 1
RebootDBInstance ✅ Implemented
RemoveTagsFromResource ✅ Implemented
RestoreDBInstanceFromDBSnapshot ✅ Implemented
StartDBInstance ✅ Implemented
StopDBInstance ✅ Implemented

Notes

  1. Option groups configure engine add-ons for engines this platform does not offer, such as Oracle and SQL Server.