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

CI: upload server binary #130

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from
Draft

CI: upload server binary #130

wants to merge 3 commits into from

Conversation

samcowger
Copy link
Contributor

WIP

@samcowger
Copy link
Contributor Author

Hmm. With this change, I'd hoped to be able to have prospective users simply download a binary of the server, put it on their $PATH, and be set. However, it seems like Cerberus and CN, at build time, populate their build environment with some files, and then rely on being able to find them there (or in some alternate locations - see Cerberus's util/cerb_runtime.ml for the search logic) at runtime. So, exfiltrating the server binary alone isn't enough - it needs to have some sort of access to those runtime files.

I see a few possible options to work around this:

  • Upload those files alongside a server binary, and have instructions for how to point the server at them.
  • Change Cerberus to compile those files into itself rather than searching for them on disk at runtime.
  • Enhance the server build process so that it, rather than Cerberus, carries those files' contents in its binary, serializes them to disk at runtime, and points Cerberus to where it serialized them.

The first seems easiest, but also more fiddly than necessary from a user perspective. The second might be a bit of an invasive change to Cerberus. The third probably offers the cleanest user experience, but would probably result in a pretty messy build process for the server.

I'll put this aside for now and ponder how/whether to move forward.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant