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

Store the policies next to the unikernels on disk #189

Merged
merged 1 commit into from
Sep 5, 2024
Merged

Conversation

hannesm
Copy link
Collaborator

@hannesm hannesm commented Sep 4, 2024

The purpose is, while developing mollymawk - we discovered that the policies are ephemeral - thus if you have some unikernels dumped on disk, and (re)start albatross, they will be created (great!), but a policy_info command will return nothing. The issue is that in mollymawk we don't want to duplicate the storage effort, but rely on having the policy(ies) available - to generate intermediate certificates that are nice.

To describe it a bit more technical:
albatross is running a bunch of unikernels, deployed via TLS
albatross is stopped
albatross is started, unikernels are restarted
mollymawk is started and retrieves the policies from albatross
<- here, we read before this commit the empty set
mollymawk tries to do something, and needs to create an intermediate
certificate -- and by default pushes a VM=0, mem=0 policy
<- here, all goes to hell. this is what we like to avoid

Still, mollymawk is a bit special, since it reads the policies only on startup. This means an albatross with command-line policy modifications won't be updated in mollymawk. I guess the path forward is to notice that and make mollymawk the source of truth for policies (i.e. allow people to extract certificates for command line usage, provide the CA facility).

The purpose is, while developing mollymawk - we discovered that the policies
are ephemeral - thus if you have some unikernels dumped on disk, and (re)start
albatross, they will be created (great!), but a policy_info command will return
nothing. The issue is that in mollymawk we don't want to duplicate the storage
effort, but rely on having the policy(ies) available - to generate intermediate
certificates that are nice.

To describe it a bit more technical:
 albatross is running a bunch of unikernels, deployed via TLS
 albatross is stopped
 albatross is started, unikernels are restarted
 mollymawk is started and retrieves the policies from albatross
   <- here, we read before this commit the empty set
 mollymawk tries to do something, and needs to create an intermediate
  certificate -- and by default pushes a VM=0, mem=0 policy
  <- here, all goes to hell. this is what we like to avoid

Still, mollymawk is a bit special, since it reads the policies only on startup.
This means an albatross with command-line policy modifications won't be updated
in mollymawk. I guess the path forward is to notice that and make mollymawk the
source of truth for policies (i.e. allow people to extract certificates for
command line usage, provide the CA facility).
@hannesm hannesm merged commit 7e6150a into main Sep 5, 2024
11 of 13 checks passed
@hannesm hannesm deleted the store-policies branch September 5, 2024 08:57
hannesm added a commit to hannesm/opam-repository that referenced this pull request Sep 5, 2024
CHANGES:

* Store the policies on disk, next to the unikernels (robur-coop/albatross#189 @hannesm)
* Adapt to TLS 1.0.0, mirage-crypto 1.0.0, x509 1.0.0 and asn1-combinators 0.3.0
  API changes (robur-coop/albatross#187 robur-coop/albatross#188 @hannesm)
hannesm added a commit to hannesm/opam-repository that referenced this pull request Sep 5, 2024
CHANGES:

* Store the policies on disk, next to the unikernels (robur-coop/albatross#189 @hannesm)
* Adapt to TLS 1.0.0, mirage-crypto 1.0.0, x509 1.0.0 and asn1-combinators 0.3.0
  API changes (robur-coop/albatross#187 robur-coop/albatross#188 @hannesm)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant