Use compose-go https://github.com/compose-spec/compose-go to make Katenary parsing compose file the official way. Add labels: - `volume-from` (with `same-pod`) to avoid volume repetition - `ignore` to ignore a service - `mapenv` (replaces the `env-to-service`) to map environment to helm variable (as a template string) - `secret-vars` declares variables as secret values More: - Now, environment (as secret vars) are set in values.yaml - Ingress has got annotations in values.yaml - Probes (liveness probe) are improved - fixed code to optimize - many others fixes about path, bad volume check, refactorisation, tests...
32 lines
780 B
YAML
32 lines
780 B
YAML
version: "3"
|
|
|
|
# this example is absolutely not working, it's an example to see how it is converted
|
|
# by Katenary
|
|
services:
|
|
webapp:
|
|
image: php:7-apache
|
|
environment:
|
|
DB_HOST: database
|
|
ports:
|
|
- "8080:80"
|
|
labels:
|
|
# expose an ingress
|
|
katenary.io/ingress: 80
|
|
# DB_HOST is actually a service name
|
|
katenary.io/mapenv: |
|
|
DB_HOST: {{ .Release.Name }}-database
|
|
depends_on:
|
|
- database
|
|
|
|
database:
|
|
image: mariadb:10
|
|
environment:
|
|
MARIADB_ROOT_PASSWORD: foobar
|
|
MARIADB_USER: foo
|
|
MARIADB_PASSWORD: foo
|
|
MARIADB_DATABASE: myapp
|
|
labels:
|
|
# because we don't provide "ports" or "expose", alert katenary
|
|
# to use the mysql port for service declaration
|
|
katenary.io/ports: 3306
|