+A wizard-guided write operation that translates a `docker-compose.yml` from a public Git Repository into Kubernetes resources and provisions them in a single Namespace. Entry point is the same `DeployApplicationView` as Deploy Application, selected as a second mode. The wizard runs in three steps: (1) Git Repository URL + branch + optional path to the Compose file + Namespace name — GreenCap fetches and parses the file; (2) review screen showing all resources to be created, editable PVC and Secret fields, warnings for unsupported or ignored directives, and pending Builds for services with `build:`; (3) execution — Kaniko Builds run first (one per service with `build:`, live log), then all Kubernetes resources are created, and a result summary is shown. Translation rules: each Compose `service` becomes a Deployment; `ports:` becomes a ClusterIP Service; `environment:` keys matching `PASSWORD`, `SECRET`, `TOKEN`, `KEY`, or `CREDENTIAL` (case-insensitive) go to a Secret (`<service>-secret`), the rest to a ConfigMap (`<service>-config`); named `volumes:` become PersistentVolumeClaims (`<service>-pvc`, defaulting to 1Gi and the cluster's default StorageClass, editable); bind-mount volumes are ignored with a warning; `depends_on:` is ignored with an informative warning; `build:` triggers a Kaniko Build using the same Git Repository as context, pushing to the Cluster's Registry — image name taken from `image:` if declared alongside `build:`, otherwise defaults to `<service-name>:latest` (editable); `image:` without `build:` is used as-is. All generated resources carry `app.kubernetes.io/part-of: <namespace>` and `app.kubernetes.io/component: <service-name>` labels so they appear grouped in Topologia. On full success, navigates to Topologia of the new Namespace; on partial failure, stays on an inline result screen. No rollback on failure. Protected by `PROJECT_DEPLOY_APPLICATION`.
0 commit comments