From c2d749af35ce7f0a6a5ce525497e09005c718efa Mon Sep 17 00:00:00 2001 From: Ho Geun Choi Date: Wed, 22 Jul 2026 22:37:07 +0900 Subject: [PATCH] =?UTF-8?q?chore(release):=20cut=20v0.1.0=20=E2=80=94=20un?= =?UTF-8?q?ify=20crate=20versions,=20ship=20proxy=20image?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Unify pasu-audit/core/rules/ui 0.0.0 -> 0.1.0 (all 10 crates now 0.1.0). - release.yml: build+push pasu-proxy alongside pasu-egress (matrix; the unprivileged proxy image is the low-friction adoption path). - CHANGELOG: cut [Unreleased] into [0.1.0] - 2026-07-22. Signed-off-by: Ho Geun Choi --- .github/workflows/release.yml | 17 +++++++++++++---- CHANGELOG.md | 10 +++++++--- Cargo.lock | 8 ++++---- crates/pasu-audit/Cargo.toml | 2 +- crates/pasu-core/Cargo.toml | 2 +- crates/pasu-rules/Cargo.toml | 2 +- crates/pasu-ui/Cargo.toml | 2 +- 7 files changed, 28 insertions(+), 15 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a4647e4..ef2f457 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,6 +1,7 @@ name: release -# Build and publish a multi-arch pasu-egress image to GHCR on version tags. +# Build and publish the multi-arch pasu images to GHCR on version tags: +# pasu-egress (kernel eBPF guard) and pasu-proxy (unprivileged LLM-API guard). on: push: tags: ["v*"] @@ -11,8 +12,16 @@ permissions: jobs: image: - name: ghcr image (amd64 + arm64) + name: ghcr ${{ matrix.image }} (amd64 + arm64) runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + include: + - image: pasu-egress + dockerfile: deploy/Dockerfile + - image: pasu-proxy + dockerfile: deploy/proxy/Dockerfile steps: - uses: actions/checkout@v4 - uses: docker/setup-qemu-action@v3 @@ -25,7 +34,7 @@ jobs: - uses: docker/metadata-action@v5 id: meta with: - images: ghcr.io/${{ github.repository_owner }}/pasu-egress + images: ghcr.io/${{ github.repository_owner }}/${{ matrix.image }} tags: | type=semver,pattern={{version}} type=semver,pattern={{major}}.{{minor}} @@ -33,7 +42,7 @@ jobs: - uses: docker/build-push-action@v6 with: context: . - file: deploy/Dockerfile + file: ${{ matrix.dockerfile }} platforms: linux/amd64,linux/arm64 push: true tags: ${{ steps.meta.outputs.tags }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 83c68d9..4162347 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,16 @@ # Changelog All notable changes to pasu are documented here. The format follows -[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project aims -for [Semantic Versioning](https://semver.org/spec/v2.0.0.html) once it reaches -its first tagged release. +[Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project follows +[Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +## [0.1.0] - 2026-07-22 + +First tagged release — the two-layer guard (LLM-API proxy + eBPF kernel egress) +with policy, HITL UI, audit, containers, and verified deploy paths. + ### Added - **Podman deployment notes (verified)** — `docs/deployment.md` documents running the eBPF egress guard under Podman (cgroup-v2-native, daemonless), **verified on diff --git a/Cargo.lock b/Cargo.lock index 948b145..44d4b98 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1306,7 +1306,7 @@ dependencies = [ [[package]] name = "pasu-audit" -version = "0.0.0" +version = "0.1.0" dependencies = [ "log", "opentelemetry", @@ -1332,7 +1332,7 @@ dependencies = [ [[package]] name = "pasu-core" -version = "0.0.0" +version = "0.1.0" dependencies = [ "serde", ] @@ -1408,7 +1408,7 @@ dependencies = [ [[package]] name = "pasu-rules" -version = "0.0.0" +version = "0.1.0" dependencies = [ "criterion", "pasu-core", @@ -1418,7 +1418,7 @@ dependencies = [ [[package]] name = "pasu-ui" -version = "0.0.0" +version = "0.1.0" dependencies = [ "axum", "pasu-core", diff --git a/crates/pasu-audit/Cargo.toml b/crates/pasu-audit/Cargo.toml index 628c657..7427a4c 100644 --- a/crates/pasu-audit/Cargo.toml +++ b/crates/pasu-audit/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pasu-audit" -version = "0.0.0" +version = "0.1.0" edition.workspace = true license.workspace = true repository.workspace = true diff --git a/crates/pasu-core/Cargo.toml b/crates/pasu-core/Cargo.toml index 6f303f6..3c82c43 100644 --- a/crates/pasu-core/Cargo.toml +++ b/crates/pasu-core/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pasu-core" -version = "0.0.0" +version = "0.1.0" edition.workspace = true license.workspace = true repository.workspace = true diff --git a/crates/pasu-rules/Cargo.toml b/crates/pasu-rules/Cargo.toml index b13705c..cd61fc9 100644 --- a/crates/pasu-rules/Cargo.toml +++ b/crates/pasu-rules/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pasu-rules" -version = "0.0.0" +version = "0.1.0" edition.workspace = true license.workspace = true repository.workspace = true diff --git a/crates/pasu-ui/Cargo.toml b/crates/pasu-ui/Cargo.toml index 7b62592..4ab9964 100644 --- a/crates/pasu-ui/Cargo.toml +++ b/crates/pasu-ui/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pasu-ui" -version = "0.0.0" +version = "0.1.0" edition.workspace = true license.workspace = true repository.workspace = true