Izanami is a centralized versatile feature flag solution, well suited for micro service architectures.
This README is for anyone who would like to contribute to Izanami.
If you're interested in Izanami documentation, it's here.
cd izanami-frontend
npm run dev
docker-compose rm -f && docker-compose up
sbt -jvm-debug 5005
~run -Dconfig.resource=dev.conf
Once everything is started, just browse to localhost:3000.
In a developement setup, it may be usefull to craft tokens with longer TTL
sbt -jvm-debug 5005
~run -Dconfig.resource=dev.conf -Dapp.sessions.TTL=604800
To run test, you can either start Izanami and associated tooling (db, ...) with above commands or just run a suite / a test.
In fact, an Izanami instance and docker containers will be started by tests if none is running. This could be usefull for coverage / debug.
You'll need docker-compose installed locally to run tests like this, due to this issue.
To run test without having starting docker-compose, you'll need these env variables to be set.
DOCKER_HOST=unix://${HOME}/.colima/default/docker.sock;
RYUK_CONTAINER_PRIVILEGED=true;
TESTCONTAINERS_DOCKER_SOCKET_OVERRIDE=/var/run/docker.sock
To package frontend :
cd izanami-frontend
npm run build
To package backend (make sure to package frontend first) :
sbt "set test in assembly := {}" clean assembly
To start generated jar
java -Dconfig.resource=dev.conf -jar ./target/scala-2.13/izanami.jar
To build docker image (after packaging frontend and backends)
docker build -t izanami .
To test docker image
docker run --env IZANAMI_PG_URI=postgresql://postgres:[email protected]:5432/postgres -p 9000:9000 izanami