Tenants & Credentials
iFlowKit separates static system definition from environment-specific runtime configuration.
Static system definition
Static system metadata lives in the repository, for example:
text
systems/outlook/resources/outlook.jsonThis type of file defines known environments and base values that can be bundled with a package.
Tenant model
A Tenant represents a concrete environment such as DEV, QAS or PRD. It can hold:
- system keys
- endpoint base URLs
- credential mappings
- environment-specific values
Relevant core classes include:
TenantTenantFactorySystemConfigResolverClasspathSystemConfigResolver
Credentials
The core module provides credential abstractions such as:
CredentialCredentialProviderCredentialTypes
Packages can declare credential requirements in their manifest so tenant setup can be standardized across teams and environments.
Endpoint and URL building
To reduce hard-coded URLs, iFlowKit includes endpoint and URL abstractions:
EndpointUrlBuilderUrlTypeServiceProtocol
Packages can expose typed facade methods that assemble correct runtime URLs from tenant and system configuration.
Recommended approach
- Keep environment details out of Groovy scripts.
- Use package manifests and tenant configuration to make behavior repeatable.
- Treat credentials and endpoints as configuration, not code.
- Avoid placing secrets in repository files.