Skip to content

Add Catena-X example with external PostgreSQL and EDC UI configuration#78

Open
antesch wants to merge 8 commits into
eclipse-basyx:mainfrom
antesch:feat/catena-x-external-db
Open

Add Catena-X example with external PostgreSQL and EDC UI configuration#78
antesch wants to merge 8 commits into
eclipse-basyx:mainfrom
antesch:feat/catena-x-external-db

Conversation

@antesch

@antesch antesch commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR addresses #75 by adding a Catena-X oriented BaSyx Go Helm chart example and extending the chart with support for existing external PostgreSQL databases.

It also configures the AAS Web UI for CatenaXplorer/EDC use cases and documents the end-to-end Catena-X setup.

Changes

  • Add values/values.catena-x.example.yaml for a Catena-X oriented deployment.
  • Configure Digital Twin Registry and Submodel Repository for marker-based ABAC.
  • Configure Keycloak demo users for provider and partner access scenarios.
  • Configure AAS Web UI with the catena-x infrastructure template.
  • Add CatenaXplorer EDC UI runtime settings based on the upstream AAS Web UI CatenaXplorerEdcStandalone example.
  • Add Secret-based AAS Web UI environment support via aasWebGui.secretEnvironment and aasWebGui.existingSecretEnvironment.
  • Add support for database.type=external to use an existing PostgreSQL database instead of rendering a CloudNativePG cluster.
  • Add values/values.external-db.example.yaml for external PostgreSQL deployments.
  • Keep the existing managed CloudNativePG database mode as the default for backwards compatibility.
  • Add support for service-specific database overrides, so individual BaSyx Go backend services can use their own external PostgreSQL Secret or inline database configuration.
  • Add support for advanced external PostgreSQL options such as sslmode, sslcert, sslkey, sslrootcert, connectTimeoutSeconds, applicationName, fallbackApplicationName, searchPath, options, and timezone.
  • Render optional PostgreSQL Secret keys as optional POSTGRES_* environment variables for BaSyx Go backend services.
  • Generate JDBC URLs with PostgreSQL parameters for inline external database values, including sslmode and currentSchema derived from searchPath.
  • Ensure Keycloak uses KC_DB=postgres while still reading its JDBC URL from the selected database Secret.
  • Disable the Configuration Service database wait initContainer in the external DB example overlay, because external databases are usually managed independently.
  • Document external PostgreSQL usage, Secret requirements, optional PostgreSQL settings, inline test values, service-specific database overrides, and Catena-X setup.
  • Add Helm unit tests for Catena-X ABAC, UI configuration, EDC UI environment, external database wiring, service-specific database overrides, advanced PostgreSQL options, and schema validation.

Validation

helm lint charts/basyx -f values/values.catena-x.example.yaml
helm lint charts/basyx -f values/values.external-db.example.yaml
helm lint charts/basyx -f values/values.catena-x.example.yaml -f values/values.external-db.example.yaml
helm unittest charts/basyx

@th0masgl

th0masgl commented Jul 16, 2026

Copy link
Copy Markdown

i think you can also disable the waitfordb initcontainers if you want to use an external database and add that to values/values.external-db.example.yaml

And i can not connect to the external database, i guess because i can not pass sslmode=require and searchpath=myschema

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.

2 participants