Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support aws secretmanager authentication #5162

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
4a24df6
Add support for aws secret manager authentication
geoffrey1330 Nov 7, 2023
a615a0f
Add support for aws secret manager authentication
geoffrey1330 Nov 7, 2023
28e563c
Add support for aws secret manager authentication
geoffrey1330 Nov 7, 2023
2009c85
Add support for aws secret manager authentication
geoffrey1330 Nov 7, 2023
627ebaf
Add support for aws secret manager authentication
geoffrey1330 Nov 7, 2023
21b5f42
Add support for aws secret manager authentication
geoffrey1330 Nov 7, 2023
5a214cd
Add support for aws secret manager authentication
geoffrey1330 Nov 7, 2023
9881a59
Add support for aws secret manager authentication
geoffrey1330 Nov 7, 2023
0c1ca12
Add support for aws secret manager authentication
geoffrey1330 Nov 8, 2023
03c264e
Add support for aws secret manager authentication
geoffrey1330 Nov 8, 2023
41960f6
Add support for aws secret manager authentication
geoffrey1330 Nov 23, 2023
ff01a48
Add support for aws secret manager authentication
geoffrey1330 Nov 23, 2023
b3b17af
Add support for aws secret manager authentication
geoffrey1330 Nov 27, 2023
1a3e4f0
Add support for aws secret manager authentication
geoffrey1330 Nov 28, 2023
a8bc24d
Add support for aws secret manager authentication
geoffrey1330 Nov 28, 2023
7f77232
Add support for aws secret manager authentication
geoffrey1330 Nov 28, 2023
326f565
Add support for aws secret manager authentication
geoffrey1330 Nov 28, 2023
8423329
Add support for aws secret manager authentication
geoffrey1330 Nov 28, 2023
efce07f
Add support for aws secret manager authentication
geoffrey1330 Nov 29, 2023
e471b46
Add support for aws secret manager authentication
geoffrey1330 Nov 29, 2023
200d5ca
Add support for aws secret manager authentication
geoffrey1330 Nov 29, 2023
efbb565
Add support for aws secret manager authentication
geoffrey1330 Nov 29, 2023
16805e8
Add support for aws secret manager authentication
geoffrey1330 Nov 29, 2023
b2d130b
Update tests/secret-providers/aws_secretmanager/aws_secretmanager_tes…
geoffrey1330 Nov 30, 2023
2e52391
Update tests/secret-providers/aws_secretmanager/aws_secretmanager_tes…
geoffrey1330 Nov 30, 2023
415a5b5
Add support for aws secret manager authentication
geoffrey1330 Nov 30, 2023
19c479e
Add support for aws secret manager authentication
geoffrey1330 Nov 30, 2023
4ca7857
Update pkg/scaling/resolver/scale_resolvers.go
geoffrey1330 Dec 8, 2023
859d552
Update tests/secret-providers/aws_secretmanager/aws_secretmanager_tes…
geoffrey1330 Dec 8, 2023
8ade041
Add support for aws secret manager authentication
geoffrey1330 Dec 8, 2023
68081e6
Add support for aws secret manager authentication
geoffrey1330 Jan 9, 2024
91dd02d
Add support for aws secret manager authentication
geoffrey1330 Dec 8, 2023
475babc
Add support for aws secret manager authentication
geoffrey1330 Dec 9, 2023
1400945
Add support for aws secret manager authentication
geoffrey1330 Dec 9, 2023
ec78d39
Add support for aws secret manager authentication
geoffrey1330 Dec 9, 2023
1381725
Add support for aws secret manager authentication
geoffrey1330 Dec 11, 2023
97853d1
Update pkg/scaling/resolver/aws_secretManager_handler.go
geoffrey1330 Dec 13, 2023
2d4d077
Update tests/secret-providers/aws_secretmanager_kiam/aws_secretmanage…
geoffrey1330 Dec 13, 2023
83e67a1
Add support for aws secret manager authentication
geoffrey1330 Dec 13, 2023
6ee7075
Add support for aws secret manager authentication
geoffrey1330 Dec 14, 2023
ce27bf6
Add support for aws secret manager authentication
geoffrey1330 Dec 14, 2023
03f92cf
Add support for aws secret manager authentication
geoffrey1330 Dec 14, 2023
0bf1433
Add support for aws secret manager authentication
geoffrey1330 Dec 14, 2023
1c98c27
Add support for aws secret manager authentication
geoffrey1330 Dec 14, 2023
61009e2
Add support for aws secret manager authentication
geoffrey1330 Dec 15, 2023
5ad0a24
Add support for aws secret manager authentication
geoffrey1330 Dec 18, 2023
cd98e47
rebase and integrate aws auth changes
JorTurFer Jan 9, 2024
d26e909
Add support for aws secret manager authentication
geoffrey1330 Jan 9, 2024
ac3ac63
Add support for aws secret manager authentication
geoffrey1330 Jan 9, 2024
bac6e63
Add support for aws secret manager authentication
geoffrey1330 Jan 10, 2024
69a783e
Add support for aws secret manager authentication
geoffrey1330 Jan 10, 2024
edcf5dd
Add support for aws secret manager authentication
geoffrey1330 Jan 10, 2024
10be435
Update tests/secret-providers/aws_secretmanager_pod_identity/aws_secr…
JorTurFer Jan 10, 2024
dffcbcd
update AWS default region
JorTurFer Jan 10, 2024
3aa52e4
update changelog
JorTurFer Jan 10, 2024
70a2088
improve e2e
JorTurFer Jan 10, 2024
a594586
update test cases
JorTurFer Jan 10, 2024
94507c9
use correct pod spec
JorTurFer Jan 10, 2024
f5d631c
Update CHANGELOG.md
geoffrey1330 Jan 10, 2024
1a0863f
Merge branch 'main' into feat/support_aws_secretmanager_authentication
geoffrey1330 Jan 10, 2024
80119b6
Update triggerauthentication_types.go
geoffrey1330 Jan 10, 2024
8eae174
Update aws_secretmanager_handler.go
geoffrey1330 Jan 10, 2024
a0e30d7
Update aws_secretmanager_test.go
geoffrey1330 Jan 10, 2024
ef7ae28
Add support for aws secret manager authentication
geoffrey1330 Jan 10, 2024
0e17801
Add support for aws secret manager authentication
geoffrey1330 Jan 10, 2024
8b4af1b
Add support for aws secret manager authentication
geoffrey1330 Jan 11, 2024
7918898
Add unit tests
JorTurFer Jan 11, 2024
59969b0
Add unit tests
JorTurFer Jan 11, 2024
0e57fd8
Add support for aws secret manager authentication
geoffrey1330 Jan 12, 2024
d235635
Add support for aws secret manager authentication
geoffrey1330 Jan 12, 2024
c472ce3
Add support for aws secret manager authentication
geoffrey1330 Jan 12, 2024
540a26d
Add support for aws secret manager authentication
geoffrey1330 Jan 12, 2024
cc96980
Add support for aws secret manager authentication
geoffrey1330 Jan 12, 2024
7b7c4d9
Add support for aws secret manager authentication
geoffrey1330 Jan 12, 2024
8dc32d7
Add support for aws secret manager authentication
geoffrey1330 Jan 12, 2024
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
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ apiserver.local.config/
# VSCode specific files
.vscode

# certs folder
certs/

cover.out

# GO debug binaries
Expand Down
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ To learn more about active deprecations, we recommend checking [GitHub Discussio

### New

- **General**: Adds support for AWS Secret Manager as a source for TriggerAuthentication ([#4628](https://github.com/kedacore/keda/issues/4628))
- **General**: Introduce new AWS Authentication ([#4134](https://github.com/kedacore/keda/issues/4134))

#### Experimental
Expand Down
2 changes: 1 addition & 1 deletion apis/eventing/v1alpha1/zz_generated.deepcopy.go

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

34 changes: 34 additions & 0 deletions apis/keda/v1alpha1/triggerauthentication_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,9 @@ type TriggerAuthenticationSpec struct {

// +optional
AzureKeyVault *AzureKeyVault `json:"azureKeyVault,omitempty"`

// +optional
AwsSecretManager *AwsSecretManager `json:"awsSecretManager,omitempty"`
}

// TriggerAuthenticationStatus defines the observed state of TriggerAuthentication
Expand Down Expand Up @@ -297,6 +300,37 @@ type AzureKeyVaultCloudInfo struct {
ActiveDirectoryEndpoint string `json:"activeDirectoryEndpoint"`
}

// AwsSecretManager is used to authenticate using AwsSecretManager
type AwsSecretManager struct {
Secrets []AwsSecretManagerSecret `json:"secrets"`
// +optional
Credentials *AwsSecretManagerCredentials `json:"credentials"`
geoffrey1330 marked this conversation as resolved.
Show resolved Hide resolved
// +optional
PodIdentity *AuthPodIdentity `json:"podIdentity"`
// +optional
Region string `json:"region,omitempty"`
}

type AwsSecretManagerCredentials struct {
AccessKey *AwsSecretManagerValue `json:"accessKey"`
AccessSecretKey *AwsSecretManagerValue `json:"accessSecretKey"`
// +optional
AccessToken *AwsSecretManagerValue `json:"accessToken,omitempty"`
}

type AwsSecretManagerValue struct {
ValueFrom ValueFromSecret `json:"valueFrom"`
}

type AwsSecretManagerSecret struct {
Parameter string `json:"parameter"`
Name string `json:"name"`
// +optional
VersionID string `json:"versionId,omitempty"`
// +optional
VersionStage string `json:"versionStage,omitempty"`
}

func init() {
SchemeBuilder.Register(&ClusterTriggerAuthentication{}, &ClusterTriggerAuthenticationList{})
SchemeBuilder.Register(&TriggerAuthentication{}, &TriggerAuthenticationList{})
Expand Down
98 changes: 97 additions & 1 deletion apis/keda/v1alpha1/zz_generated.deepcopy.go

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

121 changes: 121 additions & 0 deletions config/crd/bases/keda.sh_clustertriggerauthentications.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,127 @@ spec:
spec:
description: TriggerAuthenticationSpec defines the various ways to authenticate
properties:
awsSecretManager:
description: AwsSecretManager is used to authenticate using AwsSecretManager
properties:
credentials:
properties:
accessKey:
properties:
valueFrom:
properties:
secretKeyRef:
properties:
key:
type: string
name:
type: string
required:
- key
- name
type: object
required:
- secretKeyRef
type: object
required:
- valueFrom
type: object
accessSecretKey:
properties:
valueFrom:
properties:
secretKeyRef:
properties:
key:
type: string
name:
type: string
required:
- key
- name
type: object
required:
- secretKeyRef
type: object
required:
- valueFrom
type: object
accessToken:
properties:
valueFrom:
properties:
secretKeyRef:
properties:
key:
type: string
name:
type: string
required:
- key
- name
type: object
required:
- secretKeyRef
type: object
required:
- valueFrom
type: object
required:
- accessKey
- accessSecretKey
type: object
podIdentity:
description: AuthPodIdentity allows users to select the platform
native identity mechanism
properties:
identityId:
type: string
identityOwner:
description: IdentityOwner configures which identity has to
be used during auto discovery, keda or the scaled workload.
Mutually exclusive with roleArn
enum:
- keda
- workload
type: string
provider:
description: PodIdentityProvider contains the list of providers
enum:
- azure
- azure-workload
- gcp
- aws
- aws-eks
- aws-kiam
type: string
roleArn:
description: RoleArn sets the AWS RoleArn to be used. Mutually
exclusive with IdentityOwner
type: string
required:
- provider
type: object
region:
type: string
secrets:
items:
properties:
name:
type: string
parameter:
type: string
versionId:
type: string
versionStage:
type: string
required:
- name
- parameter
type: object
type: array
required:
- secrets
type: object
azureKeyVault:
description: AzureKeyVault is used to authenticate using Azure Key
Vault
Expand Down
Loading
Loading