/
Configuring Your Local Development Environment

Configuring Your Local Development Environment

Prerequisites

  • Install dependencies:

    • GO compiler: last development-tested version is go1.22.4 windows/amd64

    • Rancher Desktop container daemon: last development-tested version is v1.16.0 (make sure to enable dockerd (Moby) container engine)

  • Configure hosts:

    • Add 127.0.0.1 keycloak.eureka entry to /etc/hosts

    • Add 127.0.0.1 kafka.eureka entry to /etc/hosts

Run enironment and deploy application

Build a binary

mkdir -p ./bin env GOOS=windows GOARCH=amd64 go build -o ./bin .

See BUILD.md to build a platform-specific binary

(Optional) Setup a default config in the home folder

  • This config will be used by default if -c or --config flag is not specified

./bin/eureka-cli.exe setup

(Optional) Install binary

  • After building and installing the binary can be used from any directory

go install eureka-cli.exe -c ./config.minimal.yaml deployApplication

Deploy a minimal platform application

Using Public DockerHub container registry (folioci & folioorg namespaces)

  • Use a specific config: -c or --config

  • Enable debug: -d or --debug

./bin/eureka-cli -c ./config.minimal.yaml deployApplication

Use the environment

  • Access the UI from http://localhost:3000 using diku_admin username and admin password

  • Monitor using system components:

    • Keycloak Admin Console: admin:admin

    • Vault UI: Find a Vault root token in the container logs using docker logs vault or use getVaultRootToken command

    • Kafka UI: No auth

    • Kong Admin GUI: No auth

Redirect module for local debugging

To enable redirection, the appropriate sidecar will route traffic to the locally running module using the redirect command.

To identify the container of the module that needs to be redirected, the listModules command can be invoked.

./bin/eureka-cli -c ./config.minimal.yaml redirect --id mod-orders-13.0.0-SNAPSHOT.967 --location http://host.docker.internal:9183

Undeploy application

After finishing the work to cleanup resources need to invoke undeployApplication that will delete all created resources and docker containers that were created during deployApplication.
./bin/eureka-cli -c ./config.minimal.yaml deployApplication

./bin/eureka-cli -c ./config.minimal.yaml undeployApplication

Note: to invoke deployApplication again, ensure that the commandundeployApplication is invoked first.

More info

All other details, including the private AWS ECR container registry and various troubleshooting questions, can be found in the Readme section of the tool on GitHub: https://github.com/folio-org/eureka-setup/tree/master/eureka-cli

Related content