Centralized configuration management
Config stores user-scoped JSON configuration entries and exposes v0 and v1 HTTP APIs.
Key features
Read and update configuration maps without adding a custom configuration service to your app.
User config
Use GET /v1/config and PATCH /v1/config for authenticated user configuration.
Entries map
Store configuration as JSON entries, including strings, numbers, booleans, and nested objects.
Legacy v0 configs
Manage v0 config documents with id and entries fields when needed.
Quick start
Get started with Config in seconds using the API.
curl -X PATCH https://config.hola.cloud/v1/config \
-H 'X-Glue-Authentication: {"user":{"id":"user-123"}}' \
-d '{"database.url":"postgres://prod:5432/db","feature.enabled":true}'PATCH /v1/config HTTP/1.1
Host: config.hola.cloud
X-Glue-Authentication: {"user":{"id":"user-123"}}
{"database.url":"postgres://prod:5432/db","feature.enabled":true}// Go 1.21+, standard library only. Save as main.go and run: go run main.go
package main
import (
"fmt"
"io"
"net/http"
"encoding/json"
"strings"
)
func main() {
payload := map[string]any{"database.url": "postgres://prod:5432/db", "feature.enabled": true}
bodyBytes, err := json.Marshal(payload)
if err != nil {
panic(err)
}
body := string(bodyBytes)
req, err := http.NewRequest("PATCH", "https://config.hola.cloud/v1/config", strings.NewReader(body))
if err != nil {
panic(err)
}
req.Header.Set("X-Glue-Authentication", "{\"user\":{\"id\":\"user-123\"}}")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
responseBody, err := io.ReadAll(resp.Body)
if err != nil {
panic(err)
}
fmt.Println(resp.Status)
fmt.Println(string(responseBody))
}
<?php
// PHP 8+ with the curl extension. Save as example.php and run: php example.php
$payload = ['database.url' => 'postgres://prod:5432/db', 'feature.enabled' => true];
$body = json_encode($payload);
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => 'https://config.hola.cloud/v1/config',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'PATCH',
CURLOPT_POSTFIELDS => $body,
CURLOPT_HTTPHEADER => [
'X-Glue-Authentication: {"user":{"id":"user-123"}}',
],
]);
$response = curl_exec($ch);
if ($response === false) {
throw new Exception(curl_error($ch));
}
echo curl_getinfo($ch, CURLINFO_RESPONSE_CODE), "\n", $response, "\n";
curl_close($ch);
# Python 3.8+. Install: pip install requests. Save as example.py and run: python example.py
import requests
headers = {
"X-Glue-Authentication": "{\"user\":{\"id\":\"user-123\"}}",
}
payload = {"database.url": "postgres://prod:5432/db", "feature.enabled": True}
response = requests.request(
"PATCH",
"https://config.hola.cloud/v1/config",
headers=headers,
json=payload
)
print(response.status_code)
print(response.text)
// Node.js 18+. Save as example.mjs and run: node example.mjs
const payload = {"database.url": "postgres://prod:5432/db", "feature.enabled": true};
const response = await fetch("https://config.hola.cloud/v1/config", {
method: "PATCH",
headers: {
"X-Glue-Authentication": "{\"user\":{\"id\":\"user-123\"}}"
},
body: JSON.stringify(payload)
});
console.log(response.status);
console.log(await response.text());
const payload = {"database.url": "postgres://prod:5432/db", "feature.enabled": true};
const response = await fetch("https://config.hola.cloud/v1/config", {
method: "PATCH",
headers: {
"X-Glue-Authentication": "{\"user\":{\"id\":\"user-123\"}}"
},
body: JSON.stringify(payload)
});
console.log(response.status);
console.log(await response.text());
// Java 17+, standard library only. Save as Main.java and run: java Main.java
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
public class Main {
public static void main(String[] args) throws Exception {
var body = """
{"database.url":"postgres://prod:5432/db","feature.enabled":true}
""";
var request = HttpRequest.newBuilder()
.uri(URI.create("https://config.hola.cloud/v1/config"))
.method("PATCH", HttpRequest.BodyPublishers.ofString(body))
.header("X-Glue-Authentication", "{\"user\":{\"id\":\"user-123\"}}")
.build();
var response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.statusCode());
System.out.println(response.body());
}
}Common use cases
Microservices orchestration
Build and deploy with Config on HolaCloud's enterprise platform, designed for security, reliability, and scale.
Data pipeline automation
Build and deploy with Config on HolaCloud's enterprise platform, designed for security, reliability, and scale.
Event-driven architectures
Build and deploy with Config on HolaCloud's enterprise platform, designed for security, reliability, and scale.
API backend development
Build and deploy with Config on HolaCloud's enterprise platform, designed for security, reliability, and scale.
Ready to get started?
Explore the documentation or launch the console to start building with Config.
Comments