Skip to content

Commit f28f683

Browse files
committed
docs: replace docker compose links that aren't properly pointing to compose
1 parent 1184bb6 commit f28f683

File tree

5 files changed

+13
-13
lines changed

5 files changed

+13
-13
lines changed

docs/our-chosen-toolchain.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,7 @@ Here is the breakdown of the chosen tool(s) for each defined area:
9191

9292
- **15: Container Orchestration (Local / Single Host):**
9393

94-
- **Chosen:** {docker}`Docker Compose<>`.
94+
- **Chosen:** {docker-compose}`Docker Compose<>`.
9595
- **Why:** The standard, intuitive tool for defining and running multi-container applications locally, seamlessly integrating with built container images for development and testing stacks. ([Details](topics/15_compose-local.md))
9696

9797
- **16: Deployment to Production Orchestrators:**

docs/topics/11_container-build.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,6 @@ By choosing this approach, the template provides a standard, flexible, robust, a
7474
- **Dependency Management (02):** {uv}`uv<>` is the recommended tool for managing and installing dependencies _inside_ the Docker image.
7575
- **Task Automation (12):** {nox}`Nox<>` sessions call the `docker build` or `podman build` command via `uv run` (or `session.run` directly for the `docker`/`podman` command itself, as it's external) to build the image.
7676
- **CI Orchestration (13) & CD Orchestration (14):** Container image builds are often triggered in CI/CD pipelines via Task Automation. CD pipelines handle pushing the built images to container registries.
77-
- **Container Orchestration (Local) (15):** The image built in this area is the base for defining multi-container setups locally using {docker}`docker-compose<>`.
77+
- **Container Orchestration (Local) (15):** The image built in this area is the base for defining multi-container setups locally using {docker-compose}`docker-compose<>`.
7878
- **Deployment to Production Orchestrators (16):** The image built here is the primary artifact deployed to production environments managed by tools like Kubernetes/{helm}`Helm<>`/{argocd}`Argo CD<>`.
7979
- **Dev Containers (17):** The Dev Container often uses a similar or shared base image (or even the same `Dockerfile`) as the production image, leveraging common layers and consistency.

docs/topics/15_compose-local.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ This section evaluates tools used to define and run multi-container applications
2525

2626
## Tools and Approaches Evaluated
2727

28-
### Option 1: {docker}`Docker Compose<>`
28+
### Option 1: {docker-compose}`Docker Compose<>`
2929

3030
- **Description:** A widely used tool for defining and running multi-container Docker applications. Configuration is done via a `compose.yaml` (or `docker-compose.yml`) file using YAML.
3131
- **Evaluation:**
@@ -34,7 +34,7 @@ This section evaluates tools used to define and run multi-container applications
3434
- **Service Orchestration:** Excellent. Core purpose is to define and orchestrate multiple interconnected services, setting up internal networks, defining volumes for data persistence, and managing dependencies/startup order. Provides commands (`up`, `down`, `start`, `stop`, `restart`, `logs`, `exec`).
3535
- **Image Management:** Excellent. Can reference pre-built images from registries (`image: ...`) or build images locally based on a `Dockerfile` (`build: .` pointing to a directory containing a Dockerfile) – directly integrating with Topic 11's output.
3636
- **Ease of Use (Development Workflow):** Excellent. Designed for developer productivity. Simple commands (`docker compose up`) start the entire defined application stack. Easy to stop the stack or view combined logs.
37-
- **OS Interoperability:** Excellent. The {docker}`Docker Compose<>` CLI tool itself works reliably across Linux, macOS, and Windows. It interacts with the local {docker}`Docker<>` or {podman}`Podman<>` runtime, which are also cross-platform.
37+
- **OS Interoperability:** Excellent. The {docker-compose}`Docker Compose<>` CLI tool itself works reliably across Linux, macOS, and Windows. It interacts with the local {docker}`Docker<>` or {podman}`Podman<>` runtime, which are also cross-platform.
3838
- **Integration:** Excellent. Integrates directly with `Dockerfile`s (Topic 11). Commands are easily run from the terminal, within Dev Containers (Topic 17), or via Task Automation ({nox}`Nox<>`) if needed to control the multi-container setup. Can define health checks and dependencies for orchestration.
3939
- **Maturity & Stability:** Very High. A mature, stable, widely used standard for local/single-host container orchestration. Recently transitioned from `docker-compose` (Python CLI) to `docker compose` (built into Docker CLI, Go implementation), but the configuration file format remains compatible.
4040
- **Community & Documentation:** Very High. Large, active community, extensive documentation.
@@ -44,18 +44,18 @@ This section evaluates tools used to define and run multi-container applications
4444
### Option 2: Orchestrator Tools (e.g., Raw Kubernetes Manifests, {helm}`Helm<>` - Kubernetes package manager, {argocd}`Argo CD<>` - Kubernetes CD)
4545

4646
- **Description:** Tools used for orchestrating containers in production environments, primarily Kubernetes. (More aligned with Topic 16).
47-
- **Evaluation:** These tools (Kubernetes, Helm, Argo CD, etc.) are designed for complex, distributed, production-grade orchestration, not the streamlined local multi-container development experience. Their configuration is typically more complex and their local developer workflows are often less seamless for simple start/stop/log tasks compared to {docker}`Docker Compose<>`. They are designed to consume images, not necessarily simplify the local build-and-run loop for multiple dependent services in development.
47+
- **Evaluation:** These tools (Kubernetes, Helm, Argo CD, etc.) are designed for complex, distributed, production-grade orchestration, not the streamlined local multi-container development experience. Their configuration is typically more complex and their local developer workflows are often less seamless for simple start/stop/log tasks compared to {docker-compose}`Docker Compose<>`. They are designed to consume images, not necessarily simplify the local build-and-run loop for multiple dependent services in development.
4848
- **Conclusion:** While crucial for production (Topic 16), they are not the appropriate tools for the local/single-host multi-container development workflow task defined in this area.
4949

5050
## Chosen Tool(s)
5151

52-
- Multi-container definition and orchestration: **{docker}`Docker Compose<>`** (using `compose.yaml` or `docker-compose.yml`).
52+
- Multi-container definition and orchestration: **{docker-compose}`Docker Compose<>`** (using `compose.yaml` or `docker-compose.yml`).
5353

5454
## Justification for the Choice
5555

56-
**{docker}`Docker Compose<>`** is the definitive choice for defining and orchestrating multi-container applications in the context of this template's primary focus areas (local development, testing, simple single-host deployment) because it directly meets the needs of this specific layer:
56+
**{docker-compose}`Docker Compose<>`** is the definitive choice for defining and orchestrating multi-container applications in the context of this template's primary focus areas (local development, testing, simple single-host deployment) because it directly meets the needs of this specific layer:
5757

58-
1. **Standard for Local Orchestration:** {docker}`Docker Compose<>` is the **widely accepted standard tool** for defining multi-service Docker applications using a simple, **standard YAML format** (`compose.yaml`/`docker-compose.yml`). This makes the configuration **understandable and maintainable**.
58+
1. **Standard for Local Orchestration:** {docker-compose}`Docker Compose<>` is the **widely accepted standard tool** for defining multi-service Docker applications using a simple, **standard YAML format** (`compose.yaml`/`docker-compose.yml`). This makes the configuration **understandable and maintainable**.
5959
2. **Excellent Local Development DX:** It provides **easy-to-use command-line interface** for controlling the entire application stack locally (`docker compose up`, `docker compose down`, `logs`, etc.). This directly supports the goal of facilitating local development workflows for multi-service applications (addressing **Ease of Use**).
6060
3. **Seamless Dockerfile Integration:** It natively supports referencing pre-built images and, crucially, **building images directly from a `Dockerfile`** within the compose configuration. This creates a direct link to the container image building process defined in Topic 11.
6161
4. **Robust and Cross-Platform:** The tool is **highly OS-interoperable**, running reliably on Linux, macOS, and Windows, requiring only the underlying Docker or Podman runtime to be present (addressing **OS Interoperability**).
@@ -67,5 +67,5 @@ By choosing {docker-compose}`Docker Compose<>`, the template provides a standard
6767
## Interactions with Other Topics
6868

6969
- **Application Container Building (11):** {docker-compose}`Docker Compose<>` references the container images built in Area 11, often via a `build: .` directive pointing to the project's `Dockerfile` or via an `image:` reference to a registry.
70-
- **Dev Containers (17):** Dev Containers might potentially use {docker}`Docker Compose<>` as their backing "dev container" when setting up a development environment that itself consists of multiple containers.
70+
- **Dev Containers (17):** Dev Containers might potentially use {docker-compose}`Docker Compose<>` as their backing "dev container" when setting up a development environment that itself consists of multiple containers.
7171
- **Deployment to Production Orchestrators (16):** While different tools are used, the _concepts_ defined in `compose.yaml` (services, networks, volumes) have analogies in production orchestrators. Users might transition from a local compose setup to production manifests.

docs/topics/16_prod-deploy-guidance.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,15 +52,15 @@ We don't evaluate specific tools _for inclusion as configuration files in the te
5252
## Chosen Approach
5353

5454
- **Focus on Artifact Readiness:** Ensure the template's workflows reliably build and publish **standard, consumable artifacts** (container images from Topic 11, Python packages from Topic 09) suitable as inputs for common production deployment tools.
55-
- **Provide Documentation and Guidance:** Include clear documentation that acknowledges the external and complex nature of production deployment and guides users on how the template's outputs can be used with **common types of deployment tools and platforms**, mentioning examples like {docker}`Docker Compose<>` (Topic 15 for local context), Kubernetes orchestration (raw manifests, {helm}`Helm<>`), GitOps tools ({argocd}`Argo CD<>`), and serverless options. Do **NOT** include production deployment manifests or specific cloud configuration files within the template's core structure by default.
55+
- **Provide Documentation and Guidance:** Include clear documentation that acknowledges the external and complex nature of production deployment and guides users on how the template's outputs can be used with **common types of deployment tools and platforms**, mentioning examples like {docker-compose}`Docker Compose<>` (Topic 15 for local context), Kubernetes orchestration (raw manifests, {helm}`Helm<>`), GitOps tools ({argocd}`Argo CD<>`), and serverless options. Do **NOT** include production deployment manifests or specific cloud configuration files within the template's core structure by default.
5656

5757
## Justification for the Choice
5858

5959
This approach provides maximum value to the user within the scope of a general Python project template while being realistic about the complexity of production deployment:
6060

6161
1. **Ensuring Compatibility:** By prioritizing the generation of **standard, high-quality build artifacts** (container images, packages) in Topics 09 and 11, the template fulfills the fundamental requirement that its outputs **CAN be consumed** by any standard production deployment method (addressing **Artifact Compatibility**). This is the template's core responsibility related to deployment readiness.
6262
2. **Clear Scope Definition:** Explicitly stating that full production deployment configuration is complex and external to the template prevents users from expecting infrastructure-specific solutions within the base template. This sets realistic expectations (addressing **Scope Acknowledgment**). This aligns with **"Special cases should be allowed, but at their own expense"**, treating full infra config as a complex external special case.
63-
3. **Empowering Users with Guidance:** Providing documentation that lists common types of deployment tools and platforms (Kubernetes, ECS, GKE, AKS, Lambda, Cloud Run, App Services, {helm}`Helm<>`, {argocd}`Argo CD<>`, {docker}`docker-compose<>` for local/simple reference) and explains how the template's standard outputs fit into these ecosystems gives users the knowledge to **choose and implement their specific deployment solution** (addressing **Guidance Quality** and **Relevance of Mentioned Tools**). It leverages the work done in Areas 09, 11, and 14.
63+
3. **Empowering Users with Guidance:** Providing documentation that lists common types of deployment tools and platforms (Kubernetes, ECS, GKE, AKS, Lambda, Cloud Run, App Services, {helm}`Helm<>`, {argocd}`Argo CD<>`, {docker-compose}`docker-compose<>` for local/simple reference) and explains how the template's standard outputs fit into these ecosystems gives users the knowledge to **choose and implement their specific deployment solution** (addressing **Guidance Quality** and **Relevance of Mentioned Tools**). It leverages the work done in Areas 09, 11, and 14.
6464

6565
By focusing on producing consumable artifacts and providing helpful guidance on how to integrate them into the wider deployment landscape, the template ensures its outputs are production-ready inputs for whatever external infrastructure and orchestration layer the user chooses, without adding overly complex or highly context-specific configurations to the template's core.
6666

@@ -69,4 +69,4 @@ By focusing on producing consumable artifacts and providing helpful guidance on
6969
- **Packaging Build (09):** Produces Python packages (sdist/wheel) which can be deployment artifacts for serverless or other methods.
7070
- **Application Container Building (11):** Produces container images, the most common deployment artifact for orchestrated environments.
7171
- **Task Automation (12), CI Orchestration (13), CD Orchestration (14):** These workflows automate the creation and _potential_ publication of the artifacts needed for production deployment.
72-
- **Container Orchestration (Local) (15):** While focused on local use, {docker}`docker-compose<>` concepts and tools serve as a stepping stone or simplified analogy for understanding multi-service orchestration concepts used in production platforms. It's a related tool category mentioned in guidance.
72+
- **Container Orchestration (Local) (15):** While focused on local use, {docker-compose}`docker-compose<>` concepts and tools serve as a stepping stone or simplified analogy for understanding multi-service orchestration concepts used in production platforms. It's a related tool category mentioned in guidance.

docs/workflow/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ Here's how the template facilitates your day-to-day coding work:
4747
4848
{nox}`Nox<>` handles running these tools within the correct, consistent environments using {uv}`uv run<>`.
4949
50-
4. **Local Container Development (Optional):** If your project involves multiple services or you prefer an encapsulated environment, use **Dev Containers** ([Containerized Development Environments (17)](../topics/17_dev-containers.md)) for a consistent development environment, and **{docker}`Docker Compose<>`** ([Container Orchestration (Local) (15)](../topics/15_compose-local.md)) to orchestrate local multi-service stacks.
50+
4. **Local Container Development (Optional):** If your project involves multiple services or you prefer an encapsulated environment, use **Dev Containers** ([Containerized Development Environments (17)](../topics/17_dev-containers.md)) for a consistent development environment, and **{docker-compose}`Docker Compose<>`** ([Container Orchestration (Local) (15)](../topics/15_compose-local.md)) to orchestrate local multi-service stacks.
5151
```bash
5252
# From project root with Docker/Podman running:
5353
# (Inside VS Code Dev Container or with compose installed)

0 commit comments

Comments
 (0)