marblerun
marblerun copied to clipboard
api: Implement a public Go API
Proposed changes
- Implement a public Go API
- Provides an easy native Go interface for performing CLI commands that interact with the MarbleRun Coordinator
- Use Go API as a backend for CLI commands
- This removes the
/cli/internal/rest
package, as http calls are made by the API- Cert loading and writing from the
rest
package was moved to the new/cli/internal/certcache
package
- Cert loading and writing from the
- This removes the
- Heavily simplify the code in
/internal/attestation
and move it to/api/attestation
- Add
/api/v2/recover
endpoint with better machine readable responses
Additional info
- AB#4009
- I would like to eventually also move the integration test to use the Go API, but as this PR is already quite a bit larger than I originally intended, this will be postponed to a different PR