community icon indicating copy to clipboard operation
community copied to clipboard

MemoryDB controller - broken helm chart v1.0.2

Open gecube opened this issue 1 year ago • 1 comments

v1.0.1:

$ git checkout v1.0.1
Previous HEAD position was cdee277 Update to ACK runtime v0.27.1, code-generator v0.27.1 (#85)
HEAD is now at 719fe91 Update to ACK runtime `v0.26.0`, code-generator `v0.26.1` (#83)

with default values:

$ helm template . | kubectl apply --dry-run=client -f - 
serviceaccount/ack-memorydb-controller created (dry run)
clusterrole.rbac.authorization.k8s.io/ack-memorydb-controller configured (dry run)
clusterrolebinding.rbac.authorization.k8s.io/release-name-memorydb-chart created (dry run)
role.rbac.authorization.k8s.io/ack-memorydb-reader created (dry run)
role.rbac.authorization.k8s.io/ack-memorydb-writer created (dry run)
deployment.apps/release-name-memorydb-chart created (dry run)

Add secret with amazon access key:

aws:
  # If specified, use the AWS region for AWS API calls
  region: "eu-west-2"
  endpoint_url: ""
  credentials:
    # If specified, Secret with shared credentials file to use.
    secretName: "amazon-secret-key"
    # Secret stringData key that contains the credentials
    secretKey: "credentials"
    # Profile used for AWS credentials
    profile: "default" 

apply successful :

$ helm template . | kubectl apply --dry-run=client -f - 
serviceaccount/ack-memorydb-controller created (dry run)
clusterrole.rbac.authorization.k8s.io/ack-memorydb-controller configured (dry run)
clusterrolebinding.rbac.authorization.k8s.io/release-name-memorydb-chart created (dry run)
role.rbac.authorization.k8s.io/ack-memorydb-reader created (dry run)
role.rbac.authorization.k8s.io/ack-memorydb-writer created (dry run)
deployment.apps/release-name-memorydb-chart created (dry run)

Now try use v1.0.2:

$ git checkout v1.0.2
Previous HEAD position was 719fe91 Update to ACK runtime `v0.26.0`, code-generator `v0.26.1` (#83)
HEAD is now at cdee277 Update to ACK runtime v0.27.1, code-generator v0.27.1 (#85)

With default values:

$ helm template . | kubectl apply --dry-run=client -f - 
serviceaccount/ack-memorydb-controller created (dry run)
clusterrole.rbac.authorization.k8s.io/ack-memorydb-controller configured (dry run)
clusterrolebinding.rbac.authorization.k8s.io/release-name-memorydb-chart created (dry run)
role.rbac.authorization.k8s.io/ack-memorydb-reader created (dry run)
role.rbac.authorization.k8s.io/ack-memorydb-writer created (dry run)
deployment.apps/release-name-memorydb-chart created (dry run)

Change the secret:

helm template . | kubectl apply --dry-run=client -f - 
Error: YAML parse error on memorydb-chart/templates/deployment.yaml: error converting YAML to JSON: yaml: line 106: mapping values are not allowed in this context

Use --debug flag to render out invalid YAML
error: no objects passed to apply

So conclusion - the adding of secret to values.yaml of MemoryDB Chart v1.0.2 breaks it. Other controllers (EC2, IAM etc.) are not affected.

gecube avatar Jan 05 '24 11:01 gecube

/cc @aws-controllers-k8s/elasticache-maintainer

a-hilaly avatar Jan 16 '24 19:01 a-hilaly

Issues go stale after 180d of inactivity. Mark the issue as fresh with /remove-lifecycle stale. Stale issues rot after an additional 60d of inactivity and eventually close. If this issue is safe to close now please do so with /close. Provide feedback via https://github.com/aws-controllers-k8s/community. /lifecycle stale

ack-bot avatar Jul 14 '24 20:07 ack-bot

/remove-lifecycle stale

gecube avatar Jul 15 '24 07:07 gecube