Introduction

What are Targets?

Targets are reusable connection definitions - credentials, hostnames, integration references, and access scopes stored in a single place and shared across projects, pipelines, and actions. Define a target once, then reference it from any pipeline that needs to deploy to or query the same resource.

Buddy supports the following target types, grouped by purpose:

File transfer

Cloud servers

  • DigitalOcean - DigitalOcean droplets.
  • UpCloud - UpCloud servers.
  • Vultr - Vultr instances.
  • Amazon EC2 - EC2 instances resolved via an AWS integration.

Databases

  • MSSQL - Microsoft SQL Server.
  • MongoDB - MongoDB clusters and standalone servers.
  • MySQL - MySQL databases.
  • PostgreSQL - PostgreSQL databases.

Kubernetes

  • Kubernetes cluster - generic K8s cluster via kubeconfig.
  • Google Kubernetes Engine (GKE) - GKE clusters resolved via a Google integration.
  • Amazon EKS - EKS clusters resolved via an AWS integration.
  • Azure AKS - AKS clusters resolved via an Azure integration.
  • DigitalOcean DOKS - DOKS clusters resolved via a DigitalOcean integration.

Git

  • Git - remote Git repositories for push actions.

Server Agent

  • Server Agent - self-hosted Buddy agents running on Linux x64, Linux ARM64, macOS ARM64, or Windows x64.

Selecting targets

There are two ways of selecting a target:

  • Specific targets - select targets manually, without applying additional filters.
  • Filters - select based on specific filters like tags (e.g. all servers tagged as production), ID (using their full names or simple wildcards like *, *stage*, *stage ) or scope.

You can access multiple targets within a single action. The number of consecutive transfers depends on the number of runners available in your current plan.

Image loading...Transfer action with multipe targets

Managing action and pipeline targets with YAML

Action and pipeline targets can be defined in YAML files, allowing for easy and automated management. Here is an example of a YAML file with three targets set-up within a single action, one of which is inline.

yaml
- action: "Execute ls" type: "SSH_COMMAND" commands: - "ls -al" targets: - target: myTarget1 type: "SSH" host: "domain.com" auth: username: "$login_ssh" password: "secure!dJyAQBqXzJHQvPMglTZT5Q==.6SmXCn3OHzNur6SHUwdjDA==" - "myTarget2" - "myTarget3" retry_count: 1 run_as_script: true

Configuring targets in YAML files

Define targets directly in your YAML to automate their use in pipelines:

Browsing remote files

FTP and SFTP targets include a Browser tab that lets you navigate the remote filesystem directly from the target view. You can use it to verify the connection and find the correct path to set in the target or action configuration.

Image loading...Target file browser in Buddy

The Browser tab is available when the target scope is set to Workspace, Project, Pipeline, or Environment. It is not shown for Action-scoped targets.

Targets in REST API

The REST API allows you to add and manage targets across all supported types - file transfer, cloud servers, databases, Kubernetes, Git, and Server Agent.

You can find out more regarding targets in REST API in the following articles:

Using targets in actions:

Managing targets:

Last modified on May 19, 2026