Ironflow Resource Hierarchy

Ironflow Resource Hierarchy An architecture diagram generated by Archify. Organization · org_* · Organization scope Organization org_* Project · proj_* · Organization scope › Project scope Project proj_* Environment · env_* · Organization scope › Project scope › Environment scope Environment env_* Functions · function, run, event · Organization scope › Project scope › Environment scope Functions function, run, event Entity streams · stream, projection · Organization scope › Project scope › Environment scope Entity streams stream, projection Topics and webhooks · public.{envID}.> · Organization scope › Project scope › Environment scope Topics and webhooks public.{envID}.> KV buckets · APP_* · Organization scope › Project scope › Environment scope KV buckets APP_* Secrets and config · SYS_secrets_*, SYS_config_* · Organization scope › Project scope › Environment scope Secrets and config SYS_secrets_*, SYS_config_* API keys · ifkey_ and ifplatform_ · Organization scope › Project scope › Environment scope API keys ifkey_ and ifplatform_ IRN · irn:ironflow:{org}:{project}:{type}:{env}:{id} · Architecture component IRN irn:ironflow:{org}:{project}:{type}:{env}:{id} owns owns every level contributes one segment Organization scope Project scope Environment scope Legend Backend Database Cloud Security Message bus

Containment

  • • An organization owns projects, a project owns environments, an environment owns every runtime resource
  • • Bootstrap creates org_default, then proj_default_default, then env_default; migration 001 seeds the org_platform sentinel
  • • A Platform YAML adds more orgs, projects and environments additively and idempotently on every boot

IRN

  • • Seven segments: irn:ironflow:{org}:{project}:{type}:{env}:{id}
  • • Example segments: org_acme, proj_payments, function, env_prod, fn_charge
  • • Patterns use * for any single segment, and a bare * matches any IRN

The type segment

  • • Mapped from the plural URL segment: function, run, event, stream, projection, secret, org, role, policy, user, project
  • • An unmapped plural passes through unchanged, so the URL segment is the type
  • • The path is read escaped, so a %2F cannot forge a segment boundary