Declarative resource management

Decodable resources (connections, pipelines, streams, secrets) can be managed declaratively, via YAML files.

With the declarative approach, you can use development best-practices such as source control, CI/CD, and infrastructure-as-code. Declarative makes scripting Decodable workflows much simpler.

Applying a set of resources is idempotent and atomic: if anything goes wrong, no changes are made.

Consolidating all resources for a specific workflow as a YAML file simplifies management and removes the need for complex manual edits through the UI or scripting numerous non-declarative API invocations.

Table 1. Declarative command summary
Command Purpose

decodable apply

Create and update Decodable resources

decodable query

Fetch the current state of Decodable resources

New to YAML? This excellent tutorial covers the basics and advanced concepts.

Use cases

The following table outlines different use cases where Declarative (YAML) and the user interface (UI) are preferable.

Use Case Declarative (YAML) Decodable Web (UI)

Version control and collaboration

When changes need to be tracked, reviewed, and collaborated on efficiently.

For quick one-off changes or when version control is not a concern.

Copy sets of resources between Decodable accounts

query and apply make it easy to copy sets of resources between your accounts.

Perform atomic bulk operations

When managing multiple resources simultaneously or deploying across environments in bulk.

For individual resource management or ad-hoc changes.

Experimental changes

For enforcing consistent configurations across environments.

For quick prototyping or situations where flexibility is key.

Learning curve

For users familiar with YAML syntax and seeking more control and automation capabilities.

For users with limited technical expertise, time constraints, or who prefer a graphical interface.

Monitor user activity in your account

Maintain a log of user activity for bulk, atomic actions when used with source control and CI/CD.

The data reported in the _events and _metrics streams are sufficient for your audit and user log needs.

Prerequisites

You’ll need the Decodable CLI (version 1.14.0 or later).

Assumed knowledge

A quick refresher of Decodable concepts:

  • Connections connect Decodable to external systems, bringing data into or out of a Decodable stream.

  • Streams transport data within Decodable. When you create a connection, you are creating a link between an external resource and a Decodable stream.

  • Pipelines transform data within Decodable. For example, you can use a pipeline to filter and mask sensitive information before sending it downstream. Creating a pipeline is an optional step within the Decodable ecosystem, and not every workflow requires one.

  • Secrets store sensitive credentials. Any credentials required to establish a connection are securely stored as secrets. When configuring a connection, you reference the appropriate secret containing the necessary credentials for accessing the targeted system.

Get started