chapter three

3 Getting started with Kargo

 

This chapter covers

  • Understanding what Kargo is and where it fits between CI and GitOps
  • Modeling delivery with Kargo’s five core resource types
  • Installing Kargo and Argo CD in a cluster
  • Running your first end-to-end promotion
  • Diagnosing common first-attempt failures

Chapters 1 and 2 made the case for a promotion control plane: deployment and promotion are distinct concerns, Kubernetes amplifies the gap, and the informal patterns most teams rely on break down at scale. This chapter is where we start building. To keep it concrete, we’ll follow Devon Park, the platform engineering lead at Lumen Retail, our running example, as Devon installs Kargo on Lumen’s platform cluster and runs the first promotion.

By the end of it, you’ll have Kargo running in your cluster and a complete end-to-end promotion working: a container image discovered from a registry, a Freight created, three Stages defined, and the image advanced from dev through staging to production while Argo CD reconciles each environment in turn. Along the way, you’ll meet Kargo’s five core resource types in enough depth to reason about problems when they arise, because Kargo isn’t a utility you configure and forget. It becomes a core layer of your delivery architecture.

3.1 What Kargo is and where it fits

Kargo is the promotion control plane at the center of continuous promotion. This section covers where it came from and how it fits into the delivery stack before we put it into your cluster.

3.2 The core resource model

3.2.1 Warehouse: where artifacts come from

3.2.2 Freight: an immutable artifact identity

3.2.3 Stage: a node in the promotion graph

3.2.4 Promotion: a durable advancement event

3.2.5 Project: the team or service scope

3.3 What you need before you start

3.4 Installing Kargo

Installing Argo CD

3.5 Building your first promotion

3.5.1 Preparing the GitOps repository

3.5.2 Creating the Kargo Project

3.5.3 Creating the Argo CD Applications

3.5.4 Configuring Git credentials for Kargo

3.5.5 Defining the Warehouse

3.5.6 Defining the Stages

3.5.7 Triggering your first Promotion

3.6 Troubleshooting your first promotion

3.6.2 The Promotion fails at git-push