# compose-spec/compose-spec

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/compose-spec-compose-spec).**

2,618 stars · 777 forks · Dockerfile · apache-2.0

## Links

- GitHub: https://github.com/compose-spec/compose-spec
- Homepage: https://compose-spec.io
- awesome-repositories: https://awesome-repositories.com/repository/compose-spec-compose-spec.md

## Topics

`compose` `containers` `docker` `kubernetes` `specification`

## Description

This project is a declarative container orchestration standard and a vendor-neutral application model. It provides a portable configuration format for describing multi-container applications, including their services and dependencies, to enable consistent deployments across different environments.

The specification focuses on cloud-agnostic deployment, allowing application definitions to be translated into platform-specific resources for various container orchestrators and cloud provider APIs, including Kubernetes. It facilitates portability from local development to production by separating application intent from infrastructure implementation.

The framework covers the definition of virtual network topologies and persistent volume mappings. It also includes capabilities for simulating production environments by replacing cloud-specific configurations and secrets with local resource mocks.

## Tags

### DevOps & Infrastructure

- [Cloud-Agnostic Containerization](https://awesome-repositories.com/f/devops-infrastructure/cloud-deployment/cloud-agnostic-containerization.md) — Enables consistent deployment of containerized applications across different cloud providers using a vendor-neutral model.
- [Agnostic Deployment Mappings](https://awesome-repositories.com/f/devops-infrastructure/cloud-deployment-platforms/agnostic-deployment-mappings.md) — Translates portable application definitions into platform-specific resources for Kubernetes and various cloud provider APIs.
- [Container Orchestration Abstractions](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration-abstractions.md) — Provides a high-level abstraction that groups containers into logical services with independent networking and storage.
- [Container Orchestration Specifications](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration-specifications.md) — Establishes a platform-agnostic specification for mapping application definitions to container orchestrators and cloud APIs.
- [Vendor-Neutral Application Models](https://awesome-repositories.com/f/devops-infrastructure/container-orchestration/container-runtimes/runtime-configuration-interfaces/docker-socket-orchestrators/docker-target-configurators/docker-container-deployments/multi-container-stacks/vendor-neutral-application-models.md) — Provides a vendor-neutral format for describing services and their dependencies to enable portable deployments.
- [Container Network and Volume Configuration](https://awesome-repositories.com/f/devops-infrastructure/container-storage-persistence/container-network-and-volume-configuration.md) — Declares inter-service communication networks and persistent storage volumes as first-class YAML constructs.
- [Environment Portability Frameworks](https://awesome-repositories.com/f/devops-infrastructure/environment-portability-frameworks.md) — Provides a single declarative specification to move applications seamlessly from local development to production platforms.
- [Multi-Service Application Definitions](https://awesome-repositories.com/f/devops-infrastructure/platform-as-a-service/multi-service-application-definitions.md) — Defines a complete application as a set of services, networks, and volumes in a single YAML file for consistent deployment.
- [Platform Provider Models](https://awesome-repositories.com/f/devops-infrastructure/platform-provider-models.md) — Provides an abstraction layer that maps generic application resource definitions to platform-specific APIs and binaries.
- [Infrastructure Resource Mocks](https://awesome-repositories.com/f/devops-infrastructure/cloud-infrastructure-deployment/managed-infrastructure-deployment/infrastructure-deployment-provisioning/cloudformation-templates/infrastructure-resource-mocks.md) — Simulates production cloud environments by replacing cloud-specific configurations and secrets with local resource mocks. ([source](https://cdn.jsdelivr.net/gh/compose-spec/compose-spec@main/README.md))
- [Lifecycle Sequence Orchestration](https://awesome-repositories.com/f/devops-infrastructure/dependency-graph-orchestrators/lifecycle-sequence-orchestration.md) — Coordinates the sequential startup and shutdown of interdependent containers based on a resolved dependency graph.
- [Kubernetes Translation Specifications](https://awesome-repositories.com/f/devops-infrastructure/kubernetes-deployments/kubernetes-translation-specifications.md) — Defines a standard that translates simplified application definitions into complex Kubernetes API resources for deployment.
- [Local Development Environments](https://awesome-repositories.com/f/devops-infrastructure/local-development-environments.md) — Simulates production environments and secrets using local files to test multi-container applications before cloud deployment.

### Development Tools & Productivity

- [Infrastructure Topology Definitions](https://awesome-repositories.com/f/development-tools-productivity/node-management-interfaces/infrastructure-topology-definitions.md) — Models the relationship between services, virtual networks, and persistent volumes as first-class configuration constructs.
- [Command Orchestration](https://awesome-repositories.com/f/development-tools-productivity/command-orchestration.md) — Creates, starts, and manages all defined application services together through a single unified command interface.

### Software Engineering & Architecture

- [Application Model Definitions](https://awesome-repositories.com/f/software-engineering-architecture/application-lifecycle-management/configuration-management/configuration-formats-and-schemas/yaml-configuration-files/application-model-definitions.md) — Provides a declarative YAML model for describing multi-container applications, including services, networks, and volumes.
- [Resource Mocking Layers](https://awesome-repositories.com/f/software-engineering-architecture/microservices-development/local-cluster-dependency-debugging/local-cloud-simulation/resource-mocking-layers.md) — Implements a mocking layer that replaces production-grade secrets and cloud configurations with local file-system equivalents.

### Web Development

- [Declarative Application Definitions](https://awesome-repositories.com/f/web-development/declarative-application-definitions.md) — Uses a structured YAML format to define multi-container application topologies and separate intent from implementation.
