Skip to content

chore(docker): deprecate legacy conf/Dockerfile + conf/docker-compose.yaml (SEC-F25)#435

Merged
pcalnon merged 2 commits into
mainfrom
chore/deprecate-legacy-conf-docker
Jul 7, 2026
Merged

chore(docker): deprecate legacy conf/Dockerfile + conf/docker-compose.yaml (SEC-F25)#435
pcalnon merged 2 commits into
mainfrom
chore/deprecate-legacy-conf-docker

Conversation

@pcalnon

@pcalnon pcalnon commented Jul 7, 2026

Copy link
Copy Markdown
Owner

Summary

Launch-path bind audit SEC-F25 (reclassified). The conf/Dockerfile (CMD uvicorn main:app --host 0.0.0.0) was a latent guard-bypass, but investigation showed it's paired with a legacy/superseded conf/docker-compose.yaml: it publishes all interfaces (8050:8050), sets no bind attestation, and still wires a dead cascor-backend:8000 service. The maintained path is juniper-deploy, which builds the repo-root Dockerfile (python src/main.py — settings-driven, SEC-F22 guard-authoritative). Per the owner decision, deprecate rather than modernize.

Removed

  • conf/Dockerfile
  • conf/docker-compose.yaml

Live references repointed to the root Dockerfile / juniper-deploy

  • src/tests/regression/test_docker_demo_mode_default.py — drop the conf/Dockerfile demo-mode + existence checks; the root-Dockerfile demo-mode guard and the path-resolution sanity check remain (2 tests, both pass)
  • .dockerignore (stale entry removed)
  • AGENTS.md (both Docker blocks; the "canonical entrypoint" note now reads python src/main.py)
  • docs/DEVELOPER_CHEATSHEET.md (Docker rows + the "add a dependency" step)
  • docs/deployment/KUBERNETES_DEPLOYMENT_PLAN.md (build file: + location)
  • notes/juniper-canopy_OTHER_DEPENDENCIES.md
  • .github/instructions/copilot-instructions.md (conf/ paths)

Archival notes/ under history/, pull_requests/, analysis/, development/ are CI-excluded and intentionally left as historical record.

Testing

  • test_docker_demo_mode_default.py: 2 passed (root-Dockerfile coverage intact).
  • pre-commit on all changed files: markdownlint, doc-links, flake8, black/isort — all Passed.
  • juniper-check-doc-links with the exact CI exclude set: PASSED (no markdown link targeted the deleted files; all refs were inline-code).

See juniper-ml notes/JUNIPER_2026-07-06_JUNIPER-ECOSYSTEM_LAUNCH-PATH-BIND-AUDIT.md (SEC-F25).

🤖 Generated with Claude Code

https://claude.ai/code/session_01LX5ToumBaABH3QutQC86sM

pcalnon and others added 2 commits July 6, 2026 20:00
….yaml (SEC-F25)

The conf/ Docker setup was superseded by juniper-deploy: conf/docker-compose.yaml
published all interfaces (8050:8050), set no bind attestation, and still wired a
dead cascor-backend:8000 service. juniper-deploy builds the repo-root Dockerfile
(python src/main.py, settings-driven, guard-authoritative) and orchestrates the
full stack. Remove both legacy files and repoint every live reference.

Removed:
- conf/Dockerfile (CMD uvicorn main:app --host 0.0.0.0 -- the SEC-F25 latent bypass)
- conf/docker-compose.yaml

Updated live references (archival notes/ under history/pull_requests/analysis/
development are CI-excluded and left as historical record):
- src/tests/regression/test_docker_demo_mode_default.py: drop the conf/Dockerfile
  demo-mode + existence checks; the root-Dockerfile guards remain (2 tests pass)
- .dockerignore, AGENTS.md (2 Docker blocks), docs/DEVELOPER_CHEATSHEET.md,
  docs/deployment/KUBERNETES_DEPLOYMENT_PLAN.md,
  notes/juniper-canopy_OTHER_DEPENDENCIES.md, .github/instructions/copilot-instructions.md

pre-commit clean (markdownlint + doc-links + flake8 + black/isort).

See juniper-ml notes/JUNIPER_2026-07-06_JUNIPER-ECOSYSTEM_LAUNCH-PATH-BIND-AUDIT.md (SEC-F25).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LX5ToumBaABH3QutQC86sM
@pcalnon pcalnon self-assigned this Jul 7, 2026

@pcalnon pcalnon left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approved

@pcalnon pcalnon merged commit 96062ac into main Jul 7, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant