Skip to main content

Types of configuration

Overview

Barbara Panel provides multiple ways to configure applications deployed on edge nodes. These configuration options allow users to manage application behavior, environment variables, secrets, and dependencies efficiently. In this article, we will explore the five main types of configuration available in Barbara Panel:

  1. App Config
  2. Global Config
  3. Compose Config
  4. Global Secrets
  5. App Environment Secrets

1. App Config

Application Configuration (App Config) comprises key-value pairs, stored as a JSON file, that are specific to an individual application. These configurations are applied at the application level and impact only the designated instance of the application. They are beneficial when an application necessitates custom settings that are distinct from those of other applications operating on the edge nodes. Applications can detect changes to the App Config during runtime.

Use Cases:

  • Defining constants, variables, or feature flags specific to an application.
  • Customizing an application's behavior based on deployment needs.

2. Global Config

Global Configuration (Global Config) denotes key-value pairs, stored as a JSON file, that are shared among multiple applications executing on the same edge node. These configurations are defined once and applied to all applications requiring them. Applications can detect modifications to the Global Config during runtime.

Use Cases:

  • Setting up common parameters like logging levels or monitoring URLs.
  • Ensuring multiple applications use the same configuration values without duplication.

3. Compose Config

Compose Config is exclusively available for Marketplace applications and serves to define the ports and volumes utilized by the application's services. This configuration enables users to specify port and volume configurations for multi-container deployments. Any modification to the Compose Configuration is detected during the build process.

Use Cases:

  • Defining with ports does marketplace applications use to communicate within an edge node environment.
  • Defining with volumes does marketplace applications use to persist data.

4. Global Secrets

Global Secrets consist of sensitive key-value pairs that are securely stored and shared among all the applications deployed in the edge node. In contrast to Global Configuration, these values are encrypted and designed to store credentials, API keys, and other confidential data. Applications detect any modifications to Global Secret values upon restart.

Use Cases:

  • Securely managing authentication tokens or private API keys.
  • Ensuring sensitive information is stored in a centralized and encrypted manner.

5. App Environment Secrets

Application Environment Secrets consist of key-value pairs that are specific to a single Marketplace application (this configuration is exclusive to Marketplace applications). In contrast to Global Secrets, they are accessible only within the context of the configured application, thereby providing enhanced isolation and security. Applications detect any modifications to Application Environment Secrets upon restart.

Use Cases:

  • Storing application-specific variables, such as custom data, thresholds, database passwords or private certificates.
  • Ensuring different applications have unique secret values without sharing them globally.

Configuration Comparison Table

Configuration TypeAccessibilityChange DetectionCritical InformationCan Be Used By
Global ConfigAny app in the node.RuntimeNoDocker & Marketplace apps
App ConfigOnly by the app itself.RuntimeNoDocker & Marketplace apps
Compose ConfigOnly by the app itself.Build timeNoAI Models & Marketplace apps
Global SecretsAny app in the node.App StartYesDocker apps
App Env SecretsOnly by the app itself.App StartDepends on the app.Marketplace apps

Conclusion

Barbara Panel provides a flexible and secure way to configure applications deployed on edge nodes. By leveraging the appropriate type of configuration—whether it is for application-specific settings, shared parameters, dependencies, or secrets—users can ensure efficient and scalable application deployments in an edge computing environment. Understanding these configuration types allows for better management of applications and ensures seamless operation across distributed nodes.