Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions apis/v1alpha1/ack-generate-metadata.yaml
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
ack_generate_info:
build_date: "2025-08-22T23:47:01Z"
build_hash: 1045a5e99038b11b0630ca2f2f69c3bae4bedba6
go_version: go1.25.0
version: v0.51.0-1-g1045a5e
build_date: "2025-09-19T23:41:06Z"
build_hash: 6b4211163dcc34776b01da9a18217bac0f4103fd
go_version: go1.24.5
version: v0.52.0
api_directory_checksum: 90b0d1adcc91f4a1b1f1b436e3ac0c30d9271678
api_version: v1alpha1
aws_sdk_go_version: v1.32.6
generator_config_info:
file_checksum: ecb60f0fe79237eb820e68d823e6da2bf0829140
file_checksum: 23c3c400e5913ebaa0047af70fda453b065ce321
original_file_name: generator.yaml
last_modification:
reason: API generation
4 changes: 2 additions & 2 deletions apis/v1alpha1/generator.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -612,7 +612,7 @@ resources:
hooks:
sdk_read_many_post_set_output:
template_path: hooks/db_cluster_endpoint/sdk_read_many_post_set_output.go.tpl
sdk_update_pre_set_output:
template_path: hooks/db_cluster_endpoint/sdk_update_pre_set_output.go.tpl
sdk_update_pre_build_request:
template_path: hooks/db_cluster_endpoint/sdk_update_pre_build_request.go.tpl
delta_pre_compare:
template_path: hooks/db_cluster_endpoint/delta_pre_compare.go.tpl
2 changes: 1 addition & 1 deletion config/controller/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ kind: Kustomization
images:
- name: controller
newName: public.ecr.aws/aws-controllers-k8s/rds-controller
newTag: 1.6.0
newTag: 1.6.1
4 changes: 2 additions & 2 deletions generator.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -612,7 +612,7 @@ resources:
hooks:
sdk_read_many_post_set_output:
template_path: hooks/db_cluster_endpoint/sdk_read_many_post_set_output.go.tpl
sdk_update_pre_set_output:
template_path: hooks/db_cluster_endpoint/sdk_update_pre_set_output.go.tpl
sdk_update_pre_build_request:
template_path: hooks/db_cluster_endpoint/sdk_update_pre_build_request.go.tpl
delta_pre_compare:
template_path: hooks/db_cluster_endpoint/delta_pre_compare.go.tpl
4 changes: 2 additions & 2 deletions helm/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
apiVersion: v1
name: rds-chart
description: A Helm chart for the ACK service controller for Amazon Relational Database Service (RDS)
version: 1.6.0
appVersion: 1.6.0
version: 1.6.1
appVersion: 1.6.1
home: https://github.com/aws-controllers-k8s/rds-controller
icon: https://raw.githubusercontent.com/aws/eks-charts/master/docs/logo/aws.png
sources:
Expand Down
2 changes: 1 addition & 1 deletion helm/templates/NOTES.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{{ .Chart.Name }} has been installed.
This chart deploys "public.ecr.aws/aws-controllers-k8s/rds-controller:1.6.0".
This chart deploys "public.ecr.aws/aws-controllers-k8s/rds-controller:1.6.1".

Check its status by running:
kubectl --namespace {{ .Release.Namespace }} get pods -l "app.kubernetes.io/instance={{ .Release.Name }}"
Expand Down
4 changes: 4 additions & 0 deletions helm/templates/deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,9 @@ metadata:
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
k8s-app: {{ include "ack-rds-controller.app.name" . }}
helm.sh/chart: {{ include "ack-rds-controller.chart.name-version" . }}
{{- range $key, $value := .Values.deployment.labels }}
{{ $key }}: {{ $value | quote }}
{{- end }}
spec:
replicas: {{ .Values.deployment.replicas }}
selector:
Expand Down Expand Up @@ -88,6 +91,7 @@ spec:
- --feature-gates
- "$(FEATURE_GATES)"
{{- end }}
- --enable-carm={{ .Values.enableCARM }}
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
name: controller
Expand Down
5 changes: 5 additions & 0 deletions helm/values.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -263,6 +263,11 @@
},
"type": "object"
},
"enableCARM": {
"description": "Parameter to enable or disable cross account resource management.",
"type": "boolean",
"default": true
},
"serviceAccount": {
"description": "ServiceAccount settings",
"properties": {
Expand Down
5 changes: 4 additions & 1 deletion helm/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

image:
repository: public.ecr.aws/aws-controllers-k8s/rds-controller
tag: 1.6.0
tag: 1.6.1
pullPolicy: IfNotPresent
pullSecrets: []

Expand Down Expand Up @@ -176,6 +176,9 @@ leaderElection:
# pod.
namespace: ""

# Enable Cross Account Resource Management (default = true). Set this to false to disable cross account resource management.
enableCARM: true

# Configuration for feature gates. These are optional controller features that
# can be individually enabled ("true") or disabled ("false") by adding key/value
# pairs below.
Expand Down
4 changes: 2 additions & 2 deletions pkg/resource/db_cluster/resource.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

34 changes: 34 additions & 0 deletions pkg/resource/db_cluster_endpoint/hooks.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,11 @@ package db_cluster_endpoint

import (
"context"
"errors"
"fmt"

ackcompare "github.com/aws-controllers-k8s/runtime/pkg/compare"
ackrequeue "github.com/aws-controllers-k8s/runtime/pkg/requeue"
ackrtlog "github.com/aws-controllers-k8s/runtime/pkg/runtime/log"

svcapitypes "github.com/aws-controllers-k8s/rds-controller/apis/v1alpha1"
Expand All @@ -26,6 +29,37 @@ import (
"github.com/aws-controllers-k8s/rds-controller/pkg/util"
)

const (
StatusAvailable = "available"
StatusInactive = "inactive"
)

func clusterEndpointReadyForUpdate(r *resource) bool {
if r.ko.Status.Status == nil {
return false
}
dbcs := *r.ko.Status.Status
return dbcs == StatusAvailable || dbcs == StatusInactive
}

// requeueWaitUntilCanModify returns a `ackrequeue.RequeueNeededAfter` struct
// explaining the DB instance cannot be modified until it reaches an available
// status.
func requeueWaitUntilCanModify(r *resource) *ackrequeue.RequeueNeededAfter {
if r.ko.Status.Status == nil {
return nil
}
status := *r.ko.Status.Status
msg := fmt.Sprintf(
"DB cluster in '%s' state, cannot be modified until '%s'.",
status, StatusAvailable,
)
return ackrequeue.NeededAfter(
errors.New(msg),
ackrequeue.DefaultRequeueAfterDuration,
)
}

// syncTags keeps the resource's tags in sync
func (rm *resourceManager) syncTags(
ctx context.Context,
Expand Down
4 changes: 2 additions & 2 deletions pkg/resource/db_cluster_endpoint/resource.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

26 changes: 17 additions & 9 deletions pkg/resource/db_cluster_endpoint/sdk.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pkg/resource/db_cluster_parameter_group/resource.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pkg/resource/db_cluster_snapshot/resource.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pkg/resource/db_instance/resource.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pkg/resource/db_parameter_group/resource.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pkg/resource/db_proxy/resource.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pkg/resource/db_snapshot/resource.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pkg/resource/db_subnet_group/resource.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions pkg/resource/global_cluster/resource.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
if !clusterEndpointReadyForUpdate(latest) {
msg := "DB cluster is not available for modification in '" +
*latest.ko.Status.Status + "' status"
ackcondition.SetSynced(desired, corev1.ConditionFalse, &msg, nil)
return desired, requeueWaitUntilCanModify(latest)
}

if delta.DifferentAt("Spec.Tags") {
if err = rm.syncTags(ctx, desired, latest); err != nil {
return nil, err
}
}

if !delta.DifferentExcept("Spec.Tags") {
return desired, nil
}

This file was deleted.