This project is used to build the container for test and development of the HIKe / eCLAT framework. See the user documentation here: https://hike-eclat.readthedocs.io/
The main source code repositories are:
- eclat-daemon (eCLAT daemon, CLI, eCLAT language parser)
- HIKe (HIKe core functionality)
git clone https://github.com/netgroup/eclat-docker/
cd eclat-docker
scripts/setup.sh
docker build -t eclat:latest .
docker run -w /opt/eclat-daemon/ --rm -ti --privileged --init --name eclat -v $(pwd)/eclat-daemon:/opt/eclat-daemon eclat:latest
Note that a local folder called eclat-daemon in your host will be linked to to the /opt/eclat-daemon folder in the container.
Run the following inside git bash
git clone https://github.com/netgroup/eclat-docker/
cd eclat-docker
scripts/setup.sh
In windows command line, go in the eclat-docker folder and run:
docker build -t eclat:latest .
In windows command line, in the eclat-docker folder, run:
docker run -w /opt/eclat-daemon/ --rm -t -i --privileged --init --name eclat -v %cd%\eclat-daemon:/opt/eclat-daemon eclat:latest
Note that a local folder called eclat-daemon in your host will be linked to the /opt/eclat-daemon folder in the container.
Immediately after that the contatiner is created with the above command, inside the container you have to run:
cd /opt/eclat-daemon
scripts/setup-wsl.sh
docker exec -it eclat bash
Please see: https://hike-eclat.readthedocs.io/en/latest/experiments.html
Copy a file named github_rsa
with your private key in the folder /opt/eclat-daemon/scripts/temp_credentials/
Run the following script inside the container (the script copies the credentials in the home folder of the root user) :
cd /opt/eclat-daemon
scripts/copy-credentials.sh
It is also useful to globally configure the git email and name, this can be done using two optional parameters:
cd /opt/eclat-daemon
scripts/copy-credentials.sh you@example.com "Your Name"
scripts/setup.sh
docker build -t eclat:testbed . --file ./Dockerfile-testbed
docker save eclat:testbed | gzip > eclat.tar.gz
Download the image eclat.tar.gz
docker load < eclat.tar.gz
docker run --rm -t -i --privileged --name eclat eclat:testbed /sbin/my_init -- bash -l
cd /opt/eclat-daemon
python -m unittest test.test_parser
By default, eCLAT packages repositories are cloned using https: addresses as git remotes. If you want to push changes to an eCLAT package repository, you might want to set the git origin to SSH (you need write permissions for the repository). You can do this using the following script:
scripts/git-origin-ssh.sh
The script needs to be executed from the main folder of the package in the components folder, using the proper relative path to call it. For example, considering a package called eip:
cd /opt/eclat-daemon/components/eip
../../scripts/git-origin-ssh.sh