Getting Started

The App Config Service provides a simple key-value configuration management system for your applications. It's backed by Valkey (Redis-compatible) and provides both a web UI for managing configuration values and a REST API for programmatic access.

Prerequisites

Use Cases

  • Application Configuration - Store runtime configuration for web applications
  • Feature Flags - Toggle features on/off without redeploying
  • Environment Variables - Centralize configuration across multiple services
  • Parameter Store - Share configuration between Web Runner and WASM Runner instances

Step-by-step guide

Step 1: Create a Valkey Instance

The App Config Service requires a Valkey (Redis-compatible) database for storage.

  1. Navigate to the Valkey service page
  2. Click Create valkey
  3. Enter a name for your instance (e.g., configstore)
  4. Click Create

Step 2: Get the Redis URL

Once the Valkey instance is running, you need to get its connection details:

  1. Go to your active services on the dashboard
  2. Click on your Valkey instance
  3. Note the External IP and External Port from the instance details
  4. Construct the Redis URL: redis://<external-ip>:<external-port>

Step 3: Create App Config Service Instance

  1. Navigate to the App Config Service page
  2. Click Create app-config-svc
  3. Enter a name for your instance (e.g., myconfig)
  4. In the RedisUrl field, enter the Redis URL from Step 2
  5. Click Create

Step 4: Access the Configuration UI

Once your instance is running:

  1. Click on the instance card to view details
  2. Click the Open button to access the web UI
  3. You'll see a simple interface for managing key-value pairs

Step 5: Add Configuration Values

In the web UI:

  1. Enter a key name (e.g., API_ENDPOINT)
  2. Enter a value (e.g., https://api.example.com)
  3. Click Save or Add
  4. The configuration is immediately available via the API

Using with CLI

You can create and manage App Config Service instances using the OSC CLI.

Create an Instance

# First create a Valkey instance
npx @osaas/cli create valkey-io-valkey configstore

# Get the Valkey connection details
npx @osaas/cli describe valkey-io-valkey configstore

# Create the App Config Service with the Redis URL
npx @osaas/cli create eyevinn-app-config-svc myconfig \
  -o RedisUrl="redis://123.45.67.89:12345"

For convenience, you can use the MCP setup-parameter-store tool (via AI agents) which automatically creates both the Valkey instance and App Config Service instance for you.

API Reference

The App Config Service provides a simple REST API for managing configuration values.

Get a Configuration Value

GET /api/v1/config/:key

Example:

curl https://myconfig.eyevinn-app-config-svc.auto.prod.osaas.io/api/v1/config/API_ENDPOINT

Response:

{
  "key": "API_ENDPOINT",
  "value": "https://api.example.com"
}

Set a Configuration Value

POST /api/v1/config
Content-Type: application/json

{
  "key": "API_ENDPOINT",
  "value": "https://api.example.com"
}

Example:

curl -X POST https://myconfig.eyevinn-app-config-svc.auto.prod.osaas.io/api/v1/config \
  -H "Content-Type: application/json" \
  -d '{"key":"API_ENDPOINT","value":"https://api.example.com"}'

List All Configuration Values

GET /api/v1/config

Example:

curl https://myconfig.eyevinn-app-config-svc.auto.prod.osaas.io/api/v1/config

Response:

[
  {
    "key": "API_ENDPOINT",
    "value": "https://api.example.com"
  },
  {
    "key": "FEATURE_FLAG_NEW_UI",
    "value": "true"
  }
]

Delete a Configuration Value

DELETE /api/v1/config/:key

Example:

curl -X DELETE https://myconfig.eyevinn-app-config-svc.auto.prod.osaas.io/api/v1/config/API_ENDPOINT

Using with Web Runner and WASM Runner

Both Web Runner and WASM Runner can automatically load configuration values as environment variables when you specify the App Config Service instance name.

When creating a Web Runner or WASM Runner instance:

  1. In the ConfigService field, enter the name of your App Config Service instance
  2. The runner will automatically load all configuration values as environment variables on startup

For example, if you have a configuration key API_ENDPOINT with value https://api.example.com, your application code can access it as:

// Node.js
const apiEndpoint = process.env.API_ENDPOINT;

See the Web Runner documentation for more details.

Configuration Options

Parameter Required Description Example
RedisUrl Yes Connection URL to a Valkey or Redis instance redis://123.45.67.89:12345

Source Code

The App Config Service is open source and available on GitHub: Eyevinn/app-config-svc