Welcome to RTC, your solution for dynamic and efficient configuration management! 🎉
RTC provides a robust platform to manage your application configurations in real-time, allowing for seamless updates and deployments without service interruptions.
- Dynamic Configuration Updates: Modify configurations on the fly and have your applications react instantly.
- Centralized Management: A single source of truth for all your application settings across different environments.
- Environment-Specific Configurations: Easily manage configurations tailored for development, staging, and production environments.
- User Management & Audit Logs: Securely manage users and monitor all configuration changes with detailed audit logs.
Currently, each configuration is limited to 128 keys. This limitation is due to the underlying etcd storage. We are actively exploring solutions to overcome this, but for now, please keep your configurations concise.
Let's get you up and running with a local development instance of RTC in a few simple steps.
- Docker & Docker Compose: Needed to run the database.
- Goose: A database migration tool. Download it here.
- RTC Binaries: Download the latest
rtcserver(the server) andrtcctl(the CLI control tool) from our Releases page.
- Start the Database:
# Download our docker-compose file and run it
curl -O https://github.com/DesSolo/rtc/blob/master/docker-compose.d/docker-compose.yaml
docker-compose up -dThis will start a PostgreSQL database in the background.
- Setup the Database Schema:
# Download the migrations directory from the repository
# Then, apply the migrations using Goose
goose -dir ./migrations postgres "host=localhost port=5432 user=postgres password=postgres dbname=rtc sslmode=disable" upThis command creates all the necessary tables in your database.
- Configure and Run the Server:
# Get the example server configuration file
curl -O https://github.com/DesSolo/rtc/blob/master/examples/config.yaml
# Launch the server
./rtcserver- You're all set! 🎉
Open your browser and go to
http://localhost:8080/uito access the RTC management interface.
Default credentials: username admin password rtc
Dive deeper into RTC with our detailed examples and documentation:
- Server Configuration: Learn how to configure
rtcserverto fit your needs. - Client Library: Integrate RTC into your applications for real-time config updates.
- Code Generator (
rtcconst): Generate type-safe constants for your configuration keys to avoid typos and errors. - Command Line Tool (
rtcctl): Manage configurations, users, and permissions directly from your terminal.
We hope you enjoy using RTC! If you have any questions or feedback, feel free to reach out. 🌟
Dependencies:
- docker
- golang
- npm
git clone https://github.com/DesSolo/rtc.git
cd rtc
# start storages (postgress and etcd)
docker-compose run -d -f docker-compose.d/docker-compose.yaml
# installing dependencies for go (goose, linter, releaser)
make install-deps
# apply sql migrations
make migrations-up
# start api server
make run
# start frontend
make run-ui