Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(examples): Introduce HTTP C++ Boost server as example #26

Closed

Conversation

razvand
Copy link

@razvand razvand commented Dec 3, 2023

Introduce an HTTP C++ Boost server as binary compatibility run. Build server as static PIE application using Dockerfile. Then run it with the base kernel images from ../../kernels/.

Add typical files for a bincompat app:

  • Kraftfile: build / run rules, including pulling the base image
  • Dockerfile: filesystem, including binary and libraries
  • Makefile: used to generate the root filesystem from the Dockerfile rules
  • README.md: instructions to set up, build and run the application
  • config.yaml: configuration file to generate scripts to the application
  • http_server.cpp: the C++ Boost HTTP server

config.yaml is used to generate run scripts using the ../../utils/bincompat/generate.py script.

The kernels in ../../kernels are generated by running the ../../utils/bincompat/base-build-all.sh script while inside the ../../library/base/ directory.

@razvand razvand added the enhancement New feature or request label Dec 3, 2023
@razvand razvand requested a review from Mihnea0Firoiu December 3, 2023 18:23
@razvand razvand force-pushed the razvand/examples/http-boost branch 2 times, most recently from baf0ada to b666a47 Compare December 3, 2023 18:53
Copy link
Member

@StefanJum StefanJum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this duplicated by #25 ? I gess the commits in #25 are wrong.

Introduce an HTTP C++ Boost server as binary compatibility run. Build
server as static PIE application using `Dockerfile`. Then run it with
the `base` kernel images from `../../kernels/`.

Add typical files for a bincompat app:

* `Kraftfile`: build / run rules, including pulling the `base` image
* `Dockerfile`: filesystem, including binary and libraries
* `Makefile`: used to generate the root filesystem from the `Dockerfile`
  rules
* `README.md`: instructions to set up, build and run the application
* `config.yaml`: configuration file to generate scripts to the
  application
* `http_server.cpp`: the C++ Boost HTTP server

`config.yaml` is used to generate run scripts using the
`../../utils/bincompat/generate.py` script.

The kernels in `../../kernels` are generated by running the
`../../utils/bincompat/base-build-all.sh` script while inside the
`../../library/base/` directory.

Signed-off-by: Razvan Deaconescu <[email protected]>
@razvand razvand force-pushed the razvand/examples/http-boost branch from ff40b91 to 188469f Compare December 20, 2023 07:34
@razvand razvand closed this Mar 19, 2024
@razvand razvand deleted the razvand/examples/http-boost branch March 19, 2024 10:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

Successfully merging this pull request may close these issues.

2 participants