Core Concepts
Targets

Targets in Ctrlplane

Overview

A Target in Ctrlplane represents any entity that pipelines can excute against. This includes traditional infrastructure (e.g., EKS clusters) and abstract concepts (e.g., Salesforce accounts).

Key Features

  • External Management: Targets exist outside Ctrlplane (e.g., in cloud infrastructure, CI/CD systems).
  • Environment Association: Targets are linked to specific Environments, determining workflow triggers.
  • Flexible Types: Supports infrastructure-based and custom object Targets.
  • Label-based Filtering: Use labels for precise workflow targeting.

Target Lifecycle

  1. Creation:

    • API-driven: Programmatically create Targets with custom configurations.
    • Target Providers: Automated discovery and registration based on predefined criteria.
  2. Registration: Link Targets to relevant Environments in Ctrlplane.

  3. Workflow Triggering:

    • On Target addition to an Environment.
    • On Target updates (e.g., configuration changes).
    • During new software releases (most common).
  4. Custom Deployments: Targets can initiate infrastructure provisioning workflows.

Implementation Examples

EKS Cluster Target

  1. EKS cluster exists in AWS.
  2. Target provider discovers and registers it with region/name labels.
  3. Environment created with matching region filter.
  4. New release triggers deployment to matching EKS cluster Target.

Salesforce Account Target

  1. New Salesforce account created.
  2. Custom workflow provisions Kubernetes resources and infrastructure.
  3. Target provider registers new infrastructure components.
  4. Additional workflows configure infrastructure based on Salesforce settings.

Advanced Concepts

  • Dynamic Workflows: Customize actions based on Target type and Environment.
  • Complex Filtering: Combine labels for granular workflow control.

Target Registration Details

When registered in Ctrlplane, a Target includes:

  • Metadata: Kind, version, labels
  • Configuration: Schema-defined properties
  • Status: Current state (e.g., active, inactive, error)

Registration enables:

  • Environment association via labels
  • Workflow triggering based on defined conditions
  • Visibility in Ctrlplane dashboard for monitoring and management

Environment Assignment

Targets are assigned to Environments using label-based filtering. Example:

  • Target label: environment: staging
  • Environment filter: environment: staging
  • Result: Target automatically added to "Staging" Environment
Ctrlplane
© 2024 Ctrlplane. All rights reserved.