Skip to content

Understanding Configuration in Vidos

Vidos uses a layered configuration system that provides consistent settings across your deployment while enabling customization at multiple levels. This approach helps you manage configurations across services efficiently while maintaining flexibility and control.

A layered configuration system enables you to:

  • Ensure all services start with secure, working settings
  • Share common configurations across multiple services
  • Customize specific instances without affecting others
  • Maintain configurations efficiently at scale

Vidos builds configurations using three distinct layers:

  1. Core Configuration

    • Provided by Vidos
    • Contains all required settings
    • Cannot be modified
    • Ensures service stability
  2. Custom Configuration

    • Reusable configuration sets
    • Applied to multiple service instances
    • Specifies only changed values
    • Overrides core settings
  3. Inline Configuration

    • Instance-specific settings
    • Affects only one service instance
    • Specifies only changed values
    • Overrides previous layers

Layers combine through inheritance, where each layer overrides values from previous layers. Here’s a simplified example:

  1. Core configuration provides default CORS settings (disabled, origin: ”*”)
  2. Custom configuration enables CORS and restricts origins to specific domains
  3. Inline configuration further restricts allowed headers for a specific instance

Final result: The instance has CORS enabled with custom-defined origins and inline-defined headers, while other settings inherit from core.

  • Layer order: Core → Custom → Inline
  • Partial overrides: Each layer specifies only changed values
  • Inheritance: Unspecified values inherit from previous layers
  • Reusability: Custom configurations apply to multiple instances; inline configurations are instance-specific