Local development using minikube

Requirements

you need local resolution of service name used by munikube. Edit your /etc/hosts and add this line :

127.0.0.1   cassandra elasticsearch redis nats minio vault apiv1 api broker idpoller imapworker

Go development

To start a local apiv2 server, you have to be in the correct directory to find all related configuration files

cd src/backend/configs
go run ../interfaces/REST/go.server/cmd/caliopen_rest/main.go serve -c apiv2

To start a local lmtp server, same location than for apiv2 and configuration files:

cd src/backend/configs
go run ../protocols/go.smtp/cmd/caliopen_lmtpd/main.go serve -c lmtp -p lmtp.pid

Apply same principle for idpoller and imapworker

Python development

To start a local apiv1 server using pyramid pserve :

cd src/backend
pserve configs/apiv1.ini --reload

To start a local worker processing NATS messages:

cd src/backend/
python interfaces/NATS/py.client/caliopen_nats/listener.py -f configs/caliopen.yaml

Javascript development

You need yarn and node 8.11.x installed locally to be able to run a local caliopen client.

export CALIOPEN_API_HOSTNAME=api
cd src/frontend/web_application
yarn run install
yarn run start