Gondolin

Table of Contents

Getting started

To get started with gondolin, you'd need to install the following tools:

  1. Docker
  2. Docker compose

The setup consists of a postgresql database and a docker containerized service delivered by Setu.

Developer Setup

To bring up a local developer setup,

1. Fill in configuration in docker-compose.yml

  • Fill in the switch server credentials:
      # Switch server credentials
      - HTTP_PROXY=http://<user>:<password>@<switch-server>.setu.co:<port>
      - ALL_PROXY=http://<user>:<password>@<switch-server>.setu.co:<port>
      - END_POINT=<Fastag endpoint>
  • Fill other credentials as communicated.

2. Bring up the setup

docker-compose up

Docker Best practices

  1. Resource constraints: Configure memory and cpu resources when being run along with other docker containers.
  2. PID limits: Tune container pids limit. Ex: --pid="100"
  3. IPC Mode: Inter process communication mode. Set it to private when possible. Ex: --ipc="private"
  4. Use 127.0.0.1 if possible for the docker host name instead of 0.0.0.0.
  5. Disable container processes from gaining more privileges. Ex: --security-opt="no-new-privileges"

References

https://docs.docker.com/compose/compose-file/compose-file-v2/
https://docs.docker.com/engine/reference/run/  
https://dev-sec.io/baselines/docker/