Skip to content
IncludeOS demonstration examples
Branch: master
Clone or download
KristianJerpetjon Merge pull request #9 from MagnusS/fix-http-client
Add conan support for http_client and include in main build
Latest commit 1d5f455 Apr 23, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
256_color_vga Merge branch 'master' into update-readmes Mar 28, 2019
IRCd Merge branch 'master' into update-readmes Mar 28, 2019
LiveUpdate Merge branch 'master' into update-readmes Mar 28, 2019
STREAM Merge branch 'master' into update-readmes Mar 28, 2019
TCP_perf Merge branch 'master' into update-readmes Mar 28, 2019
TLS_server Merge branch 'master' into update-readmes Mar 28, 2019
UDP_perf Merge branch 'master' into update-readmes Mar 28, 2019
acorn Merge branch 'master' into update-readmes Mar 28, 2019
demo_service demo_service: fix demo service example setting up a network configura… Apr 3, 2019
http_client Add conan support for http_client and include in build Apr 23, 2019
microLB Merge branch 'master' into update-readmes Mar 28, 2019
protobuf protobuf/README: Adding bincrafters remote Apr 3, 2019
router Merge branch 'master' into update-readmes Mar 28, 2019
scoped_profiler Merge branch 'master' into update-readmes Mar 28, 2019
snake Merge branch 'master' into update-readmes Mar 28, 2019
starlight Merge branch 'master' into update-readmes Mar 28, 2019
syslog Merge branch 'master' into update-readmes Mar 28, 2019
tcp Merge branch 'master' into update-readmes Mar 28, 2019
transfer Merge branch 'master' into update-readmes Mar 28, 2019
vlan Merge branch 'master' into update-readmes Mar 28, 2019
websocket Merge branch 'master' into update-readmes Mar 28, 2019
CMakeLists.txt Add conan support for http_client and include in build Apr 23, 2019
Jenkinsfile Jenkins: Added trick to get environment correct Mar 28, 2019
README.md README: Updating/ re-arranging/ removing text Apr 4, 2019

README.md

Demo-examples

Here you will find a number of IncludeOS demo examples. The examples demonstrate various features of IncludeOS. The examples are also built and started with conan.

Each example folder contains:

  • README.md: Instructions on how to build/start the example
  • CMakeLists.txt: Build requirements
  • config.json: Network configurations required for the example
  • service.cpp : the c++ example service
  • conanfile.txt: the library/tool dependencies the example requires
  • vm.json: some examples may have a vm.json if it requires some virtual configuration.

Dependencies

To build and start the examples, ensure the following dependencies are installed on your system.

  • conan
  • cmake
  • git
  • clang or gcc
  • python3

Note that, you may require some other dependencies based on the example you are trying.

Making sure you have the right conan settings

Install profiles and IncludeOS remotes

  $ conan config install https://github.com/includeos/conan_config.git

Add the bincrafters remote

  $ conan remote add bincrafters https://api.bintray.com/conan/bincrafters/public-conan

Verify remotes

  $ conan remote list
  includeos: https://api.bintray.com/conan/includeos/includeos [Verify SSL: True]
  bincrafters: https://api.bintray.com/conan/bincrafters/public-conan [Verify SSL: True]

Building the Examples

You can choose between building all the examples together and then use boot to run the service you want to check out or you can build the one example you are interested in and run that service. Below are instructions for both.

Building and running a single example

To build and run a single example, go into one of the examples and do;

  cd <example>
  mkdir build
  cd build
  conan install .. -pr clang-6.0-linux-x86_64
  source activate.sh
  cmake ..
  cmake --build .
  boot (service_name)
  source deactivate.sh

Building all the examples

Create a build folder and do

  export CC=clang
  export CXX=clang
  mkdir build_all
  cd build_all
  cmake <path_to_repo> -DCONAN_PROFILE=clang-6.0-linux-x86_64 -DPROTOBUF=ON
You can’t perform that action at this time.