Dispatcher Config Authoring (Cloud)
Design minimal, deterministic changes for the Adobe Dispatcher Apache HTTP Server module and related HTTPD configuration in AEMaaCS, then verify with MCP evidence.
Variant Scope
- This skill is cloud-service-only.
- Scope is fixed by this skill directory; do not ask the user to choose deployment variant.
MCP Tool Contract
Use only these Dispatcher MCP tools:
validate
lint
sdk
trace_request
inspect_cache
monitor_metrics
tail_logs
Workflow
Cloud Config Progress
- [ ] 1) Confirm scope and acceptance criteria; if the repo layout is unclear, normalize it with `repo-layout-workflows.md`
- [ ] 2) Apply cloud guardrails (immutable files, required includes, symlink topology, required wildcard ServerAlias coverage, reserved probe paths, preserved cloud vhost defaults, CDN-vs-Dispatcher boundary)
- [ ] 3) Decompose target URLs (path/selectors/extension/suffix) and use that model for all URL-based rules—filters, cache rules, etc.—using `/path`, `/selectors`, `/extension`, `/suffix` or aligned globs (not raw `/url`) where applicable; then design complete section-level edits
- [ ] 4) Update config with least-privilege defaults (produce final merged section, not isolated rule snippets)
- [ ] 5) Run static checks: validate -> lint (deep/order-aware when filters changed)
- [ ] 6) Run SDK checks: `sdk({"action":"check-files","config_path":"<dispatcher src path>"})`, `sdk({"action":"diff-baseline","config_path":"<dispatcher src path>"})` as needed
- [ ] 7) Run runtime verification in container-backed environment
- [ ] 8) Return diff, evidence table, risk/rollback, and citations
Verification Scope Selection
Use the shared references to select the minimum evidence set:
Output Contract
Always include:
- files changed + intent
- exact insertion location and final merged section content for each edited block
- checks executed + evidence
- selected test IDs
- risk/rollback plan
- residual risks and next checks
Feature cross-boundary (Playbook G)
Permission-sensitive caching (/auth_checker) is end-to-end: it requires both Dispatcher config and an AEM servlet. When implementing Playbook G from scratch, create or verify the auth-check servlet in the project core bundle (path /bin/permissioncheck, HEAD/GET, 200 or 403) and allowlist it on publish; then add the /auth_checker block, filter allow for the endpoint, and /allowAuthorized "1" in /cache. See config-scenario-playbooks.md Playbook G and reference-snippets.md.
Guardrails
- Do not weaken deny-by-default security posture without explicit user approval.
- Do not claim runtime verification if container/runtime prerequisites were missing.
- Keep changes minimal and scoped.
- Enforce cloud guardrails from
cloud-service-aemaacs-guardrails.md before proposing config edits.
References
1---2name: config-authoring-23description: Create, modify, review, and harden configuration for the Adobe Dispatcher Apache HTTP Server module and Apache HTTPD in AEM as a Cloud Service environments only. Use for `.any`, vhost, rewrite, cache, and filter changes.4license: Apache-2.05---67# Dispatcher Config Authoring (Cloud)89Design minimal, deterministic changes for the Adobe Dispatcher Apache HTTP Server module and related HTTPD configuration in AEMaaCS, then verify with MCP evidence.1011## Variant Scope1213- This skill is cloud-service-only.14- Scope is fixed by this skill directory; do not ask the user to choose deployment variant.1516## MCP Tool Contract1718Use only these Dispatcher MCP tools:1920- `validate`21- `lint`22- `sdk`23- `trace_request`24- `inspect_cache`25- `monitor_metrics`26- `tail_logs`2728## Workflow2930```text31Cloud Config Progress32- [ ] 1) Confirm scope and acceptance criteria; if the repo layout is unclear, normalize it with `repo-layout-workflows.md`33- [ ] 2) Apply cloud guardrails (immutable files, required includes, symlink topology, required wildcard ServerAlias coverage, reserved probe paths, preserved cloud vhost defaults, CDN-vs-Dispatcher boundary)34- [ ] 3) Decompose target URLs (path/selectors/extension/suffix) and use that model for all URL-based rules—filters, cache rules, etc.—using `/path`, `/selectors`, `/extension`, `/suffix` or aligned globs (not raw `/url`) where applicable; then design complete section-level edits35- [ ] 4) Update config with least-privilege defaults (produce final merged section, not isolated rule snippets)36- [ ] 5) Run static checks: validate -> lint (deep/order-aware when filters changed)37- [ ] 6) Run SDK checks: `sdk({"action":"check-files","config_path":"<dispatcher src path>"})`, `sdk({"action":"diff-baseline","config_path":"<dispatcher src path>"})` as needed38- [ ] 7) Run runtime verification in container-backed environment39- [ ] 8) Return diff, evidence table, risk/rollback, and citations40```4142## Verification Scope Selection4344Use the shared references to select the minimum evidence set:4546- [mode-specific-verification-matrix.md](./references/dispatcher-foundation/mode-specific-verification-matrix.md)47- [test-case-catalog.md](./references/dispatcher-foundation/test-case-catalog.md)4849## Output Contract5051Always include:5253- files changed + intent54- exact insertion location and final merged section content for each edited block55- checks executed + evidence56- selected test IDs57- risk/rollback plan58- residual risks and next checks5960## Feature cross-boundary (Playbook G)6162Permission-sensitive caching (`/auth_checker`) is end-to-end: it requires both Dispatcher config and an AEM servlet. When implementing Playbook G from scratch, create or verify the auth-check servlet in the project core bundle (path `/bin/permissioncheck`, HEAD/GET, 200 or 403) and allowlist it on publish; then add the `/auth_checker` block, filter allow for the endpoint, and `/allowAuthorized "1"` in `/cache`. See [config-scenario-playbooks.md](./references/config-authoring/config-scenario-playbooks.md) Playbook G and [reference-snippets.md](./references/config-authoring/reference-snippets.md).6364## Guardrails6566- Do not weaken deny-by-default security posture without explicit user approval.67- Do not claim runtime verification if container/runtime prerequisites were missing.68- Keep changes minimal and scoped.69- Enforce cloud guardrails from `cloud-service-aemaacs-guardrails.md` before proposing config edits.7071## References7273- [config-patterns.md](./references/config-authoring/config-patterns.md)74- [config-scenario-playbooks.md](./references/config-authoring/config-scenario-playbooks.md) – high-value development scenarios adapted from broader MCP surfaces to core-7 execution75- [reference-snippets.md](./references/config-authoring/reference-snippets.md) – reusable starter snippets for consistent config authoring76- [validation-playbook.md](./references/config-authoring/validation-playbook.md)77- [mcp-tool-orchestration.md](./references/config-authoring/mcp-tool-orchestration.md)78- For **runtime prompts** and **troubleshooting scenarios** (tail_logs, trace_request, monitor_metrics, inspect_cache), use the **incident-response** skill reference `runtime-prompts-and-troubleshooting-scenarios.md` when incident triage is needed.79- [quick-start-execution-path.md](./references/dispatcher-foundation/quick-start-execution-path.md) – single entry path for new users and broad requests80- [local-sdk-execution.md](./references/dispatcher-foundation/local-sdk-execution.md) – shipped local SDK launcher contract for `docker_run.sh`, hot reload, and runtime env vars81- [repo-layout-workflows.md](./references/dispatcher-foundation/repo-layout-workflows.md) – map the user repo to the dispatcher `src` root and likely file families82- [playbook-command-linkage.md](./references/dispatcher-foundation/playbook-command-linkage.md) – convert selected playbooks into exact MCP command chains83- [mode-specific-verification-matrix.md](./references/dispatcher-foundation/mode-specific-verification-matrix.md)84- [cloud-service-aemaacs-guardrails.md](./references/dispatcher-foundation/cloud-service-aemaacs-guardrails.md) – cloud-service-only immutable/include/runtime boundary checks from AEMaaCS patterns85- [test-case-catalog.md](./references/dispatcher-foundation/test-case-catalog.md)86- [change-risk-and-rollback-template.md](./references/dispatcher-foundation/change-risk-and-rollback-template.md)87- [public-doc-citation-rules.md](./references/dispatcher-foundation/public-doc-citation-rules.md)88- [public-docs-index.md](./references/dispatcher-foundation/public-docs-index.md)89- [core-7-tools-reference.md](./references/dispatcher-foundation/core-7-tools-reference.md)