diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml new file mode 100644 index 0000000..068d922 --- /dev/null +++ b/.github/workflows/validate.yml @@ -0,0 +1,20 @@ +name: validate + +on: + pull_request: + push: + branches: [main] + +permissions: + contents: read + +jobs: + catalog: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: '3.12' + - run: python -m pip install -r requirements-dev.txt + - run: python -m unittest discover -s tests diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..00f2d38 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +__pycache__/ +*.pyc +.venv/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..314349b --- /dev/null +++ b/LICENSE @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2026 OpenRAE contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. diff --git a/README.md b/README.md index 7eb5ac9..8773be6 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,48 @@ -# reference-packs -First-party curated environment-pack catalog for RAES. +# OpenRAE reference infrastructure kits + +Reusable, inspectable RAES infrastructure modules for environment-pack authors. Kits are ordinary authoring content: they add no runtime API and make no backend compatibility or realization claim. + +The [content strategy](docs/content-strategy.md) defines the eight infrastructure +concerns, the minimum quality bar for every release, and the boundary between +reusable authoring content and backend realization. + +## Released kits + +- `infrastructure.windows-active-directory-domain-controller@1.0.0` +- `infrastructure.samba-active-directory-domain-controller@1.0.0` +- `infrastructure.windows-domain-member@1.0.0` +- `infrastructure.linux-domain-member@1.0.0` +- `infrastructure.oidc-identity-provider@1.0.0` +- `infrastructure.ssh-accessible-linux-host@1.0.0` +- `infrastructure.rdp-accessible-windows-host@1.0.0` +- `infrastructure.browser-workstation@1.0.0` +- `infrastructure.authoritative-dns-service@1.0.0` +- `infrastructure.smb-file-service@1.0.0` +- `infrastructure.smtp-imap-mail-service@1.0.0` +- `infrastructure.webmail-service@1.0.0` +- `infrastructure.static-web-service@1.0.0` +- `infrastructure.application-api-service@1.0.0` +- `infrastructure.reverse-proxy-api-gateway@1.0.0` +- `infrastructure.git-forge@1.0.0` +- `infrastructure.issue-tracker@1.0.0` +- `infrastructure.lab-portal@1.0.0` +- `infrastructure.postgresql-database@1.0.0` +- `infrastructure.s3-compatible-object-store@1.0.0` +- `infrastructure.search-index-service@1.0.0` +- `infrastructure.notebook-environment@1.0.0` +- `infrastructure.workflow-orchestrator@1.0.0` +- `infrastructure.model-registry@1.0.0` +- `infrastructure.text-model-serving@1.0.0` +- `infrastructure.image-inference-service@1.0.0` +- `infrastructure.inference-api-gateway@1.0.0` +- `infrastructure.python-package-resolver@1.0.0` +- `infrastructure.isolated-python-analysis-sandbox@1.0.0` +- `infrastructure.python-evaluation-worker@1.0.0` +- `infrastructure.wazuh-security-monitoring-stack@1.0.0` +- `infrastructure.suricata-network-intrusion-detection-sensor@1.0.0` +- `infrastructure.thehive-case-management-service@1.0.0` +- `infrastructure.shuffle-automation-service@1.0.0` +- `infrastructure.policy-engine@1.0.0` +- `infrastructure.telemetry-collector@1.0.0` +- `infrastructure.observability-evidence-store@1.0.0` +- `infrastructure.load-rehearsal-runner@1.0.0` diff --git a/docs/content-strategy.md b/docs/content-strategy.md new file mode 100644 index 0000000..b4e90bb --- /dev/null +++ b/docs/content-strategy.md @@ -0,0 +1,52 @@ +# Infrastructure kit content strategy + +This catalog turns recurring environment infrastructure into independently +versioned RAES modules that an environment-pack author can discover, inspect, +parameterize, and compose. The collection covers eight broad concerns: + +1. identity and domain services; +2. access hosts and workstations; +3. network and shared services; +4. collaboration and developer services; +5. data and workflow services; +6. AI and model-serving services; +7. security operations services; and +8. policy and operational services. + +The concerns are discovery aids, not coupled release trains. Each kit has its +own identity and version so authors can select and update only the +infrastructure their pack needs. + +## Minimum release content + +Every kit release must provide all of these layers: + +- a valid, composable RAES module with explicit exports; +- a domain-specific parameter in addition to the shared sizing and naming + parameters; +- declared service, identity, data, or integration surfaces appropriate to the + infrastructure; +- at least three benign seed-inventory items that describe useful environment + state; +- pack-local seed and integration assets; +- planning estimates, limitations, external authoring prerequisites where + applicable, and component-inventory inputs; +- default and materially different parameter-variation composition tests; and +- an associated-artifact manifest that binds every release file to the exact + module snapshot. + +The catalog test suite applies these requirements to every released module and +also composes a representative multi-kit environment. A kit that only renames a +generic node does not meet the bar. + +## Scope discipline + +Kits describe static infrastructure and seeded environment state using public +RAES concepts. They do not introduce objectives, participant behavior, injects, +events, narrative, or runtime control. They make no claim that a particular +backend can launch, configure, attach, or observe the declared infrastructure. +Those realization decisions belong to backend projects. + +Credentials and other secrets are never kit parameters or bundled seed data. +When two kits need a relationship, the consuming pack declares it at the +composition root; the kits remain independently useful and replaceable. diff --git a/kits/infrastructure.application-api-service/1.0.0/README.md b/kits/infrastructure.application-api-service/1.0.0/README.md new file mode 100644 index 0000000..7675b72 --- /dev/null +++ b/kits/infrastructure.application-api-service/1.0.0/README.md @@ -0,0 +1,7 @@ +# Application/API service + +Reusable application/api service with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.application-api-service/1.0.0/assets/integration.md b/kits/infrastructure.application-api-service/1.0.0/assets/integration.md new file mode 100644 index 0000000..fdf6a2f --- /dev/null +++ b/kits/infrastructure.application-api-service/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# Application/API service integration material + +Author parameter: `api_base_path` (default `/api`). + +## Exported RAES declarations + +- `nodes.application` +- `content.seed_inventory` +- `accounts.application_service` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.application-api-service/1.0.0/assets/seed.yaml b/kits/infrastructure.application-api-service/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..17c4ff0 --- /dev/null +++ b/kits/infrastructure.application-api-service/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.application-api-service +configuration: + api_base_path: /api + deployment_profile: standard + service_label: application-api-service +declared_objects: +- id: api_routes + kind: infrastructure-seed + sensitivity: non-secret +- id: health_route + kind: infrastructure-seed + sensitivity: non-secret +- id: seed_records + kind: infrastructure-seed + sensitivity: non-secret +- id: service_account + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.application-api-service/1.0.0/associated-artifacts.json b/kits/infrastructure.application-api-service/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..06e6850 --- /dev/null +++ b/kits/infrastructure.application-api-service/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.application-api-service-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "application-api-service", + "ref_version": null, + "ref_digest": "sha256:15343c16b4a4bbb1f5cab44362c7909012f1f70b6aa98d706bf37ad163931f2e", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "e601eec18bf601b1426a61ee43794c4173ab3673641e6f23740a0b1fec9ce7f4" + }, + "size_bytes": 479, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.application-api-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "0b5b6dea0cfa31296c5a41a23a57ed19143f5da2fc6657b6a5a14640a45b8ef4" + }, + "size_bytes": 519, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.application-api-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "f327d3afd9a2a5bc0852d65bdc7a3af18db5d803fdfeeffe325930b9fcc3522a" + }, + "size_bytes": 646, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.application-api-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "de998f50999c2bb880c061c4c02f27002c871634c0cc360ddaaadc36065dbf46" + }, + "size_bytes": 1698, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.application-api-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "ded3777b4fe797ca4841a6df3782026060b0cf9d22d775508d6fea68b884dd84" + }, + "size_bytes": 2776, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.application-api-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "733c5117c59c5d2dbf7cfeb0a25594f989dd1ad8f22bdfeee760ea43223cc066" + }, + "size_bytes": 248, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.application-api-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:f87df17502e6a18c0637d50b852d3e61323f56769fbc3110ddb4203bf8749a46" +} diff --git a/kits/infrastructure.application-api-service/1.0.0/kit.yaml b/kits/infrastructure.application-api-service/1.0.0/kit.yaml new file mode 100644 index 0000000..7359d68 --- /dev/null +++ b/kits/infrastructure.application-api-service/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.application-api-service +version: 1.0.0 +title: Application/API service +summary: Reusable application/api service with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: network-shared +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/application-api-service/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/application-api-service/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/application/source + description: RAES carries the declared application-service stable source; immutable + artifact selection remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.application-api-service/1.0.0/module.sdl.yaml b/kits/infrastructure.application-api-service/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..8c9d422 --- /dev/null +++ b/kits/infrastructure.application-api-service/1.0.0/module.sdl.yaml @@ -0,0 +1,105 @@ +name: application-api-service +version: 1.0.0 +description: Reusable static infrastructure for Application/API service. Configures + api_base_path through the kit parameter contract. +module: + id: infrastructure/application-api-service + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - api_base_path + exports: + nodes: + - application + content: + - seed_inventory + accounts: + - application_service + description: Composable Application/API service infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: application-api-service + api_base_path: + type: string + default: /api +nodes: + application: + type: vm + description: '${deployment_profile} profile for ${service_label} (Application/API + service). Configuration: ${api_base_path}.' + source: + name: application-service + version: stable + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 8080 + protocol: tcp + name: http + description: Declared http service surface. + runtime: + applications: + - application_id: application_surface + service: http + protocol: http + name: Application surface + routes: + - route_id: primary + path: ${api_base_path} + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. +content: + seed_inventory: + type: dataset + target: application + description: Benign infrastructure seed inventory for ${api_base_path}. + items: + - name: api_routes + display_name: Api Routes + tags: + - infrastructure + - seed + description: Declared api routes for this reusable service. + - name: health_route + display_name: Health Route + tags: + - infrastructure + - seed + description: Declared health route for this reusable service. + - name: seed_records + display_name: Seed Records + tags: + - infrastructure + - seed + description: Declared seed records for this reusable service. + - name: service_account + display_name: Service Account + tags: + - infrastructure + - seed + description: Declared service account for this reusable service. +accounts: + application_service: + username: application-service + node: application + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.application-api-service/1.0.0/tests/composition.yaml b/kits/infrastructure.application-api-service/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..5e5cc75 --- /dev/null +++ b/kits/infrastructure.application-api-service/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: application-api-service + api_base_path: /api +variation: + deployment_profile: compact + service_label: application-api-service-alternate + api_base_path: /v2 +multi_kit_group: network-shared diff --git a/kits/infrastructure.authoritative-dns-service/1.0.0/README.md b/kits/infrastructure.authoritative-dns-service/1.0.0/README.md new file mode 100644 index 0000000..8e76b6b --- /dev/null +++ b/kits/infrastructure.authoritative-dns-service/1.0.0/README.md @@ -0,0 +1,7 @@ +# Authoritative DNS service + +Reusable authoritative dns service with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.authoritative-dns-service/1.0.0/assets/integration.md b/kits/infrastructure.authoritative-dns-service/1.0.0/assets/integration.md new file mode 100644 index 0000000..9c2f445 --- /dev/null +++ b/kits/infrastructure.authoritative-dns-service/1.0.0/assets/integration.md @@ -0,0 +1,14 @@ +# Authoritative DNS service integration material + +Author parameter: `zone_name` (default `environment.test`). + +## Exported RAES declarations + +- `nodes.dns` +- `content.seed_inventory` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.authoritative-dns-service/1.0.0/assets/seed.yaml b/kits/infrastructure.authoritative-dns-service/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..73e5b1e --- /dev/null +++ b/kits/infrastructure.authoritative-dns-service/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.authoritative-dns-service +configuration: + zone_name: environment.test + deployment_profile: standard + service_label: authoritative-dns-service +declared_objects: +- id: zone + kind: infrastructure-seed + sensitivity: non-secret +- id: soa_record + kind: infrastructure-seed + sensitivity: non-secret +- id: a_records + kind: infrastructure-seed + sensitivity: non-secret +- id: service_records + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.authoritative-dns-service/1.0.0/associated-artifacts.json b/kits/infrastructure.authoritative-dns-service/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..14d21f9 --- /dev/null +++ b/kits/infrastructure.authoritative-dns-service/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.authoritative-dns-service-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "authoritative-dns-service", + "ref_version": null, + "ref_digest": "sha256:506cee67bd671d87c33ba155066e3b7e6669af7b8cbeb09311dc52759cf8722e", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "341434640dfb0eb5fe8a051e17f7f233169e41ea2bd7d443355e81ba183b060f" + }, + "size_bytes": 483, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.authoritative-dns-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "67b40207b2e227c0a6495af9100eb272c87dc4c530f4ed6a6d77dcf53322a332" + }, + "size_bytes": 488, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.authoritative-dns-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "2b7e6c329d2ebb09cf874796209ca5305620ee8895dbfbce736a5d44887d7761" + }, + "size_bytes": 647, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.authoritative-dns-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "d4b3081dcb5d278eda7071a79188878384f8c2760e5c4a11a0745018461fbc6e" + }, + "size_bytes": 1681, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.authoritative-dns-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "42c0bc73d868e944ca7429f48a96952d7d65af1ef45f1360fd362886fb8a9a61" + }, + "size_bytes": 1896, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.authoritative-dns-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "0e8e5870849b5cf23c7588f069fce45ee339594fd645a82437235e2a468192a9" + }, + "size_bytes": 267, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.authoritative-dns-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:c7d0fc2799cf691568be10164ad4fb7f1eaee3cc38d52724ad23b0b6b9119e41" +} diff --git a/kits/infrastructure.authoritative-dns-service/1.0.0/kit.yaml b/kits/infrastructure.authoritative-dns-service/1.0.0/kit.yaml new file mode 100644 index 0000000..8728d91 --- /dev/null +++ b/kits/infrastructure.authoritative-dns-service/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.authoritative-dns-service +version: 1.0.0 +title: Authoritative DNS service +summary: Reusable authoritative dns service with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: network-shared +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/authoritative-dns-service/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/authoritative-dns-service/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/dns/source + description: RAES carries the declared bind9 9 source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.authoritative-dns-service/1.0.0/module.sdl.yaml b/kits/infrastructure.authoritative-dns-service/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..0bea0eb --- /dev/null +++ b/kits/infrastructure.authoritative-dns-service/1.0.0/module.sdl.yaml @@ -0,0 +1,76 @@ +name: authoritative-dns-service +version: 1.0.0 +description: Reusable static infrastructure for Authoritative DNS service. Configures + zone_name through the kit parameter contract. +module: + id: infrastructure/authoritative-dns-service + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - zone_name + exports: + nodes: + - dns + content: + - seed_inventory + description: Composable Authoritative DNS service infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: authoritative-dns-service + zone_name: + type: string + default: environment.test +nodes: + dns: + type: vm + description: '${deployment_profile} profile for ${service_label} (Authoritative + DNS service). Configuration: ${zone_name}.' + source: + name: bind9 + version: '9' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 53 + protocol: tcp + name: dns + description: Declared dns service surface. +content: + seed_inventory: + type: dataset + target: dns + description: Benign infrastructure seed inventory for ${zone_name}. + items: + - name: zone + display_name: Zone + tags: + - infrastructure + - seed + description: Declared zone for this reusable service. + - name: soa_record + display_name: Soa Record + tags: + - infrastructure + - seed + description: Declared soa record for this reusable service. + - name: a_records + display_name: A Records + tags: + - infrastructure + - seed + description: Declared a records for this reusable service. + - name: service_records + display_name: Service Records + tags: + - infrastructure + - seed + description: Declared service records for this reusable service. diff --git a/kits/infrastructure.authoritative-dns-service/1.0.0/tests/composition.yaml b/kits/infrastructure.authoritative-dns-service/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..131edd5 --- /dev/null +++ b/kits/infrastructure.authoritative-dns-service/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: authoritative-dns-service + zone_name: environment.test +variation: + deployment_profile: compact + service_label: authoritative-dns-service-alternate + zone_name: alternate.test +multi_kit_group: network-shared diff --git a/kits/infrastructure.browser-workstation/1.0.0/README.md b/kits/infrastructure.browser-workstation/1.0.0/README.md new file mode 100644 index 0000000..13087fd --- /dev/null +++ b/kits/infrastructure.browser-workstation/1.0.0/README.md @@ -0,0 +1,7 @@ +# Browser workstation + +Reusable browser workstation with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.browser-workstation/1.0.0/assets/integration.md b/kits/infrastructure.browser-workstation/1.0.0/assets/integration.md new file mode 100644 index 0000000..82feeec --- /dev/null +++ b/kits/infrastructure.browser-workstation/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# Browser workstation integration material + +Author parameter: `browser_profile` (default `managed`). + +## Exported RAES declarations + +- `nodes.workstation` +- `content.seed_inventory` +- `accounts.workstation_user` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.browser-workstation/1.0.0/assets/seed.yaml b/kits/infrastructure.browser-workstation/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..a21188a --- /dev/null +++ b/kits/infrastructure.browser-workstation/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.browser-workstation +configuration: + browser_profile: managed + deployment_profile: standard + service_label: browser-workstation +declared_objects: +- id: browser_policy + kind: infrastructure-seed + sensitivity: non-secret +- id: trusted_roots + kind: infrastructure-seed + sensitivity: non-secret +- id: bookmarks + kind: infrastructure-seed + sensitivity: non-secret +- id: download_workspace + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.browser-workstation/1.0.0/associated-artifacts.json b/kits/infrastructure.browser-workstation/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..52cbdf9 --- /dev/null +++ b/kits/infrastructure.browser-workstation/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.browser-workstation-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "browser-workstation", + "ref_version": null, + "ref_digest": "sha256:43cd64cef6fe8c9db03c8dcc3c8fd2b828da9e4d3f12c587c48db87f7a5b1e5a", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "e6d827b536764502a629ff3b45b7f55e8670e975040ac1f0507fa13eaf7499a9" + }, + "size_bytes": 471, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.browser-workstation@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "7d7c7e0971baa01b89011c367b7029986be862ad9482a816ce4b89dd2df85103" + }, + "size_bytes": 517, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.browser-workstation@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "2c919141b7d1d4dc21674ee0835bcae5b49b403c62e179ce7b920e91ad5b443e" + }, + "size_bytes": 648, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.browser-workstation@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "f9f47454c6a1ef338466ab8d5f080bb0f473df6e2b19617437232fd59ba5754a" + }, + "size_bytes": 1671, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.browser-workstation@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "87d05c9b1b11250fc258e68b0587d4ae67305329019938ecdcfa04b4f9ee9870" + }, + "size_bytes": 2200, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.browser-workstation@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "8b720781c4758a0e162b4faac4622249535d761c70147b90824d7afdda02e4f3" + }, + "size_bytes": 253, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.browser-workstation@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:319e2abc6ec00ca699dc538cbb738d35b33254741c8b89bdc27b4fc28227dfef" +} diff --git a/kits/infrastructure.browser-workstation/1.0.0/kit.yaml b/kits/infrastructure.browser-workstation/1.0.0/kit.yaml new file mode 100644 index 0000000..93302f3 --- /dev/null +++ b/kits/infrastructure.browser-workstation/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.browser-workstation +version: 1.0.0 +title: Browser workstation +summary: Reusable browser workstation with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: access-workstation +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/browser-workstation/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/browser-workstation/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/workstation/source + description: RAES carries the declared chromium stable source; immutable artifact + selection remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.browser-workstation/1.0.0/module.sdl.yaml b/kits/infrastructure.browser-workstation/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..953b1ac --- /dev/null +++ b/kits/infrastructure.browser-workstation/1.0.0/module.sdl.yaml @@ -0,0 +1,84 @@ +name: browser-workstation +version: 1.0.0 +description: Reusable static infrastructure for Browser workstation. Configures browser_profile + through the kit parameter contract. +module: + id: infrastructure/browser-workstation + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - browser_profile + exports: + nodes: + - workstation + content: + - seed_inventory + accounts: + - workstation_user + description: Composable Browser workstation infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: browser-workstation + browser_profile: + type: string + default: managed +nodes: + workstation: + type: vm + description: '${deployment_profile} profile for ${service_label} (Browser workstation). + Configuration: ${browser_profile}.' + source: + name: chromium + version: stable + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 3000 + protocol: tcp + name: desktop + description: Declared desktop service surface. +content: + seed_inventory: + type: dataset + target: workstation + description: Benign infrastructure seed inventory for ${browser_profile}. + items: + - name: browser_policy + display_name: Browser Policy + tags: + - infrastructure + - seed + description: Declared browser policy for this reusable service. + - name: trusted_roots + display_name: Trusted Roots + tags: + - infrastructure + - seed + description: Declared trusted roots for this reusable service. + - name: bookmarks + display_name: Bookmarks + tags: + - infrastructure + - seed + description: Declared bookmarks for this reusable service. + - name: download_workspace + display_name: Download Workspace + tags: + - infrastructure + - seed + description: Declared download workspace for this reusable service. +accounts: + workstation_user: + username: analyst + node: workstation + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.browser-workstation/1.0.0/tests/composition.yaml b/kits/infrastructure.browser-workstation/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..d98b721 --- /dev/null +++ b/kits/infrastructure.browser-workstation/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: browser-workstation + browser_profile: managed +variation: + deployment_profile: compact + service_label: browser-workstation-alternate + browser_profile: kiosk +multi_kit_group: access-workstation diff --git a/kits/infrastructure.git-forge/1.0.0/README.md b/kits/infrastructure.git-forge/1.0.0/README.md new file mode 100644 index 0000000..6361675 --- /dev/null +++ b/kits/infrastructure.git-forge/1.0.0/README.md @@ -0,0 +1,7 @@ +# Git forge + +Reusable git forge with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.git-forge/1.0.0/assets/integration.md b/kits/infrastructure.git-forge/1.0.0/assets/integration.md new file mode 100644 index 0000000..fd77a75 --- /dev/null +++ b/kits/infrastructure.git-forge/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# Git forge integration material + +Author parameter: `organization_name` (default `engineering`). + +## Exported RAES declarations + +- `nodes.forge` +- `content.seed_inventory` +- `accounts.forge_user` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.git-forge/1.0.0/assets/seed.yaml b/kits/infrastructure.git-forge/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..8716c2d --- /dev/null +++ b/kits/infrastructure.git-forge/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.git-forge +configuration: + organization_name: engineering + deployment_profile: standard + service_label: git-forge +declared_objects: +- id: organization + kind: infrastructure-seed + sensitivity: non-secret +- id: repositories + kind: infrastructure-seed + sensitivity: non-secret +- id: teams + kind: infrastructure-seed + sensitivity: non-secret +- id: seed_commits + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.git-forge/1.0.0/associated-artifacts.json b/kits/infrastructure.git-forge/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..1074076 --- /dev/null +++ b/kits/infrastructure.git-forge/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.git-forge-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "git-forge", + "ref_version": null, + "ref_digest": "sha256:93e6a82a6f12d0c400db8152b3c91fd03745200190965d449956ec84d0349833", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "8ee7b157176aed9cb520f7e6fb861ac88d0edb8b2b0a72c743fa518f06e98b00" + }, + "size_bytes": 451, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.git-forge@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "b9a8092c61c21353a2bc2ce10f1c3936d74ac26f44bb9d4fb18527b862ed7d4d" + }, + "size_bytes": 501, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.git-forge@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "d92c8f73323aa316d4d63434248911d3af303e6518832144a71690af7345ddda" + }, + "size_bytes": 621, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.git-forge@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "f32cef16c1881d7671af4faf6dfda1c14f48355f1441c152615965ea56b82167" + }, + "size_bytes": 1612, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.git-forge@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "1fdd06b376954ae5955f98d5457f10f9a5a2ab8f3775b0dc87628461edaa9ca8" + }, + "size_bytes": 2699, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.git-forge@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "cccbcad74d5f748914950e9760c18a43a9e8a35ef26dc756242e8308108edcea" + }, + "size_bytes": 249, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.git-forge@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:b1c32d244c643fda717a4c0a934700658bb5bbc00ec8467bd8bc355484595aa2" +} diff --git a/kits/infrastructure.git-forge/1.0.0/kit.yaml b/kits/infrastructure.git-forge/1.0.0/kit.yaml new file mode 100644 index 0000000..9259605 --- /dev/null +++ b/kits/infrastructure.git-forge/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.git-forge +version: 1.0.0 +title: Git forge +summary: Reusable git forge with domain-specific configuration, declared service surfaces, + seeded objects, and pack-local integration material. +concern: collaboration-developer +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/git-forge/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/git-forge/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/forge/source + description: RAES carries the declared gitea 1 source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.git-forge/1.0.0/module.sdl.yaml b/kits/infrastructure.git-forge/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..c313b0c --- /dev/null +++ b/kits/infrastructure.git-forge/1.0.0/module.sdl.yaml @@ -0,0 +1,109 @@ +name: git-forge +version: 1.0.0 +description: Reusable static infrastructure for Git forge. Configures organization_name + through the kit parameter contract. +module: + id: infrastructure/git-forge + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - organization_name + exports: + nodes: + - forge + content: + - seed_inventory + accounts: + - forge_user + description: Composable Git forge infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: git-forge + organization_name: + type: string + default: engineering +nodes: + forge: + type: vm + description: '${deployment_profile} profile for ${service_label} (Git forge). + Configuration: ${organization_name}.' + source: + name: gitea + version: '1' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 22 + protocol: tcp + name: ssh + description: Declared ssh service surface. + - port: 3000 + protocol: tcp + name: http + description: Declared http service surface. + runtime: + applications: + - application_id: forge_surface + service: http + protocol: http + name: Forge surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. +content: + seed_inventory: + type: dataset + target: forge + description: Benign infrastructure seed inventory for ${organization_name}. + items: + - name: organization + display_name: Organization + tags: + - infrastructure + - seed + description: Declared organization for this reusable service. + - name: repositories + display_name: Repositories + tags: + - infrastructure + - seed + description: Declared repositories for this reusable service. + - name: teams + display_name: Teams + tags: + - infrastructure + - seed + description: Declared teams for this reusable service. + - name: seed_commits + display_name: Seed Commits + tags: + - infrastructure + - seed + description: Declared seed commits for this reusable service. +accounts: + forge_user: + username: developer + node: forge + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.git-forge/1.0.0/tests/composition.yaml b/kits/infrastructure.git-forge/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..a7ec5cb --- /dev/null +++ b/kits/infrastructure.git-forge/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: git-forge + organization_name: engineering +variation: + deployment_profile: compact + service_label: git-forge-alternate + organization_name: research +multi_kit_group: collaboration-developer diff --git a/kits/infrastructure.image-inference-service/1.0.0/README.md b/kits/infrastructure.image-inference-service/1.0.0/README.md new file mode 100644 index 0000000..4abad40 --- /dev/null +++ b/kits/infrastructure.image-inference-service/1.0.0/README.md @@ -0,0 +1,7 @@ +# Image-inference service + +Reusable image-inference service with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.image-inference-service/1.0.0/assets/integration.md b/kits/infrastructure.image-inference-service/1.0.0/assets/integration.md new file mode 100644 index 0000000..7e1cf96 --- /dev/null +++ b/kits/infrastructure.image-inference-service/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# Image-inference service integration material + +Author parameter: `model_name` (default `local-image`). + +## Exported RAES declarations + +- `nodes.inference` +- `content.seed_inventory` +- `accounts.model_operator` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.image-inference-service/1.0.0/assets/seed.yaml b/kits/infrastructure.image-inference-service/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..fee291e --- /dev/null +++ b/kits/infrastructure.image-inference-service/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.image-inference-service +configuration: + model_name: local-image + deployment_profile: standard + service_label: image-inference-service +declared_objects: +- id: model_artifact + kind: infrastructure-seed + sensitivity: non-secret +- id: input_schema + kind: infrastructure-seed + sensitivity: non-secret +- id: output_schema + kind: infrastructure-seed + sensitivity: non-secret +- id: inference_route + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.image-inference-service/1.0.0/associated-artifacts.json b/kits/infrastructure.image-inference-service/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..aa4a73f --- /dev/null +++ b/kits/infrastructure.image-inference-service/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.image-inference-service-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "image-inference-service", + "ref_version": null, + "ref_digest": "sha256:06ef3b6d64722043b51699863084dfc43e802249cef4d796e486cbae1e4b5af4", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "57149f4c1897920d048c8fb71b4a77e44b70e2fb231998971c28d5cc0fcf82ca" + }, + "size_bytes": 479, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.image-inference-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "f4e1bfe8c72588b62cccaccca2f9722df4f2263288060e4ed6d8d9313b32d0d2" + }, + "size_bytes": 516, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.image-inference-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "e57f8dcbd5819358a10186632300bda0085222eaa20ea908a8e1d65ed498c278" + }, + "size_bytes": 655, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.image-inference-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "3c340938834e347d76d061b7d9f8532adc85f4b800e601f5bfd486eaa985b31c" + }, + "size_bytes": 1694, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.image-inference-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "9e69b4f7ec039f0d0628a5a21fd0813e92e93336b3b217466488eb43a70fbcf9" + }, + "size_bytes": 2849, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.image-inference-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "4e0dedcf91fe89888f7efa27db8df0a6d7a45fa716edd831c6e931b8796d47c7" + }, + "size_bytes": 252, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.image-inference-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:397ad7c9f471fa87823b0be3410e49bd5ee54c3811ec2d9048814a82b04a5c4a" +} diff --git a/kits/infrastructure.image-inference-service/1.0.0/kit.yaml b/kits/infrastructure.image-inference-service/1.0.0/kit.yaml new file mode 100644 index 0000000..9ab3a1d --- /dev/null +++ b/kits/infrastructure.image-inference-service/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.image-inference-service +version: 1.0.0 +title: Image-inference service +summary: Reusable image-inference service with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: ai-model +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/image-inference-service/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/image-inference-service/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/inference/source + description: RAES carries the declared triton-inference-server stable source; immutable + artifact selection remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.image-inference-service/1.0.0/module.sdl.yaml b/kits/infrastructure.image-inference-service/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..727c686 --- /dev/null +++ b/kits/infrastructure.image-inference-service/1.0.0/module.sdl.yaml @@ -0,0 +1,109 @@ +name: image-inference-service +version: 1.0.0 +description: Reusable static infrastructure for Image-inference service. Configures + model_name through the kit parameter contract. +module: + id: infrastructure/image-inference-service + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - model_name + exports: + nodes: + - inference + content: + - seed_inventory + accounts: + - model_operator + description: Composable Image-inference service infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: image-inference-service + model_name: + type: string + default: local-image +nodes: + inference: + type: vm + description: '${deployment_profile} profile for ${service_label} (Image-inference + service). Configuration: ${model_name}.' + source: + name: triton-inference-server + version: stable + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 8000 + protocol: tcp + name: http + description: Declared http service surface. + - port: 8001 + protocol: tcp + name: grpc + description: Declared grpc service surface. + runtime: + applications: + - application_id: inference_surface + service: http + protocol: http + name: Inference surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. +content: + seed_inventory: + type: dataset + target: inference + description: Benign infrastructure seed inventory for ${model_name}. + items: + - name: model_artifact + display_name: Model Artifact + tags: + - infrastructure + - seed + description: Declared model artifact for this reusable service. + - name: input_schema + display_name: Input Schema + tags: + - infrastructure + - seed + description: Declared input schema for this reusable service. + - name: output_schema + display_name: Output Schema + tags: + - infrastructure + - seed + description: Declared output schema for this reusable service. + - name: inference_route + display_name: Inference Route + tags: + - infrastructure + - seed + description: Declared inference route for this reusable service. +accounts: + model_operator: + username: model-operator + node: inference + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.image-inference-service/1.0.0/tests/composition.yaml b/kits/infrastructure.image-inference-service/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..75c3794 --- /dev/null +++ b/kits/infrastructure.image-inference-service/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: image-inference-service + model_name: local-image +variation: + deployment_profile: compact + service_label: image-inference-service-alternate + model_name: local-vision +multi_kit_group: ai-model diff --git a/kits/infrastructure.inference-api-gateway/1.0.0/README.md b/kits/infrastructure.inference-api-gateway/1.0.0/README.md new file mode 100644 index 0000000..4dfdf98 --- /dev/null +++ b/kits/infrastructure.inference-api-gateway/1.0.0/README.md @@ -0,0 +1,7 @@ +# Inference API gateway + +Reusable inference api gateway with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.inference-api-gateway/1.0.0/assets/integration.md b/kits/infrastructure.inference-api-gateway/1.0.0/assets/integration.md new file mode 100644 index 0000000..e01d253 --- /dev/null +++ b/kits/infrastructure.inference-api-gateway/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# Inference API gateway integration material + +Author parameter: `route_name` (default `inference`). + +## Exported RAES declarations + +- `nodes.gateway` +- `content.seed_inventory` +- `accounts.gateway_operator` + +## Composition notes + +- Bind routes to one or more imported model-serving services. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.inference-api-gateway/1.0.0/assets/seed.yaml b/kits/infrastructure.inference-api-gateway/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..27fa4c1 --- /dev/null +++ b/kits/infrastructure.inference-api-gateway/1.0.0/assets/seed.yaml @@ -0,0 +1,21 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.inference-api-gateway +configuration: + route_name: inference + deployment_profile: standard + service_label: inference-api-gateway +declared_objects: +- id: model_routes + kind: infrastructure-seed + sensitivity: non-secret +- id: routing_policy + kind: infrastructure-seed + sensitivity: non-secret +- id: request_schema + kind: infrastructure-seed + sensitivity: non-secret +- id: response_schema + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- Bind routes to one or more imported model-serving services. diff --git a/kits/infrastructure.inference-api-gateway/1.0.0/associated-artifacts.json b/kits/infrastructure.inference-api-gateway/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..7a69702 --- /dev/null +++ b/kits/infrastructure.inference-api-gateway/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.inference-api-gateway-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "inference-api-gateway", + "ref_version": null, + "ref_digest": "sha256:1c8ba9203deaaa5f5050e7f09607dce4016ab1db0f44c564367cded7a04d6855", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "d8232b6de93754312048978e1b71374f92b2b129d11f370e7c92ea1f2a413dc1" + }, + "size_bytes": 475, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.inference-api-gateway@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "e0ebd81634f3c50d25c3f3de305112df126b9ba7ed06985504224ffc37a67f2a" + }, + "size_bytes": 460, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.inference-api-gateway@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "d7c6980865c9ed8d7afb2ede68caa2065c3ff664a39685bcb3368d4008a73324" + }, + "size_bytes": 596, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.inference-api-gateway@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "2dcaada44d9b9d6a6468df3bb665243ad6d1272b4ac7adcc0161ea894eee5a06" + }, + "size_bytes": 1742, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.inference-api-gateway@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "f12a164ba9a6598fe76264e6ac4b25a085e1fad40e7ed8bbd00c9b3463f38a4e" + }, + "size_bytes": 2714, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.inference-api-gateway@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "7bed862cf282fff067451c4e49afd4f9fe95c2c255713fff1e674303603184b6" + }, + "size_bytes": 240, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.inference-api-gateway@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:ce5f48409553c539e5ecdefacd2c3e2c461e5b795f8317ab160dec8428d1b722" +} diff --git a/kits/infrastructure.inference-api-gateway/1.0.0/kit.yaml b/kits/infrastructure.inference-api-gateway/1.0.0/kit.yaml new file mode 100644 index 0000000..1c3fed3 --- /dev/null +++ b/kits/infrastructure.inference-api-gateway/1.0.0/kit.yaml @@ -0,0 +1,52 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.inference-api-gateway +version: 1.0.0 +title: Inference API gateway +summary: Reusable inference api gateway with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: ai-model +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/inference-api-gateway/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/inference-api-gateway/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: +- kind: external + id: model-services + version: raes-3.2 + description: Bind routes to one or more imported model-serving services. +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- Bind routes to one or more imported model-serving services. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/gateway/source + description: RAES carries the declared litellm stable source; immutable artifact + selection remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.inference-api-gateway/1.0.0/module.sdl.yaml b/kits/infrastructure.inference-api-gateway/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..7d938a8 --- /dev/null +++ b/kits/infrastructure.inference-api-gateway/1.0.0/module.sdl.yaml @@ -0,0 +1,105 @@ +name: inference-api-gateway +version: 1.0.0 +description: Reusable static infrastructure for Inference API gateway. Configures + route_name through the kit parameter contract. +module: + id: infrastructure/inference-api-gateway + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - route_name + exports: + nodes: + - gateway + content: + - seed_inventory + accounts: + - gateway_operator + description: Composable Inference API gateway infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: inference-api-gateway + route_name: + type: string + default: inference +nodes: + gateway: + type: vm + description: '${deployment_profile} profile for ${service_label} (Inference API + gateway). Configuration: ${route_name}.' + source: + name: litellm + version: stable + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 4000 + protocol: tcp + name: http + description: Declared http service surface. + runtime: + applications: + - application_id: gateway_surface + service: http + protocol: http + name: Gateway surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. +content: + seed_inventory: + type: dataset + target: gateway + description: Benign infrastructure seed inventory for ${route_name}. + items: + - name: model_routes + display_name: Model Routes + tags: + - infrastructure + - seed + description: Declared model routes for this reusable service. + - name: routing_policy + display_name: Routing Policy + tags: + - infrastructure + - seed + description: Declared routing policy for this reusable service. + - name: request_schema + display_name: Request Schema + tags: + - infrastructure + - seed + description: Declared request schema for this reusable service. + - name: response_schema + display_name: Response Schema + tags: + - infrastructure + - seed + description: Declared response schema for this reusable service. +accounts: + gateway_operator: + username: inference-operator + node: gateway + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.inference-api-gateway/1.0.0/tests/composition.yaml b/kits/infrastructure.inference-api-gateway/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..38d91fd --- /dev/null +++ b/kits/infrastructure.inference-api-gateway/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: inference-api-gateway + route_name: inference +variation: + deployment_profile: compact + service_label: inference-api-gateway-alternate + route_name: models +multi_kit_group: ai-model diff --git a/kits/infrastructure.isolated-python-analysis-sandbox/1.0.0/README.md b/kits/infrastructure.isolated-python-analysis-sandbox/1.0.0/README.md new file mode 100644 index 0000000..cea7d32 --- /dev/null +++ b/kits/infrastructure.isolated-python-analysis-sandbox/1.0.0/README.md @@ -0,0 +1,7 @@ +# Isolated Python analysis sandbox + +Reusable isolated python analysis sandbox with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.isolated-python-analysis-sandbox/1.0.0/assets/integration.md b/kits/infrastructure.isolated-python-analysis-sandbox/1.0.0/assets/integration.md new file mode 100644 index 0000000..b6a14d8 --- /dev/null +++ b/kits/infrastructure.isolated-python-analysis-sandbox/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# Isolated Python analysis sandbox integration material + +Author parameter: `workspace_name` (default `inspection`). + +## Exported RAES declarations + +- `nodes.sandbox` +- `content.seed_inventory` +- `accounts.sandbox_user` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.isolated-python-analysis-sandbox/1.0.0/assets/seed.yaml b/kits/infrastructure.isolated-python-analysis-sandbox/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..4488784 --- /dev/null +++ b/kits/infrastructure.isolated-python-analysis-sandbox/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.isolated-python-analysis-sandbox +configuration: + workspace_name: inspection + deployment_profile: standard + service_label: isolated-python-analysis-sandbox +declared_objects: +- id: workspace + kind: infrastructure-seed + sensitivity: non-secret +- id: runtime_limits + kind: infrastructure-seed + sensitivity: non-secret +- id: input_mount + kind: infrastructure-seed + sensitivity: non-secret +- id: result_mount + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.isolated-python-analysis-sandbox/1.0.0/associated-artifacts.json b/kits/infrastructure.isolated-python-analysis-sandbox/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..6e77eb7 --- /dev/null +++ b/kits/infrastructure.isolated-python-analysis-sandbox/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.isolated-python-analysis-sandbox-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "isolated-python-analysis-sandbox", + "ref_version": null, + "ref_digest": "sha256:ed0bc670d42401208447aa85350c8cdfdd0c83b197ecfd2215bca60cb0a38452", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "d3d9cfcc687058fb83f60e826c68ea9692beb45109cfc070e4a77af86baf7874" + }, + "size_bytes": 497, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.isolated-python-analysis-sandbox@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "a7757e2d8ee6af0fcf7de52111d8fe0789c2a47aa3811dfb56d3c126c394d3b9" + }, + "size_bytes": 524, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.isolated-python-analysis-sandbox@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "5d4573b1c50d1c37f1fc9d7801bb1bb6698c4ecb4463f8499313fdebbc792f18" + }, + "size_bytes": 668, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.isolated-python-analysis-sandbox@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "5fbac198e7145f9300eb1001205e0840c5eded0cfa4e69902faf8170f3f0a905" + }, + "size_bytes": 1718, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.isolated-python-analysis-sandbox@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "f665b98a952309bc336c1a91d3ea284314e473870da16f0d8a5f7b96b58337f4" + }, + "size_bytes": 2226, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.isolated-python-analysis-sandbox@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "7529010a00b60cf4c5fa10b6ab0727c7f8ce1ecf20f4ee716fcdc835b8eccbda" + }, + "size_bytes": 273, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.isolated-python-analysis-sandbox@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:174fa6d5704de424ed60727174b765760a05db77a074f8ec709a0cb0fda4ef4b" +} diff --git a/kits/infrastructure.isolated-python-analysis-sandbox/1.0.0/kit.yaml b/kits/infrastructure.isolated-python-analysis-sandbox/1.0.0/kit.yaml new file mode 100644 index 0000000..06a1ac4 --- /dev/null +++ b/kits/infrastructure.isolated-python-analysis-sandbox/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.isolated-python-analysis-sandbox +version: 1.0.0 +title: Isolated Python analysis sandbox +summary: Reusable isolated python analysis sandbox with domain-specific configuration, + declared service surfaces, seeded objects, and pack-local integration material. +concern: ai-model +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/isolated-python-analysis-sandbox/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/isolated-python-analysis-sandbox/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/sandbox/source + description: RAES carries the declared python 3.12 source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.isolated-python-analysis-sandbox/1.0.0/module.sdl.yaml b/kits/infrastructure.isolated-python-analysis-sandbox/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..25d73d9 --- /dev/null +++ b/kits/infrastructure.isolated-python-analysis-sandbox/1.0.0/module.sdl.yaml @@ -0,0 +1,84 @@ +name: isolated-python-analysis-sandbox +version: 1.0.0 +description: Reusable static infrastructure for Isolated Python analysis sandbox. + Configures workspace_name through the kit parameter contract. +module: + id: infrastructure/isolated-python-analysis-sandbox + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - workspace_name + exports: + nodes: + - sandbox + content: + - seed_inventory + accounts: + - sandbox_user + description: Composable Isolated Python analysis sandbox infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: isolated-python-analysis-sandbox + workspace_name: + type: string + default: inspection +nodes: + sandbox: + type: vm + description: '${deployment_profile} profile for ${service_label} (Isolated Python + analysis sandbox). Configuration: ${workspace_name}.' + source: + name: python + version: '3.12' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 8000 + protocol: tcp + name: control + description: Declared control service surface. +content: + seed_inventory: + type: dataset + target: sandbox + description: Benign infrastructure seed inventory for ${workspace_name}. + items: + - name: workspace + display_name: Workspace + tags: + - infrastructure + - seed + description: Declared workspace for this reusable service. + - name: runtime_limits + display_name: Runtime Limits + tags: + - infrastructure + - seed + description: Declared runtime limits for this reusable service. + - name: input_mount + display_name: Input Mount + tags: + - infrastructure + - seed + description: Declared input mount for this reusable service. + - name: result_mount + display_name: Result Mount + tags: + - infrastructure + - seed + description: Declared result mount for this reusable service. +accounts: + sandbox_user: + username: analyst + node: sandbox + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.isolated-python-analysis-sandbox/1.0.0/tests/composition.yaml b/kits/infrastructure.isolated-python-analysis-sandbox/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..6858fc1 --- /dev/null +++ b/kits/infrastructure.isolated-python-analysis-sandbox/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: isolated-python-analysis-sandbox + workspace_name: inspection +variation: + deployment_profile: compact + service_label: isolated-python-analysis-sandbox-alternate + workspace_name: analysis +multi_kit_group: ai-model diff --git a/kits/infrastructure.issue-tracker/1.0.0/README.md b/kits/infrastructure.issue-tracker/1.0.0/README.md new file mode 100644 index 0000000..c17ef12 --- /dev/null +++ b/kits/infrastructure.issue-tracker/1.0.0/README.md @@ -0,0 +1,7 @@ +# Issue tracker + +Reusable issue tracker with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.issue-tracker/1.0.0/assets/integration.md b/kits/infrastructure.issue-tracker/1.0.0/assets/integration.md new file mode 100644 index 0000000..3eebbc5 --- /dev/null +++ b/kits/infrastructure.issue-tracker/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# Issue tracker integration material + +Author parameter: `project_key` (default `LAB`). + +## Exported RAES declarations + +- `nodes.tracker` +- `content.seed_inventory` +- `accounts.tracker_user` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.issue-tracker/1.0.0/assets/seed.yaml b/kits/infrastructure.issue-tracker/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..2709b55 --- /dev/null +++ b/kits/infrastructure.issue-tracker/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.issue-tracker +configuration: + project_key: LAB + deployment_profile: standard + service_label: issue-tracker +declared_objects: +- id: project + kind: infrastructure-seed + sensitivity: non-secret +- id: users + kind: infrastructure-seed + sensitivity: non-secret +- id: tickets + kind: infrastructure-seed + sensitivity: non-secret +- id: workflow_states + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.issue-tracker/1.0.0/associated-artifacts.json b/kits/infrastructure.issue-tracker/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..bf9bb67 --- /dev/null +++ b/kits/infrastructure.issue-tracker/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.issue-tracker-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "issue-tracker", + "ref_version": null, + "ref_digest": "sha256:3293dff8102774a3a36ee1bff290505ddb6ea697aa68f15ba4c4cce51e0a4b6c", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "1d3b100516a6882f6226c5ddd81e98187da5b07696910c7d137db8b112f02bfc" + }, + "size_bytes": 459, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.issue-tracker@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "9d6b9b86d893cbba243befc0f8bd7f4b4164848dbc9db68b2549f6d76165cdb4" + }, + "size_bytes": 495, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.issue-tracker@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "71d6f5799d76351667ba1fc43ee91a5d1bc1808be04d36ac746a6a35adfaa1c9" + }, + "size_bytes": 608, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.issue-tracker@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "2c346fd1db444bca3aeeee9637089821a9cb40eb022a82c7014465906d632f96" + }, + "size_bytes": 1645, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.issue-tracker@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "11ce99312f706acf298c47c7777cf55180181671de46ddf9fd45229f7041b82e" + }, + "size_bytes": 2592, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.issue-tracker@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "fcb80321f35bf1cd5de7833617514785f42c583dfcd857d498072ff3a5f35a3c" + }, + "size_bytes": 232, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.issue-tracker@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:207cd3c40f9b8bb0a650ce3118b4e2116a09df92e7d65e8bcb6fcb95496fa2ba" +} diff --git a/kits/infrastructure.issue-tracker/1.0.0/kit.yaml b/kits/infrastructure.issue-tracker/1.0.0/kit.yaml new file mode 100644 index 0000000..95ab31b --- /dev/null +++ b/kits/infrastructure.issue-tracker/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.issue-tracker +version: 1.0.0 +title: Issue tracker +summary: Reusable issue tracker with domain-specific configuration, declared service + surfaces, seeded objects, and pack-local integration material. +concern: collaboration-developer +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/issue-tracker/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/issue-tracker/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/tracker/source + description: RAES carries the declared openproject stable source; immutable artifact + selection remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.issue-tracker/1.0.0/module.sdl.yaml b/kits/infrastructure.issue-tracker/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..5d6b822 --- /dev/null +++ b/kits/infrastructure.issue-tracker/1.0.0/module.sdl.yaml @@ -0,0 +1,105 @@ +name: issue-tracker +version: 1.0.0 +description: Reusable static infrastructure for Issue tracker. Configures project_key + through the kit parameter contract. +module: + id: infrastructure/issue-tracker + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - project_key + exports: + nodes: + - tracker + content: + - seed_inventory + accounts: + - tracker_user + description: Composable Issue tracker infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: issue-tracker + project_key: + type: string + default: LAB +nodes: + tracker: + type: vm + description: '${deployment_profile} profile for ${service_label} (Issue tracker). + Configuration: ${project_key}.' + source: + name: openproject + version: stable + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 8080 + protocol: tcp + name: http + description: Declared http service surface. + runtime: + applications: + - application_id: tracker_surface + service: http + protocol: http + name: Tracker surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. +content: + seed_inventory: + type: dataset + target: tracker + description: Benign infrastructure seed inventory for ${project_key}. + items: + - name: project + display_name: Project + tags: + - infrastructure + - seed + description: Declared project for this reusable service. + - name: users + display_name: Users + tags: + - infrastructure + - seed + description: Declared users for this reusable service. + - name: tickets + display_name: Tickets + tags: + - infrastructure + - seed + description: Declared tickets for this reusable service. + - name: workflow_states + display_name: Workflow States + tags: + - infrastructure + - seed + description: Declared workflow states for this reusable service. +accounts: + tracker_user: + username: project-user + node: tracker + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.issue-tracker/1.0.0/tests/composition.yaml b/kits/infrastructure.issue-tracker/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..a1eb85c --- /dev/null +++ b/kits/infrastructure.issue-tracker/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: issue-tracker + project_key: LAB +variation: + deployment_profile: compact + service_label: issue-tracker-alternate + project_key: OPS +multi_kit_group: collaboration-developer diff --git a/kits/infrastructure.lab-portal/1.0.0/README.md b/kits/infrastructure.lab-portal/1.0.0/README.md new file mode 100644 index 0000000..78b2ac3 --- /dev/null +++ b/kits/infrastructure.lab-portal/1.0.0/README.md @@ -0,0 +1,7 @@ +# Lab portal + +Reusable lab portal with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.lab-portal/1.0.0/assets/integration.md b/kits/infrastructure.lab-portal/1.0.0/assets/integration.md new file mode 100644 index 0000000..0cb7d8c --- /dev/null +++ b/kits/infrastructure.lab-portal/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# Lab portal integration material + +Author parameter: `portal_title` (default `Environment Portal`). + +## Exported RAES declarations + +- `nodes.portal` +- `content.seed_inventory` +- `accounts.portal_user` + +## Composition notes + +- Select the imported services that appear in the portal index. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.lab-portal/1.0.0/assets/seed.yaml b/kits/infrastructure.lab-portal/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..b1c692a --- /dev/null +++ b/kits/infrastructure.lab-portal/1.0.0/assets/seed.yaml @@ -0,0 +1,18 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.lab-portal +configuration: + portal_title: Environment Portal + deployment_profile: standard + service_label: lab-portal +declared_objects: +- id: service_index + kind: infrastructure-seed + sensitivity: non-secret +- id: identity_binding + kind: infrastructure-seed + sensitivity: non-secret +- id: navigation_groups + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- Select the imported services that appear in the portal index. diff --git a/kits/infrastructure.lab-portal/1.0.0/associated-artifacts.json b/kits/infrastructure.lab-portal/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..e0c598a --- /dev/null +++ b/kits/infrastructure.lab-portal/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.lab-portal-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "lab-portal", + "ref_version": null, + "ref_digest": "sha256:22158fffd9041b5748ef577cfb912dd7e68f329ce0c7ff5717a8305a720cf5d4", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "7908cf0886d65a36d32cf4568cf0a8055b31e9da427975849bef4ee2b45eadc4" + }, + "size_bytes": 453, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.lab-portal@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "e7b63ae51ed3eb52fbefff22d8e3a91f891483281a81cee96c2cf903a2b4eec1" + }, + "size_bytes": 456, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.lab-portal@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "1e52b85f4934611e67dbce320e4f3732c2224404f7a2e82e9795cf74a789b0d7" + }, + "size_bytes": 517, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.lab-portal@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "3000fe92b36a0e09c97ff21c85401564280439e6e2ef2adc753f03fd144eb24f" + }, + "size_bytes": 1708, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.lab-portal@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "35748976c68c6c2533df66e2f089f9f6c6da74e81a92c4259f836e7ad671ad02" + }, + "size_bytes": 2480, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.lab-portal@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "ef1fabf25e25f7515015ed033755b7570c3dbc41c14204f0c48dd7c52d79168a" + }, + "size_bytes": 255, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.lab-portal@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:24bf2bedd6cc25ae6ea0410feb7129610aec97f17e01a51fa0ebedc17dfb0322" +} diff --git a/kits/infrastructure.lab-portal/1.0.0/kit.yaml b/kits/infrastructure.lab-portal/1.0.0/kit.yaml new file mode 100644 index 0000000..3274d09 --- /dev/null +++ b/kits/infrastructure.lab-portal/1.0.0/kit.yaml @@ -0,0 +1,52 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.lab-portal +version: 1.0.0 +title: Lab portal +summary: Reusable lab portal with domain-specific configuration, declared service + surfaces, seeded objects, and pack-local integration material. +concern: collaboration-developer +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/lab-portal/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/lab-portal/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: +- kind: external + id: indexed-services + version: raes-3.2 + description: Select the imported services that appear in the portal index. +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- Select the imported services that appear in the portal index. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/portal/source + description: RAES carries the declared homepage stable source; immutable artifact + selection remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.lab-portal/1.0.0/module.sdl.yaml b/kits/infrastructure.lab-portal/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..4e4d7b4 --- /dev/null +++ b/kits/infrastructure.lab-portal/1.0.0/module.sdl.yaml @@ -0,0 +1,99 @@ +name: lab-portal +version: 1.0.0 +description: Reusable static infrastructure for Lab portal. Configures portal_title + through the kit parameter contract. +module: + id: infrastructure/lab-portal + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - portal_title + exports: + nodes: + - portal + content: + - seed_inventory + accounts: + - portal_user + description: Composable Lab portal infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: lab-portal + portal_title: + type: string + default: Environment Portal +nodes: + portal: + type: vm + description: '${deployment_profile} profile for ${service_label} (Lab portal). + Configuration: ${portal_title}.' + source: + name: homepage + version: stable + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 3000 + protocol: tcp + name: http + description: Declared http service surface. + runtime: + applications: + - application_id: portal_surface + service: http + protocol: http + name: Portal surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. +content: + seed_inventory: + type: dataset + target: portal + description: Benign infrastructure seed inventory for ${portal_title}. + items: + - name: service_index + display_name: Service Index + tags: + - infrastructure + - seed + description: Declared service index for this reusable service. + - name: identity_binding + display_name: Identity Binding + tags: + - infrastructure + - seed + description: Declared identity binding for this reusable service. + - name: navigation_groups + display_name: Navigation Groups + tags: + - infrastructure + - seed + description: Declared navigation groups for this reusable service. +accounts: + portal_user: + username: portal-user + node: portal + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.lab-portal/1.0.0/tests/composition.yaml b/kits/infrastructure.lab-portal/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..800f1f4 --- /dev/null +++ b/kits/infrastructure.lab-portal/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: lab-portal + portal_title: Environment Portal +variation: + deployment_profile: compact + service_label: lab-portal-alternate + portal_title: Research Portal +multi_kit_group: collaboration-developer diff --git a/kits/infrastructure.linux-domain-member/1.0.0/README.md b/kits/infrastructure.linux-domain-member/1.0.0/README.md new file mode 100644 index 0000000..c589481 --- /dev/null +++ b/kits/infrastructure.linux-domain-member/1.0.0/README.md @@ -0,0 +1,7 @@ +# Linux domain member + +Reusable linux domain member with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.linux-domain-member/1.0.0/assets/integration.md b/kits/infrastructure.linux-domain-member/1.0.0/assets/integration.md new file mode 100644 index 0000000..c03150a --- /dev/null +++ b/kits/infrastructure.linux-domain-member/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# Linux domain member integration material + +Author parameter: `computer_name` (default `linux-member-01`). + +## Exported RAES declarations + +- `nodes.domain_member` +- `content.seed_inventory` +- `accounts.member_operator` + +## Composition notes + +- Compose with one exported RAES identity domain and add the pack-level domain-join relationship. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.linux-domain-member/1.0.0/assets/seed.yaml b/kits/infrastructure.linux-domain-member/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..5e45a17 --- /dev/null +++ b/kits/infrastructure.linux-domain-member/1.0.0/assets/seed.yaml @@ -0,0 +1,19 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.linux-domain-member +configuration: + computer_name: linux-member-01 + deployment_profile: standard + service_label: linux-domain-member +declared_objects: +- id: domain_join_profile + kind: infrastructure-seed + sensitivity: non-secret +- id: nss_mapping + kind: infrastructure-seed + sensitivity: non-secret +- id: sudo_policy + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- Compose with one exported RAES identity domain and add the pack-level domain-join + relationship. diff --git a/kits/infrastructure.linux-domain-member/1.0.0/associated-artifacts.json b/kits/infrastructure.linux-domain-member/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..db95bb7 --- /dev/null +++ b/kits/infrastructure.linux-domain-member/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.linux-domain-member-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "linux-domain-member", + "ref_version": null, + "ref_digest": "sha256:d026b892660b7ae1e21dcee5fe9a4e629b791b18e2687fb75283e62b36976f8c", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "5c35d8d5e365e26ec33e7517efe7dab818cf5b69fe7520edaf44c866842a58df" + }, + "size_bytes": 471, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.linux-domain-member@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "846f68f799cccc5a5d74144a7d6e246791a5a3a75414d66c81e7c3b1d7304f9e" + }, + "size_bytes": 508, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.linux-domain-member@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "6a7fe8cdcf401b200d02e9507c11a5f5ba4c7a7c56be1403a42b09606e36a766" + }, + "size_bytes": 564, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.linux-domain-member@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "e08a595300be09b11dc7396fe52ae793933618c920c7242fae90db7e16db168b" + }, + "size_bytes": 1826, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.linux-domain-member@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "43796e38a6559f40b11d4b0864d0ea26bedad55c509ab03048e1acbc21a14103" + }, + "size_bytes": 2022, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.linux-domain-member@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "db734531f6795f8463bef771ae776391618f5ee559c5ccefe2c66be0690e9391" + }, + "size_bytes": 264, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.linux-domain-member@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:205c77ebb7ca036a80b92272bf92be8c775d1b03a2f4220f6df9c80861917c7a" +} diff --git a/kits/infrastructure.linux-domain-member/1.0.0/kit.yaml b/kits/infrastructure.linux-domain-member/1.0.0/kit.yaml new file mode 100644 index 0000000..ff5c43b --- /dev/null +++ b/kits/infrastructure.linux-domain-member/1.0.0/kit.yaml @@ -0,0 +1,54 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.linux-domain-member +version: 1.0.0 +title: Linux domain member +summary: Reusable linux domain member with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: identity-domain +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/linux-domain-member/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/linux-domain-member/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: +- kind: external + id: directory-authority + version: raes-3.2 + description: Compose with one exported RAES identity domain and add the pack-level + domain-join relationship. +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- Compose with one exported RAES identity domain and add the pack-level domain-join + relationship. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/domain_member/source + description: RAES carries the declared linux stable source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.linux-domain-member/1.0.0/module.sdl.yaml b/kits/infrastructure.linux-domain-member/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..d720505 --- /dev/null +++ b/kits/infrastructure.linux-domain-member/1.0.0/module.sdl.yaml @@ -0,0 +1,78 @@ +name: linux-domain-member +version: 1.0.0 +description: Reusable static infrastructure for Linux domain member. Configures computer_name + through the kit parameter contract. +module: + id: infrastructure/linux-domain-member + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - computer_name + exports: + nodes: + - domain_member + content: + - seed_inventory + accounts: + - member_operator + description: Composable Linux domain member infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: linux-domain-member + computer_name: + type: string + default: linux-member-01 +nodes: + domain_member: + type: vm + description: '${deployment_profile} profile for ${service_label} (Linux domain + member). Configuration: ${computer_name}.' + source: + name: linux + version: stable + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 22 + protocol: tcp + name: ssh + description: Declared ssh service surface. +content: + seed_inventory: + type: dataset + target: domain_member + description: Benign infrastructure seed inventory for ${computer_name}. + items: + - name: domain_join_profile + display_name: Domain Join Profile + tags: + - infrastructure + - seed + description: Declared domain join profile for this reusable service. + - name: nss_mapping + display_name: Nss Mapping + tags: + - infrastructure + - seed + description: Declared nss mapping for this reusable service. + - name: sudo_policy + display_name: Sudo Policy + tags: + - infrastructure + - seed + description: Declared sudo policy for this reusable service. +accounts: + member_operator: + username: member-operator + node: domain_member + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.linux-domain-member/1.0.0/tests/composition.yaml b/kits/infrastructure.linux-domain-member/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..aadab9c --- /dev/null +++ b/kits/infrastructure.linux-domain-member/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: linux-domain-member + computer_name: linux-member-01 +variation: + deployment_profile: compact + service_label: linux-domain-member-alternate + computer_name: linux-member-02 +multi_kit_group: identity-domain diff --git a/kits/infrastructure.load-rehearsal-runner/1.0.0/README.md b/kits/infrastructure.load-rehearsal-runner/1.0.0/README.md new file mode 100644 index 0000000..c51791d --- /dev/null +++ b/kits/infrastructure.load-rehearsal-runner/1.0.0/README.md @@ -0,0 +1,7 @@ +# Load/rehearsal runner + +Reusable load/rehearsal runner with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.load-rehearsal-runner/1.0.0/assets/integration.md b/kits/infrastructure.load-rehearsal-runner/1.0.0/assets/integration.md new file mode 100644 index 0000000..f742e15 --- /dev/null +++ b/kits/infrastructure.load-rehearsal-runner/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# Load/rehearsal runner integration material + +Author parameter: `workload_profile` (default `smoke`). + +## Exported RAES declarations + +- `nodes.runner` +- `content.seed_inventory` +- `accounts.runner_operator` + +## Composition notes + +- Select imported services as bounded workload targets. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.load-rehearsal-runner/1.0.0/assets/seed.yaml b/kits/infrastructure.load-rehearsal-runner/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..c6da311 --- /dev/null +++ b/kits/infrastructure.load-rehearsal-runner/1.0.0/assets/seed.yaml @@ -0,0 +1,21 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.load-rehearsal-runner +configuration: + workload_profile: smoke + deployment_profile: standard + service_label: load-rehearsal-runner +declared_objects: +- id: target_bindings + kind: infrastructure-seed + sensitivity: non-secret +- id: workload_shape + kind: infrastructure-seed + sensitivity: non-secret +- id: rate_limits + kind: infrastructure-seed + sensitivity: non-secret +- id: result_schema + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- Select imported services as bounded workload targets. diff --git a/kits/infrastructure.load-rehearsal-runner/1.0.0/associated-artifacts.json b/kits/infrastructure.load-rehearsal-runner/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..46aa3dc --- /dev/null +++ b/kits/infrastructure.load-rehearsal-runner/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.load-rehearsal-runner-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "load-rehearsal-runner", + "ref_version": null, + "ref_digest": "sha256:adca0e693fd82e12116748d9942513f2c7e3966b1805cfb1b129a9288a40717b", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "cce0d4c11d4a8331b0338e5f76eec3ffe4e62eaed4203afb8c9210dde02f2bcd" + }, + "size_bytes": 475, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.load-rehearsal-runner@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "825983c6911a163805e323f8fbdd70e950af3268bc339d34b926ba3e84f42f2a" + }, + "size_bytes": 454, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.load-rehearsal-runner@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "ba8e36ec772cc32cafce138ceade6be66f7520ae67aceb46f4d833fae0b21f8b" + }, + "size_bytes": 590, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.load-rehearsal-runner@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "9b36625d1dfd643214033d0e4b98f5277906fb8d2b0ab0cd62280c021af41642" + }, + "size_bytes": 1735, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.load-rehearsal-runner@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "03f5f95b1ba97a951674bb7ceaaffbcac53258f294e59aa5d0e924afd5f544a0" + }, + "size_bytes": 2184, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.load-rehearsal-runner@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "494a6cbd6f9a9be2be0116b7af201cf07c3f18402a87e5c12954e6fe981ef95e" + }, + "size_bytes": 259, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.load-rehearsal-runner@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:8f453687149bc409226f83c7bfeeba287ebe795f87f2a3ad82cfa5b2f907a4c0" +} diff --git a/kits/infrastructure.load-rehearsal-runner/1.0.0/kit.yaml b/kits/infrastructure.load-rehearsal-runner/1.0.0/kit.yaml new file mode 100644 index 0000000..8f3076f --- /dev/null +++ b/kits/infrastructure.load-rehearsal-runner/1.0.0/kit.yaml @@ -0,0 +1,52 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.load-rehearsal-runner +version: 1.0.0 +title: Load/rehearsal runner +summary: Reusable load/rehearsal runner with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: policy-operations +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/load-rehearsal-runner/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/load-rehearsal-runner/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: +- kind: external + id: workload-targets + version: raes-3.2 + description: Select imported services as bounded workload targets. +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- Select imported services as bounded workload targets. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/runner/source + description: RAES carries the declared k6 stable source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.load-rehearsal-runner/1.0.0/module.sdl.yaml b/kits/infrastructure.load-rehearsal-runner/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..415f57e --- /dev/null +++ b/kits/infrastructure.load-rehearsal-runner/1.0.0/module.sdl.yaml @@ -0,0 +1,84 @@ +name: load-rehearsal-runner +version: 1.0.0 +description: Reusable static infrastructure for Load/rehearsal runner. Configures + workload_profile through the kit parameter contract. +module: + id: infrastructure/load-rehearsal-runner + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - workload_profile + exports: + nodes: + - runner + content: + - seed_inventory + accounts: + - runner_operator + description: Composable Load/rehearsal runner infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: load-rehearsal-runner + workload_profile: + type: string + default: smoke +nodes: + runner: + type: vm + description: '${deployment_profile} profile for ${service_label} (Load/rehearsal + runner). Configuration: ${workload_profile}.' + source: + name: k6 + version: stable + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 6565 + protocol: tcp + name: api + description: Declared api service surface. +content: + seed_inventory: + type: dataset + target: runner + description: Benign infrastructure seed inventory for ${workload_profile}. + items: + - name: target_bindings + display_name: Target Bindings + tags: + - infrastructure + - seed + description: Declared target bindings for this reusable service. + - name: workload_shape + display_name: Workload Shape + tags: + - infrastructure + - seed + description: Declared workload shape for this reusable service. + - name: rate_limits + display_name: Rate Limits + tags: + - infrastructure + - seed + description: Declared rate limits for this reusable service. + - name: result_schema + display_name: Result Schema + tags: + - infrastructure + - seed + description: Declared result schema for this reusable service. +accounts: + runner_operator: + username: runner-operator + node: runner + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.load-rehearsal-runner/1.0.0/tests/composition.yaml b/kits/infrastructure.load-rehearsal-runner/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..45b55bf --- /dev/null +++ b/kits/infrastructure.load-rehearsal-runner/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: load-rehearsal-runner + workload_profile: smoke +variation: + deployment_profile: compact + service_label: load-rehearsal-runner-alternate + workload_profile: capacity +multi_kit_group: policy-operations diff --git a/kits/infrastructure.model-registry/1.0.0/README.md b/kits/infrastructure.model-registry/1.0.0/README.md new file mode 100644 index 0000000..e6ad618 --- /dev/null +++ b/kits/infrastructure.model-registry/1.0.0/README.md @@ -0,0 +1,7 @@ +# Model registry + +Reusable model registry with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.model-registry/1.0.0/assets/integration.md b/kits/infrastructure.model-registry/1.0.0/assets/integration.md new file mode 100644 index 0000000..4754f29 --- /dev/null +++ b/kits/infrastructure.model-registry/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# Model registry integration material + +Author parameter: `registry_namespace` (default `baseline`). + +## Exported RAES declarations + +- `nodes.registry` +- `content.seed_inventory` +- `accounts.registry_operator` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.model-registry/1.0.0/assets/seed.yaml b/kits/infrastructure.model-registry/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..92b8ff9 --- /dev/null +++ b/kits/infrastructure.model-registry/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.model-registry +configuration: + registry_namespace: baseline + deployment_profile: standard + service_label: model-registry +declared_objects: +- id: namespace + kind: infrastructure-seed + sensitivity: non-secret +- id: models + kind: infrastructure-seed + sensitivity: non-secret +- id: versions + kind: infrastructure-seed + sensitivity: non-secret +- id: artifact_metadata + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.model-registry/1.0.0/associated-artifacts.json b/kits/infrastructure.model-registry/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..e487da4 --- /dev/null +++ b/kits/infrastructure.model-registry/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.model-registry-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "model-registry", + "ref_version": null, + "ref_digest": "sha256:86fe4a9b014e9cf70ab07400158d65b4ce07aa0c1a32e466dce13eeda3204c26", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "48cc020e67126ad93fa5cc851b279ed2b3ad6ab4876b46aee356dfcfcddf6823" + }, + "size_bytes": 461, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.model-registry@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "f944910f8485ad9de17f3b49c2b4d7afbf7673bc3e5390e5cfa3bf74e45a7aee" + }, + "size_bytes": 514, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.model-registry@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "e2df58cd5cdd763bf4ee4e4907a54ac2a1814189f0955ba3d24b65e397d36d67" + }, + "size_bytes": 628, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.model-registry@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "061eed63c97d54f200c883e272969c7be9df9a0e3f39672a4ea74a9cfac5f857" + }, + "size_bytes": 1626, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.model-registry@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "da121dc0d0c17953f5cbe10b26f97daa72db63cef76d03d8d8bc8a33c12891bf" + }, + "size_bytes": 2669, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.model-registry@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "38a0dae788e93588a288cdc9b30521a1aeaa325addef1d34c0fb1c3335dea209" + }, + "size_bytes": 244, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.model-registry@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:b41b4950c7c2e5c90c3ca40f4494e65ca0240a651fe33df226bf581577be7d70" +} diff --git a/kits/infrastructure.model-registry/1.0.0/kit.yaml b/kits/infrastructure.model-registry/1.0.0/kit.yaml new file mode 100644 index 0000000..53ae669 --- /dev/null +++ b/kits/infrastructure.model-registry/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.model-registry +version: 1.0.0 +title: Model registry +summary: Reusable model registry with domain-specific configuration, declared service + surfaces, seeded objects, and pack-local integration material. +concern: ai-model +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/model-registry/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/model-registry/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/registry/source + description: RAES carries the declared mlflow 3 source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.model-registry/1.0.0/module.sdl.yaml b/kits/infrastructure.model-registry/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..7bbd0f6 --- /dev/null +++ b/kits/infrastructure.model-registry/1.0.0/module.sdl.yaml @@ -0,0 +1,105 @@ +name: model-registry +version: 1.0.0 +description: Reusable static infrastructure for Model registry. Configures registry_namespace + through the kit parameter contract. +module: + id: infrastructure/model-registry + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - registry_namespace + exports: + nodes: + - registry + content: + - seed_inventory + accounts: + - registry_operator + description: Composable Model registry infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: model-registry + registry_namespace: + type: string + default: baseline +nodes: + registry: + type: vm + description: '${deployment_profile} profile for ${service_label} (Model registry). + Configuration: ${registry_namespace}.' + source: + name: mlflow + version: '3' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 5000 + protocol: tcp + name: http + description: Declared http service surface. + runtime: + applications: + - application_id: registry_surface + service: http + protocol: http + name: Registry surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. +content: + seed_inventory: + type: dataset + target: registry + description: Benign infrastructure seed inventory for ${registry_namespace}. + items: + - name: namespace + display_name: Namespace + tags: + - infrastructure + - seed + description: Declared namespace for this reusable service. + - name: models + display_name: Models + tags: + - infrastructure + - seed + description: Declared models for this reusable service. + - name: versions + display_name: Versions + tags: + - infrastructure + - seed + description: Declared versions for this reusable service. + - name: artifact_metadata + display_name: Artifact Metadata + tags: + - infrastructure + - seed + description: Declared artifact metadata for this reusable service. +accounts: + registry_operator: + username: registry-operator + node: registry + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.model-registry/1.0.0/tests/composition.yaml b/kits/infrastructure.model-registry/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..1c9133b --- /dev/null +++ b/kits/infrastructure.model-registry/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: model-registry + registry_namespace: baseline +variation: + deployment_profile: compact + service_label: model-registry-alternate + registry_namespace: candidate +multi_kit_group: ai-model diff --git a/kits/infrastructure.notebook-environment/1.0.0/README.md b/kits/infrastructure.notebook-environment/1.0.0/README.md new file mode 100644 index 0000000..71794e6 --- /dev/null +++ b/kits/infrastructure.notebook-environment/1.0.0/README.md @@ -0,0 +1,7 @@ +# Notebook environment + +Reusable notebook environment with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.notebook-environment/1.0.0/assets/integration.md b/kits/infrastructure.notebook-environment/1.0.0/assets/integration.md new file mode 100644 index 0000000..ec0334a --- /dev/null +++ b/kits/infrastructure.notebook-environment/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# Notebook environment integration material + +Author parameter: `workspace_name` (default `analysis`). + +## Exported RAES declarations + +- `nodes.notebook` +- `content.seed_inventory` +- `accounts.notebook_user` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.notebook-environment/1.0.0/assets/seed.yaml b/kits/infrastructure.notebook-environment/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..ec48493 --- /dev/null +++ b/kits/infrastructure.notebook-environment/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.notebook-environment +configuration: + workspace_name: analysis + deployment_profile: standard + service_label: notebook-environment +declared_objects: +- id: workspace + kind: infrastructure-seed + sensitivity: non-secret +- id: kernels + kind: infrastructure-seed + sensitivity: non-secret +- id: notebooks + kind: infrastructure-seed + sensitivity: non-secret +- id: data_mounts + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.notebook-environment/1.0.0/associated-artifacts.json b/kits/infrastructure.notebook-environment/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..898510d --- /dev/null +++ b/kits/infrastructure.notebook-environment/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.notebook-environment-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "notebook-environment", + "ref_version": null, + "ref_digest": "sha256:6a0b77fc6d06c2ba5dc6b25c2de29bf21a09d62e9d49cfd3f94d2f6027227aee", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "8936640d274a9556083919ff5b68f8f87c67f7d90ba172bbfc4ed8a360462b2f" + }, + "size_bytes": 473, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.notebook-environment@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "88abe2f0191ef10be668afdd57d37323f79e47d3392be4bc5016cfee720ad6e3" + }, + "size_bytes": 512, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.notebook-environment@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "cfc991303b770216dc4f1cb5fe606a1fb29b5ffd60233df8e7e575958e587774" + }, + "size_bytes": 632, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.notebook-environment@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "137f4c3215b3b92b902f40ff4f0add1a35d103b873867a2b439d5d5afef9e982" + }, + "size_bytes": 1665, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.notebook-environment@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "20be4d0f83588b514317773832b0889be6b20384323430dd2b3be5b9f4ae1049" + }, + "size_bytes": 2662, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.notebook-environment@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "37f19265465a7908701de8ede72932c58f49298d8cf27b4d3a17ff6ab55913a3" + }, + "size_bytes": 252, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.notebook-environment@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:9d7d13855f9824f41b2e269d6ecb9988b09b4ab05c0c1d7b79b6770fc2af185f" +} diff --git a/kits/infrastructure.notebook-environment/1.0.0/kit.yaml b/kits/infrastructure.notebook-environment/1.0.0/kit.yaml new file mode 100644 index 0000000..f33f71f --- /dev/null +++ b/kits/infrastructure.notebook-environment/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.notebook-environment +version: 1.0.0 +title: Notebook environment +summary: Reusable notebook environment with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: data-workflow +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/notebook-environment/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/notebook-environment/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/notebook/source + description: RAES carries the declared jupyterlab 4 source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.notebook-environment/1.0.0/module.sdl.yaml b/kits/infrastructure.notebook-environment/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..84c2512 --- /dev/null +++ b/kits/infrastructure.notebook-environment/1.0.0/module.sdl.yaml @@ -0,0 +1,105 @@ +name: notebook-environment +version: 1.0.0 +description: Reusable static infrastructure for Notebook environment. Configures workspace_name + through the kit parameter contract. +module: + id: infrastructure/notebook-environment + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - workspace_name + exports: + nodes: + - notebook + content: + - seed_inventory + accounts: + - notebook_user + description: Composable Notebook environment infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: notebook-environment + workspace_name: + type: string + default: analysis +nodes: + notebook: + type: vm + description: '${deployment_profile} profile for ${service_label} (Notebook environment). + Configuration: ${workspace_name}.' + source: + name: jupyterlab + version: '4' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 8888 + protocol: tcp + name: http + description: Declared http service surface. + runtime: + applications: + - application_id: notebook_surface + service: http + protocol: http + name: Notebook surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. +content: + seed_inventory: + type: dataset + target: notebook + description: Benign infrastructure seed inventory for ${workspace_name}. + items: + - name: workspace + display_name: Workspace + tags: + - infrastructure + - seed + description: Declared workspace for this reusable service. + - name: kernels + display_name: Kernels + tags: + - infrastructure + - seed + description: Declared kernels for this reusable service. + - name: notebooks + display_name: Notebooks + tags: + - infrastructure + - seed + description: Declared notebooks for this reusable service. + - name: data_mounts + display_name: Data Mounts + tags: + - infrastructure + - seed + description: Declared data mounts for this reusable service. +accounts: + notebook_user: + username: researcher + node: notebook + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.notebook-environment/1.0.0/tests/composition.yaml b/kits/infrastructure.notebook-environment/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..e61e833 --- /dev/null +++ b/kits/infrastructure.notebook-environment/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: notebook-environment + workspace_name: analysis +variation: + deployment_profile: compact + service_label: notebook-environment-alternate + workspace_name: research +multi_kit_group: data-workflow diff --git a/kits/infrastructure.observability-evidence-store/1.0.0/README.md b/kits/infrastructure.observability-evidence-store/1.0.0/README.md new file mode 100644 index 0000000..d4c52cc --- /dev/null +++ b/kits/infrastructure.observability-evidence-store/1.0.0/README.md @@ -0,0 +1,7 @@ +# Observability/evidence store + +Reusable observability/evidence store with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.observability-evidence-store/1.0.0/assets/integration.md b/kits/infrastructure.observability-evidence-store/1.0.0/assets/integration.md new file mode 100644 index 0000000..2899b2c --- /dev/null +++ b/kits/infrastructure.observability-evidence-store/1.0.0/assets/integration.md @@ -0,0 +1,16 @@ +# Observability/evidence store integration material + +Author parameter: `retention_profile` (default `standard`). + +## Exported RAES declarations + +- `nodes.metrics` +- `nodes.traces` +- `content.seed_inventory` +- `accounts.observability_operator` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.observability-evidence-store/1.0.0/assets/seed.yaml b/kits/infrastructure.observability-evidence-store/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..6542fe5 --- /dev/null +++ b/kits/infrastructure.observability-evidence-store/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.observability-evidence-store +configuration: + retention_profile: standard + deployment_profile: standard + service_label: observability-evidence-store +declared_objects: +- id: metrics_datasource + kind: infrastructure-seed + sensitivity: non-secret +- id: trace_tenant + kind: infrastructure-seed + sensitivity: non-secret +- id: dashboards + kind: infrastructure-seed + sensitivity: non-secret +- id: retention_policy + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.observability-evidence-store/1.0.0/associated-artifacts.json b/kits/infrastructure.observability-evidence-store/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..a1cb45f --- /dev/null +++ b/kits/infrastructure.observability-evidence-store/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.observability-evidence-store-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "observability-evidence-store", + "ref_version": null, + "ref_digest": "sha256:f54e908982cd62f877e5c50f6f7b2810a57f696bf4dba8d8160fa686cb0cc4f0", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "0dc4d1a4bc302ca66a7bc1c5e762aac4582d741a762b78ef8f9159a8bcd0fdb8" + }, + "size_bytes": 489, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.observability-evidence-store@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "c85469dfa09ce165a1a62f1b786da28a95d9ec00817122c15e8ab42280793103" + }, + "size_bytes": 548, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.observability-evidence-store@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "8cf3ede59ed8a9765886f2363d0f93da37e07b3b8c09cc2d6464048480f29518" + }, + "size_bytes": 671, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.observability-evidence-store@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "9956e78a48447f7b018a43fe354eeea43a6de14dbb7942299c191540ee93fd7f" + }, + "size_bytes": 1921, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.observability-evidence-store@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "8c47edd9297460bad9ca6bc8f42b1db5423b8f40c727ccaa9caa15549e62b3b7" + }, + "size_bytes": 3698, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.observability-evidence-store@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "34d17ae27206214d8ab12f621791a9a0037079e93c0daab1017c80b924245e8a" + }, + "size_bytes": 278, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.observability-evidence-store@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:1ec614a98a1d050eb8bff70669382b83b2794e34774da99dcb4a70efa3c26f13" +} diff --git a/kits/infrastructure.observability-evidence-store/1.0.0/kit.yaml b/kits/infrastructure.observability-evidence-store/1.0.0/kit.yaml new file mode 100644 index 0000000..00d276e --- /dev/null +++ b/kits/infrastructure.observability-evidence-store/1.0.0/kit.yaml @@ -0,0 +1,54 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.observability-evidence-store +version: 1.0.0 +title: Observability/evidence store +summary: Reusable observability/evidence store with domain-specific configuration, + declared service surfaces, seeded objects, and pack-local integration material. +concern: policy-operations +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/observability-evidence-store/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/observability-evidence-store/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 4 + memory_mib: 4096 + storage_mib: 8192 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/metrics/source + description: RAES carries the declared grafana stable source; immutable artifact + selection remains unresolved until pack publication. +- scope: unresolved + authority: raes-source + ref: /nodes/traces/source + description: RAES carries the declared tempo stable source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.observability-evidence-store/1.0.0/module.sdl.yaml b/kits/infrastructure.observability-evidence-store/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..a07b196 --- /dev/null +++ b/kits/infrastructure.observability-evidence-store/1.0.0/module.sdl.yaml @@ -0,0 +1,142 @@ +name: observability-evidence-store +version: 1.0.0 +description: Reusable static infrastructure for Observability/evidence store. Configures + retention_profile through the kit parameter contract. +module: + id: infrastructure/observability-evidence-store + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - retention_profile + exports: + nodes: + - metrics + - traces + content: + - seed_inventory + accounts: + - observability_operator + description: Composable Observability/evidence store infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: observability-evidence-store + retention_profile: + type: string + default: standard +nodes: + metrics: + type: vm + description: '${deployment_profile} profile for ${service_label} (Observability/evidence + store). Configuration: ${retention_profile}.' + source: + name: grafana + version: stable + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 3000 + protocol: tcp + name: http + description: Declared http service surface. + runtime: + applications: + - application_id: metrics_surface + service: http + protocol: http + name: Metrics surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. + traces: + type: vm + description: ${deployment_profile} profile for ${service_label} (Observability/evidence + store). + source: + name: tempo + version: stable + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 3200 + protocol: tcp + name: http + description: Declared http service surface. + runtime: + applications: + - application_id: traces_surface + service: http + protocol: http + name: Traces surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. +content: + seed_inventory: + type: dataset + target: metrics + description: Benign infrastructure seed inventory for ${retention_profile}. + items: + - name: metrics_datasource + display_name: Metrics Datasource + tags: + - infrastructure + - seed + description: Declared metrics datasource for this reusable service. + - name: trace_tenant + display_name: Trace Tenant + tags: + - infrastructure + - seed + description: Declared trace tenant for this reusable service. + - name: dashboards + display_name: Dashboards + tags: + - infrastructure + - seed + description: Declared dashboards for this reusable service. + - name: retention_policy + display_name: Retention Policy + tags: + - infrastructure + - seed + description: Declared retention policy for this reusable service. +accounts: + observability_operator: + username: observability-operator + node: metrics + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.observability-evidence-store/1.0.0/tests/composition.yaml b/kits/infrastructure.observability-evidence-store/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..82ad286 --- /dev/null +++ b/kits/infrastructure.observability-evidence-store/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: observability-evidence-store + retention_profile: standard +variation: + deployment_profile: compact + service_label: observability-evidence-store-alternate + retention_profile: extended +multi_kit_group: policy-operations diff --git a/kits/infrastructure.oidc-identity-provider/1.0.0/README.md b/kits/infrastructure.oidc-identity-provider/1.0.0/README.md new file mode 100644 index 0000000..d286b79 --- /dev/null +++ b/kits/infrastructure.oidc-identity-provider/1.0.0/README.md @@ -0,0 +1,7 @@ +# OIDC identity provider + +Reusable oidc identity provider with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.oidc-identity-provider/1.0.0/assets/integration.md b/kits/infrastructure.oidc-identity-provider/1.0.0/assets/integration.md new file mode 100644 index 0000000..c0fde58 --- /dev/null +++ b/kits/infrastructure.oidc-identity-provider/1.0.0/assets/integration.md @@ -0,0 +1,16 @@ +# OIDC identity provider integration material + +Author parameter: `realm_name` (default `workforce`). + +## Exported RAES declarations + +- `nodes.identity_provider` +- `identity_facades.oidc` +- `content.seed_inventory` +- `accounts.identity_operator` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.oidc-identity-provider/1.0.0/assets/seed.yaml b/kits/infrastructure.oidc-identity-provider/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..56a2d65 --- /dev/null +++ b/kits/infrastructure.oidc-identity-provider/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.oidc-identity-provider +configuration: + realm_name: workforce + deployment_profile: standard + service_label: oidc-identity-provider +declared_objects: +- id: realm + kind: infrastructure-seed + sensitivity: non-secret +- id: users + kind: infrastructure-seed + sensitivity: non-secret +- id: groups + kind: infrastructure-seed + sensitivity: non-secret +- id: oidc_clients + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.oidc-identity-provider/1.0.0/associated-artifacts.json b/kits/infrastructure.oidc-identity-provider/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..6788b5f --- /dev/null +++ b/kits/infrastructure.oidc-identity-provider/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.oidc-identity-provider-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "oidc-identity-provider", + "ref_version": null, + "ref_digest": "sha256:653b1dae1fe7e4c93b32b16d0be5b111544807bb74041bea6ce475336f15644d", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "6c73fc17044de07172093e97f02199828833a26b22af06128b446b2fb7df0c2b" + }, + "size_bytes": 477, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.oidc-identity-provider@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "5ac2d727afc39c06129c76068f0ebe1c72a4daa245b2356d93abd6c92db14943" + }, + "size_bytes": 550, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.oidc-identity-provider@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "e5af9f5d4733bc3f9dc7b9a3f0b4a6629acc9462fd98bcac7f9d0c60b9f72441" + }, + "size_bytes": 625, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.oidc-identity-provider@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "d81013839b9249aebd2735dfc1773480acfba74f15be39ec0e7132fed2454e34" + }, + "size_bytes": 1685, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.oidc-identity-provider@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "2755e2b9819f700fbdcbc73d6d69b5e24a91a9074f453ea757b5fff952b94593" + }, + "size_bytes": 2827, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.oidc-identity-provider@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "7fd297ad0f7a4ab7f38447e3ecf7f5e4dc46e9049aad83f8d6848923bd071afd" + }, + "size_bytes": 251, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.oidc-identity-provider@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:6a1a797ae1d895eba5f85f97354e1e7a1e30e2adc1cc5cbcb1948cafea577db6" +} diff --git a/kits/infrastructure.oidc-identity-provider/1.0.0/kit.yaml b/kits/infrastructure.oidc-identity-provider/1.0.0/kit.yaml new file mode 100644 index 0000000..24b348f --- /dev/null +++ b/kits/infrastructure.oidc-identity-provider/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.oidc-identity-provider +version: 1.0.0 +title: OIDC identity provider +summary: Reusable oidc identity provider with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: identity-domain +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/oidc-identity-provider/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/oidc-identity-provider/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/identity_provider/source + description: RAES carries the declared keycloak 26 source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.oidc-identity-provider/1.0.0/module.sdl.yaml b/kits/infrastructure.oidc-identity-provider/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..4d08b6a --- /dev/null +++ b/kits/infrastructure.oidc-identity-provider/1.0.0/module.sdl.yaml @@ -0,0 +1,111 @@ +name: oidc-identity-provider +version: 1.0.0 +description: Reusable static infrastructure for OIDC identity provider. Configures + realm_name through the kit parameter contract. +module: + id: infrastructure/oidc-identity-provider + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - realm_name + exports: + nodes: + - identity_provider + identity_facades: + - oidc + content: + - seed_inventory + accounts: + - identity_operator + description: Composable OIDC identity provider infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: oidc-identity-provider + realm_name: + type: string + default: workforce +nodes: + identity_provider: + type: vm + description: '${deployment_profile} profile for ${service_label} (OIDC identity + provider). Configuration: ${realm_name}.' + source: + name: keycloak + version: '26' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 8080 + protocol: tcp + name: http + description: Declared http service surface. + runtime: + applications: + - application_id: identity_provider_surface + service: http + protocol: http + name: Identity Provider surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. +identity_facades: + oidc: + service_ref: nodes.identity_provider.services.http + protocol: oidc +content: + seed_inventory: + type: dataset + target: identity_provider + description: Benign infrastructure seed inventory for ${realm_name}. + items: + - name: realm + display_name: Realm + tags: + - infrastructure + - seed + description: Declared realm for this reusable service. + - name: users + display_name: Users + tags: + - infrastructure + - seed + description: Declared users for this reusable service. + - name: groups + display_name: Groups + tags: + - infrastructure + - seed + description: Declared groups for this reusable service. + - name: oidc_clients + display_name: Oidc Clients + tags: + - infrastructure + - seed + description: Declared oidc clients for this reusable service. +accounts: + identity_operator: + username: idp-operator + node: identity_provider + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.oidc-identity-provider/1.0.0/tests/composition.yaml b/kits/infrastructure.oidc-identity-provider/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..ebf41cc --- /dev/null +++ b/kits/infrastructure.oidc-identity-provider/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: oidc-identity-provider + realm_name: workforce +variation: + deployment_profile: compact + service_label: oidc-identity-provider-alternate + realm_name: research +multi_kit_group: identity-domain diff --git a/kits/infrastructure.policy-engine/1.0.0/README.md b/kits/infrastructure.policy-engine/1.0.0/README.md new file mode 100644 index 0000000..193f0b8 --- /dev/null +++ b/kits/infrastructure.policy-engine/1.0.0/README.md @@ -0,0 +1,7 @@ +# Policy engine + +Reusable policy engine with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.policy-engine/1.0.0/assets/integration.md b/kits/infrastructure.policy-engine/1.0.0/assets/integration.md new file mode 100644 index 0000000..343fba6 --- /dev/null +++ b/kits/infrastructure.policy-engine/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# Policy engine integration material + +Author parameter: `policy_bundle` (default `baseline`). + +## Exported RAES declarations + +- `nodes.policy` +- `content.seed_inventory` +- `accounts.policy_operator` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.policy-engine/1.0.0/assets/seed.yaml b/kits/infrastructure.policy-engine/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..8c47fd3 --- /dev/null +++ b/kits/infrastructure.policy-engine/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.policy-engine +configuration: + policy_bundle: baseline + deployment_profile: standard + service_label: policy-engine +declared_objects: +- id: policy_bundle + kind: infrastructure-seed + sensitivity: non-secret +- id: decision_route + kind: infrastructure-seed + sensitivity: non-secret +- id: data_documents + kind: infrastructure-seed + sensitivity: non-secret +- id: query_examples + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.policy-engine/1.0.0/associated-artifacts.json b/kits/infrastructure.policy-engine/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..d16663d --- /dev/null +++ b/kits/infrastructure.policy-engine/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.policy-engine-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "policy-engine", + "ref_version": null, + "ref_digest": "sha256:4562edfaeb958fef0acdc602ff50f6792770b60a57f9d10286cf3062c6a29c50", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "9e8cd5c5c350c59455a18e06bb0ef9904b386ec18d83f433b8233656f28a2263" + }, + "size_bytes": 459, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.policy-engine@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "4a5073331c35a644175898befc889e3c24a1544cff43a82d3d36239e3f2b6d74" + }, + "size_bytes": 504, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.policy-engine@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "458087fe69f13548da9f0cf6d85e10a48ff333a37ae0635778e80864af42254e" + }, + "size_bytes": 636, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.policy-engine@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "4a5acd253fc6090a0a1a63168b7726703b1cb59e18f1a4352539eb0ceeaba383" + }, + "size_bytes": 1639, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.policy-engine@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "7e2cfacbb6862a424b62bd4250249b23fde225eeeb0738eaa0360c9f297365df" + }, + "size_bytes": 2676, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.policy-engine@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "75dac95f1186cc1abb058df674c324d29e24dbb1a99564325cbfe902520abd78" + }, + "size_bytes": 242, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.policy-engine@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:85d9827bf2d76fde3ca7f6562029795a39aa18842e6f603a4ca45f9400a56429" +} diff --git a/kits/infrastructure.policy-engine/1.0.0/kit.yaml b/kits/infrastructure.policy-engine/1.0.0/kit.yaml new file mode 100644 index 0000000..2cfaed3 --- /dev/null +++ b/kits/infrastructure.policy-engine/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.policy-engine +version: 1.0.0 +title: Policy engine +summary: Reusable policy engine with domain-specific configuration, declared service + surfaces, seeded objects, and pack-local integration material. +concern: policy-operations +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/policy-engine/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/policy-engine/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/policy/source + description: RAES carries the declared open-policy-agent 1 source; immutable artifact + selection remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.policy-engine/1.0.0/module.sdl.yaml b/kits/infrastructure.policy-engine/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..22fbe2d --- /dev/null +++ b/kits/infrastructure.policy-engine/1.0.0/module.sdl.yaml @@ -0,0 +1,105 @@ +name: policy-engine +version: 1.0.0 +description: Reusable static infrastructure for Policy engine. Configures policy_bundle + through the kit parameter contract. +module: + id: infrastructure/policy-engine + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - policy_bundle + exports: + nodes: + - policy + content: + - seed_inventory + accounts: + - policy_operator + description: Composable Policy engine infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: policy-engine + policy_bundle: + type: string + default: baseline +nodes: + policy: + type: vm + description: '${deployment_profile} profile for ${service_label} (Policy engine). + Configuration: ${policy_bundle}.' + source: + name: open-policy-agent + version: '1' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 8181 + protocol: tcp + name: http + description: Declared http service surface. + runtime: + applications: + - application_id: policy_surface + service: http + protocol: http + name: Policy surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. +content: + seed_inventory: + type: dataset + target: policy + description: Benign infrastructure seed inventory for ${policy_bundle}. + items: + - name: policy_bundle + display_name: Policy Bundle + tags: + - infrastructure + - seed + description: Declared policy bundle for this reusable service. + - name: decision_route + display_name: Decision Route + tags: + - infrastructure + - seed + description: Declared decision route for this reusable service. + - name: data_documents + display_name: Data Documents + tags: + - infrastructure + - seed + description: Declared data documents for this reusable service. + - name: query_examples + display_name: Query Examples + tags: + - infrastructure + - seed + description: Declared query examples for this reusable service. +accounts: + policy_operator: + username: policy-operator + node: policy + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.policy-engine/1.0.0/tests/composition.yaml b/kits/infrastructure.policy-engine/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..61760be --- /dev/null +++ b/kits/infrastructure.policy-engine/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: policy-engine + policy_bundle: baseline +variation: + deployment_profile: compact + service_label: policy-engine-alternate + policy_bundle: restricted +multi_kit_group: policy-operations diff --git a/kits/infrastructure.postgresql-database/1.0.0/README.md b/kits/infrastructure.postgresql-database/1.0.0/README.md new file mode 100644 index 0000000..a61f7db --- /dev/null +++ b/kits/infrastructure.postgresql-database/1.0.0/README.md @@ -0,0 +1,7 @@ +# PostgreSQL database + +Reusable postgresql database with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.postgresql-database/1.0.0/assets/integration.md b/kits/infrastructure.postgresql-database/1.0.0/assets/integration.md new file mode 100644 index 0000000..e3e84c0 --- /dev/null +++ b/kits/infrastructure.postgresql-database/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# PostgreSQL database integration material + +Author parameter: `database_name` (default `environment`). + +## Exported RAES declarations + +- `nodes.database` +- `content.seed_inventory` +- `accounts.database_operator` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.postgresql-database/1.0.0/assets/seed.yaml b/kits/infrastructure.postgresql-database/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..7ca5a2c --- /dev/null +++ b/kits/infrastructure.postgresql-database/1.0.0/assets/seed.yaml @@ -0,0 +1,25 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.postgresql-database +configuration: + database_name: environment + deployment_profile: standard + service_label: postgresql-database +declared_objects: +- id: database + kind: infrastructure-seed + sensitivity: non-secret +- id: schemas + kind: infrastructure-seed + sensitivity: non-secret +- id: tables + kind: infrastructure-seed + sensitivity: non-secret +- id: roles + kind: infrastructure-seed + sensitivity: non-secret +- id: seed_rows + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.postgresql-database/1.0.0/associated-artifacts.json b/kits/infrastructure.postgresql-database/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..d519439 --- /dev/null +++ b/kits/infrastructure.postgresql-database/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.postgresql-database-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "postgresql-database", + "ref_version": null, + "ref_digest": "sha256:b0c23681b3039637091f956fc7ea34a8c26eab50a5d8fad42d9f8d9ade70e3f3", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "e0cf28cee157dd0b3598fb41600e34afa6d6b94c154ac848e8026c83fa1c6fd4" + }, + "size_bytes": 471, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.postgresql-database@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "43a67d897338c70b24a436168050353000af12a3c96a9088da8554a6487d5041" + }, + "size_bytes": 517, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.postgresql-database@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "d72b09f43718d0252c106def535251eb7dc2dc448eca64e5ef60bab172431a56" + }, + "size_bytes": 692, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.postgresql-database@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "2b4bbf4cfb3bf32d828bfbbaa7757e6c18562840f61b1b1b0f90b3abdca6cedc" + }, + "size_bytes": 1661, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.postgresql-database@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "d57659c3b0ffa6309e358a16eff96bda164beccbc7a1f2adffe240e222442c22" + }, + "size_bytes": 3322, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.postgresql-database@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "753c8345cdefa6e071a0d2674fe500350b196dc99552bdf5af2df30e30742038" + }, + "size_bytes": 252, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.postgresql-database@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:3f923fdc7fc40383131494cd0a0f5d417e1dd13217d16c936cc81d92f159e26c" +} diff --git a/kits/infrastructure.postgresql-database/1.0.0/kit.yaml b/kits/infrastructure.postgresql-database/1.0.0/kit.yaml new file mode 100644 index 0000000..437d355 --- /dev/null +++ b/kits/infrastructure.postgresql-database/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.postgresql-database +version: 1.0.0 +title: PostgreSQL database +summary: Reusable postgresql database with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: data-workflow +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/postgresql-database/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/postgresql-database/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/database/source + description: RAES carries the declared postgresql 17 source; immutable artifact + selection remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.postgresql-database/1.0.0/module.sdl.yaml b/kits/infrastructure.postgresql-database/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..4c05f51 --- /dev/null +++ b/kits/infrastructure.postgresql-database/1.0.0/module.sdl.yaml @@ -0,0 +1,127 @@ +name: postgresql-database +version: 1.0.0 +description: Reusable static infrastructure for PostgreSQL database. Configures database_name + through the kit parameter contract. +module: + id: infrastructure/postgresql-database + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - database_name + exports: + nodes: + - database + content: + - seed_inventory + accounts: + - database_operator + description: Composable PostgreSQL database infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: postgresql-database + database_name: + type: string + default: environment +nodes: + database: + type: vm + description: '${deployment_profile} profile for ${service_label} (PostgreSQL database). + Configuration: ${database_name}.' + source: + name: postgresql + version: '17' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 5432 + protocol: tcp + name: postgresql + description: Declared postgresql service surface. + runtime: + database_services: + - database_service_id: postgresql_service + service: postgresql + engine: postgresql + protocol: postgresql + version: '17' + databases: + - database_id: application_database + name: ${database_name} + origin: scenario + schemas: + - schema_id: application_schema + name: application + tables: + - table_id: records_table + name: records + - table_id: audit_table + name: audit_log + roles: + - role_id: application_role + name: application + role_type: application + can_login: true + - role_id: operator_role + name: operator + role_type: admin + can_login: true + grants: + - grantee_role_ref: application_role + object_type: table + object_ref: records_table + privileges: + - SELECT + - INSERT + - UPDATE + with_grant_option: false +content: + seed_inventory: + type: dataset + target: database + description: Benign infrastructure seed inventory for ${database_name}. + items: + - name: database + display_name: Database + tags: + - infrastructure + - seed + description: Declared database for this reusable service. + - name: schemas + display_name: Schemas + tags: + - infrastructure + - seed + description: Declared schemas for this reusable service. + - name: tables + display_name: Tables + tags: + - infrastructure + - seed + description: Declared tables for this reusable service. + - name: roles + display_name: Roles + tags: + - infrastructure + - seed + description: Declared roles for this reusable service. + - name: seed_rows + display_name: Seed Rows + tags: + - infrastructure + - seed + description: Declared seed rows for this reusable service. +accounts: + database_operator: + username: db-operator + node: database + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.postgresql-database/1.0.0/tests/composition.yaml b/kits/infrastructure.postgresql-database/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..458e1b3 --- /dev/null +++ b/kits/infrastructure.postgresql-database/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: postgresql-database + database_name: environment +variation: + deployment_profile: compact + service_label: postgresql-database-alternate + database_name: analytics +multi_kit_group: data-workflow diff --git a/kits/infrastructure.python-evaluation-worker/1.0.0/README.md b/kits/infrastructure.python-evaluation-worker/1.0.0/README.md new file mode 100644 index 0000000..86e92ff --- /dev/null +++ b/kits/infrastructure.python-evaluation-worker/1.0.0/README.md @@ -0,0 +1,7 @@ +# Python evaluation worker + +Reusable python evaluation worker with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.python-evaluation-worker/1.0.0/assets/integration.md b/kits/infrastructure.python-evaluation-worker/1.0.0/assets/integration.md new file mode 100644 index 0000000..bcb13be --- /dev/null +++ b/kits/infrastructure.python-evaluation-worker/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# Python evaluation worker integration material + +Author parameter: `queue_name` (default `evaluation`). + +## Exported RAES declarations + +- `nodes.worker` +- `content.seed_inventory` +- `accounts.worker_operator` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.python-evaluation-worker/1.0.0/assets/seed.yaml b/kits/infrastructure.python-evaluation-worker/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..031a45e --- /dev/null +++ b/kits/infrastructure.python-evaluation-worker/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.python-evaluation-worker +configuration: + queue_name: evaluation + deployment_profile: standard + service_label: python-evaluation-worker +declared_objects: +- id: work_queue + kind: infrastructure-seed + sensitivity: non-secret +- id: input_contract + kind: infrastructure-seed + sensitivity: non-secret +- id: result_contract + kind: infrastructure-seed + sensitivity: non-secret +- id: resource_limits + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.python-evaluation-worker/1.0.0/associated-artifacts.json b/kits/infrastructure.python-evaluation-worker/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..2407bd5 --- /dev/null +++ b/kits/infrastructure.python-evaluation-worker/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.python-evaluation-worker-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "python-evaluation-worker", + "ref_version": null, + "ref_digest": "sha256:33f97c408efd8eadf59bcab37dbfcf22b588631174b8f2117252c9528d07d62d", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "e113bf16abfbcfad9b60bc5e6b1aa187380839aa4a76fb790b15988cff30f5d8" + }, + "size_bytes": 481, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.python-evaluation-worker@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "ea51292d26ef54db7eb9a4b0a68bcb0729683299c915d3b2bf9c0e6a10ef32e0" + }, + "size_bytes": 514, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.python-evaluation-worker@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "cef3b58d1d9f1c12db08e45720a964b609ced82e697c4878f446b640da8ce70d" + }, + "size_bytes": 656, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.python-evaluation-worker@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "dfd49ba18ab67b51646eb54b38dc7f84fa8e6fad2ab2fde6ec01d97e38a03aab" + }, + "size_bytes": 1677, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.python-evaluation-worker@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "6029bdb16471bc6a7d125f1b724508cd0f3a096b5eea9acb7fcef7fb1dd03e95" + }, + "size_bytes": 2192, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.python-evaluation-worker@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "c1755678b57ac76a59b7d03f700eb91093181a3a860107e9f12a886ad97b6e84" + }, + "size_bytes": 246, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.python-evaluation-worker@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:d110631ef135726542c8a15f9e58440535e1dbb7380ce837541261db9d2e4514" +} diff --git a/kits/infrastructure.python-evaluation-worker/1.0.0/kit.yaml b/kits/infrastructure.python-evaluation-worker/1.0.0/kit.yaml new file mode 100644 index 0000000..674fb00 --- /dev/null +++ b/kits/infrastructure.python-evaluation-worker/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.python-evaluation-worker +version: 1.0.0 +title: Python evaluation worker +summary: Reusable python evaluation worker with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: ai-model +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/python-evaluation-worker/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/python-evaluation-worker/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/worker/source + description: RAES carries the declared python 3.12 source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.python-evaluation-worker/1.0.0/module.sdl.yaml b/kits/infrastructure.python-evaluation-worker/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..ca10c5f --- /dev/null +++ b/kits/infrastructure.python-evaluation-worker/1.0.0/module.sdl.yaml @@ -0,0 +1,84 @@ +name: python-evaluation-worker +version: 1.0.0 +description: Reusable static infrastructure for Python evaluation worker. Configures + queue_name through the kit parameter contract. +module: + id: infrastructure/python-evaluation-worker + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - queue_name + exports: + nodes: + - worker + content: + - seed_inventory + accounts: + - worker_operator + description: Composable Python evaluation worker infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: python-evaluation-worker + queue_name: + type: string + default: evaluation +nodes: + worker: + type: vm + description: '${deployment_profile} profile for ${service_label} (Python evaluation + worker). Configuration: ${queue_name}.' + source: + name: python + version: '3.12' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 8000 + protocol: tcp + name: control + description: Declared control service surface. +content: + seed_inventory: + type: dataset + target: worker + description: Benign infrastructure seed inventory for ${queue_name}. + items: + - name: work_queue + display_name: Work Queue + tags: + - infrastructure + - seed + description: Declared work queue for this reusable service. + - name: input_contract + display_name: Input Contract + tags: + - infrastructure + - seed + description: Declared input contract for this reusable service. + - name: result_contract + display_name: Result Contract + tags: + - infrastructure + - seed + description: Declared result contract for this reusable service. + - name: resource_limits + display_name: Resource Limits + tags: + - infrastructure + - seed + description: Declared resource limits for this reusable service. +accounts: + worker_operator: + username: worker-operator + node: worker + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.python-evaluation-worker/1.0.0/tests/composition.yaml b/kits/infrastructure.python-evaluation-worker/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..1a168d3 --- /dev/null +++ b/kits/infrastructure.python-evaluation-worker/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: python-evaluation-worker + queue_name: evaluation +variation: + deployment_profile: compact + service_label: python-evaluation-worker-alternate + queue_name: batch +multi_kit_group: ai-model diff --git a/kits/infrastructure.python-package-resolver/1.0.0/README.md b/kits/infrastructure.python-package-resolver/1.0.0/README.md new file mode 100644 index 0000000..40ebed1 --- /dev/null +++ b/kits/infrastructure.python-package-resolver/1.0.0/README.md @@ -0,0 +1,7 @@ +# Python package resolver + +Reusable python package resolver with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.python-package-resolver/1.0.0/assets/integration.md b/kits/infrastructure.python-package-resolver/1.0.0/assets/integration.md new file mode 100644 index 0000000..9a82dcb --- /dev/null +++ b/kits/infrastructure.python-package-resolver/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# Python package resolver integration material + +Author parameter: `index_name` (default `packages`). + +## Exported RAES declarations + +- `nodes.resolver` +- `content.seed_inventory` +- `accounts.resolver_operator` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.python-package-resolver/1.0.0/assets/seed.yaml b/kits/infrastructure.python-package-resolver/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..e45e871 --- /dev/null +++ b/kits/infrastructure.python-package-resolver/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.python-package-resolver +configuration: + index_name: packages + deployment_profile: standard + service_label: python-package-resolver +declared_objects: +- id: package_index + kind: infrastructure-seed + sensitivity: non-secret +- id: package_metadata + kind: infrastructure-seed + sensitivity: non-secret +- id: resolver_policy + kind: infrastructure-seed + sensitivity: non-secret +- id: seed_packages + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.python-package-resolver/1.0.0/associated-artifacts.json b/kits/infrastructure.python-package-resolver/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..e735c54 --- /dev/null +++ b/kits/infrastructure.python-package-resolver/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.python-package-resolver-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "python-package-resolver", + "ref_version": null, + "ref_digest": "sha256:939a5a33908bc3ee72095ffd1a990e9b589cd73315c7b76850c501b6717f735b", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "11301646bfce52a1ab31624ea9b8cc52cbb98535c8b9a9c0b009e3541fa1eb36" + }, + "size_bytes": 479, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.python-package-resolver@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "eeedb7cceed2cacd6e833ac3f5d1e0b175e4517229ad416aa8a20d6759bf00fb" + }, + "size_bytes": 515, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.python-package-resolver@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "7e1615c4864fa8addf5e181866c03d4ababd187605e7f01e0251208c6a2a1182" + }, + "size_bytes": 655, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.python-package-resolver@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "edccbda5081b20692143c5aec1af03ca33fc90a8b615b738553fa63b08dd40c1" + }, + "size_bytes": 1670, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.python-package-resolver@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "664159ab6870a5ba0cef7502c3391b2138abd84309f5a1c3d43885fc488d3376" + }, + "size_bytes": 2733, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.python-package-resolver@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "a28c36ddd7b9df32bd5e8864495edd5717267a5d9b3dfcadbfb198f73cdaaef4" + }, + "size_bytes": 245, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.python-package-resolver@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:c3bf98a520d557456b5cd2dcd1a77c09ce9f28b4f04aae1004480d1589e40c9b" +} diff --git a/kits/infrastructure.python-package-resolver/1.0.0/kit.yaml b/kits/infrastructure.python-package-resolver/1.0.0/kit.yaml new file mode 100644 index 0000000..b823c6f --- /dev/null +++ b/kits/infrastructure.python-package-resolver/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.python-package-resolver +version: 1.0.0 +title: Python package resolver +summary: Reusable python package resolver with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: ai-model +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/python-package-resolver/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/python-package-resolver/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/resolver/source + description: RAES carries the declared devpi 6 source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.python-package-resolver/1.0.0/module.sdl.yaml b/kits/infrastructure.python-package-resolver/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..6d67762 --- /dev/null +++ b/kits/infrastructure.python-package-resolver/1.0.0/module.sdl.yaml @@ -0,0 +1,105 @@ +name: python-package-resolver +version: 1.0.0 +description: Reusable static infrastructure for Python package resolver. Configures + index_name through the kit parameter contract. +module: + id: infrastructure/python-package-resolver + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - index_name + exports: + nodes: + - resolver + content: + - seed_inventory + accounts: + - resolver_operator + description: Composable Python package resolver infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: python-package-resolver + index_name: + type: string + default: packages +nodes: + resolver: + type: vm + description: '${deployment_profile} profile for ${service_label} (Python package + resolver). Configuration: ${index_name}.' + source: + name: devpi + version: '6' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 3141 + protocol: tcp + name: http + description: Declared http service surface. + runtime: + applications: + - application_id: resolver_surface + service: http + protocol: http + name: Resolver surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. +content: + seed_inventory: + type: dataset + target: resolver + description: Benign infrastructure seed inventory for ${index_name}. + items: + - name: package_index + display_name: Package Index + tags: + - infrastructure + - seed + description: Declared package index for this reusable service. + - name: package_metadata + display_name: Package Metadata + tags: + - infrastructure + - seed + description: Declared package metadata for this reusable service. + - name: resolver_policy + display_name: Resolver Policy + tags: + - infrastructure + - seed + description: Declared resolver policy for this reusable service. + - name: seed_packages + display_name: Seed Packages + tags: + - infrastructure + - seed + description: Declared seed packages for this reusable service. +accounts: + resolver_operator: + username: resolver-operator + node: resolver + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.python-package-resolver/1.0.0/tests/composition.yaml b/kits/infrastructure.python-package-resolver/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..b618229 --- /dev/null +++ b/kits/infrastructure.python-package-resolver/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: python-package-resolver + index_name: packages +variation: + deployment_profile: compact + service_label: python-package-resolver-alternate + index_name: approved +multi_kit_group: ai-model diff --git a/kits/infrastructure.rdp-accessible-windows-host/1.0.0/README.md b/kits/infrastructure.rdp-accessible-windows-host/1.0.0/README.md new file mode 100644 index 0000000..d34d897 --- /dev/null +++ b/kits/infrastructure.rdp-accessible-windows-host/1.0.0/README.md @@ -0,0 +1,7 @@ +# RDP-accessible Windows host + +Reusable rdp-accessible windows host with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.rdp-accessible-windows-host/1.0.0/assets/integration.md b/kits/infrastructure.rdp-accessible-windows-host/1.0.0/assets/integration.md new file mode 100644 index 0000000..7cfa33c --- /dev/null +++ b/kits/infrastructure.rdp-accessible-windows-host/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# RDP-accessible Windows host integration material + +Author parameter: `login_name` (default `analyst`). + +## Exported RAES declarations + +- `nodes.endpoint` +- `content.seed_inventory` +- `accounts.endpoint_user` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.rdp-accessible-windows-host/1.0.0/assets/seed.yaml b/kits/infrastructure.rdp-accessible-windows-host/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..3809dee --- /dev/null +++ b/kits/infrastructure.rdp-accessible-windows-host/1.0.0/assets/seed.yaml @@ -0,0 +1,19 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.rdp-accessible-windows-host +configuration: + login_name: analyst + deployment_profile: standard + service_label: rdp-accessible-windows-host +declared_objects: +- id: login_account + kind: infrastructure-seed + sensitivity: non-secret +- id: desktop_profile + kind: infrastructure-seed + sensitivity: non-secret +- id: remote_access_policy + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.rdp-accessible-windows-host/1.0.0/associated-artifacts.json b/kits/infrastructure.rdp-accessible-windows-host/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..7b751d6 --- /dev/null +++ b/kits/infrastructure.rdp-accessible-windows-host/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.rdp-accessible-windows-host-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "rdp-accessible-windows-host", + "ref_version": null, + "ref_digest": "sha256:b7c51f10923596ef62c28c6b6db22387a1337177836e3608f9e7d717b2710041", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "6a455290ef0b1a618afb2734fd32a49da7a67e5c1eae3fdb240bfff03edd1fa1" + }, + "size_bytes": 487, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.rdp-accessible-windows-host@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "230c7f3a82600237dada0765c6b83dabe189141364f38b3c239e38c13ff7b41a" + }, + "size_bytes": 514, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.rdp-accessible-windows-host@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "c2ffbba9154e990939a59a353fff6935a4f04e9189adcd70ce78ae6ddb73ed64" + }, + "size_bytes": 592, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.rdp-accessible-windows-host@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "190a2c9a1964f6a02419a19aa2be5b902da648a90de03863326e2c92a9162f55" + }, + "size_bytes": 1712, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.rdp-accessible-windows-host@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "491508b99a492d56f504de24d31a250512b5d64ad0e75eab963e813585c6fa3c" + }, + "size_bytes": 2053, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.rdp-accessible-windows-host@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "75e50d30debd4a297acae198755b1584789bf98ed947ad0cdc3b63850331b500" + }, + "size_bytes": 262, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.rdp-accessible-windows-host@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:22e4b4e738ace1c9002bac226d0754aa81b8c6e2311766c13769d51908791a12" +} diff --git a/kits/infrastructure.rdp-accessible-windows-host/1.0.0/kit.yaml b/kits/infrastructure.rdp-accessible-windows-host/1.0.0/kit.yaml new file mode 100644 index 0000000..53ff802 --- /dev/null +++ b/kits/infrastructure.rdp-accessible-windows-host/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.rdp-accessible-windows-host +version: 1.0.0 +title: RDP-accessible Windows host +summary: Reusable rdp-accessible windows host with domain-specific configuration, + declared service surfaces, seeded objects, and pack-local integration material. +concern: access-workstation +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/rdp-accessible-windows-host/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/rdp-accessible-windows-host/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/endpoint/source + description: RAES carries the declared windows-server 2022 source; immutable artifact + selection remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.rdp-accessible-windows-host/1.0.0/module.sdl.yaml b/kits/infrastructure.rdp-accessible-windows-host/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..d6e6e1c --- /dev/null +++ b/kits/infrastructure.rdp-accessible-windows-host/1.0.0/module.sdl.yaml @@ -0,0 +1,78 @@ +name: rdp-accessible-windows-host +version: 1.0.0 +description: Reusable static infrastructure for RDP-accessible Windows host. Configures + login_name through the kit parameter contract. +module: + id: infrastructure/rdp-accessible-windows-host + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - login_name + exports: + nodes: + - endpoint + content: + - seed_inventory + accounts: + - endpoint_user + description: Composable RDP-accessible Windows host infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: rdp-accessible-windows-host + login_name: + type: string + default: analyst +nodes: + endpoint: + type: vm + description: '${deployment_profile} profile for ${service_label} (RDP-accessible + Windows host). Configuration: ${login_name}.' + source: + name: windows-server + version: '2022' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 3389 + protocol: tcp + name: rdp + description: Declared rdp service surface. +content: + seed_inventory: + type: dataset + target: endpoint + description: Benign infrastructure seed inventory for ${login_name}. + items: + - name: login_account + display_name: Login Account + tags: + - infrastructure + - seed + description: Declared login account for this reusable service. + - name: desktop_profile + display_name: Desktop Profile + tags: + - infrastructure + - seed + description: Declared desktop profile for this reusable service. + - name: remote_access_policy + display_name: Remote Access Policy + tags: + - infrastructure + - seed + description: Declared remote access policy for this reusable service. +accounts: + endpoint_user: + username: ${login_name} + node: endpoint + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.rdp-accessible-windows-host/1.0.0/tests/composition.yaml b/kits/infrastructure.rdp-accessible-windows-host/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..43dce8c --- /dev/null +++ b/kits/infrastructure.rdp-accessible-windows-host/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: rdp-accessible-windows-host + login_name: analyst +variation: + deployment_profile: compact + service_label: rdp-accessible-windows-host-alternate + login_name: operator +multi_kit_group: access-workstation diff --git a/kits/infrastructure.reverse-proxy-api-gateway/1.0.0/README.md b/kits/infrastructure.reverse-proxy-api-gateway/1.0.0/README.md new file mode 100644 index 0000000..bf8f65b --- /dev/null +++ b/kits/infrastructure.reverse-proxy-api-gateway/1.0.0/README.md @@ -0,0 +1,7 @@ +# Reverse proxy/API gateway + +Reusable reverse proxy/api gateway with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.reverse-proxy-api-gateway/1.0.0/assets/integration.md b/kits/infrastructure.reverse-proxy-api-gateway/1.0.0/assets/integration.md new file mode 100644 index 0000000..90f0738 --- /dev/null +++ b/kits/infrastructure.reverse-proxy-api-gateway/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# Reverse proxy/API gateway integration material + +Author parameter: `route_prefix` (default `/`). + +## Exported RAES declarations + +- `nodes.gateway` +- `content.seed_inventory` +- `accounts.gateway_operator` + +## Composition notes + +- Add pack-level proxy-upstream relationships to imported application services. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.reverse-proxy-api-gateway/1.0.0/assets/seed.yaml b/kits/infrastructure.reverse-proxy-api-gateway/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..fa9ca31 --- /dev/null +++ b/kits/infrastructure.reverse-proxy-api-gateway/1.0.0/assets/seed.yaml @@ -0,0 +1,21 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.reverse-proxy-api-gateway +configuration: + route_prefix: / + deployment_profile: standard + service_label: reverse-proxy-api-gateway +declared_objects: +- id: listener_routes + kind: infrastructure-seed + sensitivity: non-secret +- id: upstream_bindings + kind: infrastructure-seed + sensitivity: non-secret +- id: tls_termination + kind: infrastructure-seed + sensitivity: non-secret +- id: request_limits + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- Add pack-level proxy-upstream relationships to imported application services. diff --git a/kits/infrastructure.reverse-proxy-api-gateway/1.0.0/associated-artifacts.json b/kits/infrastructure.reverse-proxy-api-gateway/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..727e82b --- /dev/null +++ b/kits/infrastructure.reverse-proxy-api-gateway/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.reverse-proxy-api-gateway-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "reverse-proxy-api-gateway", + "ref_version": null, + "ref_digest": "sha256:c81e0c2649517aa107cbf4adf7278011fe85f4689ba61157307923c192d76d88", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "a09b545a81d7e0b99dd1aa7203bb7ba6b5ec83d00921e90d59494358982bf7ce" + }, + "size_bytes": 483, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.reverse-proxy-api-gateway@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "8a4ff5e48b4c3b3af3c1d84848da68a500ac975dd6ea51de631538b0a9243f2d" + }, + "size_bytes": 476, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.reverse-proxy-api-gateway@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "6a767ce02a3fba64f7425e78b9248dbb7ba5670a40124614ea616a457d7d6ee6" + }, + "size_bytes": 622, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.reverse-proxy-api-gateway@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "29f171ab6390a9feb62dbbf28f1d42feefe16ddc6bf92ea7c00231590f1f2d4a" + }, + "size_bytes": 1809, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.reverse-proxy-api-gateway@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "f7ee047693a0ed688d5e7a7ccaaf084d8018e642f0287248715d89e0c2116c03" + }, + "size_bytes": 2870, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.reverse-proxy-api-gateway@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "96f6b575fa5f0c5f4c23d7a3de39cb51441d56bd88e509f00a16c9d0cc1488e5" + }, + "size_bytes": 253, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.reverse-proxy-api-gateway@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:f781f7113c5248a2170329af034c8a53a41c656d641ee0b780fdc9b342c0eda1" +} diff --git a/kits/infrastructure.reverse-proxy-api-gateway/1.0.0/kit.yaml b/kits/infrastructure.reverse-proxy-api-gateway/1.0.0/kit.yaml new file mode 100644 index 0000000..ab31155 --- /dev/null +++ b/kits/infrastructure.reverse-proxy-api-gateway/1.0.0/kit.yaml @@ -0,0 +1,53 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.reverse-proxy-api-gateway +version: 1.0.0 +title: Reverse proxy/API gateway +summary: Reusable reverse proxy/api gateway with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: network-shared +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/reverse-proxy-api-gateway/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/reverse-proxy-api-gateway/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: +- kind: external + id: upstream-application + version: raes-3.2 + description: Add pack-level proxy-upstream relationships to imported application + services. +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- Add pack-level proxy-upstream relationships to imported application services. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/gateway/source + description: RAES carries the declared traefik 3 source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.reverse-proxy-api-gateway/1.0.0/module.sdl.yaml b/kits/infrastructure.reverse-proxy-api-gateway/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..6fd4f6b --- /dev/null +++ b/kits/infrastructure.reverse-proxy-api-gateway/1.0.0/module.sdl.yaml @@ -0,0 +1,109 @@ +name: reverse-proxy-api-gateway +version: 1.0.0 +description: Reusable static infrastructure for Reverse proxy/API gateway. Configures + route_prefix through the kit parameter contract. +module: + id: infrastructure/reverse-proxy-api-gateway + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - route_prefix + exports: + nodes: + - gateway + content: + - seed_inventory + accounts: + - gateway_operator + description: Composable Reverse proxy/API gateway infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: reverse-proxy-api-gateway + route_prefix: + type: string + default: / +nodes: + gateway: + type: vm + description: '${deployment_profile} profile for ${service_label} (Reverse proxy/API + gateway). Configuration: ${route_prefix}.' + source: + name: traefik + version: '3' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 80 + protocol: tcp + name: http + description: Declared http service surface. + - port: 443 + protocol: tcp + name: https + description: Declared https service surface. + runtime: + applications: + - application_id: gateway_surface + service: http + protocol: http + name: Gateway surface + routes: + - route_id: primary + path: ${route_prefix} + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. +content: + seed_inventory: + type: dataset + target: gateway + description: Benign infrastructure seed inventory for ${route_prefix}. + items: + - name: listener_routes + display_name: Listener Routes + tags: + - infrastructure + - seed + description: Declared listener routes for this reusable service. + - name: upstream_bindings + display_name: Upstream Bindings + tags: + - infrastructure + - seed + description: Declared upstream bindings for this reusable service. + - name: tls_termination + display_name: Tls Termination + tags: + - infrastructure + - seed + description: Declared tls termination for this reusable service. + - name: request_limits + display_name: Request Limits + tags: + - infrastructure + - seed + description: Declared request limits for this reusable service. +accounts: + gateway_operator: + username: gateway-operator + node: gateway + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.reverse-proxy-api-gateway/1.0.0/tests/composition.yaml b/kits/infrastructure.reverse-proxy-api-gateway/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..e0245a1 --- /dev/null +++ b/kits/infrastructure.reverse-proxy-api-gateway/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: reverse-proxy-api-gateway + route_prefix: / +variation: + deployment_profile: compact + service_label: reverse-proxy-api-gateway-alternate + route_prefix: /services +multi_kit_group: network-shared diff --git a/kits/infrastructure.s3-compatible-object-store/1.0.0/README.md b/kits/infrastructure.s3-compatible-object-store/1.0.0/README.md new file mode 100644 index 0000000..337df59 --- /dev/null +++ b/kits/infrastructure.s3-compatible-object-store/1.0.0/README.md @@ -0,0 +1,7 @@ +# S3-compatible object store + +Reusable s3-compatible object store with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.s3-compatible-object-store/1.0.0/assets/integration.md b/kits/infrastructure.s3-compatible-object-store/1.0.0/assets/integration.md new file mode 100644 index 0000000..298d4ec --- /dev/null +++ b/kits/infrastructure.s3-compatible-object-store/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# S3-compatible object store integration material + +Author parameter: `bucket_name` (default `artifacts`). + +## Exported RAES declarations + +- `nodes.object_store` +- `content.seed_inventory` +- `accounts.object_store_operator` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.s3-compatible-object-store/1.0.0/assets/seed.yaml b/kits/infrastructure.s3-compatible-object-store/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..e1e0c3c --- /dev/null +++ b/kits/infrastructure.s3-compatible-object-store/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.s3-compatible-object-store +configuration: + bucket_name: artifacts + deployment_profile: standard + service_label: s3-compatible-object-store +declared_objects: +- id: bucket + kind: infrastructure-seed + sensitivity: non-secret +- id: access_policy + kind: infrastructure-seed + sensitivity: non-secret +- id: seed_objects + kind: infrastructure-seed + sensitivity: non-secret +- id: lifecycle_profile + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.s3-compatible-object-store/1.0.0/associated-artifacts.json b/kits/infrastructure.s3-compatible-object-store/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..0328b22 --- /dev/null +++ b/kits/infrastructure.s3-compatible-object-store/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.s3-compatible-object-store-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "s3-compatible-object-store", + "ref_version": null, + "ref_digest": "sha256:507732383d62941c43ea220f48531a20be8ac4f472a7c06e2b10ff08077f2e41", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "e494d287c656a5eec463c1d5d1843ed95b604b1aacb650f8788fa5ac2ccfcd75" + }, + "size_bytes": 485, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.s3-compatible-object-store@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "c07d1fdd947854120c898043e4d6e046b15219638a94a0bd097a728c3a044e65" + }, + "size_bytes": 528, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.s3-compatible-object-store@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "058f6fa1c71e35bf10f1362e1e7b1143691befc923681465d91e5ee1eb8fe818" + }, + "size_bytes": 654, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.s3-compatible-object-store@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "ce9801488dc0316c67365ac29a2126acd1a3ae6a2eeb3410cc1b88ae14be0bc7" + }, + "size_bytes": 1699, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.s3-compatible-object-store@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "a47327251a82ad40c0fc56e0618cbe682e397bee5377914ec45b87023623b346" + }, + "size_bytes": 2325, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.s3-compatible-object-store@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "aff26fbb53668f669e643f0844ff2fe901a7fa3a0d3142867ee76fdaaf86bb14" + }, + "size_bytes": 259, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.s3-compatible-object-store@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:6a12355e1b665101f4ed33181fe75f8d31e1a040cfc66fb6d925646cb5e41768" +} diff --git a/kits/infrastructure.s3-compatible-object-store/1.0.0/kit.yaml b/kits/infrastructure.s3-compatible-object-store/1.0.0/kit.yaml new file mode 100644 index 0000000..8d0c251 --- /dev/null +++ b/kits/infrastructure.s3-compatible-object-store/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.s3-compatible-object-store +version: 1.0.0 +title: S3-compatible object store +summary: Reusable s3-compatible object store with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: data-workflow +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/s3-compatible-object-store/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/s3-compatible-object-store/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/object_store/source + description: RAES carries the declared minio stable source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.s3-compatible-object-store/1.0.0/module.sdl.yaml b/kits/infrastructure.s3-compatible-object-store/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..35ed1d9 --- /dev/null +++ b/kits/infrastructure.s3-compatible-object-store/1.0.0/module.sdl.yaml @@ -0,0 +1,88 @@ +name: s3-compatible-object-store +version: 1.0.0 +description: Reusable static infrastructure for S3-compatible object store. Configures + bucket_name through the kit parameter contract. +module: + id: infrastructure/s3-compatible-object-store + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - bucket_name + exports: + nodes: + - object_store + content: + - seed_inventory + accounts: + - object_store_operator + description: Composable S3-compatible object store infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: s3-compatible-object-store + bucket_name: + type: string + default: artifacts +nodes: + object_store: + type: vm + description: '${deployment_profile} profile for ${service_label} (S3-compatible + object store). Configuration: ${bucket_name}.' + source: + name: minio + version: stable + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 9000 + protocol: tcp + name: s3 + description: Declared s3 service surface. + - port: 9001 + protocol: tcp + name: console + description: Declared console service surface. +content: + seed_inventory: + type: dataset + target: object_store + description: Benign infrastructure seed inventory for ${bucket_name}. + items: + - name: bucket + display_name: Bucket + tags: + - infrastructure + - seed + description: Declared bucket for this reusable service. + - name: access_policy + display_name: Access Policy + tags: + - infrastructure + - seed + description: Declared access policy for this reusable service. + - name: seed_objects + display_name: Seed Objects + tags: + - infrastructure + - seed + description: Declared seed objects for this reusable service. + - name: lifecycle_profile + display_name: Lifecycle Profile + tags: + - infrastructure + - seed + description: Declared lifecycle profile for this reusable service. +accounts: + object_store_operator: + username: object-operator + node: object_store + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.s3-compatible-object-store/1.0.0/tests/composition.yaml b/kits/infrastructure.s3-compatible-object-store/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..9c10ac0 --- /dev/null +++ b/kits/infrastructure.s3-compatible-object-store/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: s3-compatible-object-store + bucket_name: artifacts +variation: + deployment_profile: compact + service_label: s3-compatible-object-store-alternate + bucket_name: datasets +multi_kit_group: data-workflow diff --git a/kits/infrastructure.samba-active-directory-domain-controller/1.0.0/README.md b/kits/infrastructure.samba-active-directory-domain-controller/1.0.0/README.md new file mode 100644 index 0000000..88ced58 --- /dev/null +++ b/kits/infrastructure.samba-active-directory-domain-controller/1.0.0/README.md @@ -0,0 +1,7 @@ +# Samba Active Directory-compatible domain controller + +Reusable samba active directory-compatible domain controller with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.samba-active-directory-domain-controller/1.0.0/assets/integration.md b/kits/infrastructure.samba-active-directory-domain-controller/1.0.0/assets/integration.md new file mode 100644 index 0000000..6df2385 --- /dev/null +++ b/kits/infrastructure.samba-active-directory-domain-controller/1.0.0/assets/integration.md @@ -0,0 +1,18 @@ +# Samba Active Directory-compatible domain controller integration material + +Author parameter: `domain_name` (default `directory.example.test`). + +## Exported RAES declarations + +- `nodes.domain_controller` +- `accounts.directory_administrator` +- `identity_domains.directory` +- `identity_forests.forest` +- `relationships.directory_controller` +- `content.seed_inventory` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.samba-active-directory-domain-controller/1.0.0/assets/seed.yaml b/kits/infrastructure.samba-active-directory-domain-controller/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..aca2160 --- /dev/null +++ b/kits/infrastructure.samba-active-directory-domain-controller/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.samba-active-directory-domain-controller +configuration: + domain_name: directory.example.test + deployment_profile: standard + service_label: samba-active-directory-domain-controller +declared_objects: +- id: organizational_units + kind: infrastructure-seed + sensitivity: non-secret +- id: directory_groups + kind: infrastructure-seed + sensitivity: non-secret +- id: dns_zone + kind: infrastructure-seed + sensitivity: non-secret +- id: administrator_identity + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.samba-active-directory-domain-controller/1.0.0/associated-artifacts.json b/kits/infrastructure.samba-active-directory-domain-controller/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..71891cd --- /dev/null +++ b/kits/infrastructure.samba-active-directory-domain-controller/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.samba-active-directory-domain-controller-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "samba-active-directory-domain-controller", + "ref_version": null, + "ref_digest": "sha256:59812570d2fd0281fd732a5038fba2b9bea56031bb21aa2121330ffab628987a", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "a9f1b67e7440ad0f73843eb9f4087d05969bb266cef5d8d3e7969077c9073a44" + }, + "size_bytes": 535, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.samba-active-directory-domain-controller@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "72b141159f33701b634be18d04bf2258d23824a0ff3810efe94c51123a06ccd9" + }, + "size_bytes": 671, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.samba-active-directory-domain-controller@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "11dfbb99e4d58a3fcba03abef82be4ef02f05995d96274c2d720bd17d4002313" + }, + "size_bytes": 713, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.samba-active-directory-domain-controller@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "58760d26e771dfdf7c20c81496a356f731d116034c0774ecb7ff0fb19bb22d26" + }, + "size_bytes": 1795, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.samba-active-directory-domain-controller@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "296e3fec88829c4736fec3ce09b8229b644e0eb020feb6dd43197808a23b192a" + }, + "size_bytes": 3264, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.samba-active-directory-domain-controller@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "eb59ecb1786ec953661c73d688cf8c3783655484b336f4e0d9c93ab6a6550302" + }, + "size_bytes": 313, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.samba-active-directory-domain-controller@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:155e448158ee1bc1267365b7073531cdf6be4cd2f7d3247cd1e9ac695cad868f" +} diff --git a/kits/infrastructure.samba-active-directory-domain-controller/1.0.0/kit.yaml b/kits/infrastructure.samba-active-directory-domain-controller/1.0.0/kit.yaml new file mode 100644 index 0000000..3484a01 --- /dev/null +++ b/kits/infrastructure.samba-active-directory-domain-controller/1.0.0/kit.yaml @@ -0,0 +1,50 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.samba-active-directory-domain-controller +version: 1.0.0 +title: Samba Active Directory-compatible domain controller +summary: Reusable samba active directory-compatible domain controller with domain-specific + configuration, declared service surfaces, seeded objects, and pack-local integration + material. +concern: identity-domain +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/samba-active-directory-domain-controller/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/samba-active-directory-domain-controller/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/domain_controller/source + description: RAES carries the declared samba 4 source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.samba-active-directory-domain-controller/1.0.0/module.sdl.yaml b/kits/infrastructure.samba-active-directory-domain-controller/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..ee7b3ec --- /dev/null +++ b/kits/infrastructure.samba-active-directory-domain-controller/1.0.0/module.sdl.yaml @@ -0,0 +1,120 @@ +name: samba-active-directory-domain-controller +version: 1.0.0 +description: Reusable static infrastructure for Samba Active Directory-compatible + domain controller. Configures domain_name through the kit parameter contract. +module: + id: infrastructure/samba-active-directory-domain-controller + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - domain_name + exports: + nodes: + - domain_controller + accounts: + - directory_administrator + identity_domains: + - directory + identity_forests: + - forest + relationships: + - directory_controller + content: + - seed_inventory + description: Composable Samba Active Directory-compatible domain controller infrastructure + module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: samba-active-directory-domain-controller + domain_name: + type: string + default: directory.example.test +nodes: + domain_controller: + type: vm + description: '${deployment_profile} profile for ${service_label} (Samba Active + Directory-compatible domain controller). Configuration: ${domain_name}.' + source: + name: samba + version: '4' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 53 + protocol: tcp + name: dns + description: Declared dns service surface. + - port: 88 + protocol: tcp + name: kerberos + description: Declared kerberos service surface. + - port: 389 + protocol: tcp + name: ldap + description: Declared ldap service surface. + - port: 445 + protocol: tcp + name: smb + description: Declared smb service surface. +accounts: + directory_administrator: + username: administrator + node: domain_controller + domain_ref: directory + description: Declared directory authority account; credential delivery is backend-owned. +identity_domains: + directory: + profile: active_directory + dns_name: ${domain_name} + netbios_name: DIRECTORY + authority_account_ref: directory_administrator +identity_forests: + forest: + root_domain_ref: directory + domain_refs: + - directory +relationships: + directory_controller: + type: domain_controller_for + source: domain_controller + target: directory + domain_controller: {} +content: + seed_inventory: + type: dataset + target: domain_controller + description: Benign infrastructure seed inventory for ${domain_name}. + items: + - name: organizational_units + display_name: Organizational Units + tags: + - infrastructure + - seed + description: Declared organizational units for this reusable service. + - name: directory_groups + display_name: Directory Groups + tags: + - infrastructure + - seed + description: Declared directory groups for this reusable service. + - name: dns_zone + display_name: Dns Zone + tags: + - infrastructure + - seed + description: Declared dns zone for this reusable service. + - name: administrator_identity + display_name: Administrator Identity + tags: + - infrastructure + - seed + description: Declared administrator identity for this reusable service. diff --git a/kits/infrastructure.samba-active-directory-domain-controller/1.0.0/tests/composition.yaml b/kits/infrastructure.samba-active-directory-domain-controller/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..70c29b9 --- /dev/null +++ b/kits/infrastructure.samba-active-directory-domain-controller/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: samba-active-directory-domain-controller + domain_name: directory.example.test +variation: + deployment_profile: compact + service_label: samba-active-directory-domain-controller-alternate + domain_name: branch.example.test +multi_kit_group: identity-domain diff --git a/kits/infrastructure.search-index-service/1.0.0/README.md b/kits/infrastructure.search-index-service/1.0.0/README.md new file mode 100644 index 0000000..a4c501b --- /dev/null +++ b/kits/infrastructure.search-index-service/1.0.0/README.md @@ -0,0 +1,7 @@ +# Search/index service + +Reusable search/index service with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.search-index-service/1.0.0/assets/integration.md b/kits/infrastructure.search-index-service/1.0.0/assets/integration.md new file mode 100644 index 0000000..c4ac941 --- /dev/null +++ b/kits/infrastructure.search-index-service/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# Search/index service integration material + +Author parameter: `index_name` (default `documents`). + +## Exported RAES declarations + +- `nodes.search` +- `content.seed_inventory` +- `accounts.search_operator` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.search-index-service/1.0.0/assets/seed.yaml b/kits/infrastructure.search-index-service/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..de0492e --- /dev/null +++ b/kits/infrastructure.search-index-service/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.search-index-service +configuration: + index_name: documents + deployment_profile: standard + service_label: search-index-service +declared_objects: +- id: index + kind: infrastructure-seed + sensitivity: non-secret +- id: field_mapping + kind: infrastructure-seed + sensitivity: non-secret +- id: index_template + kind: infrastructure-seed + sensitivity: non-secret +- id: seed_documents + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.search-index-service/1.0.0/associated-artifacts.json b/kits/infrastructure.search-index-service/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..0447a63 --- /dev/null +++ b/kits/infrastructure.search-index-service/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.search-index-service-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "search-index-service", + "ref_version": null, + "ref_digest": "sha256:cc641001e48afd686a6947d0084073ae23ffd071cb85198e80e5034407e6fd00", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "2b9943ca18acf45262193ad7c122ca3716746963dace4cecc5fc8a70d036d537" + }, + "size_bytes": 473, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.search-index-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "143e973e5d10a5e64c56cedde18a7a9ce55f126f787d8e69f9cc86a1bf7609c7" + }, + "size_bytes": 509, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.search-index-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "f5b56731202b21881a76ceb0fd377b584e4c2777aaadbf37baa8754524a123f5" + }, + "size_bytes": 639, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.search-index-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "f1c5044b86737a29d19e3722309066928e736168356aff2f03ccb1111452daab" + }, + "size_bytes": 1663, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.search-index-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "b681f243a2c096266bcf2ffdc0cbc1514804923c6ebe467d51648f19d99c4966" + }, + "size_bytes": 2670, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.search-index-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "cade0aba2d8e93cd2d3d763ddb0ef48cfd0e20579069c9441a21a3d9897d996f" + }, + "size_bytes": 244, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.search-index-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:7ddc3b03bc723aa297a9cae6a36875d8700ea0672e02b1f0f4d147716f35d16f" +} diff --git a/kits/infrastructure.search-index-service/1.0.0/kit.yaml b/kits/infrastructure.search-index-service/1.0.0/kit.yaml new file mode 100644 index 0000000..530bb2f --- /dev/null +++ b/kits/infrastructure.search-index-service/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.search-index-service +version: 1.0.0 +title: Search/index service +summary: Reusable search/index service with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: data-workflow +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/search-index-service/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/search-index-service/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/search/source + description: RAES carries the declared opensearch 2 source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.search-index-service/1.0.0/module.sdl.yaml b/kits/infrastructure.search-index-service/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..36fcc38 --- /dev/null +++ b/kits/infrastructure.search-index-service/1.0.0/module.sdl.yaml @@ -0,0 +1,105 @@ +name: search-index-service +version: 1.0.0 +description: Reusable static infrastructure for Search/index service. Configures index_name + through the kit parameter contract. +module: + id: infrastructure/search-index-service + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - index_name + exports: + nodes: + - search + content: + - seed_inventory + accounts: + - search_operator + description: Composable Search/index service infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: search-index-service + index_name: + type: string + default: documents +nodes: + search: + type: vm + description: '${deployment_profile} profile for ${service_label} (Search/index + service). Configuration: ${index_name}.' + source: + name: opensearch + version: '2' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 9200 + protocol: tcp + name: http + description: Declared http service surface. + runtime: + applications: + - application_id: search_surface + service: http + protocol: http + name: Search surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. +content: + seed_inventory: + type: dataset + target: search + description: Benign infrastructure seed inventory for ${index_name}. + items: + - name: index + display_name: Index + tags: + - infrastructure + - seed + description: Declared index for this reusable service. + - name: field_mapping + display_name: Field Mapping + tags: + - infrastructure + - seed + description: Declared field mapping for this reusable service. + - name: index_template + display_name: Index Template + tags: + - infrastructure + - seed + description: Declared index template for this reusable service. + - name: seed_documents + display_name: Seed Documents + tags: + - infrastructure + - seed + description: Declared seed documents for this reusable service. +accounts: + search_operator: + username: search-operator + node: search + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.search-index-service/1.0.0/tests/composition.yaml b/kits/infrastructure.search-index-service/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..d6a726c --- /dev/null +++ b/kits/infrastructure.search-index-service/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: search-index-service + index_name: documents +variation: + deployment_profile: compact + service_label: search-index-service-alternate + index_name: records +multi_kit_group: data-workflow diff --git a/kits/infrastructure.shuffle-automation-service/1.0.0/README.md b/kits/infrastructure.shuffle-automation-service/1.0.0/README.md new file mode 100644 index 0000000..cd14448 --- /dev/null +++ b/kits/infrastructure.shuffle-automation-service/1.0.0/README.md @@ -0,0 +1,7 @@ +# Shuffle automation service + +Reusable shuffle automation service with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.shuffle-automation-service/1.0.0/assets/integration.md b/kits/infrastructure.shuffle-automation-service/1.0.0/assets/integration.md new file mode 100644 index 0000000..5956c4d --- /dev/null +++ b/kits/infrastructure.shuffle-automation-service/1.0.0/assets/integration.md @@ -0,0 +1,16 @@ +# Shuffle automation service integration material + +Author parameter: `tenant_name` (default `operations`). + +## Exported RAES declarations + +- `nodes.automation` +- `nodes.storage` +- `content.seed_inventory` +- `accounts.automation_operator` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.shuffle-automation-service/1.0.0/assets/seed.yaml b/kits/infrastructure.shuffle-automation-service/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..79edda9 --- /dev/null +++ b/kits/infrastructure.shuffle-automation-service/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.shuffle-automation-service +configuration: + tenant_name: operations + deployment_profile: standard + service_label: shuffle-automation-service +declared_objects: +- id: tenant + kind: infrastructure-seed + sensitivity: non-secret +- id: users + kind: infrastructure-seed + sensitivity: non-secret +- id: application_integrations + kind: infrastructure-seed + sensitivity: non-secret +- id: storage_profile + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.shuffle-automation-service/1.0.0/associated-artifacts.json b/kits/infrastructure.shuffle-automation-service/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..7351727 --- /dev/null +++ b/kits/infrastructure.shuffle-automation-service/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.shuffle-automation-service-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "shuffle-automation-service", + "ref_version": null, + "ref_digest": "sha256:f66b99bb73e919e3e007cd4f6d42993ac2452b5e2db70a880dbbe2750f536c0d", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "49b2fe1011e95f00fa4de1aa44ee6ee7ccfe3f0c5db61a64a6a0950bedd9dfeb" + }, + "size_bytes": 485, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.shuffle-automation-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "01e097325d98611b6b3c6adb58e7ce86f3de64be653482ccd55092d810cd031d" + }, + "size_bytes": 543, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.shuffle-automation-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "49636af3cb2d58cbfefd308068ee7ac721ed2bdbfd279f0e1d6f7ac04b34a782" + }, + "size_bytes": 657, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.shuffle-automation-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "1d6c31d51d12b3d153a1fb552ff54226c3755c5e59e46c909f6233d2e7de18c1" + }, + "size_bytes": 1912, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.shuffle-automation-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "7aed574d1dbed4ebbb49baf0d9ac707846d5fa00e259f16399debc3b9eb03738" + }, + "size_bytes": 3650, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.shuffle-automation-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "322c73a87b55e54ee6ba3df8a4dc5f9f530dd5f0e8ec5ae9f60ba79bff748329" + }, + "size_bytes": 266, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.shuffle-automation-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:5b584e077ee0639be2bfb9628fb6652425ab65697802b60015fc0b878853e41b" +} diff --git a/kits/infrastructure.shuffle-automation-service/1.0.0/kit.yaml b/kits/infrastructure.shuffle-automation-service/1.0.0/kit.yaml new file mode 100644 index 0000000..df8b24e --- /dev/null +++ b/kits/infrastructure.shuffle-automation-service/1.0.0/kit.yaml @@ -0,0 +1,54 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.shuffle-automation-service +version: 1.0.0 +title: Shuffle automation service +summary: Reusable shuffle automation service with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: security-operations +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/shuffle-automation-service/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/shuffle-automation-service/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 4 + memory_mib: 4096 + storage_mib: 8192 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/automation/source + description: RAES carries the declared shuffle 2 source; immutable artifact selection + remains unresolved until pack publication. +- scope: unresolved + authority: raes-source + ref: /nodes/storage/source + description: RAES carries the declared opensearch 2 source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.shuffle-automation-service/1.0.0/module.sdl.yaml b/kits/infrastructure.shuffle-automation-service/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..637a098 --- /dev/null +++ b/kits/infrastructure.shuffle-automation-service/1.0.0/module.sdl.yaml @@ -0,0 +1,142 @@ +name: shuffle-automation-service +version: 1.0.0 +description: Reusable static infrastructure for Shuffle automation service. Configures + tenant_name through the kit parameter contract. +module: + id: infrastructure/shuffle-automation-service + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - tenant_name + exports: + nodes: + - automation + - storage + content: + - seed_inventory + accounts: + - automation_operator + description: Composable Shuffle automation service infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: shuffle-automation-service + tenant_name: + type: string + default: operations +nodes: + automation: + type: vm + description: '${deployment_profile} profile for ${service_label} (Shuffle automation + service). Configuration: ${tenant_name}.' + source: + name: shuffle + version: '2' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 3001 + protocol: tcp + name: http + description: Declared http service surface. + runtime: + applications: + - application_id: automation_surface + service: http + protocol: http + name: Automation surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. + storage: + type: vm + description: ${deployment_profile} profile for ${service_label} (Shuffle automation + service). + source: + name: opensearch + version: '2' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 9200 + protocol: tcp + name: http + description: Declared http service surface. + runtime: + applications: + - application_id: storage_surface + service: http + protocol: http + name: Storage surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. +content: + seed_inventory: + type: dataset + target: automation + description: Benign infrastructure seed inventory for ${tenant_name}. + items: + - name: tenant + display_name: Tenant + tags: + - infrastructure + - seed + description: Declared tenant for this reusable service. + - name: users + display_name: Users + tags: + - infrastructure + - seed + description: Declared users for this reusable service. + - name: application_integrations + display_name: Application Integrations + tags: + - infrastructure + - seed + description: Declared application integrations for this reusable service. + - name: storage_profile + display_name: Storage Profile + tags: + - infrastructure + - seed + description: Declared storage profile for this reusable service. +accounts: + automation_operator: + username: automation-operator + node: automation + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.shuffle-automation-service/1.0.0/tests/composition.yaml b/kits/infrastructure.shuffle-automation-service/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..f69f0a7 --- /dev/null +++ b/kits/infrastructure.shuffle-automation-service/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: shuffle-automation-service + tenant_name: operations +variation: + deployment_profile: compact + service_label: shuffle-automation-service-alternate + tenant_name: research +multi_kit_group: security-operations diff --git a/kits/infrastructure.smb-file-service/1.0.0/README.md b/kits/infrastructure.smb-file-service/1.0.0/README.md new file mode 100644 index 0000000..6c119c9 --- /dev/null +++ b/kits/infrastructure.smb-file-service/1.0.0/README.md @@ -0,0 +1,7 @@ +# SMB file service + +Reusable smb file service with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.smb-file-service/1.0.0/assets/integration.md b/kits/infrastructure.smb-file-service/1.0.0/assets/integration.md new file mode 100644 index 0000000..808f673 --- /dev/null +++ b/kits/infrastructure.smb-file-service/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# SMB file service integration material + +Author parameter: `share_name` (default `shared`). + +## Exported RAES declarations + +- `nodes.file_service` +- `content.seed_inventory` +- `accounts.file_operator` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.smb-file-service/1.0.0/assets/seed.yaml b/kits/infrastructure.smb-file-service/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..366ac2d --- /dev/null +++ b/kits/infrastructure.smb-file-service/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.smb-file-service +configuration: + share_name: shared + deployment_profile: standard + service_label: smb-file-service +declared_objects: +- id: share + kind: infrastructure-seed + sensitivity: non-secret +- id: directory_tree + kind: infrastructure-seed + sensitivity: non-secret +- id: seed_files + kind: infrastructure-seed + sensitivity: non-secret +- id: access_groups + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.smb-file-service/1.0.0/associated-artifacts.json b/kits/infrastructure.smb-file-service/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..43e782b --- /dev/null +++ b/kits/infrastructure.smb-file-service/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.smb-file-service-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "smb-file-service", + "ref_version": null, + "ref_digest": "sha256:e543e2d02bf01ce501be5659f2c4339f455e924b90d3afa6318bf4191e3ea9a2", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "82e037da7221d91c9c42ba2cf876ed07f9987a834923228c57c21b706d748939" + }, + "size_bytes": 465, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.smb-file-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "5ef0079c70c8116caffda3625911f9081655ec18539300844bd301bd163e59e9" + }, + "size_bytes": 506, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.smb-file-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "0f5a2c24ab7eb1d69da8f4cdc03ed36b2d858cc7addf1f8648011cc945f55d0a" + }, + "size_bytes": 624, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.smb-file-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "6401fd25b374218ad077cf613425852eb3f853f2db9f4b38a00e4cf60f58b092" + }, + "size_bytes": 1645, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.smb-file-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "00af7a72d126dc052c33006f6d8c58bf6cec2cf208ef29769cfb970dc8f42cc2" + }, + "size_bytes": 2109, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.smb-file-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "f27957304ecd597c41e3e9f8f7b026baf9c603a3025c0eddf07fdc922553be0d" + }, + "size_bytes": 235, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.smb-file-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:4059f960a3910a38b6fb9d9723c9e6f1e9ee9a94899aa248cee8c5989adb1bd6" +} diff --git a/kits/infrastructure.smb-file-service/1.0.0/kit.yaml b/kits/infrastructure.smb-file-service/1.0.0/kit.yaml new file mode 100644 index 0000000..4148177 --- /dev/null +++ b/kits/infrastructure.smb-file-service/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.smb-file-service +version: 1.0.0 +title: SMB file service +summary: Reusable smb file service with domain-specific configuration, declared service + surfaces, seeded objects, and pack-local integration material. +concern: network-shared +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/smb-file-service/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/smb-file-service/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/file_service/source + description: RAES carries the declared samba 4 source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.smb-file-service/1.0.0/module.sdl.yaml b/kits/infrastructure.smb-file-service/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..6a140d3 --- /dev/null +++ b/kits/infrastructure.smb-file-service/1.0.0/module.sdl.yaml @@ -0,0 +1,84 @@ +name: smb-file-service +version: 1.0.0 +description: Reusable static infrastructure for SMB file service. Configures share_name + through the kit parameter contract. +module: + id: infrastructure/smb-file-service + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - share_name + exports: + nodes: + - file_service + content: + - seed_inventory + accounts: + - file_operator + description: Composable SMB file service infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: smb-file-service + share_name: + type: string + default: shared +nodes: + file_service: + type: vm + description: '${deployment_profile} profile for ${service_label} (SMB file service). + Configuration: ${share_name}.' + source: + name: samba + version: '4' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 445 + protocol: tcp + name: smb + description: Declared smb service surface. +content: + seed_inventory: + type: dataset + target: file_service + description: Benign infrastructure seed inventory for ${share_name}. + items: + - name: share + display_name: Share + tags: + - infrastructure + - seed + description: Declared share for this reusable service. + - name: directory_tree + display_name: Directory Tree + tags: + - infrastructure + - seed + description: Declared directory tree for this reusable service. + - name: seed_files + display_name: Seed Files + tags: + - infrastructure + - seed + description: Declared seed files for this reusable service. + - name: access_groups + display_name: Access Groups + tags: + - infrastructure + - seed + description: Declared access groups for this reusable service. +accounts: + file_operator: + username: file-operator + node: file_service + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.smb-file-service/1.0.0/tests/composition.yaml b/kits/infrastructure.smb-file-service/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..102a12e --- /dev/null +++ b/kits/infrastructure.smb-file-service/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: smb-file-service + share_name: shared +variation: + deployment_profile: compact + service_label: smb-file-service-alternate + share_name: projects +multi_kit_group: network-shared diff --git a/kits/infrastructure.smtp-imap-mail-service/1.0.0/README.md b/kits/infrastructure.smtp-imap-mail-service/1.0.0/README.md new file mode 100644 index 0000000..e88e6de --- /dev/null +++ b/kits/infrastructure.smtp-imap-mail-service/1.0.0/README.md @@ -0,0 +1,7 @@ +# SMTP/IMAP mail service + +Reusable smtp/imap mail service with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.smtp-imap-mail-service/1.0.0/assets/integration.md b/kits/infrastructure.smtp-imap-mail-service/1.0.0/assets/integration.md new file mode 100644 index 0000000..cefd1f1 --- /dev/null +++ b/kits/infrastructure.smtp-imap-mail-service/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# SMTP/IMAP mail service integration material + +Author parameter: `mail_domain` (default `environment.test`). + +## Exported RAES declarations + +- `nodes.mail` +- `content.seed_inventory` +- `accounts.mail_operator` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.smtp-imap-mail-service/1.0.0/assets/seed.yaml b/kits/infrastructure.smtp-imap-mail-service/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..9cebeae --- /dev/null +++ b/kits/infrastructure.smtp-imap-mail-service/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.smtp-imap-mail-service +configuration: + mail_domain: environment.test + deployment_profile: standard + service_label: smtp-imap-mail-service +declared_objects: +- id: mail_domain + kind: infrastructure-seed + sensitivity: non-secret +- id: mailboxes + kind: infrastructure-seed + sensitivity: non-secret +- id: aliases + kind: infrastructure-seed + sensitivity: non-secret +- id: seed_messages + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.smtp-imap-mail-service/1.0.0/associated-artifacts.json b/kits/infrastructure.smtp-imap-mail-service/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..7748bc4 --- /dev/null +++ b/kits/infrastructure.smtp-imap-mail-service/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.smtp-imap-mail-service-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "smtp-imap-mail-service", + "ref_version": null, + "ref_digest": "sha256:4093cb8d6655376a9069cede691d20889826f4a8405379c04a1d568d85202120", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "d5ca58ea7130283318c6a3b7685dc711ebf805b0e3433b9d37feba90ee513c38" + }, + "size_bytes": 477, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.smtp-imap-mail-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "5370704a583607c25e92e340af96d060a8613df9bb2422e09cfce0c9694c237f" + }, + "size_bytes": 515, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.smtp-imap-mail-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "373971e0ebc64634f4b5c61f6303e7d2d9db6e42c38a59d1342355ac996b0da0" + }, + "size_bytes": 645, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.smtp-imap-mail-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "32f903b95de617a3f694d83b9c40fa7c16043377ef6af02933a3044efdc70433" + }, + "size_bytes": 1678, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.smtp-imap-mail-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "b5364d6d118748bb9bd76d3c89b83afb6b96f214549c27d7ceea6b248c5ac17e" + }, + "size_bytes": 2977, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.smtp-imap-mail-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "d70f4fd395197c38a5b9ffdf68b71a6f9feca59059ed073e3c3fc1409b82d5f6" + }, + "size_bytes": 265, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.smtp-imap-mail-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:0af9ece1b489dcece4bedf0677b52e6b776da3b39eec68447d64f6e62b4e1547" +} diff --git a/kits/infrastructure.smtp-imap-mail-service/1.0.0/kit.yaml b/kits/infrastructure.smtp-imap-mail-service/1.0.0/kit.yaml new file mode 100644 index 0000000..3ca4b31 --- /dev/null +++ b/kits/infrastructure.smtp-imap-mail-service/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.smtp-imap-mail-service +version: 1.0.0 +title: SMTP/IMAP mail service +summary: Reusable smtp/imap mail service with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: network-shared +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/smtp-imap-mail-service/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/smtp-imap-mail-service/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/mail/source + description: RAES carries the declared mail-server stable source; immutable artifact + selection remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.smtp-imap-mail-service/1.0.0/module.sdl.yaml b/kits/infrastructure.smtp-imap-mail-service/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..d0a2041 --- /dev/null +++ b/kits/infrastructure.smtp-imap-mail-service/1.0.0/module.sdl.yaml @@ -0,0 +1,112 @@ +name: smtp-imap-mail-service +version: 1.0.0 +description: Reusable static infrastructure for SMTP/IMAP mail service. Configures + mail_domain through the kit parameter contract. +module: + id: infrastructure/smtp-imap-mail-service + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - mail_domain + exports: + nodes: + - mail + content: + - seed_inventory + accounts: + - mail_operator + description: Composable SMTP/IMAP mail service infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: smtp-imap-mail-service + mail_domain: + type: string + default: environment.test +nodes: + mail: + type: vm + description: '${deployment_profile} profile for ${service_label} (SMTP/IMAP mail + service). Configuration: ${mail_domain}.' + source: + name: mail-server + version: stable + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 25 + protocol: tcp + name: smtp + description: Declared smtp service surface. + - port: 143 + protocol: tcp + name: imap + description: Declared imap service surface. + runtime: + mail_services: + - mail_service_id: environment_mail + service: smtp + engine: postfix-dovecot + listeners: + - listener_id: smtp_listener + service: smtp + protocol: smtp + tls_mode: starttls-available + - listener_id: imap_listener + service: imap + protocol: imap + tls_mode: starttls-available + domains: + - domain_id: primary_domain + name: ${mail_domain} + mailboxes: + - mailbox_id: operator_mailbox + address: operator@environment.test + domain_ref: primary_domain + - mailbox_id: service_mailbox + address: service@environment.test + domain_ref: primary_domain +content: + seed_inventory: + type: dataset + target: mail + description: Benign infrastructure seed inventory for ${mail_domain}. + items: + - name: mail_domain + display_name: Mail Domain + tags: + - infrastructure + - seed + description: Declared mail domain for this reusable service. + - name: mailboxes + display_name: Mailboxes + tags: + - infrastructure + - seed + description: Declared mailboxes for this reusable service. + - name: aliases + display_name: Aliases + tags: + - infrastructure + - seed + description: Declared aliases for this reusable service. + - name: seed_messages + display_name: Seed Messages + tags: + - infrastructure + - seed + description: Declared seed messages for this reusable service. +accounts: + mail_operator: + username: mail-operator + node: mail + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.smtp-imap-mail-service/1.0.0/tests/composition.yaml b/kits/infrastructure.smtp-imap-mail-service/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..305a51d --- /dev/null +++ b/kits/infrastructure.smtp-imap-mail-service/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: smtp-imap-mail-service + mail_domain: environment.test +variation: + deployment_profile: compact + service_label: smtp-imap-mail-service-alternate + mail_domain: alternate.test +multi_kit_group: network-shared diff --git a/kits/infrastructure.ssh-accessible-linux-host/1.0.0/README.md b/kits/infrastructure.ssh-accessible-linux-host/1.0.0/README.md new file mode 100644 index 0000000..4191a96 --- /dev/null +++ b/kits/infrastructure.ssh-accessible-linux-host/1.0.0/README.md @@ -0,0 +1,7 @@ +# SSH-accessible Linux host + +Reusable ssh-accessible linux host with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.ssh-accessible-linux-host/1.0.0/assets/integration.md b/kits/infrastructure.ssh-accessible-linux-host/1.0.0/assets/integration.md new file mode 100644 index 0000000..e6eaf6f --- /dev/null +++ b/kits/infrastructure.ssh-accessible-linux-host/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# SSH-accessible Linux host integration material + +Author parameter: `login_name` (default `analyst`). + +## Exported RAES declarations + +- `nodes.endpoint` +- `content.seed_inventory` +- `accounts.endpoint_user` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.ssh-accessible-linux-host/1.0.0/assets/seed.yaml b/kits/infrastructure.ssh-accessible-linux-host/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..385db35 --- /dev/null +++ b/kits/infrastructure.ssh-accessible-linux-host/1.0.0/assets/seed.yaml @@ -0,0 +1,19 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.ssh-accessible-linux-host +configuration: + login_name: analyst + deployment_profile: standard + service_label: ssh-accessible-linux-host +declared_objects: +- id: login_account + kind: infrastructure-seed + sensitivity: non-secret +- id: authorized_access + kind: infrastructure-seed + sensitivity: non-secret +- id: shell_profile + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.ssh-accessible-linux-host/1.0.0/associated-artifacts.json b/kits/infrastructure.ssh-accessible-linux-host/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..85c586e --- /dev/null +++ b/kits/infrastructure.ssh-accessible-linux-host/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.ssh-accessible-linux-host-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "ssh-accessible-linux-host", + "ref_version": null, + "ref_digest": "sha256:dbcfca1151202f5738b287173ee463139b4be13751a15454754ff1ede8bb1dec", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "d3526279cc55690a288c367873b7ce9ed95f53c242246a03d1548d396b87a920" + }, + "size_bytes": 483, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.ssh-accessible-linux-host@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "95f487a04091551e63bcc0196d36146ec3fd55d7c62d9a015786be6a8b9fa113" + }, + "size_bytes": 512, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.ssh-accessible-linux-host@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "8158a5266251f45d346373829a7e493c35c7bcfa006f69edc6970dbef7276065" + }, + "size_bytes": 583, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.ssh-accessible-linux-host@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "6792b323290aa85dc1e760387018faf7c494c3bb6fad30211d485647e64dbaee" + }, + "size_bytes": 1695, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.ssh-accessible-linux-host@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "f90eacd44af253f85629a1953dae297624f4d777cc94cd92248589fbf915fae9" + }, + "size_bytes": 2015, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.ssh-accessible-linux-host@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "cf51acfd95839c2ee3d622750dd153fec24f591ebd5cb78e71eda3683feaec9f" + }, + "size_bytes": 258, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.ssh-accessible-linux-host@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:5065784e615d433470efb1540b80366251c026d28f6effad1beec2255c405da1" +} diff --git a/kits/infrastructure.ssh-accessible-linux-host/1.0.0/kit.yaml b/kits/infrastructure.ssh-accessible-linux-host/1.0.0/kit.yaml new file mode 100644 index 0000000..9da5207 --- /dev/null +++ b/kits/infrastructure.ssh-accessible-linux-host/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.ssh-accessible-linux-host +version: 1.0.0 +title: SSH-accessible Linux host +summary: Reusable ssh-accessible linux host with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: access-workstation +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/ssh-accessible-linux-host/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/ssh-accessible-linux-host/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/endpoint/source + description: RAES carries the declared linux stable source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.ssh-accessible-linux-host/1.0.0/module.sdl.yaml b/kits/infrastructure.ssh-accessible-linux-host/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..87c4f6d --- /dev/null +++ b/kits/infrastructure.ssh-accessible-linux-host/1.0.0/module.sdl.yaml @@ -0,0 +1,78 @@ +name: ssh-accessible-linux-host +version: 1.0.0 +description: Reusable static infrastructure for SSH-accessible Linux host. Configures + login_name through the kit parameter contract. +module: + id: infrastructure/ssh-accessible-linux-host + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - login_name + exports: + nodes: + - endpoint + content: + - seed_inventory + accounts: + - endpoint_user + description: Composable SSH-accessible Linux host infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: ssh-accessible-linux-host + login_name: + type: string + default: analyst +nodes: + endpoint: + type: vm + description: '${deployment_profile} profile for ${service_label} (SSH-accessible + Linux host). Configuration: ${login_name}.' + source: + name: linux + version: stable + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 22 + protocol: tcp + name: ssh + description: Declared ssh service surface. +content: + seed_inventory: + type: dataset + target: endpoint + description: Benign infrastructure seed inventory for ${login_name}. + items: + - name: login_account + display_name: Login Account + tags: + - infrastructure + - seed + description: Declared login account for this reusable service. + - name: authorized_access + display_name: Authorized Access + tags: + - infrastructure + - seed + description: Declared authorized access for this reusable service. + - name: shell_profile + display_name: Shell Profile + tags: + - infrastructure + - seed + description: Declared shell profile for this reusable service. +accounts: + endpoint_user: + username: ${login_name} + node: endpoint + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.ssh-accessible-linux-host/1.0.0/tests/composition.yaml b/kits/infrastructure.ssh-accessible-linux-host/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..3424f18 --- /dev/null +++ b/kits/infrastructure.ssh-accessible-linux-host/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: ssh-accessible-linux-host + login_name: analyst +variation: + deployment_profile: compact + service_label: ssh-accessible-linux-host-alternate + login_name: operator +multi_kit_group: access-workstation diff --git a/kits/infrastructure.static-web-service/1.0.0/README.md b/kits/infrastructure.static-web-service/1.0.0/README.md new file mode 100644 index 0000000..c8d7ecc --- /dev/null +++ b/kits/infrastructure.static-web-service/1.0.0/README.md @@ -0,0 +1,7 @@ +# Static web service + +Reusable static web service with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.static-web-service/1.0.0/assets/integration.md b/kits/infrastructure.static-web-service/1.0.0/assets/integration.md new file mode 100644 index 0000000..35ac487 --- /dev/null +++ b/kits/infrastructure.static-web-service/1.0.0/assets/integration.md @@ -0,0 +1,14 @@ +# Static web service integration material + +Author parameter: `site_name` (default `reference`). + +## Exported RAES declarations + +- `nodes.web` +- `content.seed_inventory` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.static-web-service/1.0.0/assets/seed.yaml b/kits/infrastructure.static-web-service/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..c329e9f --- /dev/null +++ b/kits/infrastructure.static-web-service/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.static-web-service +configuration: + site_name: reference + deployment_profile: standard + service_label: static-web-service +declared_objects: +- id: index_page + kind: infrastructure-seed + sensitivity: non-secret +- id: static_assets + kind: infrastructure-seed + sensitivity: non-secret +- id: tls_profile + kind: infrastructure-seed + sensitivity: non-secret +- id: health_route + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.static-web-service/1.0.0/associated-artifacts.json b/kits/infrastructure.static-web-service/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..3ea404e --- /dev/null +++ b/kits/infrastructure.static-web-service/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.static-web-service-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "static-web-service", + "ref_version": null, + "ref_digest": "sha256:3494b30077cfa164a52ddbbf102ad710e1726ae7eee458e15698fd282ca1e0a4", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "0d02a24913e2e2bb4eaa624d6129d46d168f73506245260832ea1c51a4feb418" + }, + "size_bytes": 469, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.static-web-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "204da4ee6fecbdb18768a60eb89634d7f2aa35e528c3d53a1f541046733de4f9" + }, + "size_bytes": 474, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.static-web-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "b58815a5ea3c4cc9c3d84c363bb389bb55e1fad60a081a57445159424712c376" + }, + "size_bytes": 634, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.static-web-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "4be667c439b8ea5cb84590233dfc276b123e161a80585e6322896857f38e1383" + }, + "size_bytes": 1651, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.static-web-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "8ee827347c48d479787b8d30f01053e279c1a3d357b159ca8c01f60bb6197cf5" + }, + "size_bytes": 2507, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.static-web-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "9fa7043e2c967c0b735c5c3cc08394c1175e413c75471b2ffc3074a51972615e" + }, + "size_bytes": 241, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.static-web-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:949142c915b07b3a5cd26c07c2ec605d3a924cee05d2e5344fcb89df767353fa" +} diff --git a/kits/infrastructure.static-web-service/1.0.0/kit.yaml b/kits/infrastructure.static-web-service/1.0.0/kit.yaml new file mode 100644 index 0000000..5ccebdc --- /dev/null +++ b/kits/infrastructure.static-web-service/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.static-web-service +version: 1.0.0 +title: Static web service +summary: Reusable static web service with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: network-shared +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/static-web-service/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/static-web-service/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/web/source + description: RAES carries the declared nginx stable source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.static-web-service/1.0.0/module.sdl.yaml b/kits/infrastructure.static-web-service/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..c5f15bd --- /dev/null +++ b/kits/infrastructure.static-web-service/1.0.0/module.sdl.yaml @@ -0,0 +1,101 @@ +name: static-web-service +version: 1.0.0 +description: Reusable static infrastructure for Static web service. Configures site_name + through the kit parameter contract. +module: + id: infrastructure/static-web-service + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - site_name + exports: + nodes: + - web + content: + - seed_inventory + description: Composable Static web service infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: static-web-service + site_name: + type: string + default: reference +nodes: + web: + type: vm + description: '${deployment_profile} profile for ${service_label} (Static web service). + Configuration: ${site_name}.' + source: + name: nginx + version: stable + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 80 + protocol: tcp + name: http + description: Declared http service surface. + - port: 443 + protocol: tcp + name: https + description: Declared https service surface. + runtime: + applications: + - application_id: web_surface + service: http + protocol: http + name: Web surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. +content: + seed_inventory: + type: dataset + target: web + description: Benign infrastructure seed inventory for ${site_name}. + items: + - name: index_page + display_name: Index Page + tags: + - infrastructure + - seed + description: Declared index page for this reusable service. + - name: static_assets + display_name: Static Assets + tags: + - infrastructure + - seed + description: Declared static assets for this reusable service. + - name: tls_profile + display_name: Tls Profile + tags: + - infrastructure + - seed + description: Declared tls profile for this reusable service. + - name: health_route + display_name: Health Route + tags: + - infrastructure + - seed + description: Declared health route for this reusable service. diff --git a/kits/infrastructure.static-web-service/1.0.0/tests/composition.yaml b/kits/infrastructure.static-web-service/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..a11d2a2 --- /dev/null +++ b/kits/infrastructure.static-web-service/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: static-web-service + site_name: reference +variation: + deployment_profile: compact + service_label: static-web-service-alternate + site_name: alternate +multi_kit_group: network-shared diff --git a/kits/infrastructure.suricata-network-intrusion-detection-sensor/1.0.0/README.md b/kits/infrastructure.suricata-network-intrusion-detection-sensor/1.0.0/README.md new file mode 100644 index 0000000..6b677bc --- /dev/null +++ b/kits/infrastructure.suricata-network-intrusion-detection-sensor/1.0.0/README.md @@ -0,0 +1,7 @@ +# Suricata network intrusion-detection sensor + +Reusable suricata network intrusion-detection sensor with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.suricata-network-intrusion-detection-sensor/1.0.0/assets/integration.md b/kits/infrastructure.suricata-network-intrusion-detection-sensor/1.0.0/assets/integration.md new file mode 100644 index 0000000..f96a92f --- /dev/null +++ b/kits/infrastructure.suricata-network-intrusion-detection-sensor/1.0.0/assets/integration.md @@ -0,0 +1,14 @@ +# Suricata network intrusion-detection sensor integration material + +Author parameter: `ruleset_name` (default `default`). + +## Exported RAES declarations + +- `nodes.sensor` +- `content.seed_inventory` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.suricata-network-intrusion-detection-sensor/1.0.0/assets/seed.yaml b/kits/infrastructure.suricata-network-intrusion-detection-sensor/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..e3c21d6 --- /dev/null +++ b/kits/infrastructure.suricata-network-intrusion-detection-sensor/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.suricata-network-intrusion-detection-sensor +configuration: + ruleset_name: default + deployment_profile: standard + service_label: suricata-network-intrusion-detection-sensor +declared_objects: +- id: capture_interface + kind: infrastructure-seed + sensitivity: non-secret +- id: ruleset + kind: infrastructure-seed + sensitivity: non-secret +- id: event_output + kind: infrastructure-seed + sensitivity: non-secret +- id: rotation_policy + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.suricata-network-intrusion-detection-sensor/1.0.0/associated-artifacts.json b/kits/infrastructure.suricata-network-intrusion-detection-sensor/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..395b576 --- /dev/null +++ b/kits/infrastructure.suricata-network-intrusion-detection-sensor/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.suricata-network-intrusion-detection-sensor-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "suricata-network-intrusion-detection-sensor", + "ref_version": null, + "ref_digest": "sha256:d802b5bc048229267b7ca50558774fff000707398483beb31e0a9a1c4da0c9cc", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "b3e84f62fa9c25ae0279ec5c448947b754b862e612928068571904ef8e2cbf57" + }, + "size_bytes": 519, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.suricata-network-intrusion-detection-sensor@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "d351b5b7af867498cd326bf1669ad45e0216665ccbe4082d85e3c0c113144969" + }, + "size_bytes": 503, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.suricata-network-intrusion-detection-sensor@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "236545e5498bab8d25e1055d41439a2790f20238f27689eca35dc53e8297d77f" + }, + "size_bytes": 690, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.suricata-network-intrusion-detection-sensor@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "5bd745ddfc04b2965d53d072925956563e6d9b992f159badc178d96d702dd652" + }, + "size_bytes": 1784, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.suricata-network-intrusion-detection-sensor@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "f8461f432709c16060d8a2a2e98e9e743aa92112b5eea3881dd873e99d2aadab" + }, + "size_bytes": 2073, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.suricata-network-intrusion-detection-sensor@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "3c38e0d4dd875b6099304752204930ecf09e38b96ff0db22074fcd1a3b5177cf" + }, + "size_bytes": 297, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.suricata-network-intrusion-detection-sensor@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:05dce77ac47528380efa9b0e3c4f1e7bb4d65d544b67013cf6ba605f09310ddc" +} diff --git a/kits/infrastructure.suricata-network-intrusion-detection-sensor/1.0.0/kit.yaml b/kits/infrastructure.suricata-network-intrusion-detection-sensor/1.0.0/kit.yaml new file mode 100644 index 0000000..da34f5e --- /dev/null +++ b/kits/infrastructure.suricata-network-intrusion-detection-sensor/1.0.0/kit.yaml @@ -0,0 +1,50 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.suricata-network-intrusion-detection-sensor +version: 1.0.0 +title: Suricata network intrusion-detection sensor +summary: Reusable suricata network intrusion-detection sensor with domain-specific + configuration, declared service surfaces, seeded objects, and pack-local integration + material. +concern: security-operations +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/suricata-network-intrusion-detection-sensor/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/suricata-network-intrusion-detection-sensor/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/sensor/source + description: RAES carries the declared suricata 8 source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.suricata-network-intrusion-detection-sensor/1.0.0/module.sdl.yaml b/kits/infrastructure.suricata-network-intrusion-detection-sensor/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..f847d9d --- /dev/null +++ b/kits/infrastructure.suricata-network-intrusion-detection-sensor/1.0.0/module.sdl.yaml @@ -0,0 +1,77 @@ +name: suricata-network-intrusion-detection-sensor +version: 1.0.0 +description: Reusable static infrastructure for Suricata network intrusion-detection + sensor. Configures ruleset_name through the kit parameter contract. +module: + id: infrastructure/suricata-network-intrusion-detection-sensor + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - ruleset_name + exports: + nodes: + - sensor + content: + - seed_inventory + description: Composable Suricata network intrusion-detection sensor infrastructure + module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: suricata-network-intrusion-detection-sensor + ruleset_name: + type: string + default: default +nodes: + sensor: + type: vm + description: '${deployment_profile} profile for ${service_label} (Suricata network + intrusion-detection sensor). Configuration: ${ruleset_name}.' + source: + name: suricata + version: '8' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 5514 + protocol: tcp + name: events + description: Declared events service surface. +content: + seed_inventory: + type: dataset + target: sensor + description: Benign infrastructure seed inventory for ${ruleset_name}. + items: + - name: capture_interface + display_name: Capture Interface + tags: + - infrastructure + - seed + description: Declared capture interface for this reusable service. + - name: ruleset + display_name: Ruleset + tags: + - infrastructure + - seed + description: Declared ruleset for this reusable service. + - name: event_output + display_name: Event Output + tags: + - infrastructure + - seed + description: Declared event output for this reusable service. + - name: rotation_policy + display_name: Rotation Policy + tags: + - infrastructure + - seed + description: Declared rotation policy for this reusable service. diff --git a/kits/infrastructure.suricata-network-intrusion-detection-sensor/1.0.0/tests/composition.yaml b/kits/infrastructure.suricata-network-intrusion-detection-sensor/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..25a1af0 --- /dev/null +++ b/kits/infrastructure.suricata-network-intrusion-detection-sensor/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: suricata-network-intrusion-detection-sensor + ruleset_name: default +variation: + deployment_profile: compact + service_label: suricata-network-intrusion-detection-sensor-alternate + ruleset_name: strict +multi_kit_group: security-operations diff --git a/kits/infrastructure.telemetry-collector/1.0.0/README.md b/kits/infrastructure.telemetry-collector/1.0.0/README.md new file mode 100644 index 0000000..7972c40 --- /dev/null +++ b/kits/infrastructure.telemetry-collector/1.0.0/README.md @@ -0,0 +1,7 @@ +# Telemetry collector + +Reusable telemetry collector with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.telemetry-collector/1.0.0/assets/integration.md b/kits/infrastructure.telemetry-collector/1.0.0/assets/integration.md new file mode 100644 index 0000000..f0828ea --- /dev/null +++ b/kits/infrastructure.telemetry-collector/1.0.0/assets/integration.md @@ -0,0 +1,14 @@ +# Telemetry collector integration material + +Author parameter: `pipeline_name` (default `default`). + +## Exported RAES declarations + +- `nodes.collector` +- `content.seed_inventory` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.telemetry-collector/1.0.0/assets/seed.yaml b/kits/infrastructure.telemetry-collector/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..48a10b9 --- /dev/null +++ b/kits/infrastructure.telemetry-collector/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.telemetry-collector +configuration: + pipeline_name: default + deployment_profile: standard + service_label: telemetry-collector +declared_objects: +- id: receivers + kind: infrastructure-seed + sensitivity: non-secret +- id: processors + kind: infrastructure-seed + sensitivity: non-secret +- id: export_routes + kind: infrastructure-seed + sensitivity: non-secret +- id: resource_attributes + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.telemetry-collector/1.0.0/associated-artifacts.json b/kits/infrastructure.telemetry-collector/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..dd57e60 --- /dev/null +++ b/kits/infrastructure.telemetry-collector/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.telemetry-collector-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "telemetry-collector", + "ref_version": null, + "ref_digest": "sha256:1f246a7d9db948bf804995c10aa598834d2b2bc857ee1c41a0ebb1cecc9f9c8e", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "4fbfe8004e6fa6ae147bf935b0ab689b31a400f1e2148bddbe3edbe2cfd4756c" + }, + "size_bytes": 471, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.telemetry-collector@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "82e87d778a83330d228a62c8788bee698759bfc3b8e3fcd0a441d9f0ad1c462c" + }, + "size_bytes": 483, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.telemetry-collector@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "10340a2f38bcab9ca6b8a06b1af33180f2e14f68e9a1b8a83a12d626c6069188" + }, + "size_bytes": 643, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.telemetry-collector@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "03b32b6bfc658143186b565230e11be2f0ee5755684bbc884a7ff72a2eba5966" + }, + "size_bytes": 1683, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.telemetry-collector@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "ddd88bd019ade94a8656ec2c8016651b183d74befb3a03989d44f182fbea55af" + }, + "size_bytes": 2077, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.telemetry-collector@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "3a968168945a64233cd0b3e3746f2dda1bc8753d5af54e70f7d94b189c69b87d" + }, + "size_bytes": 251, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.telemetry-collector@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:e9c28c00d9659c69ea8863db30a2af9842fd82dea55443982556cf8cbe09e201" +} diff --git a/kits/infrastructure.telemetry-collector/1.0.0/kit.yaml b/kits/infrastructure.telemetry-collector/1.0.0/kit.yaml new file mode 100644 index 0000000..41d3826 --- /dev/null +++ b/kits/infrastructure.telemetry-collector/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.telemetry-collector +version: 1.0.0 +title: Telemetry collector +summary: Reusable telemetry collector with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: policy-operations +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/telemetry-collector/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/telemetry-collector/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/collector/source + description: RAES carries the declared opentelemetry-collector stable source; immutable + artifact selection remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.telemetry-collector/1.0.0/module.sdl.yaml b/kits/infrastructure.telemetry-collector/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..3b4900d --- /dev/null +++ b/kits/infrastructure.telemetry-collector/1.0.0/module.sdl.yaml @@ -0,0 +1,80 @@ +name: telemetry-collector +version: 1.0.0 +description: Reusable static infrastructure for Telemetry collector. Configures pipeline_name + through the kit parameter contract. +module: + id: infrastructure/telemetry-collector + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - pipeline_name + exports: + nodes: + - collector + content: + - seed_inventory + description: Composable Telemetry collector infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: telemetry-collector + pipeline_name: + type: string + default: default +nodes: + collector: + type: vm + description: '${deployment_profile} profile for ${service_label} (Telemetry collector). + Configuration: ${pipeline_name}.' + source: + name: opentelemetry-collector + version: stable + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 4317 + protocol: tcp + name: otlp-grpc + description: Declared otlp-grpc service surface. + - port: 4318 + protocol: tcp + name: otlp-http + description: Declared otlp-http service surface. +content: + seed_inventory: + type: dataset + target: collector + description: Benign infrastructure seed inventory for ${pipeline_name}. + items: + - name: receivers + display_name: Receivers + tags: + - infrastructure + - seed + description: Declared receivers for this reusable service. + - name: processors + display_name: Processors + tags: + - infrastructure + - seed + description: Declared processors for this reusable service. + - name: export_routes + display_name: Export Routes + tags: + - infrastructure + - seed + description: Declared export routes for this reusable service. + - name: resource_attributes + display_name: Resource Attributes + tags: + - infrastructure + - seed + description: Declared resource attributes for this reusable service. diff --git a/kits/infrastructure.telemetry-collector/1.0.0/tests/composition.yaml b/kits/infrastructure.telemetry-collector/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..fd6931e --- /dev/null +++ b/kits/infrastructure.telemetry-collector/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: telemetry-collector + pipeline_name: default +variation: + deployment_profile: compact + service_label: telemetry-collector-alternate + pipeline_name: research +multi_kit_group: policy-operations diff --git a/kits/infrastructure.text-model-serving/1.0.0/README.md b/kits/infrastructure.text-model-serving/1.0.0/README.md new file mode 100644 index 0000000..5425c8e --- /dev/null +++ b/kits/infrastructure.text-model-serving/1.0.0/README.md @@ -0,0 +1,7 @@ +# Text-model serving + +Reusable text-model serving with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.text-model-serving/1.0.0/assets/integration.md b/kits/infrastructure.text-model-serving/1.0.0/assets/integration.md new file mode 100644 index 0000000..ece2690 --- /dev/null +++ b/kits/infrastructure.text-model-serving/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# Text-model serving integration material + +Author parameter: `model_name` (default `local-text`). + +## Exported RAES declarations + +- `nodes.model_server` +- `content.seed_inventory` +- `accounts.model_operator` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.text-model-serving/1.0.0/assets/seed.yaml b/kits/infrastructure.text-model-serving/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..dc14bed --- /dev/null +++ b/kits/infrastructure.text-model-serving/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.text-model-serving +configuration: + model_name: local-text + deployment_profile: standard + service_label: text-model-serving +declared_objects: +- id: model_artifact + kind: infrastructure-seed + sensitivity: non-secret +- id: tokenizer + kind: infrastructure-seed + sensitivity: non-secret +- id: generation_profile + kind: infrastructure-seed + sensitivity: non-secret +- id: inference_route + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.text-model-serving/1.0.0/associated-artifacts.json b/kits/infrastructure.text-model-serving/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..7a35c0a --- /dev/null +++ b/kits/infrastructure.text-model-serving/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.text-model-serving-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "text-model-serving", + "ref_version": null, + "ref_digest": "sha256:d0ebff980f818b9894c2969a756a457908382fd448fc3b2036a0453cbfc17f4f", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "5bddf9c80b758427358dfebde89b337ec605da7aa3fb8f0037b86d7084e5f96a" + }, + "size_bytes": 469, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.text-model-serving@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "8eaabf882f0a66430a9ed9c0596fc4ed9c8114ba341f06f5fcf715ec944cd945" + }, + "size_bytes": 513, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.text-model-serving@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "1c6381afced8a68893e3c74425ec2261b741162dfb291bddc8a35cf42d3feeed" + }, + "size_bytes": 646, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.text-model-serving@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "6b57857eb77d3ac880d2da5a56d9424ee234f49949213e17c63cb1324c88af17" + }, + "size_bytes": 1653, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.text-model-serving@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "5c9f31d33888b625cdbe26a86921b5507f04ba8e8c29122edb402f963d81f5b3" + }, + "size_bytes": 2719, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.text-model-serving@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "06855ce5d260e3078eab0e8251d98fda559bd416d0223bdb19644db714b352c3" + }, + "size_bytes": 239, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.text-model-serving@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:f4da60e705109a8aefd8b0d9bec76a2fd855e422bf220b9526cb1bdfc48302ca" +} diff --git a/kits/infrastructure.text-model-serving/1.0.0/kit.yaml b/kits/infrastructure.text-model-serving/1.0.0/kit.yaml new file mode 100644 index 0000000..73ef48b --- /dev/null +++ b/kits/infrastructure.text-model-serving/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.text-model-serving +version: 1.0.0 +title: Text-model serving +summary: Reusable text-model serving with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: ai-model +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/text-model-serving/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/text-model-serving/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/model_server/source + description: RAES carries the declared vllm stable source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.text-model-serving/1.0.0/module.sdl.yaml b/kits/infrastructure.text-model-serving/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..ee3d5bb --- /dev/null +++ b/kits/infrastructure.text-model-serving/1.0.0/module.sdl.yaml @@ -0,0 +1,105 @@ +name: text-model-serving +version: 1.0.0 +description: Reusable static infrastructure for Text-model serving. Configures model_name + through the kit parameter contract. +module: + id: infrastructure/text-model-serving + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - model_name + exports: + nodes: + - model_server + content: + - seed_inventory + accounts: + - model_operator + description: Composable Text-model serving infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: text-model-serving + model_name: + type: string + default: local-text +nodes: + model_server: + type: vm + description: '${deployment_profile} profile for ${service_label} (Text-model serving). + Configuration: ${model_name}.' + source: + name: vllm + version: stable + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 8000 + protocol: tcp + name: http + description: Declared http service surface. + runtime: + applications: + - application_id: model_server_surface + service: http + protocol: http + name: Model Server surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. +content: + seed_inventory: + type: dataset + target: model_server + description: Benign infrastructure seed inventory for ${model_name}. + items: + - name: model_artifact + display_name: Model Artifact + tags: + - infrastructure + - seed + description: Declared model artifact for this reusable service. + - name: tokenizer + display_name: Tokenizer + tags: + - infrastructure + - seed + description: Declared tokenizer for this reusable service. + - name: generation_profile + display_name: Generation Profile + tags: + - infrastructure + - seed + description: Declared generation profile for this reusable service. + - name: inference_route + display_name: Inference Route + tags: + - infrastructure + - seed + description: Declared inference route for this reusable service. +accounts: + model_operator: + username: model-operator + node: model_server + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.text-model-serving/1.0.0/tests/composition.yaml b/kits/infrastructure.text-model-serving/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..73e3cb1 --- /dev/null +++ b/kits/infrastructure.text-model-serving/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: text-model-serving + model_name: local-text +variation: + deployment_profile: compact + service_label: text-model-serving-alternate + model_name: local-chat +multi_kit_group: ai-model diff --git a/kits/infrastructure.thehive-case-management-service/1.0.0/README.md b/kits/infrastructure.thehive-case-management-service/1.0.0/README.md new file mode 100644 index 0000000..1d5713c --- /dev/null +++ b/kits/infrastructure.thehive-case-management-service/1.0.0/README.md @@ -0,0 +1,7 @@ +# TheHive case-management service + +Reusable thehive case-management service with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.thehive-case-management-service/1.0.0/assets/integration.md b/kits/infrastructure.thehive-case-management-service/1.0.0/assets/integration.md new file mode 100644 index 0000000..e47caa1 --- /dev/null +++ b/kits/infrastructure.thehive-case-management-service/1.0.0/assets/integration.md @@ -0,0 +1,16 @@ +# TheHive case-management service integration material + +Author parameter: `organization_name` (default `operations`). + +## Exported RAES declarations + +- `nodes.case_manager` +- `nodes.storage` +- `content.seed_inventory` +- `accounts.case_analyst` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.thehive-case-management-service/1.0.0/assets/seed.yaml b/kits/infrastructure.thehive-case-management-service/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..729ff0b --- /dev/null +++ b/kits/infrastructure.thehive-case-management-service/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.thehive-case-management-service +configuration: + organization_name: operations + deployment_profile: standard + service_label: thehive-case-management-service +declared_objects: +- id: organization + kind: infrastructure-seed + sensitivity: non-secret +- id: users + kind: infrastructure-seed + sensitivity: non-secret +- id: case_types + kind: infrastructure-seed + sensitivity: non-secret +- id: observable_types + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.thehive-case-management-service/1.0.0/associated-artifacts.json b/kits/infrastructure.thehive-case-management-service/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..a8006d3 --- /dev/null +++ b/kits/infrastructure.thehive-case-management-service/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.thehive-case-management-service-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "thehive-case-management-service", + "ref_version": null, + "ref_digest": "sha256:b145328da6d41b295ecda267c18c2902ec6bf4f70dee253b228ebd3fffee9e1e", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "73149a6598b7700ae298b497e07891e535fe01c9358c16d24106372ee8b21835" + }, + "size_bytes": 495, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.thehive-case-management-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "79339aeb6ef8740a5c2dd80d8e8568f8ab4c0b36a011c71a99ca0147b602ecce" + }, + "size_bytes": 549, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.thehive-case-management-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "126e20453f753e5958f4accd8f36382a021aae1cba984fcd5ac1a558c79366e2" + }, + "size_bytes": 666, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.thehive-case-management-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "1b7fdd56f9d645a276ded221c447a45b53c44c4ac70f99a2f45ae3e46efbbc27" + }, + "size_bytes": 1938, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.thehive-case-management-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "3489525a2fda194303bf37b25d02e002e36e7bb155e7c0a4decf8cdd3e476c3d" + }, + "size_bytes": 3148, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.thehive-case-management-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "0b69719d99270c0862de6e9fa120ea86eb50acae397c44d9957df4918c212544" + }, + "size_bytes": 288, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.thehive-case-management-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:bdc8028d1a5c0bd559506bad74e936e0a86619b800523559c3f336dcb7224281" +} diff --git a/kits/infrastructure.thehive-case-management-service/1.0.0/kit.yaml b/kits/infrastructure.thehive-case-management-service/1.0.0/kit.yaml new file mode 100644 index 0000000..2afcd5d --- /dev/null +++ b/kits/infrastructure.thehive-case-management-service/1.0.0/kit.yaml @@ -0,0 +1,54 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.thehive-case-management-service +version: 1.0.0 +title: TheHive case-management service +summary: Reusable thehive case-management service with domain-specific configuration, + declared service surfaces, seeded objects, and pack-local integration material. +concern: security-operations +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/thehive-case-management-service/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/thehive-case-management-service/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 4 + memory_mib: 4096 + storage_mib: 8192 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/case_manager/source + description: RAES carries the declared thehive 5 source; immutable artifact selection + remains unresolved until pack publication. +- scope: unresolved + authority: raes-source + ref: /nodes/storage/source + description: RAES carries the declared cassandra 5 source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.thehive-case-management-service/1.0.0/module.sdl.yaml b/kits/infrastructure.thehive-case-management-service/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..903638f --- /dev/null +++ b/kits/infrastructure.thehive-case-management-service/1.0.0/module.sdl.yaml @@ -0,0 +1,121 @@ +name: thehive-case-management-service +version: 1.0.0 +description: Reusable static infrastructure for TheHive case-management service. Configures + organization_name through the kit parameter contract. +module: + id: infrastructure/thehive-case-management-service + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - organization_name + exports: + nodes: + - case_manager + - storage + content: + - seed_inventory + accounts: + - case_analyst + description: Composable TheHive case-management service infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: thehive-case-management-service + organization_name: + type: string + default: operations +nodes: + case_manager: + type: vm + description: '${deployment_profile} profile for ${service_label} (TheHive case-management + service). Configuration: ${organization_name}.' + source: + name: thehive + version: '5' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 9000 + protocol: tcp + name: http + description: Declared http service surface. + runtime: + applications: + - application_id: case_manager_surface + service: http + protocol: http + name: Case Manager surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. + storage: + type: vm + description: ${deployment_profile} profile for ${service_label} (TheHive case-management + service). + source: + name: cassandra + version: '5' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 9042 + protocol: tcp + name: cql + description: Declared cql service surface. +content: + seed_inventory: + type: dataset + target: case_manager + description: Benign infrastructure seed inventory for ${organization_name}. + items: + - name: organization + display_name: Organization + tags: + - infrastructure + - seed + description: Declared organization for this reusable service. + - name: users + display_name: Users + tags: + - infrastructure + - seed + description: Declared users for this reusable service. + - name: case_types + display_name: Case Types + tags: + - infrastructure + - seed + description: Declared case types for this reusable service. + - name: observable_types + display_name: Observable Types + tags: + - infrastructure + - seed + description: Declared observable types for this reusable service. +accounts: + case_analyst: + username: case-analyst + node: case_manager + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.thehive-case-management-service/1.0.0/tests/composition.yaml b/kits/infrastructure.thehive-case-management-service/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..5a2d32b --- /dev/null +++ b/kits/infrastructure.thehive-case-management-service/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: thehive-case-management-service + organization_name: operations +variation: + deployment_profile: compact + service_label: thehive-case-management-service-alternate + organization_name: research +multi_kit_group: security-operations diff --git a/kits/infrastructure.wazuh-security-monitoring-stack/1.0.0/README.md b/kits/infrastructure.wazuh-security-monitoring-stack/1.0.0/README.md new file mode 100644 index 0000000..4aa78ee --- /dev/null +++ b/kits/infrastructure.wazuh-security-monitoring-stack/1.0.0/README.md @@ -0,0 +1,7 @@ +# Wazuh security monitoring stack + +Reusable wazuh security monitoring stack with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.wazuh-security-monitoring-stack/1.0.0/assets/integration.md b/kits/infrastructure.wazuh-security-monitoring-stack/1.0.0/assets/integration.md new file mode 100644 index 0000000..0da29ec --- /dev/null +++ b/kits/infrastructure.wazuh-security-monitoring-stack/1.0.0/assets/integration.md @@ -0,0 +1,17 @@ +# Wazuh security monitoring stack integration material + +Author parameter: `enrollment_group` (default `lab`). + +## Exported RAES declarations + +- `nodes.manager` +- `nodes.indexer` +- `nodes.dashboard` +- `content.seed_inventory` +- `accounts.monitoring_operator` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.wazuh-security-monitoring-stack/1.0.0/assets/seed.yaml b/kits/infrastructure.wazuh-security-monitoring-stack/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..cdfe300 --- /dev/null +++ b/kits/infrastructure.wazuh-security-monitoring-stack/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.wazuh-security-monitoring-stack +configuration: + enrollment_group: lab + deployment_profile: standard + service_label: wazuh-security-monitoring-stack +declared_objects: +- id: manager_configuration + kind: infrastructure-seed + sensitivity: non-secret +- id: agent_group + kind: infrastructure-seed + sensitivity: non-secret +- id: index_pattern + kind: infrastructure-seed + sensitivity: non-secret +- id: dashboard_space + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.wazuh-security-monitoring-stack/1.0.0/associated-artifacts.json b/kits/infrastructure.wazuh-security-monitoring-stack/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..bc2e56d --- /dev/null +++ b/kits/infrastructure.wazuh-security-monitoring-stack/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.wazuh-security-monitoring-stack-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "wazuh-security-monitoring-stack", + "ref_version": null, + "ref_digest": "sha256:5084d42bd3b8caff80c2f9489dd0b8b44c024f93213c6f92fd412ab5d2fe571b", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "ade06fc423047bb4dee7f398569d550140fa1f38359b41f2ada0f579fdf5aee0" + }, + "size_bytes": 495, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.wazuh-security-monitoring-stack@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "c9973c2dcab36a6d077174486c9e43b6c2eba18969741b13d836a6a572625136" + }, + "size_bytes": 563, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.wazuh-security-monitoring-stack@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "593fedc54d031ace4941eae9596fd1ea7e9588274cdfe4611720da2216c197c0" + }, + "size_bytes": 675, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.wazuh-security-monitoring-stack@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "bf22dcbaf8fff6c7e1f37dc1f0a8a0ee220d3e3cd805df13cced96d6f38fc529" + }, + "size_bytes": 2163, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.wazuh-security-monitoring-stack@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "2a160d7e45a92298fe2745fcaf33f4f2684a4a4c3a9cb8be2f8b2dc0a0365960" + }, + "size_bytes": 4208, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.wazuh-security-monitoring-stack@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "4166b838d15d1034fa01ad6ecfc5511929125dfa7513f4030ac499b20c348311" + }, + "size_bytes": 280, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.wazuh-security-monitoring-stack@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:a62c6b6d9243c144573e8eef5c14185431140f6a5c566c7efaec33c5c6f490a0" +} diff --git a/kits/infrastructure.wazuh-security-monitoring-stack/1.0.0/kit.yaml b/kits/infrastructure.wazuh-security-monitoring-stack/1.0.0/kit.yaml new file mode 100644 index 0000000..7568d4a --- /dev/null +++ b/kits/infrastructure.wazuh-security-monitoring-stack/1.0.0/kit.yaml @@ -0,0 +1,59 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.wazuh-security-monitoring-stack +version: 1.0.0 +title: Wazuh security monitoring stack +summary: Reusable wazuh security monitoring stack with domain-specific configuration, + declared service surfaces, seeded objects, and pack-local integration material. +concern: security-operations +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/wazuh-security-monitoring-stack/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/wazuh-security-monitoring-stack/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 6 + memory_mib: 6144 + storage_mib: 12288 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/manager/source + description: RAES carries the declared wazuh-manager 4 source; immutable artifact + selection remains unresolved until pack publication. +- scope: unresolved + authority: raes-source + ref: /nodes/indexer/source + description: RAES carries the declared wazuh-indexer 4 source; immutable artifact + selection remains unresolved until pack publication. +- scope: unresolved + authority: raes-source + ref: /nodes/dashboard/source + description: RAES carries the declared wazuh-dashboard 4 source; immutable artifact + selection remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.wazuh-security-monitoring-stack/1.0.0/module.sdl.yaml b/kits/infrastructure.wazuh-security-monitoring-stack/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..2321d26 --- /dev/null +++ b/kits/infrastructure.wazuh-security-monitoring-stack/1.0.0/module.sdl.yaml @@ -0,0 +1,162 @@ +name: wazuh-security-monitoring-stack +version: 1.0.0 +description: Reusable static infrastructure for Wazuh security monitoring stack. Configures + enrollment_group through the kit parameter contract. +module: + id: infrastructure/wazuh-security-monitoring-stack + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - enrollment_group + exports: + nodes: + - manager + - indexer + - dashboard + content: + - seed_inventory + accounts: + - monitoring_operator + description: Composable Wazuh security monitoring stack infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: wazuh-security-monitoring-stack + enrollment_group: + type: string + default: lab +nodes: + manager: + type: vm + description: '${deployment_profile} profile for ${service_label} (Wazuh security + monitoring stack). Configuration: ${enrollment_group}.' + source: + name: wazuh-manager + version: '4' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 1514 + protocol: tcp + name: events + description: Declared events service surface. + - port: 55000 + protocol: tcp + name: api + description: Declared api service surface. + indexer: + type: vm + description: ${deployment_profile} profile for ${service_label} (Wazuh security + monitoring stack). + source: + name: wazuh-indexer + version: '4' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 9200 + protocol: tcp + name: http + description: Declared http service surface. + runtime: + applications: + - application_id: indexer_surface + service: http + protocol: http + name: Indexer surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. + dashboard: + type: vm + description: ${deployment_profile} profile for ${service_label} (Wazuh security + monitoring stack). + source: + name: wazuh-dashboard + version: '4' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 5601 + protocol: tcp + name: http + description: Declared http service surface. + runtime: + applications: + - application_id: dashboard_surface + service: http + protocol: http + name: Dashboard surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. +content: + seed_inventory: + type: dataset + target: manager + description: Benign infrastructure seed inventory for ${enrollment_group}. + items: + - name: manager_configuration + display_name: Manager Configuration + tags: + - infrastructure + - seed + description: Declared manager configuration for this reusable service. + - name: agent_group + display_name: Agent Group + tags: + - infrastructure + - seed + description: Declared agent group for this reusable service. + - name: index_pattern + display_name: Index Pattern + tags: + - infrastructure + - seed + description: Declared index pattern for this reusable service. + - name: dashboard_space + display_name: Dashboard Space + tags: + - infrastructure + - seed + description: Declared dashboard space for this reusable service. +accounts: + monitoring_operator: + username: monitoring-operator + node: manager + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.wazuh-security-monitoring-stack/1.0.0/tests/composition.yaml b/kits/infrastructure.wazuh-security-monitoring-stack/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..2e975ec --- /dev/null +++ b/kits/infrastructure.wazuh-security-monitoring-stack/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: wazuh-security-monitoring-stack + enrollment_group: lab +variation: + deployment_profile: compact + service_label: wazuh-security-monitoring-stack-alternate + enrollment_group: endpoints +multi_kit_group: security-operations diff --git a/kits/infrastructure.webmail-service/1.0.0/README.md b/kits/infrastructure.webmail-service/1.0.0/README.md new file mode 100644 index 0000000..835272e --- /dev/null +++ b/kits/infrastructure.webmail-service/1.0.0/README.md @@ -0,0 +1,7 @@ +# Webmail service + +Reusable webmail service with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.webmail-service/1.0.0/assets/integration.md b/kits/infrastructure.webmail-service/1.0.0/assets/integration.md new file mode 100644 index 0000000..4835fcf --- /dev/null +++ b/kits/infrastructure.webmail-service/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# Webmail service integration material + +Author parameter: `site_name` (default `mail`). + +## Exported RAES declarations + +- `nodes.webmail` +- `content.seed_inventory` +- `accounts.webmail_user` + +## Composition notes + +- Bind the browser client to an imported SMTP/IMAP service. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.webmail-service/1.0.0/assets/seed.yaml b/kits/infrastructure.webmail-service/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..d725846 --- /dev/null +++ b/kits/infrastructure.webmail-service/1.0.0/assets/seed.yaml @@ -0,0 +1,18 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.webmail-service +configuration: + site_name: mail + deployment_profile: standard + service_label: webmail-service +declared_objects: +- id: mail_service_binding + kind: infrastructure-seed + sensitivity: non-secret +- id: oidc_binding + kind: infrastructure-seed + sensitivity: non-secret +- id: browser_client_profile + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- Bind the browser client to an imported SMTP/IMAP service. diff --git a/kits/infrastructure.webmail-service/1.0.0/associated-artifacts.json b/kits/infrastructure.webmail-service/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..fef2a56 --- /dev/null +++ b/kits/infrastructure.webmail-service/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.webmail-service-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "webmail-service", + "ref_version": null, + "ref_digest": "sha256:bb4515e773a6f94cea550ce0223d0c31682f8ca6a92077a5101a2b8020befd1c", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "7bc667891a196049610a1e42a739fafb1c86485a0f4ef33f88850ba4a0905b04" + }, + "size_bytes": 463, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.webmail-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "ad6a979ef289fc317ef5f5538f7415f0cd5023e9a6a3d86f0dbd27c412366f50" + }, + "size_bytes": 442, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.webmail-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "8e2a19561f3f2e74b510a789311074452ced7436f2fe07f2ddc94e8c6023ec1e" + }, + "size_bytes": 514, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.webmail-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "c8ca00ac6d72acf270de6c6ef251cdc3c43da7288a7f52d5ca22a015388bf47d" + }, + "size_bytes": 1709, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.webmail-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "feac5ade6a84415d4b12067f765fbdc8c1a73ef30f9a564dec3d451f3166b9a1" + }, + "size_bytes": 2509, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.webmail-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "b9c4175b745c4ba9a05f038ba30d1a46c8e9ae7cc4310e05250ca2c5d9a80a5f" + }, + "size_bytes": 226, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.webmail-service@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:07ac0b022f07dfe78311a5a73e23450c826a5b39b9a1b63caf7821ad63ad819f" +} diff --git a/kits/infrastructure.webmail-service/1.0.0/kit.yaml b/kits/infrastructure.webmail-service/1.0.0/kit.yaml new file mode 100644 index 0000000..adca8a4 --- /dev/null +++ b/kits/infrastructure.webmail-service/1.0.0/kit.yaml @@ -0,0 +1,52 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.webmail-service +version: 1.0.0 +title: Webmail service +summary: Reusable webmail service with domain-specific configuration, declared service + surfaces, seeded objects, and pack-local integration material. +concern: network-shared +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/webmail-service/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/webmail-service/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: +- kind: external + id: mail-service + version: raes-3.2 + description: Bind the browser client to an imported SMTP/IMAP service. +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- Bind the browser client to an imported SMTP/IMAP service. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/webmail/source + description: RAES carries the declared roundcube 1 source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.webmail-service/1.0.0/module.sdl.yaml b/kits/infrastructure.webmail-service/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..88a4a2e --- /dev/null +++ b/kits/infrastructure.webmail-service/1.0.0/module.sdl.yaml @@ -0,0 +1,99 @@ +name: webmail-service +version: 1.0.0 +description: Reusable static infrastructure for Webmail service. Configures site_name + through the kit parameter contract. +module: + id: infrastructure/webmail-service + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - site_name + exports: + nodes: + - webmail + content: + - seed_inventory + accounts: + - webmail_user + description: Composable Webmail service infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: webmail-service + site_name: + type: string + default: mail +nodes: + webmail: + type: vm + description: '${deployment_profile} profile for ${service_label} (Webmail service). + Configuration: ${site_name}.' + source: + name: roundcube + version: '1' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 8080 + protocol: tcp + name: http + description: Declared http service surface. + runtime: + applications: + - application_id: webmail_surface + service: http + protocol: http + name: Webmail surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. +content: + seed_inventory: + type: dataset + target: webmail + description: Benign infrastructure seed inventory for ${site_name}. + items: + - name: mail_service_binding + display_name: Mail Service Binding + tags: + - infrastructure + - seed + description: Declared mail service binding for this reusable service. + - name: oidc_binding + display_name: Oidc Binding + tags: + - infrastructure + - seed + description: Declared oidc binding for this reusable service. + - name: browser_client_profile + display_name: Browser Client Profile + tags: + - infrastructure + - seed + description: Declared browser client profile for this reusable service. +accounts: + webmail_user: + username: mail-user + node: webmail + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.webmail-service/1.0.0/tests/composition.yaml b/kits/infrastructure.webmail-service/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..2a28dbe --- /dev/null +++ b/kits/infrastructure.webmail-service/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: webmail-service + site_name: mail +variation: + deployment_profile: compact + service_label: webmail-service-alternate + site_name: inbox +multi_kit_group: network-shared diff --git a/kits/infrastructure.windows-active-directory-domain-controller/1.0.0/README.md b/kits/infrastructure.windows-active-directory-domain-controller/1.0.0/README.md new file mode 100644 index 0000000..ad4d1ac --- /dev/null +++ b/kits/infrastructure.windows-active-directory-domain-controller/1.0.0/README.md @@ -0,0 +1,7 @@ +# Windows Active Directory domain controller + +Reusable windows active directory domain controller with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.windows-active-directory-domain-controller/1.0.0/assets/integration.md b/kits/infrastructure.windows-active-directory-domain-controller/1.0.0/assets/integration.md new file mode 100644 index 0000000..d3aae1d --- /dev/null +++ b/kits/infrastructure.windows-active-directory-domain-controller/1.0.0/assets/integration.md @@ -0,0 +1,18 @@ +# Windows Active Directory domain controller integration material + +Author parameter: `domain_name` (default `directory.example.test`). + +## Exported RAES declarations + +- `nodes.domain_controller` +- `accounts.directory_administrator` +- `identity_domains.directory` +- `identity_forests.forest` +- `relationships.directory_controller` +- `content.seed_inventory` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.windows-active-directory-domain-controller/1.0.0/assets/seed.yaml b/kits/infrastructure.windows-active-directory-domain-controller/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..2a6bcab --- /dev/null +++ b/kits/infrastructure.windows-active-directory-domain-controller/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.windows-active-directory-domain-controller +configuration: + domain_name: directory.example.test + deployment_profile: standard + service_label: windows-active-directory-domain-controller +declared_objects: +- id: organizational_units + kind: infrastructure-seed + sensitivity: non-secret +- id: directory_groups + kind: infrastructure-seed + sensitivity: non-secret +- id: dns_zone + kind: infrastructure-seed + sensitivity: non-secret +- id: administrator_identity + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.windows-active-directory-domain-controller/1.0.0/associated-artifacts.json b/kits/infrastructure.windows-active-directory-domain-controller/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..77d6f50 --- /dev/null +++ b/kits/infrastructure.windows-active-directory-domain-controller/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.windows-active-directory-domain-controller-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "windows-active-directory-domain-controller", + "ref_version": null, + "ref_digest": "sha256:b4a32e36a27537f13145e7718cdaf6735e3eefb236b708f08aca0a1c5ee631c0", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "064ac4ce1b882d6af520f09f8dba9e2e1dea9721cdc1a1521c024acb50a993b4" + }, + "size_bytes": 517, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.windows-active-directory-domain-controller@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "bd4de73b276b8c371561662e8c74631efb1b57cee6a79034eecba95f663e2ad2" + }, + "size_bytes": 662, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.windows-active-directory-domain-controller@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "d3c9d2edf199f96c3267709e3c4134ccf6d763b49b618685a6ea89f4fc12da2e" + }, + "size_bytes": 717, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.windows-active-directory-domain-controller@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "872f2814b883bb259209b371e8a76e4a3c6b849167306f5e0d4197c62480d41e" + }, + "size_bytes": 1795, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.windows-active-directory-domain-controller@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "07a3f04dffa6899ddda9cc2af653e58bc827972851fef0d0b9a7c5e7e86a6a2d" + }, + "size_bytes": 3255, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.windows-active-directory-domain-controller@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "d673eeea6b27ae3f9039158542c877222e00a48a867eba5c431b388359872467" + }, + "size_bytes": 317, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.windows-active-directory-domain-controller@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:7cf6112196c182f6f025e284633fe183f68ead4102052dd24df313230586ee9f" +} diff --git a/kits/infrastructure.windows-active-directory-domain-controller/1.0.0/kit.yaml b/kits/infrastructure.windows-active-directory-domain-controller/1.0.0/kit.yaml new file mode 100644 index 0000000..1fa8b05 --- /dev/null +++ b/kits/infrastructure.windows-active-directory-domain-controller/1.0.0/kit.yaml @@ -0,0 +1,50 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.windows-active-directory-domain-controller +version: 1.0.0 +title: Windows Active Directory domain controller +summary: Reusable windows active directory domain controller with domain-specific + configuration, declared service surfaces, seeded objects, and pack-local integration + material. +concern: identity-domain +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/windows-active-directory-domain-controller/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/windows-active-directory-domain-controller/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/domain_controller/source + description: RAES carries the declared windows-server 2022 source; immutable artifact + selection remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.windows-active-directory-domain-controller/1.0.0/module.sdl.yaml b/kits/infrastructure.windows-active-directory-domain-controller/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..82d45f0 --- /dev/null +++ b/kits/infrastructure.windows-active-directory-domain-controller/1.0.0/module.sdl.yaml @@ -0,0 +1,120 @@ +name: windows-active-directory-domain-controller +version: 1.0.0 +description: Reusable static infrastructure for Windows Active Directory domain controller. + Configures domain_name through the kit parameter contract. +module: + id: infrastructure/windows-active-directory-domain-controller + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - domain_name + exports: + nodes: + - domain_controller + accounts: + - directory_administrator + identity_domains: + - directory + identity_forests: + - forest + relationships: + - directory_controller + content: + - seed_inventory + description: Composable Windows Active Directory domain controller infrastructure + module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: windows-active-directory-domain-controller + domain_name: + type: string + default: directory.example.test +nodes: + domain_controller: + type: vm + description: '${deployment_profile} profile for ${service_label} (Windows Active + Directory domain controller). Configuration: ${domain_name}.' + source: + name: windows-server + version: '2022' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 53 + protocol: tcp + name: dns + description: Declared dns service surface. + - port: 88 + protocol: tcp + name: kerberos + description: Declared kerberos service surface. + - port: 389 + protocol: tcp + name: ldap + description: Declared ldap service surface. + - port: 445 + protocol: tcp + name: smb + description: Declared smb service surface. +accounts: + directory_administrator: + username: administrator + node: domain_controller + domain_ref: directory + description: Declared directory authority account; credential delivery is backend-owned. +identity_domains: + directory: + profile: active_directory + dns_name: ${domain_name} + netbios_name: DIRECTORY + authority_account_ref: directory_administrator +identity_forests: + forest: + root_domain_ref: directory + domain_refs: + - directory +relationships: + directory_controller: + type: domain_controller_for + source: domain_controller + target: directory + domain_controller: {} +content: + seed_inventory: + type: dataset + target: domain_controller + description: Benign infrastructure seed inventory for ${domain_name}. + items: + - name: organizational_units + display_name: Organizational Units + tags: + - infrastructure + - seed + description: Declared organizational units for this reusable service. + - name: directory_groups + display_name: Directory Groups + tags: + - infrastructure + - seed + description: Declared directory groups for this reusable service. + - name: dns_zone + display_name: Dns Zone + tags: + - infrastructure + - seed + description: Declared dns zone for this reusable service. + - name: administrator_identity + display_name: Administrator Identity + tags: + - infrastructure + - seed + description: Declared administrator identity for this reusable service. diff --git a/kits/infrastructure.windows-active-directory-domain-controller/1.0.0/tests/composition.yaml b/kits/infrastructure.windows-active-directory-domain-controller/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..d7f2faa --- /dev/null +++ b/kits/infrastructure.windows-active-directory-domain-controller/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: windows-active-directory-domain-controller + domain_name: directory.example.test +variation: + deployment_profile: compact + service_label: windows-active-directory-domain-controller-alternate + domain_name: branch.example.test +multi_kit_group: identity-domain diff --git a/kits/infrastructure.windows-domain-member/1.0.0/README.md b/kits/infrastructure.windows-domain-member/1.0.0/README.md new file mode 100644 index 0000000..52c7994 --- /dev/null +++ b/kits/infrastructure.windows-domain-member/1.0.0/README.md @@ -0,0 +1,7 @@ +# Windows domain member + +Reusable windows domain member with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.windows-domain-member/1.0.0/assets/integration.md b/kits/infrastructure.windows-domain-member/1.0.0/assets/integration.md new file mode 100644 index 0000000..adb5797 --- /dev/null +++ b/kits/infrastructure.windows-domain-member/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# Windows domain member integration material + +Author parameter: `computer_name` (default `win-member-01`). + +## Exported RAES declarations + +- `nodes.domain_member` +- `content.seed_inventory` +- `accounts.member_operator` + +## Composition notes + +- Compose with one exported RAES identity domain and add the pack-level domain-join relationship. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.windows-domain-member/1.0.0/assets/seed.yaml b/kits/infrastructure.windows-domain-member/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..7aceeb2 --- /dev/null +++ b/kits/infrastructure.windows-domain-member/1.0.0/assets/seed.yaml @@ -0,0 +1,19 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.windows-domain-member +configuration: + computer_name: win-member-01 + deployment_profile: standard + service_label: windows-domain-member +declared_objects: +- id: domain_join_profile + kind: infrastructure-seed + sensitivity: non-secret +- id: local_groups + kind: infrastructure-seed + sensitivity: non-secret +- id: management_surface + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- Compose with one exported RAES identity domain and add the pack-level domain-join + relationship. diff --git a/kits/infrastructure.windows-domain-member/1.0.0/associated-artifacts.json b/kits/infrastructure.windows-domain-member/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..aa38209 --- /dev/null +++ b/kits/infrastructure.windows-domain-member/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.windows-domain-member-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "windows-domain-member", + "ref_version": null, + "ref_digest": "sha256:13bb7404f42f8c54974cb2f0377176dcee01bc3ea9b16703e7dcb5eee164942a", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "a2e7ba52d49a55e53a8b0daf96254639161a615030d956a7a8d55a14dcff6c92" + }, + "size_bytes": 475, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.windows-domain-member@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "f010be9428ac67cc65c2cf6e4bfa591e8280cee78fcf3c70ddc88d69c5222d93" + }, + "size_bytes": 508, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.windows-domain-member@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "4884d755efe28c9f32b676a4a669053336900e159e66c83a40061573a21dc0c9" + }, + "size_bytes": 574, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.windows-domain-member@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "edd6632a91dea8296db224f7c269b111948ed518d1eb55b73d2bb9c52640ec23" + }, + "size_bytes": 1843, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.windows-domain-member@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "0d1b9b4c4be719bf49aee8d0d9cf561a1797cd88b28ccfd4996b4f7f72307a8e" + }, + "size_bytes": 2067, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.windows-domain-member@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "2b6f2743fbcfc701a68c4f97e74fba1eeb87367762a22a77fefa41963bddb9bd" + }, + "size_bytes": 264, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.windows-domain-member@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:0e34481dae7bdb49cd328821b4b4ae95bbb60552c9c377d451e34b9e69f31df3" +} diff --git a/kits/infrastructure.windows-domain-member/1.0.0/kit.yaml b/kits/infrastructure.windows-domain-member/1.0.0/kit.yaml new file mode 100644 index 0000000..af3eae5 --- /dev/null +++ b/kits/infrastructure.windows-domain-member/1.0.0/kit.yaml @@ -0,0 +1,54 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.windows-domain-member +version: 1.0.0 +title: Windows domain member +summary: Reusable windows domain member with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: identity-domain +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/windows-domain-member/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/windows-domain-member/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: +- kind: external + id: directory-authority + version: raes-3.2 + description: Compose with one exported RAES identity domain and add the pack-level + domain-join relationship. +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- Compose with one exported RAES identity domain and add the pack-level domain-join + relationship. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/domain_member/source + description: RAES carries the declared windows-server 2022 source; immutable artifact + selection remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.windows-domain-member/1.0.0/module.sdl.yaml b/kits/infrastructure.windows-domain-member/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..66be063 --- /dev/null +++ b/kits/infrastructure.windows-domain-member/1.0.0/module.sdl.yaml @@ -0,0 +1,78 @@ +name: windows-domain-member +version: 1.0.0 +description: Reusable static infrastructure for Windows domain member. Configures + computer_name through the kit parameter contract. +module: + id: infrastructure/windows-domain-member + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - computer_name + exports: + nodes: + - domain_member + content: + - seed_inventory + accounts: + - member_operator + description: Composable Windows domain member infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: windows-domain-member + computer_name: + type: string + default: win-member-01 +nodes: + domain_member: + type: vm + description: '${deployment_profile} profile for ${service_label} (Windows domain + member). Configuration: ${computer_name}.' + source: + name: windows-server + version: '2022' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 3389 + protocol: tcp + name: rdp + description: Declared rdp service surface. +content: + seed_inventory: + type: dataset + target: domain_member + description: Benign infrastructure seed inventory for ${computer_name}. + items: + - name: domain_join_profile + display_name: Domain Join Profile + tags: + - infrastructure + - seed + description: Declared domain join profile for this reusable service. + - name: local_groups + display_name: Local Groups + tags: + - infrastructure + - seed + description: Declared local groups for this reusable service. + - name: management_surface + display_name: Management Surface + tags: + - infrastructure + - seed + description: Declared management surface for this reusable service. +accounts: + member_operator: + username: member-operator + node: domain_member + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.windows-domain-member/1.0.0/tests/composition.yaml b/kits/infrastructure.windows-domain-member/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..7fb6677 --- /dev/null +++ b/kits/infrastructure.windows-domain-member/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: windows-domain-member + computer_name: win-member-01 +variation: + deployment_profile: compact + service_label: windows-domain-member-alternate + computer_name: win-member-02 +multi_kit_group: identity-domain diff --git a/kits/infrastructure.workflow-orchestrator/1.0.0/README.md b/kits/infrastructure.workflow-orchestrator/1.0.0/README.md new file mode 100644 index 0000000..cbddeeb --- /dev/null +++ b/kits/infrastructure.workflow-orchestrator/1.0.0/README.md @@ -0,0 +1,7 @@ +# Workflow orchestrator + +Reusable workflow orchestrator with domain-specific configuration, declared service surfaces, seeded objects, and pack-local integration material. + +The release includes a RAES module, explicit service and identity surfaces, benign seed inventory, planning estimates, component-inventory inputs, integration guidance, and composition tests. + +It is authoring content, not a runtime plugin, scenario narrative, backend qualification, or evidence claim. diff --git a/kits/infrastructure.workflow-orchestrator/1.0.0/assets/integration.md b/kits/infrastructure.workflow-orchestrator/1.0.0/assets/integration.md new file mode 100644 index 0000000..52890c0 --- /dev/null +++ b/kits/infrastructure.workflow-orchestrator/1.0.0/assets/integration.md @@ -0,0 +1,15 @@ +# Workflow orchestrator integration material + +Author parameter: `workflow_name` (default `daily_ingest`). + +## Exported RAES declarations + +- `nodes.orchestrator` +- `content.seed_inventory` +- `accounts.workflow_operator` + +## Composition notes + +- No mandatory external authoring prerequisite; connect exported surfaces at the pack composition root as needed. +- Keep credentials and runtime-selected endpoints outside kit parameters and seed assets. +- Validate the completed ordinary pack after adding pack-level relationships. diff --git a/kits/infrastructure.workflow-orchestrator/1.0.0/assets/seed.yaml b/kits/infrastructure.workflow-orchestrator/1.0.0/assets/seed.yaml new file mode 100644 index 0000000..84ed607 --- /dev/null +++ b/kits/infrastructure.workflow-orchestrator/1.0.0/assets/seed.yaml @@ -0,0 +1,22 @@ +schema_version: environment-kit-seed/v1 +kit: infrastructure.workflow-orchestrator +configuration: + workflow_name: daily_ingest + deployment_profile: standard + service_label: workflow-orchestrator +declared_objects: +- id: workflow + kind: infrastructure-seed + sensitivity: non-secret +- id: jobs + kind: infrastructure-seed + sensitivity: non-secret +- id: schedule + kind: infrastructure-seed + sensitivity: non-secret +- id: artifact_bindings + kind: infrastructure-seed + sensitivity: non-secret +integration_requirements: +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. diff --git a/kits/infrastructure.workflow-orchestrator/1.0.0/associated-artifacts.json b/kits/infrastructure.workflow-orchestrator/1.0.0/associated-artifacts.json new file mode 100644 index 0000000..91f8124 --- /dev/null +++ b/kits/infrastructure.workflow-orchestrator/1.0.0/associated-artifacts.json @@ -0,0 +1,113 @@ +{ + "schema_version": "associated-artifact-manifest/v1", + "manifest_id": "infrastructure.workflow-orchestrator-associated-artifacts", + "manifest_version": "1.0.0", + "canonicalization_profile": "associated-artifact-set/v1", + "scope": "scenario", + "parent_ref": { + "ref_kind": "scenario-snapshot", + "ref_id": "workflow-orchestrator", + "ref_version": null, + "ref_digest": "sha256:787be891b292a95ebf8c15bb5af792ff451be9e805c3a50c38be93d055111f9a", + "ref_path": null + }, + "artifacts": { + "readme": { + "artifact_id": "readme", + "role": "documentation", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/README.md", + "checksum": { + "algorithm": "sha256", + "value": "977efff692f4534d426efc02060779d3552cb632c571c871991b870fc609c84f" + }, + "size_bytes": 475, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.workflow-orchestrator@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "integration-material": { + "artifact_id": "integration-material", + "role": "operator-guide", + "media_type": "text/markdown", + "uri": "raes-environment-kit:/assets/integration.md", + "checksum": { + "algorithm": "sha256", + "value": "e387128eaa9e340edd04e050fabe7a36773c57652ec49863378788a7d0d53231" + }, + "size_bytes": 524, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.workflow-orchestrator@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "seed-profile": { + "artifact_id": "seed-profile", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/assets/seed.yaml", + "checksum": { + "algorithm": "sha256", + "value": "c748680fe49892c5c687d3262dc0c44e54e318d2e46f2ee5fb4ef21fb099925b" + }, + "size_bytes": 638, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.workflow-orchestrator@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "kit-manifest": { + "artifact_id": "kit-manifest", + "role": "manifest", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/kit.yaml", + "checksum": { + "algorithm": "sha256", + "value": "d6ed6972bcbd2173eef95a77176813c2609c3fdc4d844e1146dc9b0d87f0426c" + }, + "size_bytes": 1671, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.workflow-orchestrator@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "module": { + "artifact_id": "module", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/module.sdl.yaml", + "checksum": { + "algorithm": "sha256", + "value": "97d8542c9b0b0c5b8272c90269679d39c9d972bc488d4c11c2b9a20db72a3d4b" + }, + "size_bytes": 2706, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.workflow-orchestrator@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + }, + "composition-tests": { + "artifact_id": "composition-tests", + "role": "configuration", + "media_type": "application/yaml", + "uri": "raes-environment-kit:/tests/composition.yaml", + "checksum": { + "algorithm": "sha256", + "value": "99c53ad051a427dcd5b09efe24e2ca17327e2cf6fab6b0f61bbb0ac37bb983e7" + }, + "size_bytes": 258, + "created_at": "2026-08-01T00:00:00Z", + "source": "infrastructure.workflow-orchestrator@1.0.0", + "satisfies_refs": [], + "sensitivity": "public", + "description": null + } + }, + "set_digest": "sha256:0bc901fd51609166d7960eea05221c9832484457de3bec4b0d0c4209bcbb0129" +} diff --git a/kits/infrastructure.workflow-orchestrator/1.0.0/kit.yaml b/kits/infrastructure.workflow-orchestrator/1.0.0/kit.yaml new file mode 100644 index 0000000..75dc610 --- /dev/null +++ b/kits/infrastructure.workflow-orchestrator/1.0.0/kit.yaml @@ -0,0 +1,49 @@ +schema_version: environment-pack-kit/v1 +id: infrastructure.workflow-orchestrator +version: 1.0.0 +title: Workflow orchestrator +summary: Reusable workflow orchestrator with domain-specific configuration, declared + service surfaces, seeded objects, and pack-local integration material. +concern: data-workflow +released_at: '2026-08-01T00:00:00Z' +module: + path: module.sdl.yaml +assets: +- source: assets/integration.md + target: assets/kits/workflow-orchestrator/integration.md + visibility: operator + artifact_id: integration-material +- source: assets/seed.yaml + target: assets/kits/workflow-orchestrator/seed.yaml + visibility: operator + artifact_id: seed-profile +resources: + cpu_cores: 2 + memory_mib: 2048 + storage_mib: 4096 + notes: Planning estimates only; realization sizing remains backend-owned. +prerequisites: [] +limitations: +- Declares static infrastructure, seeded state, and integration surfaces only. +- Does not claim launch, readiness, traffic attachment, credential delivery, or runtime + evidence. +- No mandatory external authoring prerequisite; connect exported surfaces at the pack + composition root as needed. +license: + expression: MIT + redistribution: open + attribution: OpenRAE contributors +tests: +- path: tests/composition.yaml + kind: validate +- path: tests/composition.yaml + kind: parameter-variation +- path: tests/composition.yaml + kind: multi-kit +component_inventory: +- scope: unresolved + authority: raes-source + ref: /nodes/orchestrator/source + description: RAES carries the declared airflow 3 source; immutable artifact selection + remains unresolved until pack publication. +associated_artifact_manifest: associated-artifacts.json diff --git a/kits/infrastructure.workflow-orchestrator/1.0.0/module.sdl.yaml b/kits/infrastructure.workflow-orchestrator/1.0.0/module.sdl.yaml new file mode 100644 index 0000000..aa94664 --- /dev/null +++ b/kits/infrastructure.workflow-orchestrator/1.0.0/module.sdl.yaml @@ -0,0 +1,105 @@ +name: workflow-orchestrator +version: 1.0.0 +description: Reusable static infrastructure for Workflow orchestrator. Configures + workflow_name through the kit parameter contract. +module: + id: infrastructure/workflow-orchestrator + version: 1.0.0 + parameters: + - deployment_profile + - service_label + - workflow_name + exports: + nodes: + - orchestrator + content: + - seed_inventory + accounts: + - workflow_operator + description: Composable Workflow orchestrator infrastructure module. +variables: + deployment_profile: + type: string + default: standard + allowed_values: + - compact + - standard + service_label: + type: string + default: workflow-orchestrator + workflow_name: + type: string + default: daily_ingest +nodes: + orchestrator: + type: vm + description: '${deployment_profile} profile for ${service_label} (Workflow orchestrator). + Configuration: ${workflow_name}.' + source: + name: airflow + version: '3' + resources: + cpu: 2 + ram: 2 GiB + services: + - port: 8080 + protocol: tcp + name: http + description: Declared http service surface. + runtime: + applications: + - application_id: orchestrator_surface + service: http + protocol: http + name: Orchestrator surface + routes: + - route_id: primary + path: / + methods: + - GET + responses: + - status_code: 200 + description: Declared primary response. + - route_id: health + path: /health + methods: + - GET + responses: + - status_code: 200 + description: Declared health response. +content: + seed_inventory: + type: dataset + target: orchestrator + description: Benign infrastructure seed inventory for ${workflow_name}. + items: + - name: workflow + display_name: Workflow + tags: + - infrastructure + - seed + description: Declared workflow for this reusable service. + - name: jobs + display_name: Jobs + tags: + - infrastructure + - seed + description: Declared jobs for this reusable service. + - name: schedule + display_name: Schedule + tags: + - infrastructure + - seed + description: Declared schedule for this reusable service. + - name: artifact_bindings + display_name: Artifact Bindings + tags: + - infrastructure + - seed + description: Declared artifact bindings for this reusable service. +accounts: + workflow_operator: + username: workflow-operator + node: orchestrator + password_strength: strong + description: Declared environment account; credential delivery remains backend-owned. diff --git a/kits/infrastructure.workflow-orchestrator/1.0.0/tests/composition.yaml b/kits/infrastructure.workflow-orchestrator/1.0.0/tests/composition.yaml new file mode 100644 index 0000000..4ccd26b --- /dev/null +++ b/kits/infrastructure.workflow-orchestrator/1.0.0/tests/composition.yaml @@ -0,0 +1,9 @@ +default: + deployment_profile: standard + service_label: workflow-orchestrator + workflow_name: daily_ingest +variation: + deployment_profile: compact + service_label: workflow-orchestrator-alternate + workflow_name: evaluation +multi_kit_group: data-workflow diff --git a/requirements-dev.txt b/requirements-dev.txt new file mode 100644 index 0000000..50cf1f5 --- /dev/null +++ b/requirements-dev.txt @@ -0,0 +1 @@ +raes-env-packs @ git+https://github.com/OpenRAE/env-packs.git@190-infrastructure-kits diff --git a/tests/test_catalog.py b/tests/test_catalog.py new file mode 100644 index 0000000..ef3327f --- /dev/null +++ b/tests/test_catalog.py @@ -0,0 +1,95 @@ +from __future__ import annotations + +import shutil +import tempfile +import unittest +from pathlib import Path + +import yaml +from raes import parse_sdl_file +from raes_env_packs.kits import KitSource, build_kit_catalog, load_kit_release + +ROOT = Path(__file__).resolve().parents[1] + + +class CatalogTests(unittest.TestCase): + def test_all_releases_are_closed_and_deterministic(self): + source = KitSource(id="reference", revision="test-revision", root=str(ROOT)) + first = build_kit_catalog((source,)) + second = build_kit_catalog((source,)) + self.assertEqual(first, second) + self.assertEqual(len(first["entries"]), 38) + + def test_every_release_composes_with_two_parameter_sets(self): + for manifest in sorted(ROOT.glob("kits/*/1.0.0/kit.yaml")): + release = load_kit_release(manifest.parent) + module = yaml.safe_load((manifest.parent / "module.sdl.yaml").read_text()) + cases = yaml.safe_load((manifest.parent / "tests/composition.yaml").read_text()) + domain_parameters = set(module["module"]["parameters"]) - { + "deployment_profile", + "service_label", + } + self.assertGreaterEqual(len(domain_parameters), 1, release.id) + self.assertIn("seed_inventory", module["module"]["exports"]["content"]) + self.assertGreaterEqual( + len(module["content"]["seed_inventory"]["items"]), + 3, + release.id, + ) + self.assertTrue( + any( + cases["default"].get(parameter) + != cases["variation"].get(parameter) + for parameter in domain_parameters + ), + release.id, + ) + for name in ("default", "variation"): + with self.subTest(kit=release.id, case=name), tempfile.TemporaryDirectory() as tmp: + root = Path(tmp) + shutil.copy2(manifest.parent / "module.sdl.yaml", root / "module.sdl.yaml") + document = {"name": "composition", "imports": [{"source": "local:module.sdl.yaml", "namespace": "subject", "version": "1.0.0", "parameters": cases[name]}]} + (root / "scenario.sdl.yaml").write_text(yaml.safe_dump(document, sort_keys=False)) + parse_sdl_file(root / "scenario.sdl.yaml") + + def test_every_release_has_substantive_authoring_material(self): + for manifest in sorted(ROOT.glob("kits/*/1.0.0/kit.yaml")): + release = load_kit_release(manifest.parent) + readme = (manifest.parent / "README.md").read_text(encoding="utf-8") + integration = (manifest.parent / "assets/integration.md").read_text( + encoding="utf-8" + ) + seed = yaml.safe_load( + (manifest.parent / "assets/seed.yaml").read_text(encoding="utf-8") + ) + self.assertIn("authoring content", readme.lower(), release.id) + self.assertIn("## Exported RAES declarations", integration, release.id) + self.assertIn("## Composition notes", integration, release.id) + self.assertGreaterEqual(len(seed["declared_objects"]), 3, release.id) + self.assertTrue(seed["integration_requirements"], release.id) + + def test_representative_multi_kit_environment_composes(self): + selected = [ + "infrastructure.windows-active-directory-domain-controller", + "infrastructure.browser-workstation", + "infrastructure.authoritative-dns-service", + "infrastructure.application-api-service", + "infrastructure.postgresql-database", + "infrastructure.wazuh-security-monitoring-stack", + "infrastructure.telemetry-collector", + ] + with tempfile.TemporaryDirectory() as tmp: + root = Path(tmp) + imports = [] + for index, kit_id in enumerate(selected): + source = ROOT / "kits" / kit_id / "1.0.0" / "module.sdl.yaml" + target = root / f"module-{index}.sdl.yaml" + shutil.copy2(source, target) + imports.append({"source": f"local:{target.name}", "namespace": f"kit{index}", "version": "1.0.0", "parameters": {"deployment_profile": "compact", "service_label": f"service-{index}"}}) + (root / "scenario.sdl.yaml").write_text(yaml.safe_dump({"name": "realistic-environment", "imports": imports}, sort_keys=False)) + scenario = parse_sdl_file(root / "scenario.sdl.yaml") + self.assertGreaterEqual(len(scenario.nodes), 9) + + +if __name__ == "__main__": + unittest.main()