-
Notifications
You must be signed in to change notification settings - Fork 35
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
[Docs] Misc typos/ambiguities in https://www.marblerun.sh/docs #213
Comments
Thanks, @dimakuv for going through this! |
@dimakuv I hope you don't mind that I edited your bullet point list to a task list. Should help us getting through this list a little bit more organized, we'll get back to you with changes & clarifications soon! :) |
Just found one more bug in your QuickStart documentation. The documentation is all in simulation mode, but you have this command:
This doesn't work in simulation mode (tried against Marblerun deployed in Azure Kubernetes Service):
Adding
|
Already addressed in https://github.com/edgelesssys/marblerun.sh/pull/72 :) |
@dimakuv Here are some answers to your questions regarding the attestation process in addition to edgelesssys/docs.edgeless.systems#19
The chain helps to separate Marbles between different updates, e.g. with different security versions, since the intermediate certificate changes during an update. I've added a new paragraph to the section to address this.
The
This depends on how Marbles use the certificates, e.g. EGo's |
We haven't discussed how would expose the trusted time to Marbles, but this is a great idea:-) |
@dimakuv You can have multiple containers per pod. Currently, we inject those env vars to every container in the pod. [EDIT] |
* Update kubernetes.md See edgelesssys/marblerun#213 `12.` * Update marblerun/deployment/kubernetes.md Co-authored-by: Daniel Weiße <[email protected]> Co-authored-by: Daniel Weiße <[email protected]>
@dimakuv I see why this is confusing, but I'm not sure what's the best way of addressing this. |
@dimakuv Regarding point 6.1:
We currently only support TTLS with EGo/Edgeless RT. We also added a warning about that here. Furthermore, our current TTLS implementation just supports TCP sockets. This satisfies our needs, as we just want to transparently encrypt the traffic between marbles or lift outward facing http servers to https. |
* Update add-service.md See edgelesssys/marblerun#213 (16.) * Update marblerun/workflows/add-service.md Co-authored-by: Daniel Weiße <[email protected]> * Update marblerun/workflows/add-service.md Co-authored-by: Daniel Weiße <[email protected]> * Update add-service.md Co-authored-by: Daniel Weiße <[email protected]>
Hi @dimakuv, |
Thanks! Closing this issue. |
Issue description
I'm going through your whole documentation webpage. Random typos/ambiguities/broken links found while reading the documentation:
https://www.marblerun.sh/docs/getting-started/quickstart/
marblerun certificate root $MARBLERUN -o marblerun.crt --insecure
but you don't explain what this--insecure
option does. Given that Marblerun is already installed in simulation mode, what does this insecure option disable additionally?marblerun manifest set tools/manifest.json $MARBLERUN --insecure
but you don't explain what this--insecure
option does. Isn't setting the very first manifest into Marblerun insecure by design? (And then end users should actually verify the manifest before trusting Marblerun.)marblerun namespace add emojivoto --no-sgx-injection
but you don't explain why you add--no-sgx-injection
option. I assume that's because we run Marblerun in simulation mode without SGX, so there is no sense in adding the Marblerun-sgx label.https://www.marblerun.sh/docs/getting-started/coordinator/
https://www.marblerun.sh/docs/features/attestation/
report_data
field and put two 32-byte SHA hashes).https://www.marblerun.sh/docs/features/secrets-management/
sgx.protected_mr{enclave,signer}_files
manifest options gramineproject/graphene#2484). You should probably add a note like this, and maybe create an issue in Graphene github to support this kind of files?{{ hex .Marblerun.SealKey }}
. Please add the explanation. Or is this outdated?Secrets
described in section "Marblerun: Secrets"; please add a link to this section.https://www.marblerun.sh/docs/features/recovery/
https://www.marblerun.sh/docs/features/transparent-tls/
https://www.marblerun.sh/docs/features/auto-injection/
https://www.marblerun.sh/docs/features/runtimes/
https://www.marblerun.sh/docs/features/planned-features/
https://www.marblerun.sh/docs/deployment/cloud/
https://www.marblerun.sh/docs/deployment/on-prem/
1.11
link (see above).https://www.marblerun.sh/docs/deployment/kubernetes/
marblerun install
do exactly? The section misses a paragraph or a link with a brief description of what exactly the "Marblerun installation" does.--domain
as the same one where your Coordinator is deployed? If this is what you mean, then your sentence seems correct but strangely worded.add a service documentation
is highlighted as code but it shouldn't be highlighted.https://www.marblerun.sh/docs/deployment/standalone/
EDG_MARBLE_TYPE=<your_marbler_type> erthost <your_marbler_binary>
. What is "marbler"?https://www.marblerun.sh/docs/workflows/define-manifest/
"Package": "backend"
and"Package": "frontend"
. It would be better to have a running example withpkg0
andpkg1
from the previous section. Update: actually, you usebackend
andfrontend
names everywhere else, so it makes sense to renamepkg0 -> backend
andpkg1 -> frontend
.-
sign, please remove.UserDefined
. If set to true, "it will be uploaded by a user at a later date". How does this function? There is a client API for sending a secret value? Could you describe or add a link?https://www.marblerun.sh/docs/workflows/set-manifest/
https://www.marblerun.sh/docs/workflows/add-service/
s
.\
line-break notation.erthost
which again assumes the Edgeless RT-based enclave app. Please add a note on other frameworks.spec -> container -> env
name/value pairs seems broken. See e.g. a correct example here: https://kubernetes.io/docs/tasks/inject-data-application/define-environment-variable-container/https://www.marblerun.sh/docs/workflows/verification/
era -c coordinator-era.json ...
), you never explicitly mention that theera
tool compares the values in Coordinator Quote against the values incoordinator-era.json
. Please add a sentence like this.marblerun manifest verify manifest.json $MARBLERUN
), it's unclear whatmanifest.json
is -- is it your local version of the manifest file (which will be hashed and compared against the received hash)? Please add a sentence.https://www.marblerun.sh/docs/workflows/update-manifest/
than
->the
.https://www.marblerun.sh/docs/workflows/managing-secrets/
a secure
->secure
.Coordinator via
.to
.required
.HTTP-REST API
.user-certificate
secret name in the command line? How doesmarblerun secret
command understands that the file contains two things (the cert and the key)?https://www.marblerun.sh/docs/workflows/updates/
https://www.marblerun.sh/docs/workflows/recover-coordinator/
recovery_key_encrypted_base64
file comes from. Please specify that this file was created by the user and populated with contents that were sent by Marblerun Coordinator when the user set a new manifest (with theRecoveryKeys
option).https://www.marblerun.sh/docs/building-services/graphene/
loader.insecure__use_host_env = 1
and instead use proper booleans:loader.insecure__use_host_env = true
. Not critical though. (Same forsgx.remote_attestation = 1
.)tmpfs
feature: https://graphene.readthedocs.io/en/latest/manifest-syntax.html#fs-mount-pointsThat's it. I didn't go through some other pages. My main goal was to understand Marblerun in details, so I decided to also document everything that didn't work/looks wrong to me. Your documentation is very good, thanks for this!
P.S. How does TTLS work for your workloads? From what I remember, transparently wrapping non-TLS applications in TLS connections is painful and has corner cases. Did it work for you? Did you have to change something in Google Go runtime libraries? Did you encounter unsupported cases?
The text was updated successfully, but these errors were encountered: