Skip to content

Importing Projects

KubeOrch can automatically convert existing projects into visual workflows, saving you from manually recreating infrastructure.

SourceHow It Works
Docker Compose fileUpload a docker-compose.yml file directly
GitHub repositoryProvide a GitHub URL — KubeOrch clones and detects compose files
GitLab repositoryProvide a GitLab URL
Generic Git URLAny .git URL

The import system analyzes your Docker Compose file and creates equivalent Kubernetes resources:

Docker ComposeKubernetes (KubeOrch Node)
services: entryDeployment node (with image, ports, replicas)
ports: mappingService node (ClusterIP/NodePort)
environment: varsConfigMap or env vars on the Deployment
volumes: namedPersistentVolumeClaim node
depends_on:Edges connecting dependent services
build: contextFlagged for Nixpacks build (source-to-image)
  1. Click Import in the workflow canvas toolbar
  2. Select Upload File
  3. Choose your docker-compose.yml file
  4. Preview the detected services, suggested nodes, and edges
  5. Adjust if needed, then click Apply
  1. Click Import in the workflow canvas toolbar
  2. Select From Git
  3. Paste the repository URL (e.g., https://github.com/org/project)
  4. Optionally specify a branch (defaults to main)
  5. KubeOrch clones the repo (progress streamed via SSE), detects compose files, and analyzes
  6. Preview and apply
Terminal window
# Upload a docker-compose.yml
curl -X POST http://localhost:3000/v1/api/import/upload \
-H "Authorization: Bearer <token>" \
-F "file=@docker-compose.yml"
Terminal window
# Start analysis (returns session ID for long-running clone operations)
curl -X POST http://localhost:3000/v1/api/import/analyze \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"source": "github",
"url": "https://github.com/org/project",
"branch": "main"
}'
# Poll session status or stream via SSE
curl http://localhost:3000/v1/api/import/:sessionId
curl http://localhost:3000/v1/api/import/:sessionId/stream # SSE

Imported nodes are automatically positioned on the canvas using the layout engine. The engine:

  1. Groups services with their related resources (Service, ConfigMap, PVC)
  2. Arranges dependent services vertically based on depends_on relationships
  3. Spaces nodes to avoid overlap

If a Docker Compose service uses build: instead of image:, KubeOrch flags it for a source-to-image build. The build config includes:

  • repoUrl — Git repository URL
  • branch — Target branch
  • buildContext — Docker build context path
  • useNixpacks — Whether to use Nixpacks (auto-detected)
  • dockerfile — Path to Dockerfile (if not using Nixpacks)

Users can trigger the build from the Build page, which clones the repo, builds the image with Nixpacks, and pushes to a configured container registry.