📦 Add ASC support to a repository
Use asc.yaml for one application, asc.settings.yaml for operator-configurable values, and asc.stack.yaml for multiple applications in one repository.
One application
Place asc.yaml at the repository root:
yaml
name: example-web
version: 1.0.0
type: docker
settings: ./asc.settings.yaml
runtime:
image: ghcr.io/acme/example-web:1.0.0Keep environment variables, ports and volumes in asc.settings.yaml:
yaml
settings:
- key: http_port
type: ports
default: [8080]
container: 3000
env: PORT
- key: data
type: volumes
default: [/app/data]
- key: admin_password
type: secret
required: true
env: ADMIN_PASSWORDMultiple applications
Use asc.stack.yaml at the root and put every app's asc.yaml in its declared directory:
yaml
name: example-stack
version: 1.0.0
apps:
- { name: database, path: ./database }
- { name: web, path: ./web, depends_on: [database] }
- { name: metrics, path: ./metrics, optional: true }The root has exactly one entry point: asc.yaml or asc.stack.yaml. Docker packages require runtime.image or runtime.image-build; native packages require runtime.start. ports describes host ports, while container fixes the internal target. Stack dependencies must exist and cannot form cycles.
Validate packages with the ASC schemas before publishing.