Skip to content

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.json

This 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:

  • Tenant
  • TenantFactory
  • SystemConfigResolver
  • ClasspathSystemConfigResolver

Credentials

The core module provides credential abstractions such as:

  • Credential
  • CredentialProvider
  • CredentialTypes

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:

  • Endpoint
  • UrlBuilder
  • UrlType
  • ServiceProtocol

Packages can expose typed facade methods that assemble correct runtime URLs from tenant and system configuration.

  • 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.