Skip to content

Commit

Permalink
Introduce remote API for the northstar runtime
Browse files Browse the repository at this point in the history
* Add new data model
* Usage of json api in console
* new client based on json api
* Serialization for Socket API with serde-json
* Remove old dcon client
* Move help to client
* Add basic info to README
* Add length to frames -- we pack the complete
  message into a frame that contains the length
  in 4 bytes before the actual message
* Add tests for frame header
* Add rake-task to do a debug build
* Use uniqu hid for start/stop/uninstall
  (no regex is constructed anymore)
  makes it unambigous which component is meant
* add request/response id pairs
* add checks for matching request-response id pairs
* move api to north_common
* move API functionality out of command_processor
  into state so that it might be reused
* update API documentation
* Fix clippy warnings
* add clippy nightly checks to rake task
  • Loading branch information
marcmo committed Sep 28, 2020
1 parent 8ec5dbe commit 25997d1
Show file tree
Hide file tree
Showing 20 changed files with 1,188 additions and 1,033 deletions.
78 changes: 53 additions & 25 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
[workspace]

members = [
"dcon",
"examples/container/cpueater",
"examples/container/crashing",
"examples/container/datarw",
Expand All @@ -12,9 +11,10 @@ members = [
"minijail/minijail-sys",
"north",
"north_common",
"nstar",
"sextant",
]

[profile.release]
lto = true

opt-level = 'z' # Optimize for size
14 changes: 12 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ So far we tested Northstar on
- [x] chroot environment - every process only sees it's own environment
- [ ] User-support of configuring and managing network-namespaces
- [ ] Dedicated UID for each container
- [ ] Management API of the runtime [#64](https://github.com/esrlabs/northstar/issues/64)
- [x] Management API of the runtime
- [x] Signature Check of NPK [#54](https://github.com/esrlabs/northstar/issues/54)
- [ ] PID Namespaces [#51](https://github.com/esrlabs/northstar/issues/51)

Expand All @@ -50,7 +50,7 @@ So far we tested Northstar on
* secure boot
* verification on each read access prevents manipulation

## How do Northstar images/containers work?
## How do Northstar images/containers work

### Northstar Packages (NPK)

Expand Down Expand Up @@ -174,6 +174,16 @@ Both `memory` and `cpu` will tell northstar where to mount the cgroup hierarchie
* **`device_mapper`** -- Device mapper control file.
* **`device_mapper_dev`** -- Prefix of device mapper mappings.

## Controlling the runtime

The northstar runtime can be controlled our `nstar` application or from a custom application. You can

- start and stop containers
- uninstall or upgrade containers
- query information about running processes and setttings
- ...
With `nstar` we include a commandline interface that can be used to issue commands to the runtime. Underneth all communication happends via protocol-buffer objects over sockets (see [the runtime API README](north_common/README.md))

## Examples

If you want to see how containers can look like, take a look at the examples in the examples directory.
Expand Down
2 changes: 0 additions & 2 deletions dcon/.gitignore

This file was deleted.

17 changes: 0 additions & 17 deletions dcon/Cargo.toml

This file was deleted.

Loading

0 comments on commit 25997d1

Please sign in to comment.