Skip to content

feat: add KymaInstanceMapping for cross-cluster instance mapping#14

Open
maximilianbraun wants to merge 6 commits intomainfrom
feature/remove-instancemapping
Open

feat: add KymaInstanceMapping for cross-cluster instance mapping#14
maximilianbraun wants to merge 6 commits intomainfrom
feature/remove-instancemapping

Conversation

@maximilianbraun
Copy link
Member

Implemented KymaInstanceMapping CRD to enable mapping HANA Cloud instances to Kubernetes namespaces in both single-cluster and cross-cluster deployments.

Key Features:

  • Extract HANA instance ID, admin API credentials, and cluster ID from Kyma cluster resources (ServiceInstance, ServiceBinding, ConfigMap)
  • Optional kymaConnectionRef for deployment flexibility:
    • Omit for single-cluster (uses local client)
    • Provide kubeconfig secret for cross-cluster access
  • Per-reconcile HANA Cloud client for credential isolation
  • Support BTP Service Operator resource patterns

Architecture:

  • Controller reads ServiceInstance (instanceID), ServiceBinding (admin creds), and ConfigMap (clusterID) from target cluster
  • Creates instance mapping via HANA Cloud Admin API
  • Status tracks both Kyma resources and HANA Cloud mapping state
  • Never stores admin API credentials in ProviderConfig or CR status

Changes:

  • New inventory.hana.orchestrate.cloud.sap/v1alpha1 API group
  • KymaInstanceMapping CRD with optional cross-cluster support
  • HANA Cloud Admin API client (OAuth2 + REST)
  • Remote cluster client for kubeconfig-based access
  • Instance mapping client for CRUD operations
  • Comprehensive documentation and examples for both patterns
  • ADR documenting architecture and data flow

Examples:

  • examples/instancemapping/kymainstancemapping-local.yaml (single-cluster)
  • examples/instancemapping/kymainstancemapping-example.yaml (cross-cluster)
  • examples/instancemapping/KYMA_README.md (detailed guide)

Documentation:

  • README.md updated with provider overview and installation guide
  • docs/ADR/20260218-kyma-instance-mapping-architecture.md

maximilianbraun and others added 2 commits February 18, 2026 16:06
Implemented KymaInstanceMapping CRD to enable mapping HANA Cloud instances
to Kubernetes namespaces in both single-cluster and cross-cluster deployments.

Key Features:
- Extract HANA instance ID, admin API credentials, and cluster ID from Kyma
  cluster resources (ServiceInstance, ServiceBinding, ConfigMap)
- Optional kymaConnectionRef for deployment flexibility:
  - Omit for single-cluster (uses local client)
  - Provide kubeconfig secret for cross-cluster access
- Per-reconcile HANA Cloud client for credential isolation
- Support BTP Service Operator resource patterns

Architecture:
- Controller reads ServiceInstance (instanceID), ServiceBinding (admin creds),
  and ConfigMap (clusterID) from target cluster
- Creates instance mapping via HANA Cloud Admin API
- Status tracks both Kyma resources and HANA Cloud mapping state
- Never stores admin API credentials in ProviderConfig or CR status

Changes:
- New inventory.hana.orchestrate.cloud.sap/v1alpha1 API group
- KymaInstanceMapping CRD with optional cross-cluster support
- HANA Cloud Admin API client (OAuth2 + REST)
- Remote cluster client for kubeconfig-based access
- Instance mapping client for CRUD operations
- Comprehensive documentation and examples for both patterns
- ADR documenting architecture and data flow

Examples:
- examples/instancemapping/kymainstancemapping-local.yaml (single-cluster)
- examples/instancemapping/kymainstancemapping-example.yaml (cross-cluster)
- examples/instancemapping/KYMA_README.md (detailed guide)

Documentation:
- README.md updated with provider overview and installation guide
- docs/ADR/20260218-kyma-instance-mapping-architecture.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Maximilian Braun (SAP) <maximilian.braun@sap.com>
Signed-off-by: Maximilian Braun (SAP) <maximilian.braun@sap.com>
@maximilianbraun maximilianbraun force-pushed the feature/remove-instancemapping branch from 6deb260 to 1154516 Compare February 18, 2026 15:07
Signed-off-by: Maximilian Braun (SAP) <maximilian.braun@sap.com>
Signed-off-by: Maximilian Braun (SAP) <maximilian.braun@sap.com>
Signed-off-by: Maximilian Braun (SAP) <maximilian.braun@sap.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant