Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
202b867
refactor: Separating out the Policy Store, Policy Reasoner and API
Lut99 May 7, 2025
8bfc9f4
Added an actually working Dockerfile.let now (at least on Linux)
Lut99 May 27, 2025
fee4e8c
Fixed dangling links in docs
Lut99 May 27, 2025
a3db81c
Clippy fixes
Lut99 May 27, 2025
d9a697b
Fixed serde to equal minimum version everywhere
Lut99 May 27, 2025
9a12649
fixup! refactor: Separating out the Policy Store, Policy Reasoner and…
DanielVoogsgerd Jun 6, 2025
b491b17
temp: Patch policy-reasoner and policy-store to use WIP branches
DanielVoogsgerd May 30, 2025
798acbc
chore(deps): Update rand
DanielVoogsgerd May 30, 2025
975a60d
chore(deps): Lower minimal versions
DanielVoogsgerd Jun 22, 2025
797de2b
fix: Replace manual async methods with native async methods
DanielVoogsgerd May 31, 2025
c65f05f
refactor: Remove From<&?String> implementations for Mergestrategy
DanielVoogsgerd May 31, 2025
cf036f1
chore: Remove littered commented code
DanielVoogsgerd May 31, 2025
0a2ec3b
style: Format macros
DanielVoogsgerd May 31, 2025
c2880e2
style: Spelling corrections
DanielVoogsgerd May 31, 2025
801d521
refactor: Move test modules to bottom of file
DanielVoogsgerd May 31, 2025
1d459da
refactor: Convert errors to thiserror
DanielVoogsgerd May 31, 2025
066a2b3
refactor: Small optimizations
DanielVoogsgerd May 31, 2025
05f45c2
fix: Remove dependency on policy store for http status conversions
DanielVoogsgerd Jun 1, 2025
7e56884
refactor: Switch compiler error handling to anyhow
DanielVoogsgerd Jun 6, 2025
707473a
refactor: small improvements
DanielVoogsgerd Jun 4, 2025
69464bd
refactor: Remove assert_workflow_context
DanielVoogsgerd Jun 4, 2025
c1eb4b8
refactor: Add and use FromStr<BuiltinFunctions>
DanielVoogsgerd Jun 5, 2025
ac5ebc9
fix(tracing): Use tracing::enabled! macro
DanielVoogsgerd Jun 6, 2025
e014d4e
chore: Switch to predefined BLOCK_SEPARATOR
DanielVoogsgerd Jun 6, 2025
b2f7949
chore(shr): Create retain_unique_in_order
DanielVoogsgerd Jun 6, 2025
cbe2584
refactor: Small idiomatic rust stuff
DanielVoogsgerd Jun 6, 2025
9e16baf
fix: Replace Reference::as_str with Deref impl
DanielVoogsgerd Jun 19, 2025
d131717
chore(deps): Bump axum to version 0.8
DanielVoogsgerd Jun 22, 2025
f2812e6
chore: Upgrade tonic to version 0.13
DanielVoogsgerd Jul 1, 2025
942fc1b
Removed `[patch]` section
Lut99 Jul 30, 2025
49cb75a
fix(ci): add lockfile
DanielVoogsgerd Jul 30, 2025
956adb8
Pushed `tokio-stream` to `0.1.16`
Lut99 Jul 30, 2025
841864d
Bumped MSRV for many crates to 1.82
Lut99 Jul 30, 2025
8dfaabf
(Theoretically) fixed problem with Haskell not compiling
Lut99 Jul 30, 2025
f1f0a9f
Fixed tests not passing
Lut99 Jul 30, 2025
904c406
Really fixed `brane-chk` compilation this time
Lut99 Jul 30, 2025
c60ebc7
Fixed nightly `mismatched_lifetime_syntaxes` warnings
Lut99 Jul 30, 2025
20a0e58
Fixed nightly Clippy warnings
Lut99 Jul 30, 2025
fbc6fb4
Fixed `brane-chk` copying `eflint-repl` from the wrong dir
Lut99 Jul 31, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
879 changes: 481 additions & 398 deletions Cargo.lock

Large diffs are not rendered by default.

29 changes: 21 additions & 8 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,8 @@ members = [
# These crates implement services for worker nodes
"brane-job",
"brane-reg",
"brane-let",
"brane-chk",
"brane-let", # Not a service, container-local binary

# These crates implement services that occur on any type of node
"brane-prx",
Expand Down Expand Up @@ -55,11 +56,10 @@ members = [
]



[workspace.package]
version = "3.0.0"
edition = "2021"
authors = [ "Onno Valkering", "Tim Müller" ]
authors = ["Onno Valkering", "Tim Müller"]
description = "The Brane Framework is a workflow execution system that is capable of dealing with sensitive dataset. Created for the [EPI project](https://enablingpersonalizedinterventions.nl)."
repository = "https://github.com/braneframework/brane"
documentation = "https://wiki.enablingpersonalizedinterventions.nl"
Expand All @@ -68,14 +68,27 @@ license = "Apache-2.0"
[workspace.dependencies]
# Lut99 Crates
humanlog = { git = "https://github.com/Lut99/humanlog-rs", tag = "v0.2.0" }
enum-debug = { git = "https://github.com/Lut99/enum-debug", tag = "v1.1.0", features = ["derive"] }
error-trace = { git = "https://github.com/Lut99/error-trace-rs", tag = "v3.0.0" }
enum-debug = { git = "https://github.com/Lut99/enum-debug", tag = "v1.1.0", features = [
"derive",
] }
error-trace = "3.3.1"
transform = { git = "https://github.com/Lut99/transform-rs", tag = "v0.2.0" }
names = { git = "https://github.com/Lut99/names-rs", tag = "v0.1.0", default-features = false, features = [ "rand", "three-lowercase" ]}
download = { git = "https://github.com/Lut99/download-rs", tag = "v0.1.0", default-features = false, features = ["download"] }
names = { git = "https://github.com/Lut99/names-rs", tag = "v0.1.0", default-features = false, features = [
"rand",
"three-lowercase",
] }
download = { git = "https://github.com/Lut99/download-rs", tag = "v0.1.0", default-features = false, features = [
"download",
] }

# Note: This does not use any root store by default. This will have to be enabled *explicitly* by the workspace member.
reqwest = { version = "0.12.0", features = ["rustls-tls-manual-roots"], default-features = false }
reqwest = { version = "0.12.0", features = [
"rustls-tls-manual-roots",
], default-features = false }

# Other BraneFramework / EPI dependencies
policy-reasoner = { git = "https://github.com/BraneFramework/policy-reasoner.git" }
policy-store = { git = "https://github.com/BraneFramework/policy-store.git" }

[workspace.lints.clippy]
result_large_err = { level = "allow", priority = 1 }
Expand Down
152 changes: 0 additions & 152 deletions Dockerfile.dev

This file was deleted.

56 changes: 56 additions & 0 deletions Dockerfile.let
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# DOCKERFILE.let for BRANE
# by Tim Müller
#
# Contains the Dockerfile for building a `branelet` binary in a container.
#
# This is necessary when running a non-released Brane (i.e., no precompiled binaries) and on a
# system that has a newer GLIBC than would run in the container.
#
# The easiest way to use it is through `make brane-let-docker`
#


# NOTE: Ensure this is the same as used by `brane-cli`!
FROM ubuntu:20.04
LABEL org.opencontainers.image.source=https://github.com/BraneFramework/brane

# Define some build args
ARG USERID=1000
ARG GROUPID=1000

# Setup a user mirroring the main one
RUN if [ -z "$(getent group "$GROUPID")" ]; then groupadd -g "$GROUPID" brane; fi
RUN useradd -u "$USERID" -g "$GROUPID" -m brane

# Install build dependencies
RUN apt-get update && DEBIAN_FRONTEND=noninteractive TZ=Etc/UTC apt-get install -y \
gcc g++ \
make cmake \
perl curl \
&& rm -rf /var/lib/apt/lists/*

# Install rust
USER brane
RUN bash -c "curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y" \
&& echo ". /home/brane/.cargo/env" >> /home/brane/.profile

# Copy over relevant crates & other files
USER root
COPY . /build
RUN mkdir -p /build/target \
&& chown -R brane:$(getent group "$GROUPID" | cut -d: -f1) /build

# Build the binary
WORKDIR /build
USER brane
RUN --mount=type=cache,id=cargoidx,uid=$USERID,target=/home/brane/.cargo/registry \
--mount=type=cache,id=braneletcache,uid=$USERID,target=/build/target \
. /home/brane/.profile \
&& cargo build \
--release \
--package brane-let \
&& cp ./target/release/branelet /home/brane/branelet

# Done
ENTRYPOINT ["cp", "/home/brane/branelet", "/output/branelet"]

Loading
Loading