Barito Market is a web-based platform for managing log infrastructure, service discovery, and log stream provisioning. Named after the Barito River, this application handles the complex task of log management in distributed systems.
Barito Market serves as the central control plane for the Barito logging ecosystem, providing:
- Infrastructure Provisioning: Automated setup of logging clusters
- Service Discovery: Application registration and cluster assignment
- User Management: Role-based access control and authentication
- Monitoring: Dashboard for cluster health and log statistics
- API Gateway: RESTful APIs for integration with other Barito components
For detailed architecture and concepts, visit our wiki.
- 🏗️ Automated Cluster Provisioning - Deploy logging infrastructure on-demand
- 🔍 Service Discovery - Automatic application to cluster mapping
- 👥 Multi-tenancy - Isolated logging environments per application group
- 📊 Monitoring Dashboard - Real-time cluster and application metrics
- 🔐 Authentication - SSO integration and role-based access
- 🔌 API-First - Complete REST API for automation and integration
- Ensure you have vagrant installed
- Default vagrant disk should be resized (min 20GB). We will use vagrant plugin for this:
- Do
git clone https://github.com/sprotheroe/vagrant-disksize.git
- Run
vagrant plugin install vagrant-disksize
- Do
- Clone this repo
git clone https://github.com/BaritoLog/BaritoMarket.git
- Go inside directory that you just cloned and type
vagrant up --provision
- Grab a coffee, it will automatically setup everything :)
Now you can open Barito Market at http://192.168.20.10:8090
(username: [email protected]
, password: 123456
)
and Pathfinder Container Manager at http://192.168.20.10:8080
(username: admin
, password: pathfinder
)
Run vagrant ssh
if you want to login into virtual machine that was just created.
If you want to enable Newrelic monitoring on your BaritoMarket deployment, you just have to create these additional keys on your environment variables:
NEWRELIC_LICENSE_KEY - Your Newrelic license key
NEWRELIC_APP_NAME - Your application name (identifer) on Newrelic
NEWRELIC_AGENT_ENABLED - Set it true if you want Newrelic agent to runs
These tools are required for developing in local machine:
- Ruby version 2.5.1, or you can use RVM, or equivalent tools.
- PostgreSQL.
docker compose up --build
# migrate database if needed
docker exec -it baritomarket-web-1 bundle exec rake db:migrate
To run unit tests:
- Ensure you have development requirement installed on your local machine.
- Copy
config/application.yml.example
toconfig/application.yml
and configure according to your system. Example: database host, username, etc. - Copy
config/tps_config.yml.example
toconfig/tps_config.yml
. - Copy
config/database.yml.example
toconfig/database.yml
. - Install Gem dependencies by running
bundle install
. - Migrate the database by running
RAILS_ENV=test bundle exec rake db:migrate
. - Run the test by running
bundle exec rspec
.