Key configuration areas
Secrets management
Securely store sensitive data using SOPS encryption
Connector properties
Define external service details and feature toggles
Traits
Control deployment-specific parameters
Resources
Specify transformation files and custom logic
Prerequisites
Before configuring a custom connector, ensure you have:- Built a connector successfully
- Access to the
gc-devhub-{installation}-applications-liverepository. For more information about repository names, see GitHub organization and repository structure. - A managed namespace to deploy the connector into. For what a managed namespace includes and how to request one, see Deployment namespace.
- Understanding of your target deployment environment
Set the deployment namespace
Deploy custom connectors into a DevHub namespace. Usedevhub-grandcentral by default, or a dedicated devh-gc-<domain> namespace when you have requested one. Don’t deploy a custom connector into the grandcentral namespace. For the conventions and how to request a namespace, see Deployment namespace.
Set the namespace in the spec.destination.namespace field of the ArgoCD Application that deploys the connector, in the gc-devhub-{installation}-applications-live repository. The following example uses a dedicated namespace:
Application. For the request steps, see Deployment namespace.
Secrets management with SOPS
To securely store sensitive data in Kubernetes secrets, use SOPS for encryption. ArgoCD automatically applies encrypted secrets placed in thesecrets folder as part of the secrets-app app.
Managing secrets
-
Follow the guide in your installation for the specific runtime at:
-
Configure a secret in the connector by adding the secret name in
values.yaml:
Connector properties
Define connector configuration values in the Helmvalues.yaml file in the gc-devhub-{installation}-applications-live repository.
Example properties configuration
Common properties
Traits configuration
Traits control deployment-specific parameters such as auto-scaling, logging, health monitoring, and telemetry.Supported traits
Banking OS supports the following Camel traits:affinity- Pod scheduling preferencescontainer- Container resource limitshealth- Health check configurationknativeservice- Knative-specific settingslogging- Logging configurationprometheus- Metrics collectiontelemetry- Distributed tracing
Example traits configuration
Health check configuration
Configure health, liveness, and readiness probes:- Liveness Probe: Detects if the connector is alive
- Readiness Probe: Determines if the connector can accept traffic
- Startup Probe: Checks if the app has started successfully
Resource configurations
Specify additional resources such as transformation files, validation rules, and custom processing logic.Supported transformation libraries
Banking OS supports the following transformation libraries for processing request and response payloads:JOLT transformation example
Map a user’s first and last name into a singlefullName field:
XSLT transformation example
Convert an XML<user> element into a <customer> element:
Configuration best practices
Security
Security
- Always use SOPS for sensitive data
- Never commit secrets to version control
- Rotate credentials regularly
Resource management
Resource management
- Set appropriate resource limits
- Configure auto-scaling based on load
- Monitor resource utilization
Health checks
Health checks
- Enable all probe types
- Set realistic timeout values
- Test probe configurations thoroughly
Logging
Logging
- Use appropriate log levels
- Enable structured logging
- Configure log retention policies
Next steps
Once you have completed your connectors configuration, you are ready to:- Test and validate your connector
- Deploy the connector to your environment
- Verify logs to ensure it’s running correctly