provider-aws icon indicating copy to clipboard operation
provider-aws copied to clipboard

Implemented User Creation for ElasticCache

Open namku opened this issue 4 years ago • 5 comments

Resolves #548

Description of your changes

  • Add CRD and Controller for Elasticache user
  • Add example file in elasticache folder

I have:

  • [x] Read and followed Crossplane's [contribution process].
  • [x] Run make reviewable test to ensure this PR is ready for review.

How has this code been tested

Following this steps: https://github.com/crossplane/provider-aws/blob/master/CODE_GENERATION.md#local

namku avatar Mar 09 '21 10:03 namku

@hasheddan would you mind taking another look at this?

muvaf avatar May 24 '21 06:05 muvaf

Any update regarding this?

linuxbsdfreak avatar Jun 30 '21 06:06 linuxbsdfreak

@turkenh @hasheddan i added a new commit & rebased master to fix the open issues

tested

  • create
  • update
  • delete

kubectl describe user.elasticache.aws.crossplane.io/example
Name:         example
Namespace:    
Labels:       <none>
Annotations:  crossplane.io/external-create-pending: 2021-11-25T17:27:56+01:00
              crossplane.io/external-create-succeeded: 2021-11-25T17:27:56+01:00
              crossplane.io/external-name: example
API Version:  elasticache.aws.crossplane.io/v1alpha1
Kind:         User
  Resource Version:  748000
  UID:               a8625015-0f6b-45bf-9604-ccc8be7023ec
Spec:
  Deletion Policy:  Delete
  For Provider:
    Access String:  on
    Engine:         redis
    Password Secret Ref:
      Key:        password
      Name:       example-elasticache
      Namespace:  crossplane-system
    Region:       us-east-1
  Provider Config Ref:
    Name:  example
  Write Connection Secret To Ref:
    Name:       example-elasticache
    Namespace:  default
Status:
  At Provider:
    Arn:  arn:aws:elasticache:us-east-1:255932642927:user:example
    Authentication:
      Password Count:  1
      type_:           password
    Status:            active
    User ID:           example
    User Name:         example
  Conditions:
    Last Transition Time:  2021-11-25T16:27:57Z
    Reason:                Available
    Status:                True
    Type:                  Ready
    Last Transition Time:  2021-11-25T16:27:56Z
    Reason:                ReconcileSuccess
    Status:                True
    Type:                  Synced
Events:
  Type    Reason                   Age                From                                        Message
  ----    ------                   ----               ----                                        -------
  Normal  CreatedExternalResource  21m                managed/user.elasticache.aws.crossplane.io  Successfully requested creation of external resource

image

haarchri avatar Nov 25 '21 17:11 haarchri

rebased & implemented secretKeyRef as array

NAME                                         READY   SYNCED   EXTERNAL-NAME
user.elasticache.aws.crossplane.io/example   True    True     example

with two password:

Spec:
  Deletion Policy:  Delete
  For Provider:
    Access String:         on
    Engine:                redis
    No Password Required:  false
    Password Secret Ref:
      Key:        password1
      Name:       example-elasticache
      Namespace:  crossplane-system
      Key:        password2
      Name:       example-elasticache
      Namespace:  crossplane-system
    Region:       us-east-1
    User Name:    example-user
  Provider Config Ref:
    Name:  default
  Write Connection Secret To Ref:
    Name:       example-elasticache
    Namespace:  default
Status:
  At Provider:
    Arn:  arn:aws:elasticache:us-east-1:12345678910:user:example
    Authentication:
      Password Count:  2
      type_:           password
    Status:            active
    User ID:           example
  Conditions:
    Last Transition Time:  2022-09-23T10:28:35Z
    Reason:                Available
    Status:                True
    Type:                  Ready
    Last Transition Time:  2022-09-23T10:10:36Z
    Reason:                ReconcileSuccess
    Status:                True
    Type:                  Synced

with one password:

Spec:
  Deletion Policy:  Delete
  For Provider:
    Access String:         on
    Engine:                redis
    No Password Required:  false
    Password Secret Ref:
      Key:        password1
      Name:       example-elasticache
      Namespace:  crossplane-system
    Region:       us-east-1
    User Name:    example-user
  Provider Config Ref:
    Name:  default
  Write Connection Secret To Ref:
    Name:       example-elasticache
    Namespace:  default
Status:
  At Provider:
    Arn:  arn:aws:elasticache:us-east-1:12345678910:user:example
    Authentication:
      Password Count:  1
      type_:           password
    Status:            active
    User ID:           example
  Conditions:
    Last Transition Time:  2022-09-23T09:10:35Z
    Reason:                Available
    Status:                True
    Type:                  Ready
    Last Transition Time:  2022-09-23T09:09:36Z
    Reason:                ReconcileSuccess
    Status:                True
    Type:                  Synced

tested all comibinations 1 to 2 passwords, 2 to 1 password

haarchri avatar Sep 23 '22 11:09 haarchri

@muvaf @chlunde @MisterMX any chance to get a review ? i fixed all openpoints

haarchri avatar Sep 23 '22 11:09 haarchri

Crossplane does not currently have enough maintainers to address every issue and pull request. This pull request has been automatically marked as stale because it has had no activity in the last 90 days. It will be closed in 14 days if no further activity occurs. Adding a comment starting with /fresh will mark this PR as not stale.

github-actions[bot] avatar Sep 25 '23 01:09 github-actions[bot]