Planning and generation / Capability contract
Infra Stack V1
Canonical workspace infrastructure service catalog and module/env resolution rules.
- Schema version
rapidkit.infra-stack.v1- Contract path
contracts/infra-stack.v1.json- Publication
- synced-supporting-contract
- Defined fields
- 192
- Artifact bindings
- 0
Why this contract exists
Architecture role
Defines a versioned interoperability boundary used by Workspai and contract-aware consumers.
Consumption boundary
- • Workspai CLI
- • Contract-aware integrations
Related commands
Commands are linked only when the runtime contract identifies a direct production relationship. Supporting contracts may be consumed without having a single producer command.
This is a supporting, capability, cache, compatibility, or consumer contract. It has no single direct producer command in the canonical Workspace Intelligence execution registry.
Produced artifacts
These durable files are emitted by registered commands and validated against this contract.
No canonical file artifact is registered for this contract. It may describe capabilities, embedded data, runtime exchange, or supporting state instead of a standalone report.
Field reference
Every declared schema property or published capability path is listed here. Required means the contract declares or publishes that field at the shown boundary.
| Field path | Type | Required | Meaning | Constraints |
|---|---|---|---|---|
| description | string | Yes | Published description capability data. | — |
| envVarMappings | object | Yes | Published envvarmappings capability data. | — |
| envVarMappings.AWS_S3_ENDPOINT | array | Yes | Published aws s3 endpoint capability data. | — |
| envVarMappings.AWS_S3_ENDPOINT[] | string | Yes | Published aws s3 endpoint[] capability data. | — |
| envVarMappings.CELERY_BROKER_URL | array | Yes | Published celery broker url capability data. | — |
| envVarMappings.CELERY_BROKER_URL[] | string | Yes | Published celery broker url[] capability data. | — |
| envVarMappings.CELERY_RESULT_BACKEND | array | Yes | Published celery result backend capability data. | — |
| envVarMappings.CELERY_RESULT_BACKEND[] | string | Yes | Published celery result backend[] capability data. | — |
| envVarMappings.DATABASE_URL | array | Yes | Published database url capability data. | — |
| envVarMappings.DATABASE_URL[] | string | Yes | Published database url[] capability data. | — |
| envVarMappings.MAIL_URL | array | Yes | Published mail url capability data. | — |
| envVarMappings.MAIL_URL[] | string | Yes | Published mail url[] capability data. | — |
| envVarMappings.MONGO_URL | array | Yes | Published mongo url capability data. | — |
| envVarMappings.MONGO_URL[] | string | Yes | Published mongo url[] capability data. | — |
| envVarMappings.MONGODB_URI | array | Yes | Published mongodb uri capability data. | — |
| envVarMappings.MONGODB_URI[] | string | Yes | Published mongodb uri[] capability data. | — |
| envVarMappings.MYSQL_URL | array | Yes | Published mysql url capability data. | — |
| envVarMappings.MYSQL_URL[] | string | Yes | Published mysql url[] capability data. | — |
| envVarMappings.RABBITMQ_URL | array | Yes | Published rabbitmq url capability data. | — |
| envVarMappings.RABBITMQ_URL[] | string | Yes | Published rabbitmq url[] capability data. | — |
| envVarMappings.RAPIDKIT_DB_POSTGRES_URL | array | Yes | Published rapidkit db postgres url capability data. | — |
| envVarMappings.RAPIDKIT_DB_POSTGRES_URL[] | string | Yes | Published rapidkit db postgres url[] capability data. | — |
| envVarMappings.REDIS_URL | array | Yes | Published redis url capability data. | — |
| envVarMappings.REDIS_URL[] | string | Yes | Published redis url[] capability data. | — |
| envVarMappings.S3_ENDPOINT_URL | array | Yes | Published s3 endpoint url capability data. | — |
| envVarMappings.S3_ENDPOINT_URL[] | string | Yes | Published s3 endpoint url[] capability data. | — |
| envVarMappings.SMTP_HOST | array | Yes | Published smtp host capability data. | — |
| envVarMappings.SMTP_HOST[] | string | Yes | Published smtp host[] capability data. | — |
| futureProfiles | array | Yes | Published futureprofiles capability data. | — |
| futureProfiles[] | string | Yes | Published futureprofiles[] capability data. | — |
| moduleMappings | object | Yes | Published modulemappings capability data. | — |
| moduleMappings.free/business/approval_engine | array | Yes | Published free/business/approval engine capability data. | — |
| moduleMappings.free/business/approval_engine[] | string | Yes | Published free/business/approval engine[] capability data. | — |
| moduleMappings.free/business/storage | array | Yes | Published free/business/storage capability data. | — |
| moduleMappings.free/business/storage[] | string | Yes | Published free/business/storage[] capability data. | — |
| moduleMappings.free/cache/redis | array | Yes | Published free/cache/redis capability data. | — |
| moduleMappings.free/cache/redis[] | string | Yes | Published free/cache/redis[] capability data. | — |
| moduleMappings.free/communication/email | array | Yes | Published free/communication/email capability data. | — |
| moduleMappings.free/communication/email[] | string | Yes | Published free/communication/email[] capability data. | — |
| moduleMappings.free/communication/webhook_platform | array | Yes | Published free/communication/webhook platform capability data. | — |
| moduleMappings.free/communication/webhook_platform[] | string | Yes | Published free/communication/webhook platform[] capability data. | — |
| moduleMappings.free/database/db_mongo | array | Yes | Published free/database/db mongo capability data. | — |
| moduleMappings.free/database/db_mongo[] | string | Yes | Published free/database/db mongo[] capability data. | — |
| moduleMappings.free/database/db_mysql | array | Yes | Published free/database/db mysql capability data. | — |
| moduleMappings.free/database/db_mysql[] | string | Yes | Published free/database/db mysql[] capability data. | — |
| moduleMappings.free/database/db_postgres | array | Yes | Published free/database/db postgres capability data. | — |
| moduleMappings.free/database/db_postgres[] | string | Yes | Published free/database/db postgres[] capability data. | — |
| moduleMappings.free/security/audit_policy | array | Yes | Published free/security/audit policy capability data. | — |
| moduleMappings.free/security/audit_policy[] | string | Yes | Published free/security/audit policy[] capability data. | — |
| moduleMappings.free/tasks/celery | array | Yes | Published free/tasks/celery capability data. | — |
| moduleMappings.free/tasks/celery[] | string | Yes | Published free/tasks/celery[] capability data. | — |
| moduleMappings.free/tasks/event_bus | array | Yes | Published free/tasks/event bus capability data. | — |
| moduleMappings.free/tasks/event_bus[] | string | Yes | Published free/tasks/event bus[] capability data. | — |
| moduleMappings.free/tasks/queue_platform | array | Yes | Published free/tasks/queue platform capability data. | — |
| moduleMappings.free/tasks/queue_platform[] | string | Yes | Published free/tasks/queue platform[] capability data. | — |
| moduleMappings.free/tasks/workflow_engine | array | Yes | Published free/tasks/workflow engine capability data. | — |
| moduleMappings.free/tasks/workflow_engine[] | string | Yes | Published free/tasks/workflow engine[] capability data. | — |
| schemaVersion | string | Yes | Published schemaversion capability data. | — |
| services | object | Yes | Published services capability data. | — |
| services.mailpit | object | Yes | Published mailpit capability data. | — |
| services.mailpit.category | string | Yes | Published category capability data. | — |
| services.mailpit.connectionEnv | object | Yes | Published connectionenv capability data. | — |
| services.mailpit.connectionEnv.MAIL_URL | string | Yes | Published mail url capability data. | — |
| services.mailpit.connectionEnv.SMTP_HOST | string | Yes | Published smtp host capability data. | — |
| services.mailpit.connectionEnv.SMTP_PORT | string | Yes | Published smtp port capability data. | — |
| services.mailpit.displayName | string | Yes | Published displayname capability data. | — |
| services.mailpit.image | string | Yes | Published image capability data. | — |
| services.mailpit.ports | array | Yes | Published ports capability data. | — |
| services.mailpit.ports[] | object | Yes | Published ports[] capability data. | — |
| services.mailpit.ports[].container | number | Yes | Published container capability data. | — |
| services.mailpit.ports[].host | number | Yes | Published host capability data. | — |
| services.mailpit.ports[].name | string | Yes | Published name capability data. | — |
| services.minio | object | Yes | Published minio capability data. | — |
| services.minio.category | string | Yes | Published category capability data. | — |
| services.minio.command | array | Yes | Published command capability data. | — |
| services.minio.command[] | string | Yes | Published command[] capability data. | — |
| services.minio.connectionEnv | object | Yes | Published connectionenv capability data. | — |
| services.minio.connectionEnv.AWS_S3_ENDPOINT | string | Yes | Published aws s3 endpoint capability data. | — |
| services.minio.connectionEnv.S3_ENDPOINT_URL | string | Yes | Published s3 endpoint url capability data. | — |
| services.minio.displayName | string | Yes | Published displayname capability data. | — |
| services.minio.env | object | Yes | Published env capability data. | — |
| services.minio.env.MINIO_ROOT_PASSWORD | string | Yes | Published minio root password capability data. | — |
| services.minio.env.MINIO_ROOT_USER | string | Yes | Published minio root user capability data. | — |
| services.minio.image | string | Yes | Published image capability data. | — |
| services.minio.ports | array | Yes | Published ports capability data. | — |
| services.minio.ports[] | object | Yes | Published ports[] capability data. | — |
| services.minio.ports[].container | number | Yes | Published container capability data. | — |
| services.minio.ports[].host | number | Yes | Published host capability data. | — |
| services.minio.ports[].name | string | Yes | Published name capability data. | — |
| services.minio.volumes | array | Yes | Published volumes capability data. | — |
| services.minio.volumes[] | string | Yes | Published volumes[] capability data. | — |
| services.mongo | object | Yes | Published mongo capability data. | — |
| services.mongo.category | string | Yes | Published category capability data. | — |
| services.mongo.connectionEnv | object | Yes | Published connectionenv capability data. | — |
| services.mongo.connectionEnv.MONGO_URL | string | Yes | Published mongo url capability data. | — |
| services.mongo.connectionEnv.MONGODB_URI | string | Yes | Published mongodb uri capability data. | — |
| services.mongo.displayName | string | Yes | Published displayname capability data. | — |
| services.mongo.image | string | Yes | Published image capability data. | — |
| services.mongo.ports | array | Yes | Published ports capability data. | — |
| services.mongo.ports[] | object | Yes | Published ports[] capability data. | — |
| services.mongo.ports[].container | number | Yes | Published container capability data. | — |
| services.mongo.ports[].host | number | Yes | Published host capability data. | — |
| services.mongo.ports[].name | string | Yes | Published name capability data. | — |
| services.mongo.volumes | array | Yes | Published volumes capability data. | — |
| services.mongo.volumes[] | string | Yes | Published volumes[] capability data. | — |
| services.mysql | object | Yes | Published mysql capability data. | — |
| services.mysql.category | string | Yes | Published category capability data. | — |
| services.mysql.connectionEnv | object | Yes | Published connectionenv capability data. | — |
| services.mysql.connectionEnv.DATABASE_URL | string | Yes | Published database url capability data. | — |
| services.mysql.displayName | string | Yes | Published displayname capability data. | — |
| services.mysql.env | object | Yes | Published env capability data. | — |
| services.mysql.env.MYSQL_DATABASE | string | Yes | Published mysql database capability data. | — |
| services.mysql.env.MYSQL_PASSWORD | string | Yes | Published mysql password capability data. | — |
| services.mysql.env.MYSQL_ROOT_PASSWORD | string | Yes | Published mysql root password capability data. | — |
| services.mysql.env.MYSQL_USER | string | Yes | Published mysql user capability data. | — |
| services.mysql.healthcheck | object | Yes | Published healthcheck capability data. | — |
| services.mysql.healthcheck.interval | string | Yes | Published interval capability data. | — |
| services.mysql.healthcheck.retries | number | Yes | Published retries capability data. | — |
| services.mysql.healthcheck.test | array | Yes | Published test capability data. | — |
| services.mysql.healthcheck.test[] | string | Yes | Published test[] capability data. | — |
| services.mysql.healthcheck.timeout | string | Yes | Published timeout capability data. | — |
| services.mysql.image | string | Yes | Published image capability data. | — |
| services.mysql.ports | array | Yes | Published ports capability data. | — |
| services.mysql.ports[] | object | Yes | Published ports[] capability data. | — |
| services.mysql.ports[].container | number | Yes | Published container capability data. | — |
| services.mysql.ports[].host | number | Yes | Published host capability data. | — |
| services.mysql.ports[].name | string | Yes | Published name capability data. | — |
| services.postgres | object | Yes | Published postgres capability data. | — |
| services.postgres.category | string | Yes | Published category capability data. | — |
| services.postgres.connectionEnv | object | Yes | Published connectionenv capability data. | — |
| services.postgres.connectionEnv.DATABASE_URL | string | Yes | Published database url capability data. | — |
| services.postgres.connectionEnv.RAPIDKIT_DB_POSTGRES_URL | string | Yes | Published rapidkit db postgres url capability data. | — |
| services.postgres.displayName | string | Yes | Published displayname capability data. | — |
| services.postgres.env | object | Yes | Published env capability data. | — |
| services.postgres.env.POSTGRES_DB | string | Yes | Published postgres db capability data. | — |
| services.postgres.env.POSTGRES_PASSWORD | string | Yes | Published postgres password capability data. | — |
| services.postgres.env.POSTGRES_USER | string | Yes | Published postgres user capability data. | — |
| services.postgres.healthcheck | object | Yes | Published healthcheck capability data. | — |
| services.postgres.healthcheck.interval | string | Yes | Published interval capability data. | — |
| services.postgres.healthcheck.retries | number | Yes | Published retries capability data. | — |
| services.postgres.healthcheck.test | array | Yes | Published test capability data. | — |
| services.postgres.healthcheck.test[] | string | Yes | Published test[] capability data. | — |
| services.postgres.healthcheck.timeout | string | Yes | Published timeout capability data. | — |
| services.postgres.image | string | Yes | Published image capability data. | — |
| services.postgres.ports | array | Yes | Published ports capability data. | — |
| services.postgres.ports[] | object | Yes | Published ports[] capability data. | — |
| services.postgres.ports[].container | number | Yes | Published container capability data. | — |
| services.postgres.ports[].host | number | Yes | Published host capability data. | — |
| services.postgres.ports[].name | string | Yes | Published name capability data. | — |
| services.postgres.volumes | array | Yes | Published volumes capability data. | — |
| services.postgres.volumes[] | string | Yes | Published volumes[] capability data. | — |
| services.rabbitmq | object | Yes | Published rabbitmq capability data. | — |
| services.rabbitmq.category | string | Yes | Published category capability data. | — |
| services.rabbitmq.connectionEnv | object | Yes | Published connectionenv capability data. | — |
| services.rabbitmq.connectionEnv.CELERY_BROKER_URL | string | Yes | Published celery broker url capability data. | — |
| services.rabbitmq.connectionEnv.RABBITMQ_URL | string | Yes | Published rabbitmq url capability data. | — |
| services.rabbitmq.displayName | string | Yes | Published displayname capability data. | — |
| services.rabbitmq.healthcheck | object | Yes | Published healthcheck capability data. | — |
| services.rabbitmq.healthcheck.interval | string | Yes | Published interval capability data. | — |
| services.rabbitmq.healthcheck.retries | number | Yes | Published retries capability data. | — |
| services.rabbitmq.healthcheck.test | array | Yes | Published test capability data. | — |
| services.rabbitmq.healthcheck.test[] | string | Yes | Published test[] capability data. | — |
| services.rabbitmq.healthcheck.timeout | string | Yes | Published timeout capability data. | — |
| services.rabbitmq.image | string | Yes | Published image capability data. | — |
| services.rabbitmq.ports | array | Yes | Published ports capability data. | — |
| services.rabbitmq.ports[] | object | Yes | Published ports[] capability data. | — |
| services.rabbitmq.ports[].container | number | Yes | Published container capability data. | — |
| services.rabbitmq.ports[].host | number | Yes | Published host capability data. | — |
| services.rabbitmq.ports[].name | string | Yes | Published name capability data. | — |
| services.redis | object | Yes | Published redis capability data. | — |
| services.redis.category | string | Yes | Published category capability data. | — |
| services.redis.command | array | Yes | Published command capability data. | — |
| services.redis.command[] | string | Yes | Published command[] capability data. | — |
| services.redis.connectionEnv | object | Yes | Published connectionenv capability data. | — |
| services.redis.connectionEnv.CELERY_BROKER_URL | string | Yes | Published celery broker url capability data. | — |
| services.redis.connectionEnv.CELERY_RESULT_BACKEND | string | Yes | Published celery result backend capability data. | — |
| services.redis.connectionEnv.REDIS_URL | string | Yes | Published redis url capability data. | — |
| services.redis.displayName | string | Yes | Published displayname capability data. | — |
| services.redis.healthcheck | object | Yes | Published healthcheck capability data. | — |
| services.redis.healthcheck.interval | string | Yes | Published interval capability data. | — |
| services.redis.healthcheck.retries | number | Yes | Published retries capability data. | — |
| services.redis.healthcheck.test | array | Yes | Published test capability data. | — |
| services.redis.healthcheck.test[] | string | Yes | Published test[] capability data. | — |
| services.redis.healthcheck.timeout | string | Yes | Published timeout capability data. | — |
| services.redis.image | string | Yes | Published image capability data. | — |
| services.redis.ports | array | Yes | Published ports capability data. | — |
| services.redis.ports[] | object | Yes | Published ports[] capability data. | — |
| services.redis.ports[].container | number | Yes | Published container capability data. | — |
| services.redis.ports[].host | number | Yes | Published host capability data. | — |
| services.redis.ports[].name | string | Yes | Published name capability data. | — |
| services.redis.volumes | array | Yes | Published volumes capability data. | — |
| services.redis.volumes[] | string | Yes | Published volumes[] capability data. | — |
Canonical machine-readable definition
The raw synchronized contract remains authoritative. The educational sections above are projections of this definition.
Show raw JSON
{
"schemaVersion": "rapidkit.infra-stack.v1",
"description": "Canonical workspace infrastructure service catalog and module/env resolution rules.",
"futureProfiles": [
"frontend-dev",
"edge-proxy"
],
"services": {
"postgres": {
"displayName": "PostgreSQL",
"category": "database",
"image": "postgres:16-alpine",
"ports": [
{
"name": "sql",
"host": 5432,
"container": 5432
}
],
"env": {
"POSTGRES_USER": "rapidkit",
"POSTGRES_PASSWORD": "rapidkit",
"POSTGRES_DB": "rapidkit"
},
"volumes": [
"postgres_data:/var/lib/postgresql/data"
],
"healthcheck": {
"test": [
"CMD-SHELL",
"pg_isready -U rapidkit -d rapidkit"
],
"interval": "10s",
"timeout": "5s",
"retries": 5
},
"connectionEnv": {
"DATABASE_URL": "postgresql://rapidkit:rapidkit@localhost:5432/rapidkit",
"RAPIDKIT_DB_POSTGRES_URL": "postgresql://rapidkit:rapidkit@localhost:5432/rapidkit"
}
},
"redis": {
"displayName": "Redis",
"category": "cache",
"image": "redis:7-alpine",
"ports": [
{
"name": "redis",
"host": 6379,
"container": 6379
}
],
"command": [
"redis-server",
"--appendonly",
"yes"
],
"volumes": [
"redis_data:/data"
],
"healthcheck": {
"test": [
"CMD",
"redis-cli",
"ping"
],
"interval": "10s",
"timeout": "3s",
"retries": 5
},
"connectionEnv": {
"REDIS_URL": "redis://localhost:6379/0",
"CELERY_BROKER_URL": "redis://localhost:6379/0",
"CELERY_RESULT_BACKEND": "redis://localhost:6379/1"
}
},
"mongo": {
"displayName": "MongoDB",
"category": "database",
"image": "mongo:7",
"ports": [
{
"name": "mongo",
"host": 27017,
"container": 27017
}
],
"volumes": [
"mongo_data:/data/db"
],
"connectionEnv": {
"MONGODB_URI": "mongodb://localhost:27017/rapidkit",
"MONGO_URL": "mongodb://localhost:27017/rapidkit"
}
},
"mysql": {
"displayName": "MySQL",
"category": "database",
"image": "mysql:8.4",
"ports": [
{
"name": "mysql",
"host": 3306,
"container": 3306
}
],
"env": {
"MYSQL_ROOT_PASSWORD": "rapidkit",
"MYSQL_DATABASE": "rapidkit",
"MYSQL_USER": "rapidkit",
"MYSQL_PASSWORD": "rapidkit"
},
"healthcheck": {
"test": [
"CMD",
"mysqladmin",
"ping",
"-h",
"127.0.0.1",
"-urapidkit",
"-prapidkit"
],
"interval": "10s",
"timeout": "5s",
"retries": 5
},
"connectionEnv": {
"DATABASE_URL": "mysql://rapidkit:rapidkit@localhost:3306/rapidkit"
}
},
"rabbitmq": {
"displayName": "RabbitMQ",
"category": "queue",
"image": "rabbitmq:3-management-alpine",
"ports": [
{
"name": "amqp",
"host": 5672,
"container": 5672
},
{
"name": "management",
"host": 15672,
"container": 15672
}
],
"healthcheck": {
"test": [
"CMD",
"rabbitmq-diagnostics",
"-q",
"ping"
],
"interval": "15s",
"timeout": "10s",
"retries": 5
},
"connectionEnv": {
"CELERY_BROKER_URL": "amqp://guest:guest@localhost:5672//",
"RABBITMQ_URL": "amqp://guest:guest@localhost:5672//"
}
},
"mailpit": {
"displayName": "Mailpit (SMTP dev)",
"category": "communication",
"image": "axllent/mailpit:latest",
"ports": [
{
"name": "smtp",
"host": 1025,
"container": 1025
},
{
"name": "ui",
"host": 8025,
"container": 8025
}
],
"connectionEnv": {
"SMTP_HOST": "localhost",
"SMTP_PORT": "1025",
"MAIL_URL": "smtp://localhost:1025"
}
},
"minio": {
"displayName": "MinIO (S3-compatible)",
"category": "storage",
"image": "minio/minio:latest",
"ports": [
{
"name": "s3",
"host": 9000,
"container": 9000
},
{
"name": "console",
"host": 9001,
"container": 9001
}
],
"command": [
"server",
"/data",
"--console-address",
":9001"
],
"env": {
"MINIO_ROOT_USER": "rapidkit",
"MINIO_ROOT_PASSWORD": "rapidkit-dev"
},
"volumes": [
"minio_data:/data"
],
"connectionEnv": {
"AWS_S3_ENDPOINT": "http://localhost:9000",
"S3_ENDPOINT_URL": "http://localhost:9000"
}
}
},
"moduleMappings": {
"free/database/db_postgres": [
"postgres"
],
"free/database/db_mongo": [
"mongo"
],
"free/database/db_mysql": [
"mysql"
],
"free/cache/redis": [
"redis"
],
"free/tasks/celery": [
"redis"
],
"free/tasks/workflow_engine": [
"postgres",
"redis"
],
"free/tasks/queue_platform": [
"redis"
],
"free/tasks/event_bus": [
"redis"
],
"free/communication/webhook_platform": [
"postgres",
"redis"
],
"free/communication/email": [
"mailpit"
],
"free/business/storage": [
"minio"
],
"free/security/audit_policy": [
"postgres"
],
"free/business/approval_engine": [
"postgres",
"redis"
]
},
"envVarMappings": {
"DATABASE_URL": [
"postgres"
],
"RAPIDKIT_DB_POSTGRES_URL": [
"postgres"
],
"REDIS_URL": [
"redis"
],
"CELERY_BROKER_URL": [
"redis"
],
"CELERY_RESULT_BACKEND": [
"redis"
],
"MONGODB_URI": [
"mongo"
],
"MONGO_URL": [
"mongo"
],
"MYSQL_URL": [
"mysql"
],
"RABBITMQ_URL": [
"rabbitmq"
],
"SMTP_HOST": [
"mailpit"
],
"MAIL_URL": [
"mailpit"
],
"AWS_S3_ENDPOINT": [
"minio"
],
"S3_ENDPOINT_URL": [
"minio"
]
}
}