Proto commits in aurae-runtime/aurae

These 84 commits are when the Protocol Buffers files have changed:

Commit:a69ecbe
Author:dominic
Committer:GitHub

Introduce uid and gid to the CellService start method (#532) This allows the caller to override the uid and gid of the spawned executable within the Cell. The response now includes the uid and gid, even if they've been inherited from the parent auraed.

The documentation is generated from this commit.

Commit:02e32f0
Author:dominic
Committer:GitHub

Bring VM service more inline with other auraed services (#530) * Bring VM service more inline with other auraed services Specifically: * add a custom error enum and use it * split the basic implementation from the tonic wrapper * add basic documentation TODO: * validate requests * add tests * rename create to allocate to match auraed API style * locked

Commit:9cffe36
Author:Tommy McCormick
Committer:GitHub

Implement VM Service with Cloud Hypervisor (#506) * feat(vm): add initial implementation for managing cloudhypervisor vms * feat: implement virtual machines with cloud-hypervisor vmm * feat: successfully mount vm filesystem from initramfs * feat: implement VM grpc API * feat: return scope_id in response to build client * feat: add nested auraed address if exists in vm * chore: change package visibility * chore: remove libvirt vm env for auraed * feat: allocate a fixed set of IPs for VMs * chore(client): rename vm service in aurae client * feat: add vms to auraescript * chore(auraed): remove orphaned changes to pid1 runtime * chore(auraed): swap println for proper tracing when blocking signals * chore: update license headers * chore(auraed): ignore tests that require kvm, and kernel/disk images

Commit:b584bec
Author:dominic
Committer:GitHub

exposed period to CPU cgroup controller (#510) * exposed period to CPU cgroup controller * allow dead code temporarily

Commit:6256012
Author:dominic
Committer:GitHub

Aer improvements to start some observe changes (#500) * add some useful logging to cells_output script * give the observe command some useful parameters [aer] * aer should log the most useful inner bit of the response

Commit:2c2a6d9
Author:Kris Nóva
Committer:GitHub

Collab vms service (#471) * Add make target for pulling the cloud hypervisor static binary * Very basic provisioning of guest kernel and disk image for hypervisor * Added integration test for the VM service. Implemented scope_id in the client for connecting over IPv6 link-local addresses. * Collab rebase on Twitch Signed-off-by: Kris Nóva <nova@nivenly.org> * Fix auraed path Signed-off-by: Kris Nóva <nova@nivenly.org> * Comment out VM test Signed-off-by: Kris Nóva <nova@nivenly.org> --------- Signed-off-by: Kris Nóva <nova@nivenly.org> Co-authored-by: Jeroen Soeters <wfhsoeters@gmail.com>

Commit:cdfcda3
Author:dominic
Committer:GitHub

streaming logs from sub processes (#410) * first pass at sub process log responses * better probably working version * better error states for observe * fix pid panic * pid -> i32 * catch and warn

Commit:86e9528
Author:Jeroen Soeters
Committer:GitHub

Introduce the ability to specify workload type for `GetPosixStreamSignals` (#391) * Introduce end-to-end test for GetPosixSignalsStream endpoint * Introduce workload in observe api * Skeleton for e2e tests for observe api * Add some comments * Remove oneof from API and use enum instead * Added a few tests to drive this work * Add cgroup to Signal and create CgroupCache for mapping inode cgroup path * Green tests! * Move observe service into it's own module. More cleanup. * Make target for e2e tests * Optimized filtering events by cgroup path * Add comment to remind us of potential issues with inode wraparound * Rebased main * Typo * Fix linter errors * One more lint error * Ignore e2e tests so they don't run in GHA. Remove dead code. * Fix CgroupCache test * Add license, version and authors to e2e test crate * Setup lints for e2e tests * Module comments for e2e tests * More linter errors * Rename workload type container to pod sandbox

Commit:3671e37
Author:future-highway
Committer:GitHub

Use // in proto comments (#403)

Commit:8b4abaa
Author:Tommy McCormick
Committer:GitHub

VM Service (#389) * feat(vm): Add rust vm service protos Signed-off-by: jan0ski <mccormickt9@gmail.com> * Fixing proto dependency from #372 Signed-off-by: Kris Nóva <kris@nivenly.com> * Introduuce VMs and rebase on main Signed-off-by: Kris Nóva <kris@nivenly.com> --------- Signed-off-by: jan0ski <mccormickt9@gmail.com> Signed-off-by: Kris Nóva <kris@nivenly.com> Co-authored-by: Kris Nóva <kris@nivenly.com>

Commit:606631a
Author:dominic
Committer:GitHub

Introduce cgroups v2 memory controller (#363) * initial commit of cgroupsv2 memory controller * add cells_mem example, and clean up in cells_quota * fixing post merge * mem -> memory * more post-merge cleanup and docs * implement "Protection" for memory controls --------- Co-authored-by: Kris Nóva <github@nivenly.com>

Commit:d4b0506
Author:Jeroen Soeters
Committer:GitHub

Introduce POSIX Signal API (#336) * Refactored 'ObserveServer' to 'ObserveService' similar to 'DiscoveryService' and 'CellsService'. Added a failing test for intercepting POSIX signals * Use Signal crate for POSIX signals * Loading a dummy tracepoint probe * Add make target for building eBPF probes * Introduced basic eBPF loader and tracepoint probe that attaches to the signal/signal_generate trace event * All build targets now depend on the ebpf target. Remove xtask alias. * Remove xtask * Add comments for eBPF targets in Makefile * Renaming and adding some comments * Hooking up gRPC endpoint and generating client code in both aer and auraescript * Added nightly toolchain to Makefile and updated build docs * Whitespace fixes * Remove --verbose from ebpf make targets * Cleanup * Fix typo * Do not install eBPF probes in nested auraed * Add make target for installing bpf-linker * Alphabetically sorting mod statements * Cleanup * Resolve conflict in Cargo.lock * Fix docs build * Fix lint errors * Update nightly make target * Skip test_intercept_posix_signals if not root * Introduce GPL2.0 and MIT, package rename Signed-off-by: Kris Nóva <kris@nivenly.com> * Introduce large refactor, changing names, ebpf improvements, loader refactor, etc Signed-off-by: Kris Nóva <kris@nivenly.com> * Update BPF scope for lib.rs Signed-off-by: Kris Nóva <kris@nivenly.com> * Fixing tests Signed-off-by: Kris Nóva <kris@nivenly.com> * Format override Signed-off-by: Kris Nóva <kris@nivenly.com> * Clippy is great, I love clippy Signed-off-by: Kris Nóva <kris@nivenly.com> * Fixing builds Signed-off-by: Kris Nóva <kris@nivenly.com> * Skip eBPF probe until we can figure out another way Signed-off-by: Kris Nóva <kris@nivenly.com> * Skip eBPF probe until we can figure out another way Signed-off-by: Kris Nóva <kris@nivenly.com> --------- Signed-off-by: Kris Nóva <kris@nivenly.com> Co-authored-by: Kris Nóva <github@nivenly.com> Co-authored-by: Kris Nóva <kris@nivenly.com>

Commit:6a0fd81
Author:Jeroen Soeters
Committer:Jeroen Soeters

Refactored 'ObserveServer' to 'ObserveService' similar to 'DiscoveryService' and 'CellsService'. Added a failing test for intercepting POSIX signals

Commit:78bf5d4
Author:Jeroen Soeters
Committer:GitHub

Introduce "list" api for cells (#322)

Commit:47dabf1
Author:Kris Nóva
Committer:GitHub

RunPodSandbox CRI Implementation (Starting point) (#308) * Debugging cri auraescript Signed-off-by: Kris Nóva <kris@nivenly.com> * Remove runtime.pod_service Signed-off-by: Kris Nóva <kris@nivenly.com> * Plumb CRI through to auraed Signed-off-by: Kris Nóva <kris@nivenly.com> * Introduce comment for check udeps Signed-off-by: Kris Nóva <kris@nivenly.com> * Changes for branch switch Signed-off-by: Kris Nóva <kris@nivenly.com> * rebase and compile with upstream changes Signed-off-by: Kris Nóva <kris@nivenly.com> * add cri to auraescript decls Signed-off-by: Kris Nóva <kris@nivenly.com> * Remove doc test Signed-off-by: Kris Nóva <kris@nivenly.com> * Plumbing hostname through and example .ts file Signed-off-by: Kris Nóva <kris@nivenly.com> * First recursive auraed with gRPC + typescript Signed-off-by: Kris Nóva <kris@nivenly.com> * Working aurae directory and OCI bundle paths Signed-off-by: Kris Nóva <kris@nivenly.com> * Updates to cgroup namespace from procfs for recursive auraeds Signed-off-by: Kris Nóva <kris@nivenly.com> * TODOs for more pod growth Signed-off-by: Kris Nóva <kris@nivenly.com> * Fixing docs Signed-off-by: Kris Nóva <kris@nivenly.com> --------- Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:48b8e3e
Author:dominic hamon
Committer:GitHub

`make proto-lint` clean (#318) * `make proto-lint` clean * revert health change and fix observe * more observe fixes * add some PHONY just because

Commit:504bf06
Author:Future Highway
Committer:Future Highway

Rename runtime to cells & remove old pod_service

Commit:f7b701f
Author:Kris Nóva

Remove Kubernetes Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:3d22bb4
Author:Future Highway
Committer:Kris Nóva

Abide by Cgroups v2 "no internal processes" rule

Commit:071c47c
Author:Future Highway

Abide by Cgroups v2 "no internal processes" rule

Commit:dd6c6a3
Author:dominic hamon
Committer:GitHub

replace 'health' with 'discover' (#297)

Commit:da7e3f7
Author:Andrew O'Brien
Committer:GitHub

Fixes typo in docs

Commit:15b6938
Author:Jesse Peters
Committer:GitHub

Merge branch 'main' into update-copyright-year

Commit:6bedca0
Author:Kris Nóva

Remove gogo and fix docs build Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:c3ca6f2
Author:Kris Nóva

Introduce kubernetes CRI and make target Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:2af0f1e
Author:Jesse Peters
Committer:Jesse Peters

update copyright year to 2023 Update copyrights

Commit:acb05aa
Author:Future Highway

Improve docs for CpuController.max

Commit:f387e2b
Author:Future Highway
Committer:Future Highway

Keep CpuController field name as "max" (not "limit")

Commit:30fd200
Author:Future Highway
Committer:Future Highway

Cells & Cgroups (not working)

Commit:bee7267
Author:Future Highway
Committer:Future Highway

Rename max to limit; update example scripts

Commit:6b666ae
Author:Future Highway

Grpc health service

Commit:ccb0be7
Author:Kris Nóva
Committer:Kris Nóva

Adding changes for future Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:5416324
Author:Kris Nóva
Committer:Kris Nóva

Adding changes for future_highway Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:d0e5c75
Author:Kris Nóva
Committer:Kris Nóva

More awesome plumbing Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:e2cbe3f
Author:Kris Nóva

Remove pod specs Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:4a4b6d6
Author:Kris Nóva
Committer:GitHub

Merge branch 'main' into nested-init

Commit:f1539cb
Author:Kris Nóva

Refactor API Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:bcab504
Author:Kris Nóva

Starting to clean up the output Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:6f7def0
Author:Dominic Hamon

rename schedule to discovery and ping to health

Commit:0b56f96
Author:Dominic Hamon
Committer:Dominic Hamon

add Ping endpoint to schedule service

Commit:9ca904e
Author:Kris Nóva
Committer:GitHub

Merge branch 'main' into nested-init

Commit:17070b3
Author:Manuel Coppotelli

go package match the proto structure

Commit:848188e
Author:Manuel Coppotelli
Committer:Manuel Coppotelli

Add go_package to v0 api proto

Commit:5093e0a
Author:Kris Nóva
Committer:Future Highway

Introduce image and original pod plumbing Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:cc11253
Author:Kris Nóva
Committer:Future Highway

Moving forward with youki Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:e3ab341
Author:Adam P. Regasz-Rethy

Move api/v0/*.proto into api/v0/{}/{}.proto The buf code generator for Go will create the Go files based on the proto file's directory. Since the proto files have a different package but are in the same directory, the same thing will happen for the generated Go files which will result in a Go build error.

Commit:71761ab
Author:Adam P. Regasz-Rethy
Committer:Adam P. Regasz-Rethy

Rename proto packages based on style guide to be unique See https://developers.google.com/protocol-buffers/docs/style#packages

Commit:1f80645
Author:Dominic Hamon
Committer:Dominic Hamon

api best practice rename

Commit:e7f58f8
Author:Kris Nóva

Initial plumbing for pods Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:6b944b4
Author:Kris Nóva
Committer:Kris Nóva

Hrmmm... Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:51730c8
Author:Kris Nóva
Committer:Kris Nóva

Introduce skeleton pods api Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:a2c20cc
Author:Future Highway

Use sh -c to run command

Commit:67f7452
Author:Kris Nóva

Starting on namespace isolation for cells Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:69cf6e1
Author:Kris Nóva

Replacing std::process with unshare Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:cd3757d
Author:Kris Nóva

Complete plumbing of NS args to cell_service Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:ad2616b
Author:Kris Nóva

add pid response Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:18dfc61
Author:Kris Nóva

Remove repeated executables Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:86d1e60
Author:Kris Nóva

Rename StartStopCell -> StartStopExecutable Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:c20891c
Author:Future Highway

Rename command_args to args

Commit:04cfd65
Author:Future Highway

Avoid responsibility of parsing command from string

Commit:6d8b116
Author:Future Highway

Accept multiple executables in StartCellRequest

Commit:ee1d4eb
Author:Dominic Hamon
Committer:Dominic Hamon

introduce fixed period for cpu quota in cgroups, cpu quota is defined as a portion of time within a defined period. with this PR we define a period to be 1 second (in microseconds) and then allow the cpu quota to be set as a fraction of that (in microseconds).

Commit:dd779da
Author:Kris Nóva

Starting on response values Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:56b0a21
Author:Kris Nóva

Adding plumbing from stream Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:4d1e3a8
Author:Kris Nóva
Committer:Kris Nóva

async hell Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:2abfc11
Author:Kris Nóva
Committer:Kris Nóva

Starting on allocate and free, working with @future_highway Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:9e6d7c6
Author:Kris Nóva

Refactor Auraed to new api Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:c03fe26
Author:Kris Nóva

Introduce a simplified cell-only API Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:d66e0aa
Author:Dominic Hamon

fix plural

Commit:2bd64e5
Author:Dominic Hamon

1 pod contains 1 cell

Commit:f3f3364
Author:Kris Nóva

Compile and test plumbing Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:73b27f1
Author:Kris Nóva

rename to core service Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:66493ef
Author:Kris Nóva

Compiling and plumbing for the new API Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:b53637e
Author:Kris Nóva

The big decision commit Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:fba08bd
Author:Kris Nóva

Bump cargo and update proto Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:35b6025
Author:Kris Nóva

Introduce youki for containers Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:ef88cd8
Author:Kris Nóva

Introduce a Pod... Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:c0135b0
Author:Kris Nóva

Change timestamp to i64 Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:0e46852
Author:Vincent Riesop
Committer:Vincent Riesop

stream logs via grpc api

Commit:55b895b
Author:Kris Nóva

Automatic commit from github.com/kris-nova/bin Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:caef6f1
Author:Kris Nóva

Automatic commit from github.com/kris-nova/bin Signed-off-by: Kris Nóva <kris@nivenly.com>

This commit does not contain any .proto files.

Commit:12779ef
Author:Kris Nóva

Automatic commit from github.com/kris-nova/bin Signed-off-by: Kris Nóva <kris@nivenly.com>

Commit:803abdf
Author:Kris Nóva

Automatic commit from github.com/kris-nova/bin Signed-off-by: Kris Nóva <kris@nivenly.com>

This commit does not contain any .proto files.

Commit:2b0e350
Author:Kris Nóva

Initial commit