Skip to main content

Migrating Legacy Applications

This section guides you through retrofitting existing applications to run on the Ybor Platform. Whether you have a monolithic application, an existing containerized service, or something in between, these guides help you adopt platform capabilities incrementally—without requiring a full rewrite.

Why Migrate to the Platform?

Moving your applications to the Ybor Platform provides:

  • Standardized CI/CD — Consistent build, test, and deploy workflows across all applications
  • GitOps Deployments — Declarative infrastructure with ArgoCD for traceable, auditable releases
  • Production-Ready Defaults — Automatic high availability, autoscaling, and security configurations
  • Unified Observability — Centralized logging, metrics, and tracing across your entire portfolio

Migration Paths

Not every application needs full platform integration. Choose the approach that fits your situation:

ApproachWhen to UseEffort
Full IntegrationNew greenfield projects or major rewritesHigher upfront, lower ongoing
Incremental AdoptionExisting applications with ongoing developmentSpread over time
Deployment OnlyStable applications that just need hostingMinimal

Full Integration

Adopt all platform capabilities from the start: CI/CD, containerization, PlatformApplication manifests, and full observability. Best for new development or when you're already planning significant changes.

Incremental Adoption

Start with deployment, then progressively add observability, improve CI/CD, and modernize the codebase over time. This approach lets you realize benefits immediately while spreading the migration effort.

Deployment Only

If your application is stable and you primarily need managed hosting, you can deploy it with minimal changes. Add a Dockerfile, create a basic PlatformApplication manifest, and connect to ArgoCD. Observability and CI/CD improvements can come later.

Prerequisites

Before starting your migration, ensure you have:

  • GitHub repository access with Actions enabled
  • Artifactory credentials (ARTIFACTORY_USERNAME, ARTIFACTORY_IDENTITY_TOKEN)
  • Platform dispatch token (UPDATE_MANIFEST_TOKEN)
  • Access to your organization's .platform repository
  • ArgoCD access for your target environments

See Artifact Management for credential setup.

Migration Steps

The migration process follows four main phases, though not all are strictly required:

PhaseRequirementPurpose
Assessing ReadinessRecommendedEvaluate your application and plan the migration
BuildsRecommendedSet up CI/CD and containerization
DeploymentsRequiredCreate PlatformApplication manifests and connect to ArgoCD
ObservabilityIncrementalAdd health checks, logging, metrics, and tracing
Start with the Minimum

You only need Deployments to get your application running on the platform. If your container image is already being built and published elsewhere, you can skip the Builds section and manually update the .platform folder. Automated CI/CD can be added later for a more streamlined workflow.

What's Different for Legacy Applications?

If you've used platform generators for new projects, you'll notice that migrating existing applications requires more hands-on work:

  • No scaffolding — You're adapting existing code rather than starting from templates
  • Existing constraints — Your application may have dependencies or patterns that need accommodation
  • Incremental approach — Changes happen within a running system

The guides in this section focus on these migration-specific challenges rather than repeating reference documentation. They'll point you to the appropriate reference sections when you need deeper detail.

In This Section

  • Assessing Readiness — Evaluate your application and plan the migration path
  • Builds — Set up CI/CD pipelines and containerization
  • Deployments — Create PlatformApplication manifests and connect to ArgoCD
  • Observability — Incrementally add health checks, logging, metrics, and tracing