This repository contains the code of IRO and the instruction for its deployment.
This development is part of the H2020 European Project Fishy.
- Knowledge base: WIP
- Intent manager: WIP
- Intent compiler: WIP
- Policy configurator: WIP
- Learning and reasoning: WIP
- Containerization: Done
- Integration with Fishy sandbox: Done
- Integration with EDC: WIP
- Integration with Central Repository: Done
- Integration with Smart Contracts: Done
Prerequisites
docker
docker-compose
Run this command once on your machine:
echo -e "\nvm.max_map_count=524288\n" | sudo tee -a /etc/sysctl.conf && sudo sysctl -w vm.max_map_count=524288
Deploy with:
cd deployment/
docker-compose up -d
To rebuild IRO without redeploying Elasticsearch:
docker-compose up --build -d iro
Prerequisites
vagrant
libvirtd
(kvm hypervisor as provider)
Deploy with:
cd deployment/
vagrant up
A setup containing 3 VMs with a NED instance each and one IRO on the control node will then be created.
All interactions with kubectl fom inside the VMs require 'sudo'.
Use Kubernetes with the definition at deployment/iro_kubernetes.yml
.
Deploy with:
kubectl apply -f deployment/iro_kubernetes.yml
The IRO pods will then be spawned in the default namespace.
- Implementation of data exchange with TIM
- Added Virtualbox support for Vagrantfile
- Added host filesystem mount; mapped host's /tmp to container's /edc
- Added Classes to define HSLP policies
- Fixed IP assignment for IRO pod not working
- Updated elasticsearch to version 7.16.3
- Outsourced the pip requrements into extra file