Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ jobs:
- uses: actions-rust-lang/setup-rust-toolchain@v1
- name: Run metrics tests
run: |
cargo test --locked -p linera-base --features metrics
cargo test --locked -p linera-base --features metrics,opentelemetry

wasm-application-test:
needs: changed-files
Expand Down
4 changes: 2 additions & 2 deletions CLI.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,8 +147,8 @@ Client implementation and command-line tool for the Linera blockchain

Default value: `10`
* `--chrome-trace-exporter` — Enable OpenTelemetry Chrome JSON exporter for trace data analysis
* `--otel-trace-file <OTEL_TRACE_FILE>` — Output file path for Chrome trace JSON format. Can be visualized in chrome://tracing or Perfetto UI
* `--otel-exporter-otlp-endpoint <OTEL_EXPORTER_OTLP_ENDPOINT>` — OpenTelemetry OTLP exporter endpoint (requires tempo feature)
* `--chrome-trace-file <CHROME_TRACE_FILE>` — Output file path for Chrome trace JSON format. Can be visualized in chrome://tracing or Perfetto UI
* `--otlp-exporter-endpoint <OTLP_EXPORTER_ENDPOINT>` — OpenTelemetry OTLP exporter endpoint (requires opentelemetry feature)
* `--wait-for-outgoing-messages` — Whether to wait until a quorum of validators has confirmed that all sent cross-chain messages have been delivered
* `--long-lived-services` — (EXPERIMENTAL) Whether application services can persist in some cases between queries
* `--blanket-message-policy <BLANKET_MESSAGE_POLICY>` — The policy for handling incoming messages
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ tonic-web = "0.12"
tonic-web-wasm-client = "0.6.0"
tower = "0.4.13"
tower-http = "0.6.6"
tracing = { version = "0.1.40", features = ["release_max_level_debug"] }
tracing = { version = "0.1.40", features = ["release_max_level_trace"] }
tracing-chrome = "0.7.2"
tracing-opentelemetry = "0.31.0"
tracing-subscriber = { version = "0.3.18", default-features = false, features = [
Expand Down
12 changes: 1 addition & 11 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ ARG binaries=
ARG copy=${binaries:+_copy}
ARG build_flag=--release
ARG build_folder=release
ARG build_features=scylladb,metrics,memory-profiling,tempo
ARG build_features=scylladb,metrics,memory-profiling,opentelemetry
ARG rustflags="-C force-frame-pointers=yes"

FROM rust:1.74-slim-bookworm AS builder
Expand Down Expand Up @@ -119,13 +119,3 @@ COPY --from=binaries \
linera-server \
linera-proxy \
./

COPY --chmod=755 \
docker/server-entrypoint.sh \
docker/server-init.sh \
docker/proxy-entrypoint.sh \
docker/proxy-init.sh \
docker/compose-server-entrypoint.sh \
docker/compose-proxy-entrypoint.sh \
docker/compose-server-init.sh \
./
9 changes: 6 additions & 3 deletions docker/Dockerfile.indexer
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,9 @@ ENV GIT_COMMIT=${git_commit}
ENV RUSTFLAGS=${rustflags}


# Build block exporter with scylladb and metrics features
# Build linera CLI and block exporter with scylladb and metrics features
RUN cargo build ${build_flag:+"$build_flag"} \
-p linera-service \
--bin linera \
--bin linera-exporter \
--features $build_features

Expand All @@ -86,6 +86,7 @@ RUN cargo build ${build_flag:+"$build_flag"} \

# Move binaries to avoid directory conflicts and clean up to save space
RUN mv \
target/"$build_folder"/linera \
target/"$build_folder"/linera-exporter \
target/"$build_folder"/linera-indexer-grpc \
./
Expand All @@ -94,6 +95,7 @@ RUN mv \
FROM scratch AS builder_copy
ARG binaries
COPY \
"$binaries"/linera \
"$binaries"/linera-exporter \
"$binaries"/linera-indexer-grpc \
./
Expand Down Expand Up @@ -121,8 +123,9 @@ RUN update-ca-certificates

ARG target

# Copy only indexer and exporter binaries
# Copy linera CLI, indexer and exporter binaries
COPY --from=binaries \
linera \
linera-indexer-grpc \
linera-exporter \
./
8 changes: 0 additions & 8 deletions docker/compose-proxy-entrypoint.sh

This file was deleted.

10 changes: 0 additions & 10 deletions docker/compose-server-entrypoint.sh

This file was deleted.

26 changes: 0 additions & 26 deletions docker/compose-server-init.sh

This file was deleted.

45 changes: 42 additions & 3 deletions docker/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,13 @@ services:
container_name: proxy
ports:
- "19100:19100"
command: ["./compose-proxy-entrypoint.sh", "1"]
command:
- ./linera-proxy
- --storage
- scylladb:tcp:scylla:9042
- --storage-replication-factor
- "1"
- /config/server.json
volumes:
- .:/config
labels:
Expand All @@ -60,7 +66,17 @@ services:
image: "${LINERA_IMAGE:-us-docker.pkg.dev/linera-io-dev/linera-public-registry/linera:testnet_conway_release}"
deploy:
replicas: 4
command: ["./compose-server-entrypoint.sh", "scylladb:tcp:scylla:9042", "1"]
command:
- ./linera-server
- run
- --storage
- scylladb:tcp:scylla:9042
- --server
- /config/server.json
- --shard
- "0"
- --storage-replication-factor
- "1"
volumes:
- .:/config
labels:
Expand All @@ -72,7 +88,30 @@ services:
shard-init:
image: "${LINERA_IMAGE:-us-docker.pkg.dev/linera-io-dev/linera-public-registry/linera:testnet_conway_release}"
container_name: shard-init
command: ["./compose-server-init.sh", "scylladb:tcp:scylla:9042", "1"]
command:
- sh
- -c
- |
while true; do
./linera storage check-existence --storage scylladb:tcp:scylla:9042
status=$$?
if [ $$status -eq 0 ]; then
echo "Database already exists, no need to initialize."
exit 0
elif [ $$status -eq 1 ]; then
echo "Database does not exist, attempting to initialize..."
if ./linera storage initialize --storage scylladb:tcp:scylla:9042 --genesis /config/genesis.json; then
echo "Initialization successful."
exit 0
else
echo "Initialization failed, retrying in 5 seconds..."
sleep 5
fi
else
echo "An unexpected error occurred (status: $$status), retrying in 5 seconds..."
sleep 5
fi
done
volumes:
- .:/config
depends_on:
Expand Down
10 changes: 0 additions & 10 deletions docker/proxy-entrypoint.sh

This file was deleted.

19 changes: 0 additions & 19 deletions docker/proxy-init.sh

This file was deleted.

13 changes: 0 additions & 13 deletions docker/server-entrypoint.sh

This file was deleted.

29 changes: 0 additions & 29 deletions docker/server-init.sh

This file was deleted.

7 changes: 5 additions & 2 deletions kubernetes/linera-validator/Chart.lock
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,8 @@ dependencies:
- name: pyroscope
repository: https://grafana.github.io/helm-charts
version: 1.14.2
digest: sha256:7fe611b57ddb6d72aa31bac87568fdb8e531e988e2ce4067b931d3026332f027
generated: "2025-09-01T16:56:59.19795-03:00"
- name: alloy
repository: https://grafana.github.io/helm-charts
version: 1.3.1
digest: sha256:295a8fc7b332a0b3c3223c2192ee1dbff016f8707760c5b4b22d76403d6d7af4
generated: "2025-10-28T00:45:17.142689-03:00"
Loading
Loading