Csp adapter 5.0.0 rc1 (#4589)

pull/4611/head
Meera Belur 2024-10-17 21:16:59 -07:00 committed by GitHub
parent 74f6135522
commit 867711d816
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
10 changed files with 303 additions and 2 deletions

View File

@ -0,0 +1,17 @@
annotations:
catalog.cattle.io/certified: rancher
catalog.cattle.io/display-name: Rancher CSP Adapter
catalog.cattle.io/hidden: "true"
catalog.cattle.io/kube-version: '>= 1.27.0-0 < 1.32.0-0'
catalog.cattle.io/namespace: cattle-csp-adapter-system
catalog.cattle.io/os: linux
catalog.cattle.io/permits-os: linux
catalog.cattle.io/rancher-version: '>= 2.10.0-0 < 2.11.0-0'
catalog.cattle.io/release-name: rancher-csp-adapter
catalog.cattle.io/scope: management
apiVersion: v2
appVersion: 5.0.0-rc1
description: Cloud Service Provider Marketplace Adapter for Rancher. Monitors Rancher
entitlements against usage.
name: rancher-csp-adapter
version: 105.0.0+up5.0.0-rc1

View File

@ -0,0 +1,57 @@
{{- define "csp-adapter.labels" -}}
app: rancher-csp-adapter
{{- end }}
{{- define "csp-adapter.outputConfigMap" -}}
csp-config
{{- end }}
{{- define "csp-adapter.outputNotification" -}}
csp-compliance
{{- end }}
{{- define "csp-adapter.cacheSecret" -}}
csp-adapter-cache
{{- end }}
{{- define "csp-adapter.hostnameSetting" -}}
server-url
{{- end }}
{{- define "csp-adapter.versionSetting" -}}
server-version
{{- end }}
{{- define "csp-adapter.csp" -}}
{{- if .Values.aws -}}
{{- if .Values.aws.enabled -}}
aws
{{- end -}}
{{- else -}}
""
{{- end -}}
{{- end }}
{{- define "csp-adapter.awsValuesSet" -}}
{{- if .Values.aws -}}
{{- if and .Values.aws.accountNumber .Values.aws.roleName -}}
true
{{- else -}}
false
{{- end -}}
{{- else -}}
false
{{- end -}}
{{- end }}
{{- define "system_default_registry" -}}
{{- if .Values.global.cattle.systemDefaultRegistry -}}
{{- printf "%s/" .Values.global.cattle.systemDefaultRegistry -}}
{{- else -}}
{{- if eq (include "csp-adapter.csp" .) "aws" -}}
{{- "709825985650.dkr.ecr.us-east-1.amazonaws.com/suse/" -}}
{{- else -}}
{{- "" -}}
{{- end -}}
{{- end -}}
{{- end -}}

View File

@ -0,0 +1,48 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Chart.Name }}
namespace: cattle-csp-adapter-system
spec:
selector:
matchLabels:
app: {{ .Chart.Name }}
template:
metadata:
labels:
app: {{ .Chart.Name }}
spec:
containers:
- env:
- name: CATTLE_DEBUG
value: {{ .Values.debug | quote }}
- name: CATTLE_DEV_MODE
value: {{ .Values.devMode | quote }}
- name: K8S_OUTPUT_CONFIGMAP
value: '{{ template "csp-adapter.outputConfigMap" }}'
- name: K8S_OUTPUT_NOTIFICATION
value: '{{ template "csp-adapter.outputNotification" }}'
- name: K8S_CACHE_SECRET
value: '{{ template "csp-adapter.cacheSecret" }}'
- name: K8S_HOSTNAME_SETTING
value: '{{ template "csp-adapter.hostnameSetting" }}'
- name: K8S_RANCHER_VERSION_SETTING
value: '{{ template "csp-adapter.versionSetting" }}'
image: '{{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}'
name: {{ .Chart.Name }}
imagePullPolicy: "{{ .Values.image.imagePullPolicy }}"
{{- if .Values.additionalTrustedCAs }}
volumeMounts:
- mountPath: /etc/ssl/certs/rancher-cert.pem
name: tls-ca-volume
subPath: ca-additional.pem
readOnly: true
{{- end }}
serviceAccountName: {{ .Chart.Name }}
{{- if .Values.additionalTrustedCAs }}
volumes:
- name: tls-ca-volume
secret:
defaultMode: 0444
secretName: tls-ca-additional
{{- end }}

View File

@ -0,0 +1,114 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: {{ .Chart.Name }}-cluster-role
rules:
- apiGroups:
- management.cattle.io
resources:
- ranchermetrics
verbs:
- get
- apiGroups:
- management.cattle.io
resources:
- rancherusernotifications
resourceNames:
- {{ template "csp-adapter.outputNotification" }}
verbs:
- "*"
- apiGroups:
- management.cattle.io
resources:
- rancherusernotifications
verbs:
- create
- apiGroups:
- management.cattle.io
resources:
- settings
resourceNames:
- {{ template "csp-adapter.hostnameSetting" }}
- {{ template "csp-adapter.versionSetting" }}
verbs:
- get
- list
- watch
- apiGroups:
- apiregistration.k8s.io
resources:
- apiservices
verbs:
- get
- list
- watch
- apiGroups:
- apiextensions.k8s.io
resources:
- customresourcedefinitions
verbs:
- get
- list
- watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ .Chart.Name }}-crb
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: {{ .Chart.Name }}-cluster-role
subjects:
- kind: ServiceAccount
name: {{ .Chart.Name }}
namespace: cattle-csp-adapter-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: {{ .Chart.Name }}-role
namespace: cattle-csp-adapter-system
rules:
- apiGroups:
- ""
resources:
- secrets
resourceNames:
- {{ template "csp-adapter.cacheSecret" }}
verbs:
- "*"
- apiGroups:
- ""
resources:
- secrets
verbs:
- create
- apiGroups:
- ""
resources:
- configmaps
resourceNames:
- {{ template "csp-adapter.outputConfigMap" }}
verbs:
- "*"
- apiGroups:
- ""
resources:
- configmaps
verbs:
- create
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ .Chart.Name }}-binding
namespace: cattle-csp-adapter-system
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: {{ .Chart.Name }}-role
subjects:
- kind: ServiceAccount
name: {{ .Chart.Name }}
namespace: cattle-csp-adapter-system

View File

@ -0,0 +1,17 @@
{{- if eq (include "csp-adapter.csp" . ) "aws" -}}
{{- if eq (include "csp-adapter.awsValuesSet" .) "true" -}}
{{- else -}}
{{- fail "If the aws provider is enabled, account number and role name must be provided" -}}
{{- end -}}
{{- else -}}
{{- fail "One cloud provider must be enabled" -}}
{{- end -}}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Chart.Name }}
namespace: cattle-csp-adapter-system
{{- if eq (include "csp-adapter.csp" . ) "aws" }}
annotations:
eks.amazonaws.com/role-arn: arn:aws:iam::{{ .Values.aws.accountNumber }}:role/{{ .Values.aws.roleName }}
{{- end }}

View File

@ -0,0 +1,24 @@
debug: false
# used for development only - not supported in production
devMode: false
image:
repository: rancher/rancher-csp-adapter
tag: v5.0.0-rc1
imagePullPolicy: IfNotPresent
global:
cattle:
systemDefaultRegistry: ""
tolerations: []
# if rancher is using a privateCA, this certificate must be provided as a secret in the adapter's namespace - see the
# readme/docs for more details
#additionalTrustedCAs: true
# at least one csp must be enabled like below
aws:
enabled: false
accountNumber: ""
roleName: ""

View File

@ -8437,6 +8437,27 @@ entries:
- assets/rancher-cis-benchmark-crd/rancher-cis-benchmark-crd-2.0.0.tgz
version: 2.0.0
rancher-csp-adapter:
- annotations:
catalog.cattle.io/certified: rancher
catalog.cattle.io/display-name: Rancher CSP Adapter
catalog.cattle.io/hidden: "true"
catalog.cattle.io/kube-version: '>= 1.27.0-0 < 1.32.0-0'
catalog.cattle.io/namespace: cattle-csp-adapter-system
catalog.cattle.io/os: linux
catalog.cattle.io/permits-os: linux
catalog.cattle.io/rancher-version: '>= 2.10.0-0 < 2.11.0-0'
catalog.cattle.io/release-name: rancher-csp-adapter
catalog.cattle.io/scope: management
apiVersion: v2
appVersion: 5.0.0-rc1
created: "2024-10-16T13:38:16.083417803-07:00"
description: Cloud Service Provider Marketplace Adapter for Rancher. Monitors
Rancher entitlements against usage.
digest: c1324fdee8e52d0e162e4632c2299480140b77666a645c68b15f54d12d35c04b
name: rancher-csp-adapter
urls:
- assets/rancher-csp-adapter/rancher-csp-adapter-105.0.0+up5.0.0-rc1.tgz
version: 105.0.0+up5.0.0-rc1
- annotations:
catalog.cattle.io/certified: rancher
catalog.cattle.io/display-name: Rancher CSP Adapter

View File

@ -1,2 +1,3 @@
url: https://github.com/rancher/csp-adapter/releases/download/v4.0.0/rancher-csp-adapter-4.0.0.tgz
version: 104.0.0
url: https://github.com/rancher/csp-adapter/releases/download/v5.0.0-rc1/rancher-csp-adapter-5.0.0-rc1.tgz
version: 105.0.0

View File

@ -28,6 +28,8 @@ rancher-backup:
- 105.0.0+up6.0.0-rc.5
rancher-backup-crd:
- 105.0.0+up6.0.0-rc.5
rancher-csp-adapter:
- 105.0.0+up5.0.0-rc1
rancher-eks-operator:
- 105.0.0+up1.10.0-rc.1
rancher-eks-operator-crd: