Skip to content

Commit

Permalink
Merge pull request #35 from amosproj/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
BenediktZinn authored Oct 30, 2024
2 parents 65858f5 + a61c003 commit 4159b8a
Show file tree
Hide file tree
Showing 89 changed files with 4,389 additions and 2 deletions.
7 changes: 7 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"name": "Ziofa Builder",
"image": "ghcr.io/fhilgers/ziofa-builder:latest",
"features": {},
"remoteUser": "worker",
"updateRemoteUserUID": false
}
1 change: 1 addition & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
use flake
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,10 @@ bin/

# MacOS
.DS_Store

# Direnv
/.direnv

target

sbom.json
Binary file added Deliverables/sprint-02/feature-board.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 18 additions & 0 deletions Deliverables/sprint-02/feature-board.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
Title URL Assignees Status Estimated size Real size
Brain Storming Architecture https://github.com/amosproj/amos2024ws03-android-zero-instrumentation/issues/3 Sprint Backlog 3
Define Project Goals / Project Features https://github.com/amosproj/amos2024ws03-android-zero-instrumentation/issues/2 Sprint Backlog 3
Preperation of CI https://github.com/amosproj/amos2024ws03-android-zero-instrumentation/issues/6 Sprint Backlog 3
Brain Storming eBPF Use Cases https://github.com/amosproj/amos2024ws03-android-zero-instrumentation/issues/1 Sprint Backlog 2
Preperation of Kotlin https://github.com/amosproj/amos2024ws03-android-zero-instrumentation/issues/7 clabrous, luca-dot-sh Awaiting Review 3
License and Copyright Agreement https://github.com/amosproj/amos2024ws03-android-zero-instrumentation/issues/18 fhilgers In Progress 2
scope(ui) find timeseries visualization library (research) https://github.com/amosproj/amos2024ws03-android-zero-instrumentation/issues/21 clabrous, luca-dot-sh In Progress 2
architecture document https://github.com/amosproj/amos2024ws03-android-zero-instrumentation/issues/10 In Progress 3
bill of materials https://github.com/amosproj/amos2024ws03-android-zero-instrumentation/issues/9 BenediktZinn, der-whity, Mr-Kanister In Progress 3
Docker Container https://github.com/amosproj/amos2024ws03-android-zero-instrumentation/issues/11 fhilgers Awaiting Review 3
scope(build) aarch64 als target https://github.com/amosproj/amos2024ws03-android-zero-instrumentation/issues/23 fhilgers Awaiting Review 1
scope(build) android 13 instead of 15 https://github.com/amosproj/amos2024ws03-android-zero-instrumentation/issues/24 fhilgers Awaiting Review 1
Team Decision https://github.com/amosproj/amos2024ws03-android-zero-instrumentation/issues/8 BenediktZinn, clabrous, der-whity, ffranzgitHub, fhilgers, luca-dot-sh, Mr-Kanister Awaiting Review 1
scope(ebpf/daemon) uprobe https://github.com/amosproj/amos2024ws03-android-zero-instrumentation/issues/19 Product Backlog -1
scope(daemon) get information about android processes to list/find/search them (research) https://github.com/amosproj/amos2024ws03-android-zero-instrumentation/issues/20 Product Backlog -1
scope(ui) show information about which apps are available (depends on the daemon search functionality) https://github.com/amosproj/amos2024ws03-android-zero-instrumentation/issues/25 Product Backlog -1
scope(ebpf) unix domain socket traffic analysis (research) https://github.com/amosproj/amos2024ws03-android-zero-instrumentation/issues/22 Product Backlog -1
Binary file added Deliverables/sprint-02/imp-squared-backlog.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
12 changes: 12 additions & 0 deletions Deliverables/sprint-02/imp-squared-backlog.tsv
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Title Assignees Status
Assist in creating team processes (Sinatra Doctrine) Todo
Creating a Template for backlog item suggestions by the IP Todo
Improving time management in the Team meeting Todo
Backlog Item creation procedure Todo
Load balancing inside the dev team Todo
Establishing a continuouse release cycle with the team In Progress
Creating Sub-Teams to streamline development In Progress
Ensuring a continuous backlog items flow In Progress
Helping Coordinate the team meeting Done
Helping to set up the first IP meeting Done
Supporting team in understanding the amos workflow (e.g importance of the team meeting) Done
Binary file added Deliverables/sprint-02/planning-documents.pdf
Binary file not shown.
Binary file added Deliverables/sprint-02/software-architecture.pdf
Binary file not shown.
30 changes: 28 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,28 @@
# Fabulous Project (AMOS SS 20xx)
Something something something
# Zero Instrumentation Observability for Android (AMOS WS 2024)


## Building

### [Nix](https://nixos.org/download/)

The easiest way to get all dependencies is to use the provided development shell in `flake.nix`.
You can use a tool like [`direnv`](https://github.com/direnv/direnv) to automatically load the environment for this repository.

The shell will setup:

- The rust nightly toolchain (nightly is required currently for ebpf because of the unstable [`build-std`](https://doc.rust-lang.org/cargo/reference/unstable.html#build-std) feature)
- The [`bpf-linker`](https://github.com/aya-rs/bpf-linker/)
- The Android SDK and NDK
- The [`cargo-ndk`](https://github.com/bbqsrc/cargo-ndk) package for compiling for rust for android
- The [`protobuf`](https://protobuf.dev/) programs for generating grpc server and client code

### [OCI Container](https://opencontainers.org/)

We use the same input that go into the development shell for building a layered docker image.
This image is used for the ci, so it supports building the project as well, however you graphical applications like the android emulator require custom setups depending on your OS.

The container image is built via nix and can be automatically uploaded to the registry via `nix run .#dockerBuilder.copyToRegistry`.
It is currently hosted in the github registry under `ghcr.io/fhilgers/ziofa-builder`.

For a working emulator inside the docker image, you will need some form of X11 forwarding.
Installing nix and using the development shell is the recommended approach for development.
Loading

0 comments on commit 4159b8a

Please sign in to comment.