Skip to content

Dox CDMS is a Configuration Management System designed to simplify the management of configurations in complex SaaS environments. Acting as a translating layer between servers, it ensures that each server receives the appropriate configuration.

License

Notifications You must be signed in to change notification settings

Alfinjohnson/dox-cdms

Repository files navigation

Pull Requests Stars

Dox CDMS Documentation

Table of Contents

Introduction

In the dynamic landscape of Software as a Service (SaaS), managing configurations across multiple servers often leads to a tangled web of complexities. Imagine scenarios where each server demands a different configuration - one server prefers English language code as "eng," while another insists on "en-us." This diversity can cause headaches for developers and system administrators. Dox CDMS is a Configuration Management System designed to simplify this process, acting as a bridge between servers and ensuring each receives the precise configuration it needs.

cmd-arch

Tech Stack

Dox CDMS leverages a robust tech stack:

  • Java Spring Boot
  • Postgres
  • REST API

Key Features

  • Docker Support: Seamless integration with Docker for streamlined deployment.
  • REST API: Intuitive API for effective communication and configuration.
  • Health Monitoring: Proactive issue resolution through application health monitoring.
  • Kafka Support: Efficient and real-time configuration updates via Kafka integration.
  • Datadog Support: System performance monitoring and analysis with Datadog.
  • SSL Support.

Getting Started

Installation

Docker Compose

Clone the Dox CDMS repository:

git clone https://github.com/Alfinjohnson/dox-cdms.git

Docker Image

Pull the Dox CDMS Docker image from the official repository:

docker pull ajcode/dox-cdms:latest

Configuration

Access the Dox CDMS API at http://localhost:8080 or your specified port.

Usage

REST API Usage

...

Example: Get Configuration API

To retrieve a configuration using the Dox CDMS API, you can use the following curl command:

curl --location --request GET 'https://localhost:8443/api/v1/configuration' \
--header 'Content-Type: application/json' \
--data '{
    "name": "englishlangcode",
    "subscriber": "thridparty-server1"
}'

Example Response:

{
    "statusCode": 200,
    "message": "Success",
    "timestamp": "2023-11-26 13:18:27",
    "data": {
        "name": "englishlangcode",
        "subscriber": "thridparty-server1",
        "dataType": "string",
        "value": "eng"
    }
}

Refer to the latest release documents for the full Postman API collection.

Example: Serving Different Data Types

Consider a scenario where Dox CDMS serves different data types for various servers. For instance:

  • Server 1 requires JSON data.
  • Server 2 needs integer and long values.
  • Server 3 prefers float and double values.
  • Server 4 uses string data. Dox CDMS handles these diverse data types, ensuring each server receives the appropriate configurations seamlessly.

Example: Test API Endpoint

To test the Dox CDMS API endpoint using curl, you can use the following command:

curl --location 'https://localhost:8443/api/v1/configuration/test'

In this example:

  • The URL is https://localhost:8443/api/v1/configuration/test.
  • The request type is GET.

This command is designed to test the API endpoint and receive a response. Adjust the URL as needed for your specific testing requirements.

Contributing

We welcome contributions! If you'd like to contribute to Dox CDMS, please follow our contribution guidelines.

Change Log

Explore the project's history and releases in the Change Log.

Known Issues

Highlight any known issues or limitations present in this release.

New Contributors

License

Dox CDMS is licensed under the Apache License 2.0. See the LICENSE file for the full license text.

Acknowledgments

A big thank you to our contributors and the community for their continuous support.

About

Dox CDMS is a Configuration Management System designed to simplify the management of configurations in complex SaaS environments. Acting as a translating layer between servers, it ensures that each server receives the appropriate configuration.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published