Skip to main content
Version: 0.5.0
OSSEnterprise

Deployment Modes

Knodex supports three deployment modes that control how instance manifests are applied to the cluster. Each mode offers different trade-offs between convenience and auditability.

Overview

ModeHow It WorksBest For
DirectManifest is applied directly to the Kubernetes clusterDevelopment, testing, quick iterations
GitOpsManifest is committed to a Git repository; a GitOps controller (e.g., ArgoCD) applies itProduction, auditable environments
HybridManifest is applied directly AND committed to Git for record-keepingStaging, environments transitioning to GitOps

Selecting a Deployment Mode

When deploying an instance, select the deployment mode in the deployment form:

+--------------------------------------------------+
| Deployment Mode |
+--------------------------------------------------+
| (o) Direct ( ) GitOps ( ) Hybrid |
| |
| Repository: [ select repository... v ] |
| Branch: [ main ] |
| Path: [ manifests/ ] |
+--------------------------------------------------+

The repository, branch, and path fields appear only when GitOps or Hybrid mode is selected.

Direct Mode

What Happens

The instance manifest is applied directly to the Kubernetes cluster using the Knodex server's service account. No Git repository is involved.

When to Use

  • Development and testing environments
  • Quick prototyping and iteration
  • Environments where GitOps infrastructure is not available

UI Flow

  1. Fill in the deployment form.
  2. Ensure Direct is selected as the deployment mode.
  3. Click Deploy.
  4. The manifest is applied immediately to the cluster.

GitOps Mode

What Happens

The instance manifest is committed to a connected Git repository. A GitOps controller (such as ArgoCD or Flux) detects the change and applies the manifest to the cluster.

When to Use

  • Production environments
  • Regulated environments requiring audit trails
  • Teams following GitOps practices

Prerequisites

  • A Git repository must be connected to the project (see Project Management)
  • The repository must be accessible from the Knodex server
  • A GitOps controller must be configured to watch the target repository and path
Secret Exposure Risk

When using GitOps mode, instance manifests are committed to a Git repository. If your manifest references secrets by value (rather than by Kubernetes Secret reference), those values will be stored in Git. Always use Kubernetes Secret references or sealed secrets to avoid exposing sensitive data in your repository.

UI Flow

  1. Fill in the deployment form.
  2. Select GitOps as the deployment mode.
  3. Choose the target repository, branch, and path.
  4. Click Deploy.
  5. The manifest is committed to the repository. The GitOps controller applies it to the cluster.

Hybrid Mode

What Happens

The manifest is applied directly to the cluster AND committed to the Git repository. This provides immediate deployment with Git-based record-keeping.

When to Use

  • Staging environments
  • Teams transitioning from direct deployments to full GitOps
  • Scenarios requiring immediate deployment with an audit trail

Prerequisites

Same as GitOps mode -- a connected repository and appropriate access.

UI Flow

  1. Fill in the deployment form.
  2. Select Hybrid as the deployment mode.
  3. Choose the target repository, branch, and path.
  4. Click Deploy.
  5. The manifest is applied to the cluster immediately and committed to the repository.

Repository Requirements

For GitOps and Hybrid modes, the connected repository must meet these requirements:

  • The Knodex server must have write access (via a configured access token)
  • The target branch must exist
  • The target path must be within the repository root
  • The GitOps controller must be configured to reconcile from the same repository and path

See Project Management for how to connect repositories to your project.

Mode Availability

Not all modes are available in every configuration:

ConditionDirectGitOpsHybrid
No repository connectedAvailableUnavailableUnavailable
Repository connectedAvailableAvailableAvailable
Viewer roleUnavailableUnavailableUnavailable
Developer role or higherAvailableAvailableAvailable

Best Practices

EnvironmentRecommended ModeReason
DevelopmentDirectFast iteration, no Git overhead
StagingHybridImmediate deployment with audit trail
ProductionGitOpsFull auditability, rollback via Git, GitOps controller reconciliation