Skip to content

feat: adding support for aws_timestreaminfluxdb_db resources#2026

Open
matthewgreenwaldagility wants to merge 2 commits intocrossplane-contrib:mainfrom
matthewgreenwaldagility:feat/influxdb
Open

feat: adding support for aws_timestreaminfluxdb_db resources#2026
matthewgreenwaldagility wants to merge 2 commits intocrossplane-contrib:mainfrom
matthewgreenwaldagility:feat/influxdb

Conversation

@matthewgreenwaldagility
Copy link
Copy Markdown

Description of your changes

Adds two new Crossplane Managed Resources for Amazon Timestream for InfluxDB:

  • aws_timestreaminfluxdb_db_instance — manages a single Timestream for InfluxDB DB instance
  • aws_timestreaminfluxdb_db_cluster — manages a Timestream for InfluxDB read-replica cluster

Both are Terraform Plugin Framework resources using frameworkNameAsIdentifier() for external name configuration. Cross-resource references are configured for vpc_subnet_ids → aws_subnet and vpc_security_group_ids → aws_security_group. Cluster-scoped and namespaced variants are included.

Fixes #1569

I have:

  • Read and followed Crossplane's contribution process.
  • Run make generate and committed the results (ideally in a separate commit).
  • Not made any manual changes to generated files, and verified this with make check-diff.

How has this code been tested

  • make generate completes successfully, generating 1006 resources for both cluster and namespaced scopes
  • go vet and go build pass on all new and modified packages (config/..., apis/cluster/timestreaminfluxdb/..., apis/namespaced/timestreaminfluxdb/...)
  • make build completes successfully
  • Generated CRDs, API types, controllers, and example manifests verified for correctness
  • password field is correctly handled as a passwordSecretRef (sensitive)
  • Unit tests (make -j2 test) not run due to pre-existing Go toolchain version mismatch (go1.25.8 vs go1.25.7); CI should validate

Signed-off-by: Matthew Greenwald <matthew.greenwald@agilityrobotics.com>
@jastang
Copy link
Copy Markdown
Member

jastang commented Apr 2, 2026

/test-examples="examples/cluster/timestreaminfluxdb/dbcluster.yaml"

@matthewgreenwaldagility
Copy link
Copy Markdown
Author

I see uptest failing...

Do I just need to add something like this to the 4 examples?

metadata:
   annotations:
      meta.upbound.io/example-id: timestreaminfluxdb/v1beta1/dbinstance
      upjet.upbound.io/manual-intervention: This resource references SecurityGroup and Subnet resources from the ec2 provider which are not available during automated testing.
   labels:
      testing.upbound.io/example-name: example
   name: example

@sergenyalcin
Copy link
Copy Markdown
Collaborator

Hi @matthewgreenwaldagility thank you very much for submitting this PR. In the example manifests, we are preparing a complete manifest to make test. I mean if the resource that we want to test (root resource) needs a few resources as dependency then we should add them to manifests. Let me sahre a few examples from repo: https://github.com/crossplane-contrib/provider-upjet-aws/blob/main/examples/ec2/cluster/v1beta1/route.yaml. For example Route resource needs RouteTable, InternetGateway and VPC for creation. So we added them to the manifest.

For dbcluster one, it seems you need to add some subnets, security group and kubernetes secret.

As a side note, the manual intervention annotation is used if manual intervention is genuinely required to create the resource, or if there is an issue with the reference. Furthermore, even if we apply the manual intervention annotation, the manifest must still contain the references in a complete state. The first thing we need to consider doing for these resources is to make the manifests complete by adding the dependencies. Thanks for caring this.

@matthewgreenwaldagility
Copy link
Copy Markdown
Author

@sergenyalcin Thank you for the helpful explanation. Understood and that makes sense.

Signed-off-by: Matthew Greenwald <matthew.greenwald@agilityrobotics.com>
@matthewgreenwaldagility
Copy link
Copy Markdown
Author

@jastang @sergenyalcin Pushed a commit with the dependencies added. Thank you for your time and help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Request for AWS::Timestream::InfluxDBInstance

3 participants