Partial installation
You may already have your MongoDB, Redis, Kafka and / or ClickHouse services running in your own infrastructure, and you want to run FeatBit with your own services, this is totally possible and easy to do. This document will illustrate how to do it with docker compose, it can also be easily converted to Kubernetes.
This document will show you how to run the following FeatBit services:
- UI : Provides users a visual UI interface for managing and publishing feature flags, segments and experiments etc.
- API Server : Provides data management capabilities for the UI and external integration services, such as flag triggers, code-references etc.
- Evaluation Server : Provides a scalable and high-performance flag rule evaluation engine and a data distribution server.
- Data Analytics server : Provides a data analytics engine. It assures the following services
- Calculates the experiments and return its results in near real time.
- Provides insights services for all analytics in the UI, the feature flag reporting for example.
Set Environment Variables
To use your own infrastructure, you need to modify some environment variables for each service. You can find the environment variables for each service in the following links:
- UI Environment Variables (opens in a new tab)
- API Server Environment Variables (opens in a new tab)
- Evaluation Server Environment Variables (opens in a new tab)
- Data Analytics Server Environment Variables (opens in a new tab)
Data Seeding
Kafka Topics
You need to create the following topics in your kafka:
- featbit-feature-flag-change
- featbit-segment-change
- featbit-insights
- featbit-endusers
MongoDB
We provide a mongodb-seed-script (opens in a new tab) to seed our MongoDB database. This script assumes the database name is "featbit" (you can change it) which should be the same as MongoDb__Database environment variable.
You can run the seed script with following command or any other tools.
mongo < init.js
# or mongosh < init.js