Skip to content

Commit 01d21ff

Browse files
authored
Merge pull request #33 from rh-mobb/foster/acm-stuff
Foster/acm stuff
2 parents 1f3b3a5 + 3793037 commit 01d21ff

21 files changed

Lines changed: 278 additions & 2 deletions

File tree

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
apiVersion: v2
2+
name: external-secrets-operator
3+
description: External Secrets Operator with AWS Secrets Manager integration via IRSA
4+
version: 1.0.0
5+
type: application
6+
home: https://rh-mobb.github.io/validated-pattern-helm-charts/
7+
maintainers:
8+
- name: rh-mobb
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{{- if .Values.serviceAccount.roleArn }}
2+
apiVersion: external-secrets.io/v1beta1
3+
kind: ClusterSecretStore
4+
metadata:
5+
name: {{ .Values.secretStore.name }}
6+
annotations:
7+
argocd.argoproj.io/sync-wave: "5"
8+
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
9+
spec:
10+
provider:
11+
aws:
12+
service: SecretsManager
13+
region: {{ .Values.secretStore.region }}
14+
auth:
15+
jwt:
16+
serviceAccountRef:
17+
name: {{ .Values.serviceAccount.name }}
18+
namespace: {{ .Values.namespace }}
19+
{{- end }}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{{- if .Values.serviceAccount.roleArn }}
2+
apiVersion: external-secrets.io/v1beta1
3+
kind: ExternalSecret
4+
metadata:
5+
name: kuadrant-aws-credentials
6+
namespace: {{ .Values.target.namespace }}
7+
annotations:
8+
argocd.argoproj.io/sync-wave: "6"
9+
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
10+
spec:
11+
refreshInterval: {{ .Values.target.refreshInterval }}
12+
secretStoreRef:
13+
name: {{ .Values.secretStore.name }}
14+
kind: ClusterSecretStore
15+
target:
16+
name: {{ .Values.target.secretName }}
17+
template:
18+
type: kuadrant.io/aws
19+
data:
20+
AWS_ACCESS_KEY_ID: "{{ "{{ .aws_access_key_id }}" }}"
21+
AWS_SECRET_ACCESS_KEY: "{{ "{{ .aws_secret_access_key }}" }}"
22+
AWS_REGION: "{{ "{{ .aws_region }}" }}"
23+
data:
24+
- secretKey: aws_access_key_id
25+
remoteRef:
26+
key: {{ .Values.secretStore.secretName }}
27+
property: AWS_ACCESS_KEY_ID
28+
- secretKey: aws_secret_access_key
29+
remoteRef:
30+
key: {{ .Values.secretStore.secretName }}
31+
property: AWS_SECRET_ACCESS_KEY
32+
- secretKey: aws_region
33+
remoteRef:
34+
key: {{ .Values.secretStore.secretName }}
35+
property: AWS_REGION
36+
{{- end }}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
apiVersion: v1
2+
kind: Namespace
3+
metadata:
4+
name: {{ .Values.namespace }}
5+
annotations:
6+
argocd.argoproj.io/sync-wave: "-1"
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
apiVersion: operators.coreos.com/v1
2+
kind: OperatorGroup
3+
metadata:
4+
name: external-secrets-operator
5+
namespace: {{ .Values.namespace }}
6+
annotations:
7+
argocd.argoproj.io/sync-wave: "-1"
8+
spec:
9+
targetNamespaces:
10+
- {{ .Values.namespace }}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{{- if .Values.serviceAccount.roleArn }}
2+
apiVersion: v1
3+
kind: ServiceAccount
4+
metadata:
5+
name: {{ .Values.serviceAccount.name }}
6+
namespace: {{ .Values.namespace }}
7+
annotations:
8+
argocd.argoproj.io/sync-wave: "1"
9+
eks.amazonaws.com/role-arn: {{ .Values.serviceAccount.roleArn }}
10+
{{- end }}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
apiVersion: operators.coreos.com/v1alpha1
2+
kind: Subscription
3+
metadata:
4+
name: {{ .Values.subscription.name }}
5+
namespace: {{ .Values.namespace }}
6+
annotations:
7+
argocd.argoproj.io/sync-wave: "0"
8+
spec:
9+
channel: {{ .Values.subscription.channel }}
10+
installPlanApproval: {{ .Values.subscription.installPlanApproval }}
11+
name: {{ .Values.subscription.name }}
12+
source: {{ .Values.subscription.source }}
13+
sourceNamespace: {{ .Values.subscription.sourceNamespace }}
14+
{{- if .Values.subscription.startingCSV }}
15+
startingCSV: {{ .Values.subscription.startingCSV }}
16+
{{- end }}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
namespace: external-secrets
2+
3+
subscription:
4+
name: external-secrets-operator
5+
channel: stable-v1
6+
installPlanApproval: Manual
7+
source: redhat-operators
8+
sourceNamespace: openshift-marketplace
9+
startingCSV: ""
10+
11+
serviceAccount:
12+
name: external-secrets-sa
13+
roleArn: ""
14+
15+
secretStore:
16+
name: aws-secrets-manager
17+
region: ap-southeast-4
18+
secretName: connectivity-link-route53-credentials
19+
20+
target:
21+
namespace: istio-system
22+
secretName: aws-credentials
23+
refreshInterval: 1h
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
apiVersion: v2
2+
name: letsencrypt-clusterissuer
3+
description: Let's Encrypt ACME ClusterIssuer with DNS-01 Route 53 solver (uses IRSA, no static credentials)
4+
version: 1.0.0
5+
type: application
6+
home: https://rh-mobb.github.io/validated-pattern-helm-charts/
7+
maintainers:
8+
- name: rh-mobb
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
apiVersion: cert-manager.io/v1
2+
kind: ClusterIssuer
3+
metadata:
4+
name: {{ .Values.name }}
5+
annotations:
6+
argocd.argoproj.io/sync-wave: "5"
7+
argocd.argoproj.io/sync-options: SkipDryRunOnMissingResource=true
8+
spec:
9+
acme:
10+
server: {{ .Values.acme.server }}
11+
email: {{ .Values.acme.email }}
12+
privateKeySecretRef:
13+
name: {{ .Values.name }}-account-key
14+
solvers:
15+
- dns01:
16+
route53:
17+
hostedZoneID: {{ .Values.route53.hostedZoneID }}
18+
region: {{ .Values.route53.region }}
19+
secretAccessKeySecretRef:
20+
name: ""

0 commit comments

Comments
 (0)