From 32aa334dc32443e8f4e65673dac1bf48e4b26d16 Mon Sep 17 00:00:00 2001 From: Yuanxun Gu Date: Wed, 11 Jun 2025 10:59:17 +0200 Subject: [PATCH 01/20] Chore: Add initial Helm chart and CI configuration for BTP Cloud Foundry resources --- .../.ci.config.yaml | 21 ++++ .../crossplane-provider-btp-cf/Chart.yaml | 11 ++ .../crossplane-provider-btp-cf/README.md | 41 +++++++ .../templates/NOTES.txt | 0 .../templates/app.yaml | 17 +++ .../templates/org-members.yaml | 17 +++ .../templates/organization.yaml | 19 ++++ .../templates/route.yaml | 17 +++ .../templates/secrets/generic-secret.yaml | 24 ++++ .../templates/service-instance.yaml | 17 +++ .../templates/service-key.yaml | 21 ++++ .../templates/space-members.yaml | 17 +++ .../templates/spaces.yaml | 17 +++ .../crossplane-provider-btp-cf/values.ci.yaml | 106 ++++++++++++++++++ .../crossplane-provider-btp-cf/values.yaml | 68 +++++++++++ ...loudfoundry-btp-orchestrate-cloud-sap.yaml | 17 +++ .../crossplane-provider-configs/values.yaml | 25 +++++ 17 files changed, 455 insertions(+) create mode 100644 helm/charts/crossplane-provider-btp-cf/.ci.config.yaml create mode 100644 helm/charts/crossplane-provider-btp-cf/Chart.yaml create mode 100644 helm/charts/crossplane-provider-btp-cf/README.md create mode 100644 helm/charts/crossplane-provider-btp-cf/templates/NOTES.txt create mode 100644 helm/charts/crossplane-provider-btp-cf/templates/app.yaml create mode 100644 helm/charts/crossplane-provider-btp-cf/templates/org-members.yaml create mode 100644 helm/charts/crossplane-provider-btp-cf/templates/organization.yaml create mode 100644 helm/charts/crossplane-provider-btp-cf/templates/route.yaml create mode 100644 helm/charts/crossplane-provider-btp-cf/templates/secrets/generic-secret.yaml create mode 100644 helm/charts/crossplane-provider-btp-cf/templates/service-instance.yaml create mode 100644 helm/charts/crossplane-provider-btp-cf/templates/service-key.yaml create mode 100644 helm/charts/crossplane-provider-btp-cf/templates/space-members.yaml create mode 100644 helm/charts/crossplane-provider-btp-cf/templates/spaces.yaml create mode 100644 helm/charts/crossplane-provider-btp-cf/values.ci.yaml create mode 100644 helm/charts/crossplane-provider-btp-cf/values.yaml create mode 100644 helm/charts/crossplane-provider-configs/templates/mcp/providerConfigs/cloudfoundry-btp-orchestrate-cloud-sap.yaml diff --git a/helm/charts/crossplane-provider-btp-cf/.ci.config.yaml b/helm/charts/crossplane-provider-btp-cf/.ci.config.yaml new file mode 100644 index 0000000..ea4fde3 --- /dev/null +++ b/helm/charts/crossplane-provider-btp-cf/.ci.config.yaml @@ -0,0 +1,21 @@ +# pipeline feature flags obsolete (Bash Scripts) + +jfrog.sh: + enabled: true + + +# pipeline feature flags +yamllint: + enable: true +helm-docs: + enable: true +helm-chart-linting: + enable: true +helm-chart-validation: + enable: true +helm-chart-version-bump: + enable: true +helm-chart-dependency-update: + enable: true +k8s-manifest-templating: + enable: false \ No newline at end of file diff --git a/helm/charts/crossplane-provider-btp-cf/Chart.yaml b/helm/charts/crossplane-provider-btp-cf/Chart.yaml new file mode 100644 index 0000000..7ab0343 --- /dev/null +++ b/helm/charts/crossplane-provider-btp-cf/Chart.yaml @@ -0,0 +1,11 @@ +apiVersion: v2 +appVersion: 0.0.1 +description: A Helm Chart to template crossplane manifests to manage BTP Cloud Foundry + resources on BTP. +home: https://github.tools.sap/cloud-orchestration/mcp-blueprints +icon: https://avatars.githubusercontent.com/u/45158470?s=48&v=4 +name: crossplane-provider-btp-cf +sources: +- https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry +type: application +version: 0.0.10 diff --git a/helm/charts/crossplane-provider-btp-cf/README.md b/helm/charts/crossplane-provider-btp-cf/README.md new file mode 100644 index 0000000..663cb43 --- /dev/null +++ b/helm/charts/crossplane-provider-btp-cf/README.md @@ -0,0 +1,41 @@ + + +# crossplane-provider-btp-cf + +![Version: 0.0.10](https://img.shields.io/badge/Version-0.0.10-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.0.1](https://img.shields.io/badge/AppVersion-0.0.1-informational?style=flat-square) + +A Helm Chart to template crossplane manifests to manage BTP Cloud Foundry resources on BTP. + +**Homepage:** + +## Source Code + +* + +## Values + +| Key | Type | Default | Description | +|-----|------|---------|-------------| +| apps | list | object | `apps[].` orchestrate [`kind: App`](https://pages.github.tools.sap/cloud-orchestration/docs/sap-services/btp-services/cloudfoundry/app) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | +| apps[0].forProvider | list | `[]` | [forProvider](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/app/v1alpha1) CRD | +| orgMembers | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `orgMembers[].` orchestrate [`kind: OrgMembers`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/orgmembers/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | +| orgMembers[0].forProvider | list | `[]` | [OrgMembersParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/orgmembers/v1alpha1) encapsulate role assignments to CloudFoundry Organizations. | +| organizations | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","externalName":"","forProvider":[],"name":""}]` | `organizations[].` orchestrate [`kind: Organization`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/organization/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | +| organizations[0].externalName | string | `""` | must match the actual name of the Cloud Foundry organization in BTP! More information about [Import Cloud Foundry Organization](https://pages.github.tools.sap/cloud-orchestration/docs/sap-services/btp-services/cloudfoundry/org_space#import-cloud-foundry-organization). | +| organizations[0].forProvider | list | `[]` | [OrganizationParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/organization/v1alpha1) Parameters for a Organization. | +| routes | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `routes[].` orchestrate [`kind: Route`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/route/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | +| routes[0].forProvider | list | `[]` | [RouteParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/route/v1alpha1) parameters for Routes CRD. | +| secrets[0].data | list | `[]` | *(optional)* [data](https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/secret-v1/) *(map[string][]byte)* Data contains the secret data. Each key must consist of alphanumeric characters, '-', '_' or '.'. The serialized form of the secret data is a base64 encoded string, representing the arbitrary (possibly non-string) data value here. Described in [here](https://tools.ietf.org/html/rfc4648#section-4) | +| secrets[0].name | string | `""` | defines k8s `metadata.name` value of `kind: Secret` | +| secrets[0].namespace | string | `""` | *(optional)* defines k8s [`metadata.namespace`](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/object-meta/#ObjectMeta) value of `kind: Secret` | +| secrets[0].stringData | list | `[]` | *(optional)* [stringData](https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/secret-v1/) *(map[string]string)* allows specifying non-binary secret data in string form. It is provided as a write-only input field for convenience. All keys and values are merged into the data field on write, overwriting any existing values. The stringData field is never output when reading from the API. | +| serviceInstances | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `serviceInstances[].` orchestrate [`kind: ServiceInstance`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/serviceinstance/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | +| serviceInstances[0].forProvider | list | `[]` | [ServiceInstanceParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/serviceinstance/v1alpha1) defines the desired state of Service Instance. | +| serviceKeys | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":"","writeConnectionSecretToRef":[]}]` | `serviceKeys[].` orchestrate [`kind: ServiceKey`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/servicekey/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | +| serviceKeys[0].forProvider | list | `[]` | [ServiceKeyParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/servicekey/v1alpha1) define the desired state of the forProvider field of ServiceKey. | +| serviceKeys[0].writeConnectionSecretToRef | list | `[]` | *optional* - When a Crossplane Provider creates a managed resource it may generate resource-specific details, like usernames, passwords or connection details like an IP address. Crossplane stores these details in a Kubernetes Secret object specified by the `writeConnectionSecretToRef` values. Learn more about Crossplane concept [Managed Resources Fields](https://docs.crossplane.io/latest/concepts/managed-resources/#writeconnectionsecrettoref)! | +| spaceMembers | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `spaceMembers[].` orchestrate [`kind: SpaceMembers`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/spacemembers/v1alpha1?view=docs) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | +| spaceMembers[0].forProvider | list | `[]` | [SpaceMembersParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/spacemembers/v1alpha1?view=docs) encapsulate role assignments to CloudFoundry Spaces. | + +---------------------------------------------- +Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2) \ No newline at end of file diff --git a/helm/charts/crossplane-provider-btp-cf/templates/NOTES.txt b/helm/charts/crossplane-provider-btp-cf/templates/NOTES.txt new file mode 100644 index 0000000..e69de29 diff --git a/helm/charts/crossplane-provider-btp-cf/templates/app.yaml b/helm/charts/crossplane-provider-btp-cf/templates/app.yaml new file mode 100644 index 0000000..3ed53db --- /dev/null +++ b/helm/charts/crossplane-provider-btp-cf/templates/app.yaml @@ -0,0 +1,17 @@ +{{- range $item := .Values.apps }} + {{- if and ($item) (ne $item.name "") }} +--- +apiVersion: cloudfoundry.crossplane.io/v1alpha1 +kind: App +metadata: + name: {{required "A valid value is required! (.Values.apps[].name)" $item.name | lower }} + labels: + openmcp.cloud/blueprint-building-block: "{{ $.Chart.Name }}" + openmcp.cloud/blueprint-building-block-version: "{{ $.Chart.Version }}" +spec: + providerConfigRef: + name: {{required "A valid value is required! (.Values.apps[].cloudfoundryBtpOrchestrateCloudProviderConfigRefName)" $item.cloudfoundryBtpOrchestrateCloudProviderConfigRefName }} + forProvider: + {{- required "A valid value is required! (.Values.spaces[].forProvider)" $item.forProvider | toYaml | nindent 4 }} + {{- end }} +{{- end }} diff --git a/helm/charts/crossplane-provider-btp-cf/templates/org-members.yaml b/helm/charts/crossplane-provider-btp-cf/templates/org-members.yaml new file mode 100644 index 0000000..ff58ffb --- /dev/null +++ b/helm/charts/crossplane-provider-btp-cf/templates/org-members.yaml @@ -0,0 +1,17 @@ +{{- range $item := .Values.orgMembers }} + {{- if and ($item) (ne $item.name "") }} +--- +apiVersion: cloudfoundry.crossplane.io/v1alpha1 +kind: OrgMembers +metadata: + name: {{required "A valid value is required! (.Values.orgMembers[].name)" $item.name | lower }} + labels: + openmcp.cloud/blueprint-building-block: "{{ $.Chart.Name }}" + openmcp.cloud/blueprint-building-block-version: "{{ $.Chart.Version }}" +spec: + providerConfigRef: + name: {{required "A valid value is required! (.Values.orgMembers[].cloudfoundryBtpOrchestrateCloudProviderConfigRefName)" $item.cloudfoundryBtpOrchestrateCloudProviderConfigRefName }} + forProvider: + {{- required "A valid value is required! (.Values.spaces[].forProvider)" $item.forProvider | toYaml | nindent 4 }} + {{- end }} +{{- end }} \ No newline at end of file diff --git a/helm/charts/crossplane-provider-btp-cf/templates/organization.yaml b/helm/charts/crossplane-provider-btp-cf/templates/organization.yaml new file mode 100644 index 0000000..2a5e380 --- /dev/null +++ b/helm/charts/crossplane-provider-btp-cf/templates/organization.yaml @@ -0,0 +1,19 @@ +{{- range $item := .Values.organizations }} + {{- if and ($item) (ne $item.name "") }} +--- +apiVersion: cloudfoundry.crossplane.io/v1alpha1 +kind: Organization +metadata: + name: {{required "A valid value is required! (.Values.organizations[].name)" $item.name | lower }} + labels: + openmcp.cloud/blueprint-building-block: "{{ $.Chart.Name }}" + openmcp.cloud/blueprint-building-block-version: "{{ $.Chart.Version }}" + annotations: + crossplane.io/external-name: {{required "A valid value is required! (.Values.organizations[].externalName)" $item.externalName }} +spec: + providerConfigRef: + name: {{required "A valid value is required! (.Values.apps[].cloudfoundryBtpOrchestrateCloudProviderConfigRefName)" $item.cloudfoundryBtpOrchestrateCloudProviderConfigRefName }} + forProvider: + {{- required "A valid value is required! (.Values.spaces[].forProvider)" $item.forProvider | toYaml | nindent 4 }} + {{- end }} +{{- end }} diff --git a/helm/charts/crossplane-provider-btp-cf/templates/route.yaml b/helm/charts/crossplane-provider-btp-cf/templates/route.yaml new file mode 100644 index 0000000..0302a29 --- /dev/null +++ b/helm/charts/crossplane-provider-btp-cf/templates/route.yaml @@ -0,0 +1,17 @@ +{{- range $item := .Values.routes }} + {{- if and ($item) (ne $item.name "") }} +--- +apiVersion: cloudfoundry.crossplane.io/v1alpha1 +kind: Route +metadata: + name: {{required "A valid value is required! (.Values.routes[].name)" $item.name | lower }} + labels: + openmcp.cloud/blueprint-building-block: "{{ $.Chart.Name }}" + openmcp.cloud/blueprint-building-block-version: "{{ $.Chart.Version }}" +spec: + providerConfigRef: + name: {{required "A valid value is required! (.Values.routes[].cloudfoundryBtpOrchestrateCloudProviderConfigRefName)" $item.cloudfoundryBtpOrchestrateCloudProviderConfigRefName }} + forProvider: + {{- required "A valid value is required! (.Values.spaces[].forProvider)" $item.forProvider | toYaml | nindent 4 }} + {{- end }} +{{- end }} diff --git a/helm/charts/crossplane-provider-btp-cf/templates/secrets/generic-secret.yaml b/helm/charts/crossplane-provider-btp-cf/templates/secrets/generic-secret.yaml new file mode 100644 index 0000000..d645ccd --- /dev/null +++ b/helm/charts/crossplane-provider-btp-cf/templates/secrets/generic-secret.yaml @@ -0,0 +1,24 @@ +{{- range $item := .Values.secrets}} + {{- if and ($item) (ne $item.name "")}} +--- +apiVersion: v1 +kind: Secret +type: Opaque +metadata: + name: {{required "A valid value is required! (.Values.secrets[].name)" $item.name | lower | quote}} + namespace: {{required "A valid value is required! (.Values.secrets[].namespace)" $item.namespace | lower | quote}} + labels: + openmcp.cloud/blueprint-building-block: "{{ $.Chart.Name }}" + openmcp.cloud/blueprint-building-block-version: "{{ $.Chart.Version }}" + {{- if $item.stringData}} +stringData: + {{- range $key, $value := $item.stringData }} + {{ $key }}: {{ $value | quote }} + {{- end }} + {{- end }} + {{- if $item.data}} +data: + {{- toYaml $item.data | nindent 4 }} + {{- end }} + {{- end }} +{{- end }} \ No newline at end of file diff --git a/helm/charts/crossplane-provider-btp-cf/templates/service-instance.yaml b/helm/charts/crossplane-provider-btp-cf/templates/service-instance.yaml new file mode 100644 index 0000000..141f69e --- /dev/null +++ b/helm/charts/crossplane-provider-btp-cf/templates/service-instance.yaml @@ -0,0 +1,17 @@ +{{- range $item := .Values.serviceInstances }} + {{- if and ($item) (ne $item.name "") }} +--- +apiVersion: cloudfoundry.crossplane.io/v1alpha1 +kind: ServiceInstance +metadata: + name: {{required "A valid value is required! (.Values.serviceInstances[].name)" $item.name | lower }} + labels: + openmcp.cloud/blueprint-building-block: "{{ $.Chart.Name }}" + openmcp.cloud/blueprint-building-block-version: "{{ $.Chart.Version }}" +spec: + providerConfigRef: + name: {{required "A valid value is required! (.Values.serviceInstances[].cloudfoundryBtpOrchestrateCloudProviderConfigRefName)" $item.cloudfoundryBtpOrchestrateCloudProviderConfigRefName }} + forProvider: + {{- required "A valid value is required! (.Values.spaces[].forProvider)" $item.forProvider | toYaml | nindent 4 }} + {{- end }} +{{- end }} diff --git a/helm/charts/crossplane-provider-btp-cf/templates/service-key.yaml b/helm/charts/crossplane-provider-btp-cf/templates/service-key.yaml new file mode 100644 index 0000000..7722faf --- /dev/null +++ b/helm/charts/crossplane-provider-btp-cf/templates/service-key.yaml @@ -0,0 +1,21 @@ +{{- range $item := .Values.serviceKeys }} + {{- if and ($item) (ne $item.name "") }} +--- +apiVersion: cloudfoundry.crossplane.io/v1alpha1 +kind: ServiceKey +metadata: + name: {{required "A valid value is required! (.Values.serviceKeys[].name)" $item.name | lower }} + labels: + openmcp.cloud/blueprint-building-block: "{{ $.Chart.Name }}" + openmcp.cloud/blueprint-building-block-version: "{{ $.Chart.Version }}" +spec: + providerConfigRef: + name: {{required "A valid value is required! (.Values.serviceKeys[].cloudfoundryBtpOrchestrateCloudProviderConfigRefName)" $item.cloudfoundryBtpOrchestrateCloudProviderConfigRefName }} + forProvider: + {{- required "A valid value is required! (.Values.spaces[].forProvider)" $item.forProvider | toYaml | nindent 4 }} + {{- if $item.writeConnectionSecretToRef}} + writeConnectionSecretToRef: + {{- $item.writeConnectionSecretToRef | toYaml | nindent 4 }} + {{- end }} + {{- end }} +{{- end }} diff --git a/helm/charts/crossplane-provider-btp-cf/templates/space-members.yaml b/helm/charts/crossplane-provider-btp-cf/templates/space-members.yaml new file mode 100644 index 0000000..3fc076a --- /dev/null +++ b/helm/charts/crossplane-provider-btp-cf/templates/space-members.yaml @@ -0,0 +1,17 @@ +{{- range $item := .Values.spaceMembers }} + {{- if and ($item) (ne $item.name "") }} +--- +apiVersion: cloudfoundry.crossplane.io/v1alpha1 +kind: SpaceMembers +metadata: + name: {{required "A valid value is required! (.Values.spaceMembers[].name)" $item.name | lower }} + labels: + openmcp.cloud/blueprint-building-block: "{{ $.Chart.Name }}" + openmcp.cloud/blueprint-building-block-version: "{{ $.Chart.Version }}" +spec: + providerConfigRef: + name: {{required "A valid value is required! (.Values.spaceMembers[].cloudfoundryBtpOrchestrateCloudProviderConfigRefName)" $item.cloudfoundryBtpOrchestrateCloudProviderConfigRefName }} + forProvider: + {{- toYaml $item.forProvider | nindent 4 }} + {{- end }} +{{- end }} diff --git a/helm/charts/crossplane-provider-btp-cf/templates/spaces.yaml b/helm/charts/crossplane-provider-btp-cf/templates/spaces.yaml new file mode 100644 index 0000000..709e0f1 --- /dev/null +++ b/helm/charts/crossplane-provider-btp-cf/templates/spaces.yaml @@ -0,0 +1,17 @@ +{{- range $item := .Values.spaces }} + {{- if and ($item) (ne $item.name "") }} +--- +apiVersion: cloudfoundry.crossplane.io/v1alpha1 +kind: Space +metadata: + name: {{required "A valid value is required! (.Values.spaces[].name)" $item.name | lower }} + labels: + openmcp.cloud/blueprint-building-block: "{{ $.Chart.Name }}" + openmcp.cloud/blueprint-building-block-version: "{{ $.Chart.Version }}" +spec: + providerConfigRef: + name: {{required "A valid value is required! (.Values.spaces[].cloudfoundryBtpOrchestrateCloudProviderConfigRefName)" $item.cloudfoundryBtpOrchestrateCloudProviderConfigRefName }} + forProvider: + {{- required "A valid value is required! (.Values.spaces[].forProvider)" $item.forProvider | toYaml | nindent 4 }} + {{- end }} +{{- end }} diff --git a/helm/charts/crossplane-provider-btp-cf/values.ci.yaml b/helm/charts/crossplane-provider-btp-cf/values.ci.yaml new file mode 100644 index 0000000..18073b1 --- /dev/null +++ b/helm/charts/crossplane-provider-btp-cf/values.ci.yaml @@ -0,0 +1,106 @@ +--- +######################################################################################################################## +###! /!\ this file is only used in github pipeline to template a valid and NOT empty helm manifest! ##### +######################################################################################################################## +apps: + - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "cloudfoundryBtpOrchestrateCloudProviderConfigRefName" + name: "name" + forProvider: + name: my-app + dockerImage: cloud-orchestration-experimental.common.repositories.cloud.sap/hello-cf:latest + dockerCredentialsSecretRef: + name: registry-secret + namespace: crossplane-system + spaceRef: + name: my-space + routes: + - routeRef: + name: my-route +######################################################################################################################## +routes: + - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "cloudfoundryBtpOrchestrateCloudProviderConfigRefName" + name: "name" + forProvider: + domain: + name: cfapps.eu10.hana.ondemand.com + hostname: my-app + path: /hello # must begin with a `/` + spaceRef: + name: my-space + policy: + resolve: Always +######################################################################################################################## +serviceInstances: + - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "cloudfoundryBtpOrchestrateCloudProviderConfigRefName" + name: "name" + forProvider: + type: managed + name: my-destination + spaceRef: + name: my-space + servicePlan: + offering: destination + plan: lite +######################################################################################################################## +serviceKeys: + - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "cloudfoundryBtpOrchestrateCloudProviderConfigRefName" + name: "name" + forProvider: + name: my-service-key + serviceInstanceRef: + name: my-service-instance + connectionDetailsAsJSON: false + writeConnectionSecretToRef: + name: my-service-key-secret + namespace: default +######################################################################################################################## +orgMembers: + - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "cloudfoundryBtpOrchestrateCloudProviderConfigRefName" + name: "name" + forProvider: + orgRef: + name: my-org + roleType: Managers + members: + - username: user1@sap.com + origin: sap.ids + - username: user2@sap.com + enforcementPolicy: Lax +######################################################################################################################## +spaceMembers: + - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "cloudfoundryBtpOrchestrateCloudProviderConfigRefName" + name: "name" + # -- [SpaceMembersParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/spacemembers/v1alpha1?view=docs) encapsulate role assignments to CloudFoundry Spaces. + forProvider: + enforcementPolicy: "enforcementPolicy" + members: + - origin: "origin" + username: "username" + roleType: "Developers" + space: "space" + spaceRef: + name: "name" + policy: + resolution: "resolution" + resolve: "Always" + spaceSelector: + matchControllerRef: true + matchLabels: + policy: + resolution: "resolution" +######################################################################################################################## +organizations: + - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "cloudfoundryBtpOrchestrateCloudProviderConfigRefName" + name: "name" + externalName: "externalName" + forProvider: + id: "The external GUID of the org" + name: "The name of the Organization in Cloud Foundry" +######################################################################################################################## +secrets: + - name: "name" + namespace: "namespace" + stringData: + foo: "bar" + #data: [] +######################################################################################################################## \ No newline at end of file diff --git a/helm/charts/crossplane-provider-btp-cf/values.yaml b/helm/charts/crossplane-provider-btp-cf/values.yaml new file mode 100644 index 0000000..194e97d --- /dev/null +++ b/helm/charts/crossplane-provider-btp-cf/values.yaml @@ -0,0 +1,68 @@ +--- +######################################################################################################################## +# -- `apps[].` orchestrate [`kind: App`](https://pages.github.tools.sap/cloud-orchestration/docs/sap-services/btp-services/cloudfoundry/app) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). +# @default -- object +apps: + - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" + name: "" + # -- [forProvider](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/app/v1alpha1) CRD + forProvider: [] +######################################################################################################################## +# -- `routes[].` orchestrate [`kind: Route`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/route/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). +routes: + - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" + name: "" + # -- [RouteParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/route/v1alpha1) parameters for Routes CRD. + forProvider: [] +######################################################################################################################## +# -- `serviceInstances[].` orchestrate [`kind: ServiceInstance`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/serviceinstance/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). +serviceInstances: + - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" + name: "" + # -- [ServiceInstanceParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/serviceinstance/v1alpha1) defines the desired state of Service Instance. + forProvider: [] +######################################################################################################################## +# -- `serviceKeys[].` orchestrate [`kind: ServiceKey`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/servicekey/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). +serviceKeys: + - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" + name: "" + # -- [ServiceKeyParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/servicekey/v1alpha1) define the desired state of the forProvider field of ServiceKey. + forProvider: [] + # -- *optional* - When a Crossplane Provider creates a managed resource it may generate resource-specific details, like usernames, passwords or connection details like an IP address. + # Crossplane stores these details in a Kubernetes Secret object specified by the `writeConnectionSecretToRef` values. Learn more about Crossplane concept [Managed Resources Fields](https://docs.crossplane.io/latest/concepts/managed-resources/#writeconnectionsecrettoref)! + writeConnectionSecretToRef: [] +######################################################################################################################## +# -- `orgMembers[].` orchestrate [`kind: OrgMembers`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/orgmembers/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). +orgMembers: + - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" + name: "" + # -- [OrgMembersParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/orgmembers/v1alpha1) encapsulate role assignments to CloudFoundry Organizations. + forProvider: [] +######################################################################################################################## +# -- `organizations[].` orchestrate [`kind: Organization`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/organization/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). +organizations: + - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" + name: "" + # -- must match the actual name of the Cloud Foundry organization in BTP! More information about [Import Cloud Foundry Organization](https://pages.github.tools.sap/cloud-orchestration/docs/sap-services/btp-services/cloudfoundry/org_space#import-cloud-foundry-organization). + externalName: "" + # -- [OrganizationParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/organization/v1alpha1) Parameters for a Organization. + forProvider: [] +######################################################################################################################## +# -- `spaceMembers[].` orchestrate [`kind: SpaceMembers`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/spacemembers/v1alpha1?view=docs) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). +spaceMembers: + - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" + name: "" + # -- [SpaceMembersParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/spacemembers/v1alpha1?view=docs) encapsulate role assignments to CloudFoundry Spaces. + forProvider: [] +######################################################################################################################## +# @secrets -- :exclamation::exclamation: never EVER PUSH confidential secrets/credentials in plain text into GIT :exclamation::exclamation: +secrets: + # secrets[0].name -- defines k8s `metadata.name` value of `kind: Secret` + - name: "" + # -- *(optional)* defines k8s [`metadata.namespace`](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/object-meta/#ObjectMeta) value of `kind: Secret` + namespace: "" + # -- *(optional)* [stringData](https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/secret-v1/) *(map[string]string)* allows specifying non-binary secret data in string form. It is provided as a write-only input field for convenience. All keys and values are merged into the data field on write, overwriting any existing values. The stringData field is never output when reading from the API. + stringData: [] + # -- *(optional)* [data](https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/secret-v1/) *(map[string][]byte)* Data contains the secret data. Each key must consist of alphanumeric characters, '-', '_' or '.'. The serialized form of the secret data is a base64 encoded string, representing the arbitrary (possibly non-string) data value here. Described in [here](https://tools.ietf.org/html/rfc4648#section-4) + data: [] +######################################################################################################################## \ No newline at end of file diff --git a/helm/charts/crossplane-provider-configs/templates/mcp/providerConfigs/cloudfoundry-btp-orchestrate-cloud-sap.yaml b/helm/charts/crossplane-provider-configs/templates/mcp/providerConfigs/cloudfoundry-btp-orchestrate-cloud-sap.yaml new file mode 100644 index 0000000..f8e6f22 --- /dev/null +++ b/helm/charts/crossplane-provider-configs/templates/mcp/providerConfigs/cloudfoundry-btp-orchestrate-cloud-sap.yaml @@ -0,0 +1,17 @@ +{{- range $item := .Values.providerConfigs.cloudfoundryBtpOrchestrateCloud}} + {{- if and ($item) (ne $item.providerConfigRefName "")}} +--- +apiVersion: cloudfoundry.crossplane.io/v1beta1 +kind: ProviderConfig +metadata: + name: {{required "A valid value is required! (.Values.providerConfigs.cloudfoundryBtpOrchestrateCloud[].providerConfigRefName)" $item.providerConfigRefName | lower | quote}} + labels: + openmcp.cloud/blueprint-building-block: "{{ $.Chart.Name }}" + openmcp.cloud/blueprint-building-block-version: "{{ $.Chart.Version }}" +spec: + endpoint: + {{- required "A valid value is required! (.Values.providerConfigs.cloudfoundryBtpOrchestrateCloud[].endpoint)" $item.endpoint | toYaml | nindent 4 }} + credentials: + {{- required "A valid value is required! (.Values.providerConfigs.cloudfoundryBtpOrchestrateCloud[].credentials)" $item.credentials | toYaml | nindent 4 }} + {{- end }} +{{- end }} \ No newline at end of file diff --git a/helm/charts/crossplane-provider-configs/values.yaml b/helm/charts/crossplane-provider-configs/values.yaml index 7ba3656..8c11a64 100644 --- a/helm/charts/crossplane-provider-configs/values.yaml +++ b/helm/charts/crossplane-provider-configs/values.yaml @@ -152,6 +152,31 @@ providerConfigs: namespace: "default" name: "" key: "" +######################################################################################################################## + ######################################################################################################################## + # -- creates k8s manifest `kind: ProviderConfig` of `apiVersion: cloudfoundry.btp.orchestrate.cloud.sap/v1beta1` + # This [`ProviderConfig`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/providerconfig/v1beta1) typically points to k8s secret in which the credentials required for the [BTP Cloud Foundry](https://pages.github.tools.sap/cloud-orchestration/docs/sap-services/btp-services/cloudfoundry/provider) provider to communicate with the Cloud Foundry Environment on BTP. + # @default -- [] + cloudfoundryBtpOrchestrateCloud: + - providerConfigRefName: "" + # @default -- [] + endpoint: + source: "Secret" + # -- A SecretRef is a reference to a secret key that contains the credentials that must be used to connect to the provider. + # @default -- [] + secretRef: + namespace: "default" + name: "" + key: "" + # @default -- [] + credentials: + source: "Secret" + # -- A SecretRef is a reference to a secret key that contains the credentials that must be used to connect to the provider. + # @default -- [] + secretRef: + namespace: "default" + name: "" + key: "" ######################################################################################################################## # @secrets -- :exclamation::exclamation: never EVER PUSH confidential secrets/credentials in plain text into GIT :exclamation::exclamation: # @default -- [] From ddf3dfbd8b6076e2ab3989337dd6499fb8ef366c Mon Sep 17 00:00:00 2001 From: Yuanxun Gu Date: Wed, 11 Jun 2025 11:36:39 +0200 Subject: [PATCH 02/20] Chore: Rename service-key.yaml to service-credential-binding.yaml and update related references --- .../{service-key.yaml => service-credential-binding.yaml} | 4 ++-- helm/charts/crossplane-provider-btp-cf/values.ci.yaml | 2 +- helm/charts/crossplane-provider-btp-cf/values.yaml | 6 +++--- 3 files changed, 6 insertions(+), 6 deletions(-) rename helm/charts/crossplane-provider-btp-cf/templates/{service-key.yaml => service-credential-binding.yaml} (90%) diff --git a/helm/charts/crossplane-provider-btp-cf/templates/service-key.yaml b/helm/charts/crossplane-provider-btp-cf/templates/service-credential-binding.yaml similarity index 90% rename from helm/charts/crossplane-provider-btp-cf/templates/service-key.yaml rename to helm/charts/crossplane-provider-btp-cf/templates/service-credential-binding.yaml index 7722faf..150c7f9 100644 --- a/helm/charts/crossplane-provider-btp-cf/templates/service-key.yaml +++ b/helm/charts/crossplane-provider-btp-cf/templates/service-credential-binding.yaml @@ -1,8 +1,8 @@ -{{- range $item := .Values.serviceKeys }} +{{- range $item := .Values.serviceCredentialsBindings }} {{- if and ($item) (ne $item.name "") }} --- apiVersion: cloudfoundry.crossplane.io/v1alpha1 -kind: ServiceKey +kind: ServiceCredentialBinding metadata: name: {{required "A valid value is required! (.Values.serviceKeys[].name)" $item.name | lower }} labels: diff --git a/helm/charts/crossplane-provider-btp-cf/values.ci.yaml b/helm/charts/crossplane-provider-btp-cf/values.ci.yaml index 18073b1..508ac98 100644 --- a/helm/charts/crossplane-provider-btp-cf/values.ci.yaml +++ b/helm/charts/crossplane-provider-btp-cf/values.ci.yaml @@ -42,7 +42,7 @@ serviceInstances: offering: destination plan: lite ######################################################################################################################## -serviceKeys: +serviceCredentialsBindings: - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "cloudfoundryBtpOrchestrateCloudProviderConfigRefName" name: "name" forProvider: diff --git a/helm/charts/crossplane-provider-btp-cf/values.yaml b/helm/charts/crossplane-provider-btp-cf/values.yaml index 194e97d..be99b4c 100644 --- a/helm/charts/crossplane-provider-btp-cf/values.yaml +++ b/helm/charts/crossplane-provider-btp-cf/values.yaml @@ -22,11 +22,11 @@ serviceInstances: # -- [ServiceInstanceParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/serviceinstance/v1alpha1) defines the desired state of Service Instance. forProvider: [] ######################################################################################################################## -# -- `serviceKeys[].` orchestrate [`kind: ServiceKey`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/servicekey/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). -serviceKeys: +# -- `serviceCredentialsBindings[].` orchestrate [`kind: ServiceKey`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/servicekey/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). +serviceCredentialsBindings: - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" name: "" - # -- [ServiceKeyParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/servicekey/v1alpha1) define the desired state of the forProvider field of ServiceKey. + # -- [serviceCredentialsBindingParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/servicekey/v1alpha1) define the desired state of the forProvider field of ServiceKey. forProvider: [] # -- *optional* - When a Crossplane Provider creates a managed resource it may generate resource-specific details, like usernames, passwords or connection details like an IP address. # Crossplane stores these details in a Kubernetes Secret object specified by the `writeConnectionSecretToRef` values. Learn more about Crossplane concept [Managed Resources Fields](https://docs.crossplane.io/latest/concepts/managed-resources/#writeconnectionsecrettoref)! From 25aeda2698b5e37b8398e7476d278e78094b2827 Mon Sep 17 00:00:00 2001 From: Yuanxun Gu Date: Wed, 11 Jun 2025 11:40:18 +0200 Subject: [PATCH 03/20] Chore: Update references in values.yaml to reflect service credential binding changes --- helm/charts/crossplane-provider-btp-cf/values.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/helm/charts/crossplane-provider-btp-cf/values.yaml b/helm/charts/crossplane-provider-btp-cf/values.yaml index be99b4c..a839756 100644 --- a/helm/charts/crossplane-provider-btp-cf/values.yaml +++ b/helm/charts/crossplane-provider-btp-cf/values.yaml @@ -22,11 +22,11 @@ serviceInstances: # -- [ServiceInstanceParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/serviceinstance/v1alpha1) defines the desired state of Service Instance. forProvider: [] ######################################################################################################################## -# -- `serviceCredentialsBindings[].` orchestrate [`kind: ServiceKey`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/servicekey/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). +# -- `serviceCredentialsBindings[].` orchestrate [`kind: ServiceKey`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.crossplane.io/servicecredentialbinding/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). serviceCredentialsBindings: - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" name: "" - # -- [serviceCredentialsBindingParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/servicekey/v1alpha1) define the desired state of the forProvider field of ServiceKey. + # -- [serviceCredentialsBindingParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.crossplane.io/servicecredentialbinding/v1alpha1) define the desired state of the forProvider field of serviceCredentialsBindings. forProvider: [] # -- *optional* - When a Crossplane Provider creates a managed resource it may generate resource-specific details, like usernames, passwords or connection details like an IP address. # Crossplane stores these details in a Kubernetes Secret object specified by the `writeConnectionSecretToRef` values. Learn more about Crossplane concept [Managed Resources Fields](https://docs.crossplane.io/latest/concepts/managed-resources/#writeconnectionsecrettoref)! From cb50cad50e2b4b1418f58158b0430e637ab58120 Mon Sep 17 00:00:00 2001 From: Yuanxun Gu Date: Wed, 11 Jun 2025 11:57:00 +0200 Subject: [PATCH 04/20] Chore: Update references in values.yaml to reflect service credential binding changes --- helm/charts/crossplane-provider-btp-cf/Chart.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/helm/charts/crossplane-provider-btp-cf/Chart.yaml b/helm/charts/crossplane-provider-btp-cf/Chart.yaml index 7ab0343..4fbee61 100644 --- a/helm/charts/crossplane-provider-btp-cf/Chart.yaml +++ b/helm/charts/crossplane-provider-btp-cf/Chart.yaml @@ -2,10 +2,9 @@ apiVersion: v2 appVersion: 0.0.1 description: A Helm Chart to template crossplane manifests to manage BTP Cloud Foundry resources on BTP. -home: https://github.tools.sap/cloud-orchestration/mcp-blueprints icon: https://avatars.githubusercontent.com/u/45158470?s=48&v=4 name: crossplane-provider-btp-cf sources: -- https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry + - https://github.com/openmcp-project/blueprint-building-blocks type: application version: 0.0.10 From a90276be5aa97d0659c820167bfe0a67e6a02b6f Mon Sep 17 00:00:00 2001 From: ricogu Date: Wed, 11 Jun 2025 11:11:43 +0000 Subject: [PATCH 05/20] chore(ci): update helm/charts/crossplane-provider-configs/Chart.yaml.version 0.0.18 -> 0.0.19 --- helm/charts/crossplane-provider-configs/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/charts/crossplane-provider-configs/Chart.yaml b/helm/charts/crossplane-provider-configs/Chart.yaml index 931aab1..30186e5 100644 --- a/helm/charts/crossplane-provider-configs/Chart.yaml +++ b/helm/charts/crossplane-provider-configs/Chart.yaml @@ -16,7 +16,7 @@ icon: "https://avatars.githubusercontent.com/u/45158470?s=48&v=4" # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 0.0.18 +version: 0.0.19 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. From 02a4a39000b0bebffaf1eec53edd04607c77851e Mon Sep 17 00:00:00 2001 From: ricogu Date: Wed, 11 Jun 2025 11:11:44 +0000 Subject: [PATCH 06/20] chore(ci): update Helm Chart helm/charts/crossplane-provider-btp-cf/README.md file --- helm/charts/crossplane-provider-btp-cf/README.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/helm/charts/crossplane-provider-btp-cf/README.md b/helm/charts/crossplane-provider-btp-cf/README.md index 663cb43..1644c3f 100644 --- a/helm/charts/crossplane-provider-btp-cf/README.md +++ b/helm/charts/crossplane-provider-btp-cf/README.md @@ -6,11 +6,9 @@ A Helm Chart to template crossplane manifests to manage BTP Cloud Foundry resources on BTP. -**Homepage:** - ## Source Code -* +* ## Values @@ -29,11 +27,11 @@ A Helm Chart to template crossplane manifests to manage BTP Cloud Foundry resour | secrets[0].name | string | `""` | defines k8s `metadata.name` value of `kind: Secret` | | secrets[0].namespace | string | `""` | *(optional)* defines k8s [`metadata.namespace`](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/object-meta/#ObjectMeta) value of `kind: Secret` | | secrets[0].stringData | list | `[]` | *(optional)* [stringData](https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/secret-v1/) *(map[string]string)* allows specifying non-binary secret data in string form. It is provided as a write-only input field for convenience. All keys and values are merged into the data field on write, overwriting any existing values. The stringData field is never output when reading from the API. | +| serviceCredentialsBindings | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":"","writeConnectionSecretToRef":[]}]` | `serviceCredentialsBindings[].` orchestrate [`kind: ServiceKey`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.crossplane.io/servicecredentialbinding/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | +| serviceCredentialsBindings[0].forProvider | list | `[]` | [serviceCredentialsBindingParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.crossplane.io/servicecredentialbinding/v1alpha1) define the desired state of the forProvider field of serviceCredentialsBindings. | +| serviceCredentialsBindings[0].writeConnectionSecretToRef | list | `[]` | *optional* - When a Crossplane Provider creates a managed resource it may generate resource-specific details, like usernames, passwords or connection details like an IP address. Crossplane stores these details in a Kubernetes Secret object specified by the `writeConnectionSecretToRef` values. Learn more about Crossplane concept [Managed Resources Fields](https://docs.crossplane.io/latest/concepts/managed-resources/#writeconnectionsecrettoref)! | | serviceInstances | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `serviceInstances[].` orchestrate [`kind: ServiceInstance`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/serviceinstance/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | | serviceInstances[0].forProvider | list | `[]` | [ServiceInstanceParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/serviceinstance/v1alpha1) defines the desired state of Service Instance. | -| serviceKeys | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":"","writeConnectionSecretToRef":[]}]` | `serviceKeys[].` orchestrate [`kind: ServiceKey`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/servicekey/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | -| serviceKeys[0].forProvider | list | `[]` | [ServiceKeyParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/servicekey/v1alpha1) define the desired state of the forProvider field of ServiceKey. | -| serviceKeys[0].writeConnectionSecretToRef | list | `[]` | *optional* - When a Crossplane Provider creates a managed resource it may generate resource-specific details, like usernames, passwords or connection details like an IP address. Crossplane stores these details in a Kubernetes Secret object specified by the `writeConnectionSecretToRef` values. Learn more about Crossplane concept [Managed Resources Fields](https://docs.crossplane.io/latest/concepts/managed-resources/#writeconnectionsecrettoref)! | | spaceMembers | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `spaceMembers[].` orchestrate [`kind: SpaceMembers`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/spacemembers/v1alpha1?view=docs) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | | spaceMembers[0].forProvider | list | `[]` | [SpaceMembersParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/spacemembers/v1alpha1?view=docs) encapsulate role assignments to CloudFoundry Spaces. | From 30e9d0e504ee8240a5367f9ce3a295fa1662bf8e Mon Sep 17 00:00:00 2001 From: ricogu Date: Wed, 11 Jun 2025 11:11:44 +0000 Subject: [PATCH 07/20] chore(ci): update Helm Chart helm/charts/crossplane-provider-configs/README.md file --- helm/charts/crossplane-provider-configs/README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/helm/charts/crossplane-provider-configs/README.md b/helm/charts/crossplane-provider-configs/README.md index a03327a..cb7e22a 100644 --- a/helm/charts/crossplane-provider-configs/README.md +++ b/helm/charts/crossplane-provider-configs/README.md @@ -2,7 +2,7 @@ # crossplane-provider-configs -![Version: 0.0.18](https://img.shields.io/badge/Version-0.0.18-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.1.0](https://img.shields.io/badge/AppVersion-0.1.0-informational?style=flat-square) +![Version: 0.0.19](https://img.shields.io/badge/Version-0.0.19-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.1.0](https://img.shields.io/badge/AppVersion-0.1.0-informational?style=flat-square) A Helm chart to template crossplane provider config manifests to orchestrate resources. @@ -25,6 +25,9 @@ A Helm chart to template crossplane provider config manifests to orchestrate res | providerConfigs.btpSapCrossplane[0].globalAccountSubDomain | string | `""` | contains the [Global Account Subdomain](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-btp-account/account.btp.orchestrate.cloud.sap/providerconfig/v1alpha1?path=spec-globalAccount). | | providerConfigs.btpSapCrossplane[0].serviceAccountSecret | object | [] | A user available in BTP. The Credentials in the ServiceAccountSecret are relevant for two reasons (1) On environment creation (Kyma & CloudFoundry) the APIs require a users email address (2) For updating the managers of a CloudFoundry Environment it is required to have a user and a password The structure is pretty basic, a json object with email, username and password. Username & Password must not be filled if there is no need for CloudFoundry Environments. Example: { "email": "", "username": "PUserID", "password": "--" } | | providerConfigs.btpSapCrossplane[0].serviceAccountSecret.secretRef | object | [] | A SecretRef is a reference to a secret key that contains the credentials that must be used to connect to the provider. | +| providerConfigs.cloudfoundryBtpOrchestrateCloud | list | [] | creates k8s manifest `kind: ProviderConfig` of `apiVersion: cloudfoundry.btp.orchestrate.cloud.sap/v1beta1` This [`ProviderConfig`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/providerconfig/v1beta1) typically points to k8s secret in which the credentials required for the [BTP Cloud Foundry](https://pages.github.tools.sap/cloud-orchestration/docs/sap-services/btp-services/cloudfoundry/provider) provider to communicate with the Cloud Foundry Environment on BTP. | +| providerConfigs.cloudfoundryBtpOrchestrateCloud[0].credentials.secretRef | object | [] | A SecretRef is a reference to a secret key that contains the credentials that must be used to connect to the provider. | +| providerConfigs.cloudfoundryBtpOrchestrateCloud[0].endpoint.secretRef | object | [] | A SecretRef is a reference to a secret key that contains the credentials that must be used to connect to the provider. | | providerConfigs.gardenerOrchestrateCloud | list | [] | creates k8s manifest `kind: ProviderConfig` of `apiVersion: gardener.orchestrate.cloud.sap/v1alpha1` This `ProviderConfig` typically points to k8s secret in which a `kubeconfig` of SAP Garden k8s Service Account is located in order to create a SAP Gardener Shoot Cluster Admin Kubeconfig Request `kind: AdminKubeconfigRequest` of `apiVersion: gardener.orchestrate.cloud.sap/v1alpha1` on SAP Garden cluster to pull `kubeconfig` of a SAP Gardener Shoot Clusters into your OpenMCP cluster as a k8s secret. | | providerConfigs.gardenerOrchestrateCloud[0].credentials.secretRef | object | [] | A SecretRef is a reference to a secret key that contains the credentials that must be used to connect to the provider. | | providerConfigs.gcpUpbound | list | [] | creates k8s manifest [`kind: ProviderConfig`](https://marketplace.upbound.io/providers/crossplane-contrib/provider-gcp/v0.22.0/resources/gcp.crossplane.io/ProviderConfig/v1beta1) of `gcp.upbound.io/v1beta1`. Additional information see [GCP Quickstart](https://docs.crossplane.io/latest/getting-started/provider-gcp/#create-a-providerconfig). | From 3e19c1215a7703918f42a5218f4fb2371fef6340 Mon Sep 17 00:00:00 2001 From: Yuanxun Gu Date: Wed, 11 Jun 2025 13:24:19 +0200 Subject: [PATCH 08/20] Chore: Remove writeConnectionSecretToRef references from service-credential-binding.yaml and values.yaml --- .../templates/service-credential-binding.yaml | 4 ---- helm/charts/crossplane-provider-btp-cf/values.yaml | 3 --- 2 files changed, 7 deletions(-) diff --git a/helm/charts/crossplane-provider-btp-cf/templates/service-credential-binding.yaml b/helm/charts/crossplane-provider-btp-cf/templates/service-credential-binding.yaml index 150c7f9..25de162 100644 --- a/helm/charts/crossplane-provider-btp-cf/templates/service-credential-binding.yaml +++ b/helm/charts/crossplane-provider-btp-cf/templates/service-credential-binding.yaml @@ -13,9 +13,5 @@ spec: name: {{required "A valid value is required! (.Values.serviceKeys[].cloudfoundryBtpOrchestrateCloudProviderConfigRefName)" $item.cloudfoundryBtpOrchestrateCloudProviderConfigRefName }} forProvider: {{- required "A valid value is required! (.Values.spaces[].forProvider)" $item.forProvider | toYaml | nindent 4 }} - {{- if $item.writeConnectionSecretToRef}} - writeConnectionSecretToRef: - {{- $item.writeConnectionSecretToRef | toYaml | nindent 4 }} - {{- end }} {{- end }} {{- end }} diff --git a/helm/charts/crossplane-provider-btp-cf/values.yaml b/helm/charts/crossplane-provider-btp-cf/values.yaml index a839756..fcd8bca 100644 --- a/helm/charts/crossplane-provider-btp-cf/values.yaml +++ b/helm/charts/crossplane-provider-btp-cf/values.yaml @@ -28,9 +28,6 @@ serviceCredentialsBindings: name: "" # -- [serviceCredentialsBindingParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.crossplane.io/servicecredentialbinding/v1alpha1) define the desired state of the forProvider field of serviceCredentialsBindings. forProvider: [] - # -- *optional* - When a Crossplane Provider creates a managed resource it may generate resource-specific details, like usernames, passwords or connection details like an IP address. - # Crossplane stores these details in a Kubernetes Secret object specified by the `writeConnectionSecretToRef` values. Learn more about Crossplane concept [Managed Resources Fields](https://docs.crossplane.io/latest/concepts/managed-resources/#writeconnectionsecrettoref)! - writeConnectionSecretToRef: [] ######################################################################################################################## # -- `orgMembers[].` orchestrate [`kind: OrgMembers`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/orgmembers/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). orgMembers: From b4542cd2f46992c4edda5394c769da2183568bfd Mon Sep 17 00:00:00 2001 From: ricogu Date: Wed, 11 Jun 2025 11:24:49 +0000 Subject: [PATCH 09/20] chore(ci): update Helm Chart helm/charts/crossplane-provider-btp-cf/README.md file --- helm/charts/crossplane-provider-btp-cf/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/helm/charts/crossplane-provider-btp-cf/README.md b/helm/charts/crossplane-provider-btp-cf/README.md index 1644c3f..8fbdc83 100644 --- a/helm/charts/crossplane-provider-btp-cf/README.md +++ b/helm/charts/crossplane-provider-btp-cf/README.md @@ -27,9 +27,8 @@ A Helm Chart to template crossplane manifests to manage BTP Cloud Foundry resour | secrets[0].name | string | `""` | defines k8s `metadata.name` value of `kind: Secret` | | secrets[0].namespace | string | `""` | *(optional)* defines k8s [`metadata.namespace`](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/object-meta/#ObjectMeta) value of `kind: Secret` | | secrets[0].stringData | list | `[]` | *(optional)* [stringData](https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/secret-v1/) *(map[string]string)* allows specifying non-binary secret data in string form. It is provided as a write-only input field for convenience. All keys and values are merged into the data field on write, overwriting any existing values. The stringData field is never output when reading from the API. | -| serviceCredentialsBindings | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":"","writeConnectionSecretToRef":[]}]` | `serviceCredentialsBindings[].` orchestrate [`kind: ServiceKey`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.crossplane.io/servicecredentialbinding/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | +| serviceCredentialsBindings | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `serviceCredentialsBindings[].` orchestrate [`kind: ServiceKey`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.crossplane.io/servicecredentialbinding/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | | serviceCredentialsBindings[0].forProvider | list | `[]` | [serviceCredentialsBindingParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.crossplane.io/servicecredentialbinding/v1alpha1) define the desired state of the forProvider field of serviceCredentialsBindings. | -| serviceCredentialsBindings[0].writeConnectionSecretToRef | list | `[]` | *optional* - When a Crossplane Provider creates a managed resource it may generate resource-specific details, like usernames, passwords or connection details like an IP address. Crossplane stores these details in a Kubernetes Secret object specified by the `writeConnectionSecretToRef` values. Learn more about Crossplane concept [Managed Resources Fields](https://docs.crossplane.io/latest/concepts/managed-resources/#writeconnectionsecrettoref)! | | serviceInstances | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `serviceInstances[].` orchestrate [`kind: ServiceInstance`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/serviceinstance/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | | serviceInstances[0].forProvider | list | `[]` | [ServiceInstanceParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/serviceinstance/v1alpha1) defines the desired state of Service Instance. | | spaceMembers | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `spaceMembers[].` orchestrate [`kind: SpaceMembers`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/spacemembers/v1alpha1?view=docs) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | From 6543e96f8bf1a01b205b95fcb76261a5fe9a8a5d Mon Sep 17 00:00:00 2001 From: Yuanxun Gu Date: Wed, 11 Jun 2025 17:35:01 +0200 Subject: [PATCH 10/20] Chore: Bump app version to 0.3.0 and update Chart version to 0.1.0 --- .../crossplane-provider-btp-cf/Chart.yaml | 5 ++-- .../crossplane-provider-btp-cf/values.yaml | 23 +++++++------------ .../crossplane-provider-configs/values.yaml | 4 ++-- 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/helm/charts/crossplane-provider-btp-cf/Chart.yaml b/helm/charts/crossplane-provider-btp-cf/Chart.yaml index 4fbee61..28e82e0 100644 --- a/helm/charts/crossplane-provider-btp-cf/Chart.yaml +++ b/helm/charts/crossplane-provider-btp-cf/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v2 -appVersion: 0.0.1 +appVersion: 0.3.0 description: A Helm Chart to template crossplane manifests to manage BTP Cloud Foundry resources on BTP. icon: https://avatars.githubusercontent.com/u/45158470?s=48&v=4 @@ -7,4 +7,5 @@ name: crossplane-provider-btp-cf sources: - https://github.com/openmcp-project/blueprint-building-blocks type: application -version: 0.0.10 +version: 0.1.0 + diff --git a/helm/charts/crossplane-provider-btp-cf/values.yaml b/helm/charts/crossplane-provider-btp-cf/values.yaml index fcd8bca..68671a1 100644 --- a/helm/charts/crossplane-provider-btp-cf/values.yaml +++ b/helm/charts/crossplane-provider-btp-cf/values.yaml @@ -1,55 +1,48 @@ --- ######################################################################################################################## -# -- `apps[].` orchestrate [`kind: App`](https://pages.github.tools.sap/cloud-orchestration/docs/sap-services/btp-services/cloudfoundry/app) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). +# -- `apps[].` orchestrate `kind: App` of BTP Cloud foundry. # @default -- object apps: - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" name: "" - # -- [forProvider](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/app/v1alpha1) CRD forProvider: [] ######################################################################################################################## -# -- `routes[].` orchestrate [`kind: Route`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/route/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). +# -- `routes[].` orchestrate `kind: Route` of BTP Cloud foundry. routes: - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" name: "" - # -- [RouteParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/route/v1alpha1) parameters for Routes CRD. forProvider: [] ######################################################################################################################## -# -- `serviceInstances[].` orchestrate [`kind: ServiceInstance`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/serviceinstance/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). +# -- `serviceInstances[].` orchestrate `kind: ServiceInstance` of BTP Cloud foundry. serviceInstances: - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" name: "" - # -- [ServiceInstanceParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/serviceinstance/v1alpha1) defines the desired state of Service Instance. forProvider: [] ######################################################################################################################## -# -- `serviceCredentialsBindings[].` orchestrate [`kind: ServiceKey`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.crossplane.io/servicecredentialbinding/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). +# -- `serviceCredentialsBindings[].` orchestrate `kind: ServiceKey` of BTP Cloud foundry. serviceCredentialsBindings: - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" name: "" - # -- [serviceCredentialsBindingParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.crossplane.io/servicecredentialbinding/v1alpha1) define the desired state of the forProvider field of serviceCredentialsBindings. forProvider: [] ######################################################################################################################## -# -- `orgMembers[].` orchestrate [`kind: OrgMembers`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/orgmembers/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). +# -- `orgMembers[].` orchestrate `kind: OrgMembers` of BTP Cloud foundry. orgMembers: - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" name: "" - # -- [OrgMembersParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/orgmembers/v1alpha1) encapsulate role assignments to CloudFoundry Organizations. forProvider: [] ######################################################################################################################## -# -- `organizations[].` orchestrate [`kind: Organization`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/organization/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). +# -- `organizations[].` orchestrate `kind: Organization` of BTP Cloud foundry. organizations: - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" name: "" - # -- must match the actual name of the Cloud Foundry organization in BTP! More information about [Import Cloud Foundry Organization](https://pages.github.tools.sap/cloud-orchestration/docs/sap-services/btp-services/cloudfoundry/org_space#import-cloud-foundry-organization). + # -- must match the actual name of the Cloud Foundry organization in BTP! externalName: "" - # -- [OrganizationParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/organization/v1alpha1) Parameters for a Organization. forProvider: [] ######################################################################################################################## -# -- `spaceMembers[].` orchestrate [`kind: SpaceMembers`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/spacemembers/v1alpha1?view=docs) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). +# -- `spaceMembers[].` orchestrate `kind: SpaceMembers` of BTP Cloud foundry. spaceMembers: - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" name: "" - # -- [SpaceMembersParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/spacemembers/v1alpha1?view=docs) encapsulate role assignments to CloudFoundry Spaces. forProvider: [] ######################################################################################################################## # @secrets -- :exclamation::exclamation: never EVER PUSH confidential secrets/credentials in plain text into GIT :exclamation::exclamation: diff --git a/helm/charts/crossplane-provider-configs/values.yaml b/helm/charts/crossplane-provider-configs/values.yaml index 8c11a64..e8eb5b2 100644 --- a/helm/charts/crossplane-provider-configs/values.yaml +++ b/helm/charts/crossplane-provider-configs/values.yaml @@ -154,8 +154,8 @@ providerConfigs: key: "" ######################################################################################################################## ######################################################################################################################## - # -- creates k8s manifest `kind: ProviderConfig` of `apiVersion: cloudfoundry.btp.orchestrate.cloud.sap/v1beta1` - # This [`ProviderConfig`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/providerconfig/v1beta1) typically points to k8s secret in which the credentials required for the [BTP Cloud Foundry](https://pages.github.tools.sap/cloud-orchestration/docs/sap-services/btp-services/cloudfoundry/provider) provider to communicate with the Cloud Foundry Environment on BTP. + # -- creates k8s manifest `kind: ProviderConfig` of `apiVersion: cloudfoundry.crossplane.io/v1beta1` + # This `ProviderConfig` typically points to k8s secret in which the credentials required for the BTP Cloud Foundry provider to communicate with the Cloud Foundry Environment on BTP. # @default -- [] cloudfoundryBtpOrchestrateCloud: - providerConfigRefName: "" From 952895f981e6234dad57f2860d4e46e4910d3532 Mon Sep 17 00:00:00 2001 From: ricogu Date: Wed, 11 Jun 2025 15:35:29 +0000 Subject: [PATCH 11/20] chore(ci): update Helm Chart helm/charts/crossplane-provider-btp-cf/README.md file --- .../crossplane-provider-btp-cf/README.md | 25 +++++++------------ 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/helm/charts/crossplane-provider-btp-cf/README.md b/helm/charts/crossplane-provider-btp-cf/README.md index 8fbdc83..a56a757 100644 --- a/helm/charts/crossplane-provider-btp-cf/README.md +++ b/helm/charts/crossplane-provider-btp-cf/README.md @@ -2,7 +2,7 @@ # crossplane-provider-btp-cf -![Version: 0.0.10](https://img.shields.io/badge/Version-0.0.10-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.0.1](https://img.shields.io/badge/AppVersion-0.0.1-informational?style=flat-square) +![Version: 0.1.0](https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.3.0](https://img.shields.io/badge/AppVersion-0.3.0-informational?style=flat-square) A Helm Chart to template crossplane manifests to manage BTP Cloud Foundry resources on BTP. @@ -14,25 +14,18 @@ A Helm Chart to template crossplane manifests to manage BTP Cloud Foundry resour | Key | Type | Default | Description | |-----|------|---------|-------------| -| apps | list | object | `apps[].` orchestrate [`kind: App`](https://pages.github.tools.sap/cloud-orchestration/docs/sap-services/btp-services/cloudfoundry/app) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | -| apps[0].forProvider | list | `[]` | [forProvider](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/app/v1alpha1) CRD | -| orgMembers | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `orgMembers[].` orchestrate [`kind: OrgMembers`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/orgmembers/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | -| orgMembers[0].forProvider | list | `[]` | [OrgMembersParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/orgmembers/v1alpha1) encapsulate role assignments to CloudFoundry Organizations. | -| organizations | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","externalName":"","forProvider":[],"name":""}]` | `organizations[].` orchestrate [`kind: Organization`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/organization/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | -| organizations[0].externalName | string | `""` | must match the actual name of the Cloud Foundry organization in BTP! More information about [Import Cloud Foundry Organization](https://pages.github.tools.sap/cloud-orchestration/docs/sap-services/btp-services/cloudfoundry/org_space#import-cloud-foundry-organization). | -| organizations[0].forProvider | list | `[]` | [OrganizationParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/organization/v1alpha1) Parameters for a Organization. | -| routes | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `routes[].` orchestrate [`kind: Route`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/route/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | -| routes[0].forProvider | list | `[]` | [RouteParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/route/v1alpha1) parameters for Routes CRD. | +| apps | list | object | `apps[].` orchestrate `kind: App` of BTP Cloud foundry. | +| orgMembers | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `orgMembers[].` orchestrate `kind: OrgMembers` of BTP Cloud foundry. | +| organizations | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","externalName":"","forProvider":[],"name":""}]` | `organizations[].` orchestrate `kind: Organization` of BTP Cloud foundry. | +| organizations[0].externalName | string | `""` | must match the actual name of the Cloud Foundry organization in BTP! | +| routes | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `routes[].` orchestrate `kind: Route` of BTP Cloud foundry. | | secrets[0].data | list | `[]` | *(optional)* [data](https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/secret-v1/) *(map[string][]byte)* Data contains the secret data. Each key must consist of alphanumeric characters, '-', '_' or '.'. The serialized form of the secret data is a base64 encoded string, representing the arbitrary (possibly non-string) data value here. Described in [here](https://tools.ietf.org/html/rfc4648#section-4) | | secrets[0].name | string | `""` | defines k8s `metadata.name` value of `kind: Secret` | | secrets[0].namespace | string | `""` | *(optional)* defines k8s [`metadata.namespace`](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/object-meta/#ObjectMeta) value of `kind: Secret` | | secrets[0].stringData | list | `[]` | *(optional)* [stringData](https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/secret-v1/) *(map[string]string)* allows specifying non-binary secret data in string form. It is provided as a write-only input field for convenience. All keys and values are merged into the data field on write, overwriting any existing values. The stringData field is never output when reading from the API. | -| serviceCredentialsBindings | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `serviceCredentialsBindings[].` orchestrate [`kind: ServiceKey`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.crossplane.io/servicecredentialbinding/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | -| serviceCredentialsBindings[0].forProvider | list | `[]` | [serviceCredentialsBindingParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.crossplane.io/servicecredentialbinding/v1alpha1) define the desired state of the forProvider field of serviceCredentialsBindings. | -| serviceInstances | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `serviceInstances[].` orchestrate [`kind: ServiceInstance`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/serviceinstance/v1alpha1) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | -| serviceInstances[0].forProvider | list | `[]` | [ServiceInstanceParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/serviceinstance/v1alpha1) defines the desired state of Service Instance. | -| spaceMembers | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `spaceMembers[].` orchestrate [`kind: SpaceMembers`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/spacemembers/v1alpha1?view=docs) of [BTP Cloud foundry](https://pages.github.tools.sap/cloud-orchestration/docs/category/cloudfoundry). | -| spaceMembers[0].forProvider | list | `[]` | [SpaceMembersParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/spacemembers/v1alpha1?view=docs) encapsulate role assignments to CloudFoundry Spaces. | +| serviceCredentialsBindings | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `serviceCredentialsBindings[].` orchestrate `kind: ServiceKey` of BTP Cloud foundry. | +| serviceInstances | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `serviceInstances[].` orchestrate `kind: ServiceInstance` of BTP Cloud foundry. | +| spaceMembers | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `spaceMembers[].` orchestrate `kind: SpaceMembers` of BTP Cloud foundry. | ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2) \ No newline at end of file From 2e2110367994319bd869882cd4e9fd841acc20fb Mon Sep 17 00:00:00 2001 From: ricogu Date: Wed, 11 Jun 2025 15:35:30 +0000 Subject: [PATCH 12/20] chore(ci): update Helm Chart helm/charts/crossplane-provider-configs/README.md file --- helm/charts/crossplane-provider-configs/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/charts/crossplane-provider-configs/README.md b/helm/charts/crossplane-provider-configs/README.md index cb7e22a..d8478ff 100644 --- a/helm/charts/crossplane-provider-configs/README.md +++ b/helm/charts/crossplane-provider-configs/README.md @@ -25,7 +25,7 @@ A Helm chart to template crossplane provider config manifests to orchestrate res | providerConfigs.btpSapCrossplane[0].globalAccountSubDomain | string | `""` | contains the [Global Account Subdomain](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-btp-account/account.btp.orchestrate.cloud.sap/providerconfig/v1alpha1?path=spec-globalAccount). | | providerConfigs.btpSapCrossplane[0].serviceAccountSecret | object | [] | A user available in BTP. The Credentials in the ServiceAccountSecret are relevant for two reasons (1) On environment creation (Kyma & CloudFoundry) the APIs require a users email address (2) For updating the managers of a CloudFoundry Environment it is required to have a user and a password The structure is pretty basic, a json object with email, username and password. Username & Password must not be filled if there is no need for CloudFoundry Environments. Example: { "email": "", "username": "PUserID", "password": "--" } | | providerConfigs.btpSapCrossplane[0].serviceAccountSecret.secretRef | object | [] | A SecretRef is a reference to a secret key that contains the credentials that must be used to connect to the provider. | -| providerConfigs.cloudfoundryBtpOrchestrateCloud | list | [] | creates k8s manifest `kind: ProviderConfig` of `apiVersion: cloudfoundry.btp.orchestrate.cloud.sap/v1beta1` This [`ProviderConfig`](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/providerconfig/v1beta1) typically points to k8s secret in which the credentials required for the [BTP Cloud Foundry](https://pages.github.tools.sap/cloud-orchestration/docs/sap-services/btp-services/cloudfoundry/provider) provider to communicate with the Cloud Foundry Environment on BTP. | +| providerConfigs.cloudfoundryBtpOrchestrateCloud | list | [] | creates k8s manifest `kind: ProviderConfig` of `apiVersion: cloudfoundry.crossplane.io/v1beta1` This `ProviderConfig` typically points to k8s secret in which the credentials required for the BTP Cloud Foundry provider to communicate with the Cloud Foundry Environment on BTP. | | providerConfigs.cloudfoundryBtpOrchestrateCloud[0].credentials.secretRef | object | [] | A SecretRef is a reference to a secret key that contains the credentials that must be used to connect to the provider. | | providerConfigs.cloudfoundryBtpOrchestrateCloud[0].endpoint.secretRef | object | [] | A SecretRef is a reference to a secret key that contains the credentials that must be used to connect to the provider. | | providerConfigs.gardenerOrchestrateCloud | list | [] | creates k8s manifest `kind: ProviderConfig` of `apiVersion: gardener.orchestrate.cloud.sap/v1alpha1` This `ProviderConfig` typically points to k8s secret in which a `kubeconfig` of SAP Garden k8s Service Account is located in order to create a SAP Gardener Shoot Cluster Admin Kubeconfig Request `kind: AdminKubeconfigRequest` of `apiVersion: gardener.orchestrate.cloud.sap/v1alpha1` on SAP Garden cluster to pull `kubeconfig` of a SAP Gardener Shoot Clusters into your OpenMCP cluster as a k8s secret. | From c0a5b986d079040dc02b955908e277691c4e1250 Mon Sep 17 00:00:00 2001 From: Yuanxun Gu Date: Thu, 12 Jun 2025 10:34:34 +0200 Subject: [PATCH 13/20] chore: fix formatting in cloudfoundry-btp-orchestrate-cloud-sap.yaml --- .../providerConfigs/cloudfoundry-btp-orchestrate-cloud-sap.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/charts/crossplane-provider-configs/templates/mcp/providerConfigs/cloudfoundry-btp-orchestrate-cloud-sap.yaml b/helm/charts/crossplane-provider-configs/templates/mcp/providerConfigs/cloudfoundry-btp-orchestrate-cloud-sap.yaml index f8e6f22..28642e3 100644 --- a/helm/charts/crossplane-provider-configs/templates/mcp/providerConfigs/cloudfoundry-btp-orchestrate-cloud-sap.yaml +++ b/helm/charts/crossplane-provider-configs/templates/mcp/providerConfigs/cloudfoundry-btp-orchestrate-cloud-sap.yaml @@ -14,4 +14,4 @@ spec: credentials: {{- required "A valid value is required! (.Values.providerConfigs.cloudfoundryBtpOrchestrateCloud[].credentials)" $item.credentials | toYaml | nindent 4 }} {{- end }} -{{- end }} \ No newline at end of file +{{- end }} From 5b088a75a4d77b76957b530f4eb6387d54c3d99c Mon Sep 17 00:00:00 2001 From: Yuanxun Gu Date: Thu, 12 Jun 2025 11:48:37 +0200 Subject: [PATCH 14/20] chore: update docker image reference and clean up comments in values.ci.yaml --- helm/charts/crossplane-provider-btp-cf/values.ci.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/helm/charts/crossplane-provider-btp-cf/values.ci.yaml b/helm/charts/crossplane-provider-btp-cf/values.ci.yaml index 508ac98..9ec7c0e 100644 --- a/helm/charts/crossplane-provider-btp-cf/values.ci.yaml +++ b/helm/charts/crossplane-provider-btp-cf/values.ci.yaml @@ -7,7 +7,7 @@ apps: name: "name" forProvider: name: my-app - dockerImage: cloud-orchestration-experimental.common.repositories.cloud.sap/hello-cf:latest + dockerImage: hello-cf:latest dockerCredentialsSecretRef: name: registry-secret namespace: crossplane-system @@ -70,7 +70,6 @@ orgMembers: spaceMembers: - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "cloudfoundryBtpOrchestrateCloudProviderConfigRefName" name: "name" - # -- [SpaceMembersParameters](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-cloudfoundry/cloudfoundry.btp.orchestrate.cloud.sap/spacemembers/v1alpha1?view=docs) encapsulate role assignments to CloudFoundry Spaces. forProvider: enforcementPolicy: "enforcementPolicy" members: From a6fc33983d96f2314b77caecd75ad613e79bcb63 Mon Sep 17 00:00:00 2001 From: Yuanxun Gu Date: Mon, 16 Jun 2025 11:00:43 +0200 Subject: [PATCH 15/20] chore: rename configuration and template files for crossplane provider --- .../.ci.config.yaml | 0 .../Chart.yaml | 0 .../README.md | 0 .../templates/NOTES.txt | 0 .../templates/app.yaml | 0 .../templates/org-members.yaml | 0 .../templates/organization.yaml | 0 .../templates/route.yaml | 0 .../templates/secrets/generic-secret.yaml | 0 .../templates/service-credential-binding.yaml | 0 .../templates/service-instance.yaml | 0 .../templates/space-members.yaml | 0 .../templates/spaces.yaml | 0 .../values.ci.yaml | 0 .../values.yaml | 0 15 files changed, 0 insertions(+), 0 deletions(-) rename helm/charts/{crossplane-provider-btp-cf => crossplane-provider-cloudfoundry}/.ci.config.yaml (100%) rename helm/charts/{crossplane-provider-btp-cf => crossplane-provider-cloudfoundry}/Chart.yaml (100%) rename helm/charts/{crossplane-provider-btp-cf => crossplane-provider-cloudfoundry}/README.md (100%) rename helm/charts/{crossplane-provider-btp-cf => crossplane-provider-cloudfoundry}/templates/NOTES.txt (100%) rename helm/charts/{crossplane-provider-btp-cf => crossplane-provider-cloudfoundry}/templates/app.yaml (100%) rename helm/charts/{crossplane-provider-btp-cf => crossplane-provider-cloudfoundry}/templates/org-members.yaml (100%) rename helm/charts/{crossplane-provider-btp-cf => crossplane-provider-cloudfoundry}/templates/organization.yaml (100%) rename helm/charts/{crossplane-provider-btp-cf => crossplane-provider-cloudfoundry}/templates/route.yaml (100%) rename helm/charts/{crossplane-provider-btp-cf => crossplane-provider-cloudfoundry}/templates/secrets/generic-secret.yaml (100%) rename helm/charts/{crossplane-provider-btp-cf => crossplane-provider-cloudfoundry}/templates/service-credential-binding.yaml (100%) rename helm/charts/{crossplane-provider-btp-cf => crossplane-provider-cloudfoundry}/templates/service-instance.yaml (100%) rename helm/charts/{crossplane-provider-btp-cf => crossplane-provider-cloudfoundry}/templates/space-members.yaml (100%) rename helm/charts/{crossplane-provider-btp-cf => crossplane-provider-cloudfoundry}/templates/spaces.yaml (100%) rename helm/charts/{crossplane-provider-btp-cf => crossplane-provider-cloudfoundry}/values.ci.yaml (100%) rename helm/charts/{crossplane-provider-btp-cf => crossplane-provider-cloudfoundry}/values.yaml (100%) diff --git a/helm/charts/crossplane-provider-btp-cf/.ci.config.yaml b/helm/charts/crossplane-provider-cloudfoundry/.ci.config.yaml similarity index 100% rename from helm/charts/crossplane-provider-btp-cf/.ci.config.yaml rename to helm/charts/crossplane-provider-cloudfoundry/.ci.config.yaml diff --git a/helm/charts/crossplane-provider-btp-cf/Chart.yaml b/helm/charts/crossplane-provider-cloudfoundry/Chart.yaml similarity index 100% rename from helm/charts/crossplane-provider-btp-cf/Chart.yaml rename to helm/charts/crossplane-provider-cloudfoundry/Chart.yaml diff --git a/helm/charts/crossplane-provider-btp-cf/README.md b/helm/charts/crossplane-provider-cloudfoundry/README.md similarity index 100% rename from helm/charts/crossplane-provider-btp-cf/README.md rename to helm/charts/crossplane-provider-cloudfoundry/README.md diff --git a/helm/charts/crossplane-provider-btp-cf/templates/NOTES.txt b/helm/charts/crossplane-provider-cloudfoundry/templates/NOTES.txt similarity index 100% rename from helm/charts/crossplane-provider-btp-cf/templates/NOTES.txt rename to helm/charts/crossplane-provider-cloudfoundry/templates/NOTES.txt diff --git a/helm/charts/crossplane-provider-btp-cf/templates/app.yaml b/helm/charts/crossplane-provider-cloudfoundry/templates/app.yaml similarity index 100% rename from helm/charts/crossplane-provider-btp-cf/templates/app.yaml rename to helm/charts/crossplane-provider-cloudfoundry/templates/app.yaml diff --git a/helm/charts/crossplane-provider-btp-cf/templates/org-members.yaml b/helm/charts/crossplane-provider-cloudfoundry/templates/org-members.yaml similarity index 100% rename from helm/charts/crossplane-provider-btp-cf/templates/org-members.yaml rename to helm/charts/crossplane-provider-cloudfoundry/templates/org-members.yaml diff --git a/helm/charts/crossplane-provider-btp-cf/templates/organization.yaml b/helm/charts/crossplane-provider-cloudfoundry/templates/organization.yaml similarity index 100% rename from helm/charts/crossplane-provider-btp-cf/templates/organization.yaml rename to helm/charts/crossplane-provider-cloudfoundry/templates/organization.yaml diff --git a/helm/charts/crossplane-provider-btp-cf/templates/route.yaml b/helm/charts/crossplane-provider-cloudfoundry/templates/route.yaml similarity index 100% rename from helm/charts/crossplane-provider-btp-cf/templates/route.yaml rename to helm/charts/crossplane-provider-cloudfoundry/templates/route.yaml diff --git a/helm/charts/crossplane-provider-btp-cf/templates/secrets/generic-secret.yaml b/helm/charts/crossplane-provider-cloudfoundry/templates/secrets/generic-secret.yaml similarity index 100% rename from helm/charts/crossplane-provider-btp-cf/templates/secrets/generic-secret.yaml rename to helm/charts/crossplane-provider-cloudfoundry/templates/secrets/generic-secret.yaml diff --git a/helm/charts/crossplane-provider-btp-cf/templates/service-credential-binding.yaml b/helm/charts/crossplane-provider-cloudfoundry/templates/service-credential-binding.yaml similarity index 100% rename from helm/charts/crossplane-provider-btp-cf/templates/service-credential-binding.yaml rename to helm/charts/crossplane-provider-cloudfoundry/templates/service-credential-binding.yaml diff --git a/helm/charts/crossplane-provider-btp-cf/templates/service-instance.yaml b/helm/charts/crossplane-provider-cloudfoundry/templates/service-instance.yaml similarity index 100% rename from helm/charts/crossplane-provider-btp-cf/templates/service-instance.yaml rename to helm/charts/crossplane-provider-cloudfoundry/templates/service-instance.yaml diff --git a/helm/charts/crossplane-provider-btp-cf/templates/space-members.yaml b/helm/charts/crossplane-provider-cloudfoundry/templates/space-members.yaml similarity index 100% rename from helm/charts/crossplane-provider-btp-cf/templates/space-members.yaml rename to helm/charts/crossplane-provider-cloudfoundry/templates/space-members.yaml diff --git a/helm/charts/crossplane-provider-btp-cf/templates/spaces.yaml b/helm/charts/crossplane-provider-cloudfoundry/templates/spaces.yaml similarity index 100% rename from helm/charts/crossplane-provider-btp-cf/templates/spaces.yaml rename to helm/charts/crossplane-provider-cloudfoundry/templates/spaces.yaml diff --git a/helm/charts/crossplane-provider-btp-cf/values.ci.yaml b/helm/charts/crossplane-provider-cloudfoundry/values.ci.yaml similarity index 100% rename from helm/charts/crossplane-provider-btp-cf/values.ci.yaml rename to helm/charts/crossplane-provider-cloudfoundry/values.ci.yaml diff --git a/helm/charts/crossplane-provider-btp-cf/values.yaml b/helm/charts/crossplane-provider-cloudfoundry/values.yaml similarity index 100% rename from helm/charts/crossplane-provider-btp-cf/values.yaml rename to helm/charts/crossplane-provider-cloudfoundry/values.yaml From a0d1b5eebad4ac7595e3847e953f77a2b58b86d7 Mon Sep 17 00:00:00 2001 From: Yuanxun Gu Date: Mon, 16 Jun 2025 11:04:35 +0200 Subject: [PATCH 16/20] chore: rename chart name for crossplane provider to reflect cloud foundry --- helm/charts/crossplane-provider-cloudfoundry/Chart.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/charts/crossplane-provider-cloudfoundry/Chart.yaml b/helm/charts/crossplane-provider-cloudfoundry/Chart.yaml index 28e82e0..e2902f8 100644 --- a/helm/charts/crossplane-provider-cloudfoundry/Chart.yaml +++ b/helm/charts/crossplane-provider-cloudfoundry/Chart.yaml @@ -3,7 +3,7 @@ appVersion: 0.3.0 description: A Helm Chart to template crossplane manifests to manage BTP Cloud Foundry resources on BTP. icon: https://avatars.githubusercontent.com/u/45158470?s=48&v=4 -name: crossplane-provider-btp-cf +name: crossplane-provider-cloudfoundry sources: - https://github.com/openmcp-project/blueprint-building-blocks type: application From a36bdd2d8a8b399c079afe53718e1f587571b44b Mon Sep 17 00:00:00 2001 From: ricogu Date: Mon, 16 Jun 2025 09:05:01 +0000 Subject: [PATCH 17/20] chore(ci): update Helm Chart helm/charts/crossplane-provider-cloudfoundry/README.md file --- helm/charts/crossplane-provider-cloudfoundry/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/charts/crossplane-provider-cloudfoundry/README.md b/helm/charts/crossplane-provider-cloudfoundry/README.md index a56a757..f5df651 100644 --- a/helm/charts/crossplane-provider-cloudfoundry/README.md +++ b/helm/charts/crossplane-provider-cloudfoundry/README.md @@ -1,6 +1,6 @@ -# crossplane-provider-btp-cf +# crossplane-provider-cloudfoundry ![Version: 0.1.0](https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 0.3.0](https://img.shields.io/badge/AppVersion-0.3.0-informational?style=flat-square) From e08d7e2b6a2e0bcf936359f359dfb41898f6dfdb Mon Sep 17 00:00:00 2001 From: Steffen Brunner Date: Mon, 16 Jun 2025 11:12:38 +0200 Subject: [PATCH 18/20] chore: update helm chart variables to references open sourced provider --- .../templates/app.yaml | 2 +- .../templates/org-members.yaml | 2 +- .../templates/organization.yaml | 2 +- .../templates/route.yaml | 2 +- .../templates/service-credential-binding.yaml | 2 +- .../templates/service-instance.yaml | 2 +- .../templates/space-members.yaml | 2 +- .../templates/spaces.yaml | 2 +- .../values.ci.yaml | 14 +++++++------- .../crossplane-provider-cloudfoundry/values.yaml | 14 +++++++------- ...ud-sap.yaml => cloudfoundry-crossplane-io.yaml} | 0 .../crossplane-provider-configs/values.ci.yaml | 4 ++-- .../charts/crossplane-provider-configs/values.yaml | 2 +- 13 files changed, 25 insertions(+), 25 deletions(-) rename helm/charts/crossplane-provider-configs/templates/mcp/providerConfigs/{cloudfoundry-btp-orchestrate-cloud-sap.yaml => cloudfoundry-crossplane-io.yaml} (100%) diff --git a/helm/charts/crossplane-provider-cloudfoundry/templates/app.yaml b/helm/charts/crossplane-provider-cloudfoundry/templates/app.yaml index 3ed53db..c7eafec 100644 --- a/helm/charts/crossplane-provider-cloudfoundry/templates/app.yaml +++ b/helm/charts/crossplane-provider-cloudfoundry/templates/app.yaml @@ -10,7 +10,7 @@ metadata: openmcp.cloud/blueprint-building-block-version: "{{ $.Chart.Version }}" spec: providerConfigRef: - name: {{required "A valid value is required! (.Values.apps[].cloudfoundryBtpOrchestrateCloudProviderConfigRefName)" $item.cloudfoundryBtpOrchestrateCloudProviderConfigRefName }} + name: {{required "A valid value is required! (.Values.apps[].cloudfoundryProviderConfigRefName)" $item.cloudfoundryProviderConfigRefName }} forProvider: {{- required "A valid value is required! (.Values.spaces[].forProvider)" $item.forProvider | toYaml | nindent 4 }} {{- end }} diff --git a/helm/charts/crossplane-provider-cloudfoundry/templates/org-members.yaml b/helm/charts/crossplane-provider-cloudfoundry/templates/org-members.yaml index ff58ffb..5dcb6aa 100644 --- a/helm/charts/crossplane-provider-cloudfoundry/templates/org-members.yaml +++ b/helm/charts/crossplane-provider-cloudfoundry/templates/org-members.yaml @@ -10,7 +10,7 @@ metadata: openmcp.cloud/blueprint-building-block-version: "{{ $.Chart.Version }}" spec: providerConfigRef: - name: {{required "A valid value is required! (.Values.orgMembers[].cloudfoundryBtpOrchestrateCloudProviderConfigRefName)" $item.cloudfoundryBtpOrchestrateCloudProviderConfigRefName }} + name: {{required "A valid value is required! (.Values.orgMembers[].cloudfoundryProviderConfigRefName)" $item.cloudfoundryProviderConfigRefName }} forProvider: {{- required "A valid value is required! (.Values.spaces[].forProvider)" $item.forProvider | toYaml | nindent 4 }} {{- end }} diff --git a/helm/charts/crossplane-provider-cloudfoundry/templates/organization.yaml b/helm/charts/crossplane-provider-cloudfoundry/templates/organization.yaml index 2a5e380..5c36dbd 100644 --- a/helm/charts/crossplane-provider-cloudfoundry/templates/organization.yaml +++ b/helm/charts/crossplane-provider-cloudfoundry/templates/organization.yaml @@ -12,7 +12,7 @@ metadata: crossplane.io/external-name: {{required "A valid value is required! (.Values.organizations[].externalName)" $item.externalName }} spec: providerConfigRef: - name: {{required "A valid value is required! (.Values.apps[].cloudfoundryBtpOrchestrateCloudProviderConfigRefName)" $item.cloudfoundryBtpOrchestrateCloudProviderConfigRefName }} + name: {{required "A valid value is required! (.Values.apps[].cloudfoundryProviderConfigRefName)" $item.cloudfoundryProviderConfigRefName }} forProvider: {{- required "A valid value is required! (.Values.spaces[].forProvider)" $item.forProvider | toYaml | nindent 4 }} {{- end }} diff --git a/helm/charts/crossplane-provider-cloudfoundry/templates/route.yaml b/helm/charts/crossplane-provider-cloudfoundry/templates/route.yaml index 0302a29..6688f9f 100644 --- a/helm/charts/crossplane-provider-cloudfoundry/templates/route.yaml +++ b/helm/charts/crossplane-provider-cloudfoundry/templates/route.yaml @@ -10,7 +10,7 @@ metadata: openmcp.cloud/blueprint-building-block-version: "{{ $.Chart.Version }}" spec: providerConfigRef: - name: {{required "A valid value is required! (.Values.routes[].cloudfoundryBtpOrchestrateCloudProviderConfigRefName)" $item.cloudfoundryBtpOrchestrateCloudProviderConfigRefName }} + name: {{required "A valid value is required! (.Values.routes[].cloudfoundryProviderConfigRefName)" $item.cloudfoundryProviderConfigRefName }} forProvider: {{- required "A valid value is required! (.Values.spaces[].forProvider)" $item.forProvider | toYaml | nindent 4 }} {{- end }} diff --git a/helm/charts/crossplane-provider-cloudfoundry/templates/service-credential-binding.yaml b/helm/charts/crossplane-provider-cloudfoundry/templates/service-credential-binding.yaml index 25de162..ed9725a 100644 --- a/helm/charts/crossplane-provider-cloudfoundry/templates/service-credential-binding.yaml +++ b/helm/charts/crossplane-provider-cloudfoundry/templates/service-credential-binding.yaml @@ -10,7 +10,7 @@ metadata: openmcp.cloud/blueprint-building-block-version: "{{ $.Chart.Version }}" spec: providerConfigRef: - name: {{required "A valid value is required! (.Values.serviceKeys[].cloudfoundryBtpOrchestrateCloudProviderConfigRefName)" $item.cloudfoundryBtpOrchestrateCloudProviderConfigRefName }} + name: {{required "A valid value is required! (.Values.serviceKeys[].cloudfoundryProviderConfigRefName)" $item.cloudfoundryProviderConfigRefName }} forProvider: {{- required "A valid value is required! (.Values.spaces[].forProvider)" $item.forProvider | toYaml | nindent 4 }} {{- end }} diff --git a/helm/charts/crossplane-provider-cloudfoundry/templates/service-instance.yaml b/helm/charts/crossplane-provider-cloudfoundry/templates/service-instance.yaml index 141f69e..b1ebf74 100644 --- a/helm/charts/crossplane-provider-cloudfoundry/templates/service-instance.yaml +++ b/helm/charts/crossplane-provider-cloudfoundry/templates/service-instance.yaml @@ -10,7 +10,7 @@ metadata: openmcp.cloud/blueprint-building-block-version: "{{ $.Chart.Version }}" spec: providerConfigRef: - name: {{required "A valid value is required! (.Values.serviceInstances[].cloudfoundryBtpOrchestrateCloudProviderConfigRefName)" $item.cloudfoundryBtpOrchestrateCloudProviderConfigRefName }} + name: {{required "A valid value is required! (.Values.serviceInstances[].cloudfoundryProviderConfigRefName)" $item.cloudfoundryProviderConfigRefName }} forProvider: {{- required "A valid value is required! (.Values.spaces[].forProvider)" $item.forProvider | toYaml | nindent 4 }} {{- end }} diff --git a/helm/charts/crossplane-provider-cloudfoundry/templates/space-members.yaml b/helm/charts/crossplane-provider-cloudfoundry/templates/space-members.yaml index 3fc076a..642ddf0 100644 --- a/helm/charts/crossplane-provider-cloudfoundry/templates/space-members.yaml +++ b/helm/charts/crossplane-provider-cloudfoundry/templates/space-members.yaml @@ -10,7 +10,7 @@ metadata: openmcp.cloud/blueprint-building-block-version: "{{ $.Chart.Version }}" spec: providerConfigRef: - name: {{required "A valid value is required! (.Values.spaceMembers[].cloudfoundryBtpOrchestrateCloudProviderConfigRefName)" $item.cloudfoundryBtpOrchestrateCloudProviderConfigRefName }} + name: {{required "A valid value is required! (.Values.spaceMembers[].cloudfoundryProviderConfigRefName)" $item.cloudfoundryProviderConfigRefName }} forProvider: {{- toYaml $item.forProvider | nindent 4 }} {{- end }} diff --git a/helm/charts/crossplane-provider-cloudfoundry/templates/spaces.yaml b/helm/charts/crossplane-provider-cloudfoundry/templates/spaces.yaml index 709e0f1..82f7d71 100644 --- a/helm/charts/crossplane-provider-cloudfoundry/templates/spaces.yaml +++ b/helm/charts/crossplane-provider-cloudfoundry/templates/spaces.yaml @@ -10,7 +10,7 @@ metadata: openmcp.cloud/blueprint-building-block-version: "{{ $.Chart.Version }}" spec: providerConfigRef: - name: {{required "A valid value is required! (.Values.spaces[].cloudfoundryBtpOrchestrateCloudProviderConfigRefName)" $item.cloudfoundryBtpOrchestrateCloudProviderConfigRefName }} + name: {{required "A valid value is required! (.Values.spaces[].cloudfoundryProviderConfigRefName)" $item.cloudfoundryProviderConfigRefName }} forProvider: {{- required "A valid value is required! (.Values.spaces[].forProvider)" $item.forProvider | toYaml | nindent 4 }} {{- end }} diff --git a/helm/charts/crossplane-provider-cloudfoundry/values.ci.yaml b/helm/charts/crossplane-provider-cloudfoundry/values.ci.yaml index 9ec7c0e..d76aeea 100644 --- a/helm/charts/crossplane-provider-cloudfoundry/values.ci.yaml +++ b/helm/charts/crossplane-provider-cloudfoundry/values.ci.yaml @@ -3,7 +3,7 @@ ###! /!\ this file is only used in github pipeline to template a valid and NOT empty helm manifest! ##### ######################################################################################################################## apps: - - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "cloudfoundryBtpOrchestrateCloudProviderConfigRefName" + - cloudfoundryProviderConfigRefName: "cloudfoundryProviderConfigRefName" name: "name" forProvider: name: my-app @@ -18,7 +18,7 @@ apps: name: my-route ######################################################################################################################## routes: - - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "cloudfoundryBtpOrchestrateCloudProviderConfigRefName" + - cloudfoundryProviderConfigRefName: "cloudfoundryProviderConfigRefName" name: "name" forProvider: domain: @@ -31,7 +31,7 @@ routes: resolve: Always ######################################################################################################################## serviceInstances: - - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "cloudfoundryBtpOrchestrateCloudProviderConfigRefName" + - cloudfoundryProviderConfigRefName: "cloudfoundryProviderConfigRefName" name: "name" forProvider: type: managed @@ -43,7 +43,7 @@ serviceInstances: plan: lite ######################################################################################################################## serviceCredentialsBindings: - - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "cloudfoundryBtpOrchestrateCloudProviderConfigRefName" + - cloudfoundryProviderConfigRefName: "cloudfoundryProviderConfigRefName" name: "name" forProvider: name: my-service-key @@ -55,7 +55,7 @@ serviceCredentialsBindings: namespace: default ######################################################################################################################## orgMembers: - - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "cloudfoundryBtpOrchestrateCloudProviderConfigRefName" + - cloudfoundryProviderConfigRefName: "cloudfoundryProviderConfigRefName" name: "name" forProvider: orgRef: @@ -68,7 +68,7 @@ orgMembers: enforcementPolicy: Lax ######################################################################################################################## spaceMembers: - - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "cloudfoundryBtpOrchestrateCloudProviderConfigRefName" + - cloudfoundryProviderConfigRefName: "cloudfoundryProviderConfigRefName" name: "name" forProvider: enforcementPolicy: "enforcementPolicy" @@ -89,7 +89,7 @@ spaceMembers: resolution: "resolution" ######################################################################################################################## organizations: - - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "cloudfoundryBtpOrchestrateCloudProviderConfigRefName" + - cloudfoundryProviderConfigRefName: "cloudfoundryProviderConfigRefName" name: "name" externalName: "externalName" forProvider: diff --git a/helm/charts/crossplane-provider-cloudfoundry/values.yaml b/helm/charts/crossplane-provider-cloudfoundry/values.yaml index 68671a1..2e4e480 100644 --- a/helm/charts/crossplane-provider-cloudfoundry/values.yaml +++ b/helm/charts/crossplane-provider-cloudfoundry/values.yaml @@ -3,37 +3,37 @@ # -- `apps[].` orchestrate `kind: App` of BTP Cloud foundry. # @default -- object apps: - - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" + - cloudfoundryProviderConfigRefName: "" name: "" forProvider: [] ######################################################################################################################## # -- `routes[].` orchestrate `kind: Route` of BTP Cloud foundry. routes: - - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" + - cloudfoundryProviderConfigRefName: "" name: "" forProvider: [] ######################################################################################################################## # -- `serviceInstances[].` orchestrate `kind: ServiceInstance` of BTP Cloud foundry. serviceInstances: - - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" + - cloudfoundryProviderConfigRefName: "" name: "" forProvider: [] ######################################################################################################################## # -- `serviceCredentialsBindings[].` orchestrate `kind: ServiceKey` of BTP Cloud foundry. serviceCredentialsBindings: - - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" + - cloudfoundryProviderConfigRefName: "" name: "" forProvider: [] ######################################################################################################################## # -- `orgMembers[].` orchestrate `kind: OrgMembers` of BTP Cloud foundry. orgMembers: - - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" + - cloudfoundryProviderConfigRefName: "" name: "" forProvider: [] ######################################################################################################################## # -- `organizations[].` orchestrate `kind: Organization` of BTP Cloud foundry. organizations: - - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" + - cloudfoundryProviderConfigRefName: "" name: "" # -- must match the actual name of the Cloud Foundry organization in BTP! externalName: "" @@ -41,7 +41,7 @@ organizations: ######################################################################################################################## # -- `spaceMembers[].` orchestrate `kind: SpaceMembers` of BTP Cloud foundry. spaceMembers: - - cloudfoundryBtpOrchestrateCloudProviderConfigRefName: "" + - cloudfoundryProviderConfigRefName: "" name: "" forProvider: [] ######################################################################################################################## diff --git a/helm/charts/crossplane-provider-configs/templates/mcp/providerConfigs/cloudfoundry-btp-orchestrate-cloud-sap.yaml b/helm/charts/crossplane-provider-configs/templates/mcp/providerConfigs/cloudfoundry-crossplane-io.yaml similarity index 100% rename from helm/charts/crossplane-provider-configs/templates/mcp/providerConfigs/cloudfoundry-btp-orchestrate-cloud-sap.yaml rename to helm/charts/crossplane-provider-configs/templates/mcp/providerConfigs/cloudfoundry-crossplane-io.yaml diff --git a/helm/charts/crossplane-provider-configs/values.ci.yaml b/helm/charts/crossplane-provider-configs/values.ci.yaml index 7128444..d670be0 100644 --- a/helm/charts/crossplane-provider-configs/values.ci.yaml +++ b/helm/charts/crossplane-provider-configs/values.ci.yaml @@ -98,8 +98,8 @@ providerConfigs: namespace: default name: "btp-account-openmcp-test" key: btp-service-account-provider-credentials - cloudfoundryBtpOrchestrateCloud: - - providerConfigRefName: "cloudfoundryBtpOrchestrateCloud" + cloudfoundry: + - providerConfigRefName: "cloudfoundry" endpoint: source: "Secret" secretRef: diff --git a/helm/charts/crossplane-provider-configs/values.yaml b/helm/charts/crossplane-provider-configs/values.yaml index e8eb5b2..7dfa47a 100644 --- a/helm/charts/crossplane-provider-configs/values.yaml +++ b/helm/charts/crossplane-provider-configs/values.yaml @@ -157,7 +157,7 @@ providerConfigs: # -- creates k8s manifest `kind: ProviderConfig` of `apiVersion: cloudfoundry.crossplane.io/v1beta1` # This `ProviderConfig` typically points to k8s secret in which the credentials required for the BTP Cloud Foundry provider to communicate with the Cloud Foundry Environment on BTP. # @default -- [] - cloudfoundryBtpOrchestrateCloud: + cloudfoundry: - providerConfigRefName: "" # @default -- [] endpoint: From 695e5f2096bb2216880329cc7b9fef3431a829c1 Mon Sep 17 00:00:00 2001 From: sk31337 Date: Mon, 16 Jun 2025 09:13:09 +0000 Subject: [PATCH 19/20] chore(ci): update Helm Chart helm/charts/crossplane-provider-cloudfoundry/README.md file --- .../crossplane-provider-cloudfoundry/README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/helm/charts/crossplane-provider-cloudfoundry/README.md b/helm/charts/crossplane-provider-cloudfoundry/README.md index f5df651..daaa168 100644 --- a/helm/charts/crossplane-provider-cloudfoundry/README.md +++ b/helm/charts/crossplane-provider-cloudfoundry/README.md @@ -15,17 +15,17 @@ A Helm Chart to template crossplane manifests to manage BTP Cloud Foundry resour | Key | Type | Default | Description | |-----|------|---------|-------------| | apps | list | object | `apps[].` orchestrate `kind: App` of BTP Cloud foundry. | -| orgMembers | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `orgMembers[].` orchestrate `kind: OrgMembers` of BTP Cloud foundry. | -| organizations | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","externalName":"","forProvider":[],"name":""}]` | `organizations[].` orchestrate `kind: Organization` of BTP Cloud foundry. | +| orgMembers | list | `[{"cloudfoundryProviderConfigRefName":"","forProvider":[],"name":""}]` | `orgMembers[].` orchestrate `kind: OrgMembers` of BTP Cloud foundry. | +| organizations | list | `[{"cloudfoundryProviderConfigRefName":"","externalName":"","forProvider":[],"name":""}]` | `organizations[].` orchestrate `kind: Organization` of BTP Cloud foundry. | | organizations[0].externalName | string | `""` | must match the actual name of the Cloud Foundry organization in BTP! | -| routes | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `routes[].` orchestrate `kind: Route` of BTP Cloud foundry. | +| routes | list | `[{"cloudfoundryProviderConfigRefName":"","forProvider":[],"name":""}]` | `routes[].` orchestrate `kind: Route` of BTP Cloud foundry. | | secrets[0].data | list | `[]` | *(optional)* [data](https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/secret-v1/) *(map[string][]byte)* Data contains the secret data. Each key must consist of alphanumeric characters, '-', '_' or '.'. The serialized form of the secret data is a base64 encoded string, representing the arbitrary (possibly non-string) data value here. Described in [here](https://tools.ietf.org/html/rfc4648#section-4) | | secrets[0].name | string | `""` | defines k8s `metadata.name` value of `kind: Secret` | | secrets[0].namespace | string | `""` | *(optional)* defines k8s [`metadata.namespace`](https://kubernetes.io/docs/reference/kubernetes-api/common-definitions/object-meta/#ObjectMeta) value of `kind: Secret` | | secrets[0].stringData | list | `[]` | *(optional)* [stringData](https://kubernetes.io/docs/reference/kubernetes-api/config-and-storage-resources/secret-v1/) *(map[string]string)* allows specifying non-binary secret data in string form. It is provided as a write-only input field for convenience. All keys and values are merged into the data field on write, overwriting any existing values. The stringData field is never output when reading from the API. | -| serviceCredentialsBindings | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `serviceCredentialsBindings[].` orchestrate `kind: ServiceKey` of BTP Cloud foundry. | -| serviceInstances | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `serviceInstances[].` orchestrate `kind: ServiceInstance` of BTP Cloud foundry. | -| spaceMembers | list | `[{"cloudfoundryBtpOrchestrateCloudProviderConfigRefName":"","forProvider":[],"name":""}]` | `spaceMembers[].` orchestrate `kind: SpaceMembers` of BTP Cloud foundry. | +| serviceCredentialsBindings | list | `[{"cloudfoundryProviderConfigRefName":"","forProvider":[],"name":""}]` | `serviceCredentialsBindings[].` orchestrate `kind: ServiceKey` of BTP Cloud foundry. | +| serviceInstances | list | `[{"cloudfoundryProviderConfigRefName":"","forProvider":[],"name":""}]` | `serviceInstances[].` orchestrate `kind: ServiceInstance` of BTP Cloud foundry. | +| spaceMembers | list | `[{"cloudfoundryProviderConfigRefName":"","forProvider":[],"name":""}]` | `spaceMembers[].` orchestrate `kind: SpaceMembers` of BTP Cloud foundry. | ---------------------------------------------- Autogenerated from chart metadata using [helm-docs v1.14.2](https://github.com/norwoodj/helm-docs/releases/v1.14.2) \ No newline at end of file From 0a1eb2db6cbcc30cd4ec6f77d5c5578da0569b02 Mon Sep 17 00:00:00 2001 From: sk31337 Date: Mon, 16 Jun 2025 09:13:10 +0000 Subject: [PATCH 20/20] chore(ci): update Helm Chart helm/charts/crossplane-provider-configs/README.md file --- helm/charts/crossplane-provider-configs/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/helm/charts/crossplane-provider-configs/README.md b/helm/charts/crossplane-provider-configs/README.md index d8478ff..5e1d598 100644 --- a/helm/charts/crossplane-provider-configs/README.md +++ b/helm/charts/crossplane-provider-configs/README.md @@ -25,9 +25,9 @@ A Helm chart to template crossplane provider config manifests to orchestrate res | providerConfigs.btpSapCrossplane[0].globalAccountSubDomain | string | `""` | contains the [Global Account Subdomain](https://pages.github.tools.sap/cloud-orchestration/browser/Providers/provider-btp-account/account.btp.orchestrate.cloud.sap/providerconfig/v1alpha1?path=spec-globalAccount). | | providerConfigs.btpSapCrossplane[0].serviceAccountSecret | object | [] | A user available in BTP. The Credentials in the ServiceAccountSecret are relevant for two reasons (1) On environment creation (Kyma & CloudFoundry) the APIs require a users email address (2) For updating the managers of a CloudFoundry Environment it is required to have a user and a password The structure is pretty basic, a json object with email, username and password. Username & Password must not be filled if there is no need for CloudFoundry Environments. Example: { "email": "", "username": "PUserID", "password": "--" } | | providerConfigs.btpSapCrossplane[0].serviceAccountSecret.secretRef | object | [] | A SecretRef is a reference to a secret key that contains the credentials that must be used to connect to the provider. | -| providerConfigs.cloudfoundryBtpOrchestrateCloud | list | [] | creates k8s manifest `kind: ProviderConfig` of `apiVersion: cloudfoundry.crossplane.io/v1beta1` This `ProviderConfig` typically points to k8s secret in which the credentials required for the BTP Cloud Foundry provider to communicate with the Cloud Foundry Environment on BTP. | -| providerConfigs.cloudfoundryBtpOrchestrateCloud[0].credentials.secretRef | object | [] | A SecretRef is a reference to a secret key that contains the credentials that must be used to connect to the provider. | -| providerConfigs.cloudfoundryBtpOrchestrateCloud[0].endpoint.secretRef | object | [] | A SecretRef is a reference to a secret key that contains the credentials that must be used to connect to the provider. | +| providerConfigs.cloudfoundry | list | [] | creates k8s manifest `kind: ProviderConfig` of `apiVersion: cloudfoundry.crossplane.io/v1beta1` This `ProviderConfig` typically points to k8s secret in which the credentials required for the BTP Cloud Foundry provider to communicate with the Cloud Foundry Environment on BTP. | +| providerConfigs.cloudfoundry[0].credentials.secretRef | object | [] | A SecretRef is a reference to a secret key that contains the credentials that must be used to connect to the provider. | +| providerConfigs.cloudfoundry[0].endpoint.secretRef | object | [] | A SecretRef is a reference to a secret key that contains the credentials that must be used to connect to the provider. | | providerConfigs.gardenerOrchestrateCloud | list | [] | creates k8s manifest `kind: ProviderConfig` of `apiVersion: gardener.orchestrate.cloud.sap/v1alpha1` This `ProviderConfig` typically points to k8s secret in which a `kubeconfig` of SAP Garden k8s Service Account is located in order to create a SAP Gardener Shoot Cluster Admin Kubeconfig Request `kind: AdminKubeconfigRequest` of `apiVersion: gardener.orchestrate.cloud.sap/v1alpha1` on SAP Garden cluster to pull `kubeconfig` of a SAP Gardener Shoot Clusters into your OpenMCP cluster as a k8s secret. | | providerConfigs.gardenerOrchestrateCloud[0].credentials.secretRef | object | [] | A SecretRef is a reference to a secret key that contains the credentials that must be used to connect to the provider. | | providerConfigs.gcpUpbound | list | [] | creates k8s manifest [`kind: ProviderConfig`](https://marketplace.upbound.io/providers/crossplane-contrib/provider-gcp/v0.22.0/resources/gcp.crossplane.io/ProviderConfig/v1beta1) of `gcp.upbound.io/v1beta1`. Additional information see [GCP Quickstart](https://docs.crossplane.io/latest/getting-started/provider-gcp/#create-a-providerconfig). |