All contracts

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 pathTypeRequiredMeaningConstraints
descriptionstringYesPublished description capability data.
envVarMappingsobjectYesPublished envvarmappings capability data.
envVarMappings.AWS_S3_ENDPOINTarrayYesPublished aws s3 endpoint capability data.
envVarMappings.AWS_S3_ENDPOINT[]stringYesPublished aws s3 endpoint[] capability data.
envVarMappings.CELERY_BROKER_URLarrayYesPublished celery broker url capability data.
envVarMappings.CELERY_BROKER_URL[]stringYesPublished celery broker url[] capability data.
envVarMappings.CELERY_RESULT_BACKENDarrayYesPublished celery result backend capability data.
envVarMappings.CELERY_RESULT_BACKEND[]stringYesPublished celery result backend[] capability data.
envVarMappings.DATABASE_URLarrayYesPublished database url capability data.
envVarMappings.DATABASE_URL[]stringYesPublished database url[] capability data.
envVarMappings.MAIL_URLarrayYesPublished mail url capability data.
envVarMappings.MAIL_URL[]stringYesPublished mail url[] capability data.
envVarMappings.MONGO_URLarrayYesPublished mongo url capability data.
envVarMappings.MONGO_URL[]stringYesPublished mongo url[] capability data.
envVarMappings.MONGODB_URIarrayYesPublished mongodb uri capability data.
envVarMappings.MONGODB_URI[]stringYesPublished mongodb uri[] capability data.
envVarMappings.MYSQL_URLarrayYesPublished mysql url capability data.
envVarMappings.MYSQL_URL[]stringYesPublished mysql url[] capability data.
envVarMappings.RABBITMQ_URLarrayYesPublished rabbitmq url capability data.
envVarMappings.RABBITMQ_URL[]stringYesPublished rabbitmq url[] capability data.
envVarMappings.RAPIDKIT_DB_POSTGRES_URLarrayYesPublished rapidkit db postgres url capability data.
envVarMappings.RAPIDKIT_DB_POSTGRES_URL[]stringYesPublished rapidkit db postgres url[] capability data.
envVarMappings.REDIS_URLarrayYesPublished redis url capability data.
envVarMappings.REDIS_URL[]stringYesPublished redis url[] capability data.
envVarMappings.S3_ENDPOINT_URLarrayYesPublished s3 endpoint url capability data.
envVarMappings.S3_ENDPOINT_URL[]stringYesPublished s3 endpoint url[] capability data.
envVarMappings.SMTP_HOSTarrayYesPublished smtp host capability data.
envVarMappings.SMTP_HOST[]stringYesPublished smtp host[] capability data.
futureProfilesarrayYesPublished futureprofiles capability data.
futureProfiles[]stringYesPublished futureprofiles[] capability data.
moduleMappingsobjectYesPublished modulemappings capability data.
moduleMappings.free/business/approval_enginearrayYesPublished free/business/approval engine capability data.
moduleMappings.free/business/approval_engine[]stringYesPublished free/business/approval engine[] capability data.
moduleMappings.free/business/storagearrayYesPublished free/business/storage capability data.
moduleMappings.free/business/storage[]stringYesPublished free/business/storage[] capability data.
moduleMappings.free/cache/redisarrayYesPublished free/cache/redis capability data.
moduleMappings.free/cache/redis[]stringYesPublished free/cache/redis[] capability data.
moduleMappings.free/communication/emailarrayYesPublished free/communication/email capability data.
moduleMappings.free/communication/email[]stringYesPublished free/communication/email[] capability data.
moduleMappings.free/communication/webhook_platformarrayYesPublished free/communication/webhook platform capability data.
moduleMappings.free/communication/webhook_platform[]stringYesPublished free/communication/webhook platform[] capability data.
moduleMappings.free/database/db_mongoarrayYesPublished free/database/db mongo capability data.
moduleMappings.free/database/db_mongo[]stringYesPublished free/database/db mongo[] capability data.
moduleMappings.free/database/db_mysqlarrayYesPublished free/database/db mysql capability data.
moduleMappings.free/database/db_mysql[]stringYesPublished free/database/db mysql[] capability data.
moduleMappings.free/database/db_postgresarrayYesPublished free/database/db postgres capability data.
moduleMappings.free/database/db_postgres[]stringYesPublished free/database/db postgres[] capability data.
moduleMappings.free/security/audit_policyarrayYesPublished free/security/audit policy capability data.
moduleMappings.free/security/audit_policy[]stringYesPublished free/security/audit policy[] capability data.
moduleMappings.free/tasks/celeryarrayYesPublished free/tasks/celery capability data.
moduleMappings.free/tasks/celery[]stringYesPublished free/tasks/celery[] capability data.
moduleMappings.free/tasks/event_busarrayYesPublished free/tasks/event bus capability data.
moduleMappings.free/tasks/event_bus[]stringYesPublished free/tasks/event bus[] capability data.
moduleMappings.free/tasks/queue_platformarrayYesPublished free/tasks/queue platform capability data.
moduleMappings.free/tasks/queue_platform[]stringYesPublished free/tasks/queue platform[] capability data.
moduleMappings.free/tasks/workflow_enginearrayYesPublished free/tasks/workflow engine capability data.
moduleMappings.free/tasks/workflow_engine[]stringYesPublished free/tasks/workflow engine[] capability data.
schemaVersionstringYesPublished schemaversion capability data.
servicesobjectYesPublished services capability data.
services.mailpitobjectYesPublished mailpit capability data.
services.mailpit.categorystringYesPublished category capability data.
services.mailpit.connectionEnvobjectYesPublished connectionenv capability data.
services.mailpit.connectionEnv.MAIL_URLstringYesPublished mail url capability data.
services.mailpit.connectionEnv.SMTP_HOSTstringYesPublished smtp host capability data.
services.mailpit.connectionEnv.SMTP_PORTstringYesPublished smtp port capability data.
services.mailpit.displayNamestringYesPublished displayname capability data.
services.mailpit.imagestringYesPublished image capability data.
services.mailpit.portsarrayYesPublished ports capability data.
services.mailpit.ports[]objectYesPublished ports[] capability data.
services.mailpit.ports[].containernumberYesPublished container capability data.
services.mailpit.ports[].hostnumberYesPublished host capability data.
services.mailpit.ports[].namestringYesPublished name capability data.
services.minioobjectYesPublished minio capability data.
services.minio.categorystringYesPublished category capability data.
services.minio.commandarrayYesPublished command capability data.
services.minio.command[]stringYesPublished command[] capability data.
services.minio.connectionEnvobjectYesPublished connectionenv capability data.
services.minio.connectionEnv.AWS_S3_ENDPOINTstringYesPublished aws s3 endpoint capability data.
services.minio.connectionEnv.S3_ENDPOINT_URLstringYesPublished s3 endpoint url capability data.
services.minio.displayNamestringYesPublished displayname capability data.
services.minio.envobjectYesPublished env capability data.
services.minio.env.MINIO_ROOT_PASSWORDstringYesPublished minio root password capability data.
services.minio.env.MINIO_ROOT_USERstringYesPublished minio root user capability data.
services.minio.imagestringYesPublished image capability data.
services.minio.portsarrayYesPublished ports capability data.
services.minio.ports[]objectYesPublished ports[] capability data.
services.minio.ports[].containernumberYesPublished container capability data.
services.minio.ports[].hostnumberYesPublished host capability data.
services.minio.ports[].namestringYesPublished name capability data.
services.minio.volumesarrayYesPublished volumes capability data.
services.minio.volumes[]stringYesPublished volumes[] capability data.
services.mongoobjectYesPublished mongo capability data.
services.mongo.categorystringYesPublished category capability data.
services.mongo.connectionEnvobjectYesPublished connectionenv capability data.
services.mongo.connectionEnv.MONGO_URLstringYesPublished mongo url capability data.
services.mongo.connectionEnv.MONGODB_URIstringYesPublished mongodb uri capability data.
services.mongo.displayNamestringYesPublished displayname capability data.
services.mongo.imagestringYesPublished image capability data.
services.mongo.portsarrayYesPublished ports capability data.
services.mongo.ports[]objectYesPublished ports[] capability data.
services.mongo.ports[].containernumberYesPublished container capability data.
services.mongo.ports[].hostnumberYesPublished host capability data.
services.mongo.ports[].namestringYesPublished name capability data.
services.mongo.volumesarrayYesPublished volumes capability data.
services.mongo.volumes[]stringYesPublished volumes[] capability data.
services.mysqlobjectYesPublished mysql capability data.
services.mysql.categorystringYesPublished category capability data.
services.mysql.connectionEnvobjectYesPublished connectionenv capability data.
services.mysql.connectionEnv.DATABASE_URLstringYesPublished database url capability data.
services.mysql.displayNamestringYesPublished displayname capability data.
services.mysql.envobjectYesPublished env capability data.
services.mysql.env.MYSQL_DATABASEstringYesPublished mysql database capability data.
services.mysql.env.MYSQL_PASSWORDstringYesPublished mysql password capability data.
services.mysql.env.MYSQL_ROOT_PASSWORDstringYesPublished mysql root password capability data.
services.mysql.env.MYSQL_USERstringYesPublished mysql user capability data.
services.mysql.healthcheckobjectYesPublished healthcheck capability data.
services.mysql.healthcheck.intervalstringYesPublished interval capability data.
services.mysql.healthcheck.retriesnumberYesPublished retries capability data.
services.mysql.healthcheck.testarrayYesPublished test capability data.
services.mysql.healthcheck.test[]stringYesPublished test[] capability data.
services.mysql.healthcheck.timeoutstringYesPublished timeout capability data.
services.mysql.imagestringYesPublished image capability data.
services.mysql.portsarrayYesPublished ports capability data.
services.mysql.ports[]objectYesPublished ports[] capability data.
services.mysql.ports[].containernumberYesPublished container capability data.
services.mysql.ports[].hostnumberYesPublished host capability data.
services.mysql.ports[].namestringYesPublished name capability data.
services.postgresobjectYesPublished postgres capability data.
services.postgres.categorystringYesPublished category capability data.
services.postgres.connectionEnvobjectYesPublished connectionenv capability data.
services.postgres.connectionEnv.DATABASE_URLstringYesPublished database url capability data.
services.postgres.connectionEnv.RAPIDKIT_DB_POSTGRES_URLstringYesPublished rapidkit db postgres url capability data.
services.postgres.displayNamestringYesPublished displayname capability data.
services.postgres.envobjectYesPublished env capability data.
services.postgres.env.POSTGRES_DBstringYesPublished postgres db capability data.
services.postgres.env.POSTGRES_PASSWORDstringYesPublished postgres password capability data.
services.postgres.env.POSTGRES_USERstringYesPublished postgres user capability data.
services.postgres.healthcheckobjectYesPublished healthcheck capability data.
services.postgres.healthcheck.intervalstringYesPublished interval capability data.
services.postgres.healthcheck.retriesnumberYesPublished retries capability data.
services.postgres.healthcheck.testarrayYesPublished test capability data.
services.postgres.healthcheck.test[]stringYesPublished test[] capability data.
services.postgres.healthcheck.timeoutstringYesPublished timeout capability data.
services.postgres.imagestringYesPublished image capability data.
services.postgres.portsarrayYesPublished ports capability data.
services.postgres.ports[]objectYesPublished ports[] capability data.
services.postgres.ports[].containernumberYesPublished container capability data.
services.postgres.ports[].hostnumberYesPublished host capability data.
services.postgres.ports[].namestringYesPublished name capability data.
services.postgres.volumesarrayYesPublished volumes capability data.
services.postgres.volumes[]stringYesPublished volumes[] capability data.
services.rabbitmqobjectYesPublished rabbitmq capability data.
services.rabbitmq.categorystringYesPublished category capability data.
services.rabbitmq.connectionEnvobjectYesPublished connectionenv capability data.
services.rabbitmq.connectionEnv.CELERY_BROKER_URLstringYesPublished celery broker url capability data.
services.rabbitmq.connectionEnv.RABBITMQ_URLstringYesPublished rabbitmq url capability data.
services.rabbitmq.displayNamestringYesPublished displayname capability data.
services.rabbitmq.healthcheckobjectYesPublished healthcheck capability data.
services.rabbitmq.healthcheck.intervalstringYesPublished interval capability data.
services.rabbitmq.healthcheck.retriesnumberYesPublished retries capability data.
services.rabbitmq.healthcheck.testarrayYesPublished test capability data.
services.rabbitmq.healthcheck.test[]stringYesPublished test[] capability data.
services.rabbitmq.healthcheck.timeoutstringYesPublished timeout capability data.
services.rabbitmq.imagestringYesPublished image capability data.
services.rabbitmq.portsarrayYesPublished ports capability data.
services.rabbitmq.ports[]objectYesPublished ports[] capability data.
services.rabbitmq.ports[].containernumberYesPublished container capability data.
services.rabbitmq.ports[].hostnumberYesPublished host capability data.
services.rabbitmq.ports[].namestringYesPublished name capability data.
services.redisobjectYesPublished redis capability data.
services.redis.categorystringYesPublished category capability data.
services.redis.commandarrayYesPublished command capability data.
services.redis.command[]stringYesPublished command[] capability data.
services.redis.connectionEnvobjectYesPublished connectionenv capability data.
services.redis.connectionEnv.CELERY_BROKER_URLstringYesPublished celery broker url capability data.
services.redis.connectionEnv.CELERY_RESULT_BACKENDstringYesPublished celery result backend capability data.
services.redis.connectionEnv.REDIS_URLstringYesPublished redis url capability data.
services.redis.displayNamestringYesPublished displayname capability data.
services.redis.healthcheckobjectYesPublished healthcheck capability data.
services.redis.healthcheck.intervalstringYesPublished interval capability data.
services.redis.healthcheck.retriesnumberYesPublished retries capability data.
services.redis.healthcheck.testarrayYesPublished test capability data.
services.redis.healthcheck.test[]stringYesPublished test[] capability data.
services.redis.healthcheck.timeoutstringYesPublished timeout capability data.
services.redis.imagestringYesPublished image capability data.
services.redis.portsarrayYesPublished ports capability data.
services.redis.ports[]objectYesPublished ports[] capability data.
services.redis.ports[].containernumberYesPublished container capability data.
services.redis.ports[].hostnumberYesPublished host capability data.
services.redis.ports[].namestringYesPublished name capability data.
services.redis.volumesarrayYesPublished volumes capability data.
services.redis.volumes[]stringYesPublished 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"
    ]
  }
}