Experimental implementation of the Privacy Preserving Measurement (PPM) specification.

Related tags

Command-line janus
Overview

janus

Janus is an experimental implementation of the Privacy Preserving Measurement (PPM) specification.

It is currently in active development.

Running janus_server

The aggregator server requires a connection to a PostgreSQL 14 database. Prepare the database by executing the script at db/schema.sql. Most server configuration is done via a YAML file, following the structure documented on janus_server::config::AggregatorConfig. Record the database's connection URL, the address the aggregator server should listen on for incoming HTTP requests, and other settings in a YAML file, and pass the file's path on the command line as follows. (The database password can be passed through the command line or an environment variable rather than including it in the connection URL, see aggregator --help.)

aggregator --config-file <config-file> --role <role>

Running tests

To run janus tests, ensure docker is running locally and execute cargo test.

Container image

To build a container image, run the following command.

DOCKER_BUILDKIT=1 docker build --tag=janus_server .

Monitoring with tokio-console

Optional support is included to monitor the server's async runtime using tokio-console. When enabled, a separate tracing subscriber will be installed to monitor when the async runtime polls tasks, and expose that information to diagnostic tools via a gRPC server. Currently, this requires both changes to the aggregator configuration and to the build flags used at compilation. Add a stanza similar to the following to the configuration file.

logging_config:
  tokio_console_config:
    enabled: true
    listen_address: 127.0.0.1:6669

Compile the server with the tokio-console feature enabled, and provide the flag --cfg tokio_unstable to rustc, as follows. (If tokio-console support is enabled in a build without the tokio_unstable flag, the server will panic upon startup)

RUSTFLAGS="--cfg tokio_unstable" CARGO_TARGET_DIR=target/tokio_unstable cargo build --features tokio-console

Install tokio-console, run the server, and run tokio-console http://127.0.0.1:6669 to connect to it and monitor tasks.

OpenTelemetry Traces

Tracing spans from the server can be exported to distributed tracing systems through the OpenTelemetry SDK, and various exporters.

Jaeger

Jaeger is a software stack that stores, indexes, and displays distributed traces. While Jaeger supports the OpenTelemetry object model, it uses its own wire protocols, and thus requires Jaeger-specific exporters.

For local testing, start Jaeger by running docker run -d -p6831:6831/udp -p6832:6832/udp -p16686:16686 -p14268:14268 jaegertracing/all-in-one:latest, and open its web interface at http://localhost:16686/. Enable experimental support for Jaeger by compiling with the jaeger feature. Add the following configuration file stanza. Trace data will be pushed to the local Jaeger agent via UDP.

logging_config:
  open_telemetry_config:
    jaeger:

Honeycomb

Honeycomb is a Software-as-a-Service provider that offers an integrated observability tool. To use it, sign up for an account, create a team and environment, and retrieve the corresponding API key. Compile janus_server with the otlp feature enabled, to pull in the OTLP exporter. Add the following section to the configuration file, subtituting in the Honeycomb API key. Traces will be sent to Honeycomb via OTLP/gRPC.

logging_config:
  open_telemetry_config:
    otlp:
      endpoint: "https://api.honeycomb.io:443"
      metadata:
        x-honeycomb-team: "YOUR_API_KEY"

The gRPC metadata can also be specified on the command line, with --otlp-tracing-metadata x-honeycomb-team=YOUR_API_KEY, or through the environment variable OTLP_TRACING_METADATA.

OpenTelemetry Metrics

Application-level metrics from the server can be exported to one of the following services.

Prometheus

When the Prometheus exporter is enabled, a server will listen on port 9464 for metrics scrape requests. Prometheus must be configured to scrape the server, either manually or via an auto-discovery mechanism. Compile janus_server with the prometheus feature enabled, and add the following to the configuration file.

metrics_config:
  exporter:
    prometheus:
      host: 0.0.0.0
      port: 9464

The IP address and port that Prometheus exporter listens on can optionally be set in the configuration file as above. If the host and port are not set, it will fall back to the environment variables OTEL_EXPORTER_PROMETHEUS_HOST and OTEL_EXPORTER_PROMETHEUS_PORT, or the default values of 0.0.0.0 and 9464.

Honeycomb

Honeycomb also supports OpenTelemetry-formatted metrics, though only on the Enterprise and Pro plans. Compile janus_server with the otlp feature enabled, and add the following section to the configuration file. Note that the OTLP/gRPC exporter will push metrics at regular intervals.

metrics_config:
  exporter:
    otlp:
      endpoint: "https://api.honeycomb.io:443"
      metadata:
        x-honeycomb-team: "YOUR_API_KEY"
        x-honeycomb-dataset: "YOUR_METRICS_DATASET"

The command line flag --otlp-metrics-metadata or environment variable OTLP_METRICS_METADATA may alternately be used to supply gRPC metadata for the metrics exporter.

Comments
  • Add `test-util` features to hide test utilities

    Add `test-util` features to hide test utilities

    We had a handful of items intended for use exclusively in tests that were marked pub so that targets like monolithic_integration_test can use them, but tagged #[doc(hidden)] because they aren't part of the proper public interface to any component of Janus. We now instead hide those test utilities behind a new test-util feature defined on crates janus_core, janus_client and janus_server. We could also have moved items to the test_util crate but there's something to be said for having e.g. the code that inserts tasks into the datastore be right next to all the other datastore code, instead of test_util/lib.rs becoming a dumping ground of items unrelated to each other save that they are used in tests. Additionally, if we ever want to "promote" any of these test_util items to being used in production configurations, that's a simple matter of deleting a #[cfg(feature = "test-util")] instead of having to move a function and annihilate its git history.

    Resolves #141

    opened by tgeoghegan 8
  • Initial implementation of aggregation job creator.

    Initial implementation of aggregation job creator.

    The concurrency part was the most challenging piece: I would have liked to have the task-creation worker (i.e. AggregationJobCreator::run()) be "tightly linked" to the job-creation workers (i.e. AggregationJobCreator::run_for_task()) in the sense that a task-discovery worker shutting down would be noticed & cleaned up immediately (in a select loop). Sadly, the lifetime/ownership issues involved made this very challenging. Instead, I settled for a strategy where the task-discovery worker owns a oneshot sender for each job-creation worker, and is responsible to notice when a task is no longer relevant; actual shutdown of the job-creation worker is loosely coupled and may happen later. This approach is hypothetically racy and definitely slower to notice a lingering no-longer-existent task, but I think those issues are marginal enough that this is an acceptable strategy -- I think the worst outcome we'll see is, if we delete a task, we'll see its job-creation worker produce errors until the next time the task-creation worker updates its view of existing tasks.

    opened by branlwyd 8
  • Kubernetes compatible liveness/startup/readiness/health endpoint

    Kubernetes compatible liveness/startup/readiness/health endpoint

    Aggregators should perform health checks at startup and report on an HTTP endpoint that can be used by (among other things) Kubernetes to determine if a running container is healthy.

    https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/

    opened by tgeoghegan 8
  • Proposed crate/directory layout

    Proposed crate/directory layout

    Now that we are building client, server, and common PPM components, I thought it would be good to reorganize them into separate crates. How does this look?

    Before:

    ├── .github ...
    ├── .gitignore
    ├── janus_server
    │   ├── Cargo.lock
    │   ├── Cargo.toml
    │   ├── src
    │   │   ├── aggregator.rs
    │   │   ├── bin
    │   │   │   └── aggregator.rs
    │   │   ├── client.rs
    │   │   ├── hpke.rs
    │   │   ├── lib.rs
    │   │   └── message.rs
    │   └── tests
    │       └── integration_test.rs
    ├── LICENSE
    └── README.md
    

    After:

    ├── .github ...
    ├── .gitignore
    ├── Cargo.lock
    ├── Cargo.toml (workspace only)
    ├── LICENSE
    ├── README.md
    ├── janus
    │   ├── Cargo.toml
    │   ├── src
    │   │   ├── lib.rs
    │   │   ├── hpke.rs
    │   │   └── message.rs
    │   └── tests
    ├── janus_client
    │   ├── Cargo.toml
    │   ├── src
    │   │   └── lib.rs
    │   └── tests
    │       └── integration_test.rs
    └── janus_server
        ├── Cargo.toml
        ├── src
        │   ├── aggregator.rs
        │   ├── bin
        │   │   └── aggregator.rs
        │   └── lib.rs
        └── tests
            └── integration_test.rs
    
    opened by divergentdave 7
  • Log errors using Debug rather than Display implementations.

    Log errors using Debug rather than Display implementations.

    This is necessary because anyhow error types do not render their internally-wrapped "source" errors with their Display implementations, only their Debug implementations.

    While I'm examining all the log lines, also fixup a few things to use Display as needed -- this is most important for ID types, which would previously be logged as e.g. task_id = TaskId(abcde) instead of just task_id = abcde. The additional type information is not helpful to humans & stutters with the field name.

    Closes #609.

    opened by branlwyd 6
  • Build and publish artifacts from `janus`

    Build and publish artifacts from `janus`

    Janus' automated release action should build artifacts and publish them to durable artifact stores. These include:

    Ship to Google Artifact Registry (GAR) container registry:

    • aggregator container
    • aggregate_job_creator container
    • aggregate_job_driver container
    • collect_job_driver container

    GAR blob store:

    • janus_server database SQL schema

    Ship to crates.io:

    • Divvi Up Rust client crate
    milestone production readiness interop-testing 
    opened by tgeoghegan 6
  • Container-based interop testing

    Container-based interop testing

    • We build the interop test Janus container during build time, so that we can embed it in the interop test binary. This allows the interop testcontainer library to load the container at runtime as needed.
    • If we published a container (or with some magic to check if we want to try pulling from a private repository?), we could test with a published container version by default and trigger this behavior only with a feature/environment variable. This would eliminate the buildtime hit. (Or, if the buildtime hit is acceptable, we might even want to run different versions against the code under test as a test against regressions against previous versions of our code.)
    • I build a shim container for Daphne; this is a temporary solution to allow easy networking setup & task configuration. The next step is to contribute to Daphne a Dockerfile to build something like this container, then set up our repository to build (or, eventually, load) that container instead.
    • My next steps are the contribution to Daphne I mention above, and then using this so that the end-to-end test uses the real interop containers (extending it to exercise the Dockerfiles as well).
    • I moved the non-/ serving path regression test to the new interop API end-to-end test, since it's now easier to express there. But we may want to move it back once the end-to-end test uses the containers too, to keep this test API-centric. If it's controversial, I'll figure out a way to move the regression test back in this PR.

    Also sets -p on builds to avoid workspace feature coalescence enabling unexpected features in our binary builds (see #394 for more details).

    Closes #394.

    opened by branlwyd 5
  • Audit `tracing` spans for large or secret objects

    Audit `tracing` spans for large or secret objects

    There's some places where we include an entire Task structure in tracing spans, which can yield rather large messages. Additionally, some of those objects may contain secret values like HPKE private keys, which we never, ever want to log. We should audit our tracing spans to ensure that no values that are too large or sensitive get logged.

    production readiness 
    opened by tgeoghegan 5
  • Pin Kind node image used in EphemeralCluster

    Pin Kind node image used in EphemeralCluster

    By default, kind would install a node image for Kubernetes 1.24, which is a couple minor versions past what we deploy to cloud environments and which runs afoul of some Terraform bugs1. Pin the Kind node image we use to a Kubernetes 1.22 image, to match the Kind we use in other CI contexts.

    opened by tgeoghegan 5
  • Add support for OpenTelemetry traces, Jaeger

    Add support for OpenTelemetry traces, Jaeger

    This adds an option to export tracing spans and events via Jaeger. Up to now, our tracing subscribers have been primarily focused on events. Jaeger lets us visualize spans themselves, relations between spans, and the duration of each span. As with tokio-console, I have put it behind a feature and a configuration flag for now.

    opened by divergentdave 5
  • Secure storage of tasks and related values in database

    Secure storage of tasks and related values in database

    We've been discussing how to handle discovering PPM tasks and storing secret values in a variety of venues, so I'm gathering up what I believe to be our consensus plan in this issue, and I will use it to track the phases of implementation.

    • [x] Aggregators should discover defined tasks in the database at startup and set up handlers for each.

    • [ ] A task's HPKE config, HPKE private key, VDAF verify parameter and aggregator auth key can be rotated independently of the task. Those should be stored in a separate table to allow for a many:1 relationship.

    • [x] Secret values (HPKE private key, VDAF verify parameter and aggregator auth key) should be stored encrypted under a key provided to the aggregator in its environment (likely from a Kubernetes secret). We need to devise a scheme for protecting secrets in the database in a way that binds them to a task.

    opened by tgeoghegan 5
  • build(deps): bump trycmd from 0.14.5 to 0.14.6

    build(deps): bump trycmd from 0.14.5 to 0.14.6

    Bumps trycmd from 0.14.5 to 0.14.6.

    Changelog

    Sourced from trycmd's changelog.

    [0.14.6] - 2022-12-23

    Fixes

    • Improved build times
    Commits
    • aaf9177 chore: Release
    • f09288a docs: Update changelog
    • 9328ff0 Merge pull request #186 from epage/toml
    • 5e4326a chore: Upgrade toml_edit
    • 175b3ce chore(ci): Update renovate
    • 40968cd Merge pull request #185 from assert-rs/renovate/libtest-mimic-0.x
    • 7b97289 Merge pull request #182 from assert-rs/renovate/actions-setup-python-4.x
    • dc38b66 chore(deps): update rust crate libtest-mimic to 0.6.0
    • 49a8690 chore: Iterate on renovate
    • 776f429 chore(deps): update actions/setup-python action to v4
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • build(deps): bump serde from 1.0.151 to 1.0.152

    build(deps): bump serde from 1.0.151 to 1.0.152

    Bumps serde from 1.0.151 to 1.0.152.

    Release notes

    Sourced from serde's releases.

    v1.0.152

    • Documentation improvements
    Commits
    • ccf9c6f Release 1.0.152
    • b25d0ea Link to Hjson data format
    • 4f4557f Link to bencode data format
    • bf400d6 Link to serde_tokenstream data format
    • 4d2e36d Wrap flexbuffers bullet point to 80 columns
    • df6310e Merge pull request #2347 from dtolnay/docsrs
    • 938ab5d Replace docs.serde.rs links with intra-rustdoc links
    • ef5a0de Point documentation links to docs.rs instead of docs.serde.rs
    • 5d186c7 Opt out -Zrustdoc-scrape-examples on docs.rs
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • build(deps): bump tracing-stackdriver from 0.6.1 to 0.6.2

    build(deps): bump tracing-stackdriver from 0.6.1 to 0.6.2

    Bumps tracing-stackdriver from 0.6.1 to 0.6.2.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • build(deps): bump serde_test from 1.0.151 to 1.0.152

    build(deps): bump serde_test from 1.0.151 to 1.0.152

    Bumps serde_test from 1.0.151 to 1.0.152.

    Release notes

    Sourced from serde_test's releases.

    v1.0.152

    • Documentation improvements
    Commits
    • ccf9c6f Release 1.0.152
    • b25d0ea Link to Hjson data format
    • 4f4557f Link to bencode data format
    • bf400d6 Link to serde_tokenstream data format
    • 4d2e36d Wrap flexbuffers bullet point to 80 columns
    • df6310e Merge pull request #2347 from dtolnay/docsrs
    • 938ab5d Replace docs.serde.rs links with intra-rustdoc links
    • ef5a0de Point documentation links to docs.rs instead of docs.serde.rs
    • 5d186c7 Opt out -Zrustdoc-scrape-examples on docs.rs
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • build(deps): bump tracing-stackdriver from 0.6.1 to 0.6.2

    build(deps): bump tracing-stackdriver from 0.6.1 to 0.6.2

    Bumps tracing-stackdriver from 0.6.1 to 0.6.2.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
  • build(deps): bump trycmd from 0.14.5 to 0.14.6

    build(deps): bump trycmd from 0.14.5 to 0.14.6

    Bumps trycmd from 0.14.5 to 0.14.6.

    Changelog

    Sourced from trycmd's changelog.

    [0.14.6] - 2022-12-23

    Fixes

    • Improved build times
    Commits
    • aaf9177 chore: Release
    • f09288a docs: Update changelog
    • 9328ff0 Merge pull request #186 from epage/toml
    • 5e4326a chore: Upgrade toml_edit
    • 175b3ce chore(ci): Update renovate
    • 40968cd Merge pull request #185 from assert-rs/renovate/libtest-mimic-0.x
    • 7b97289 Merge pull request #182 from assert-rs/renovate/actions-setup-python-4.x
    • dc38b66 chore(deps): update rust crate libtest-mimic to 0.6.0
    • 49a8690 chore: Iterate on renovate
    • 776f429 chore(deps): update actions/setup-python action to v4
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies rust 
    opened by dependabot[bot] 0
Releases(0.2.1)
  • 0.2.1(Dec 7, 2022)

    Upgrading to this release from 0.2.0 will require the following manual schema migration:

    ALTER TABLE tasks ADD COLUMN input_share_aad_public_share_length_prefix BOOLEAN NOT NULL DEFAULT false;
    

    What's Changed

    • 0.2: Stop pushing images and schema as 'latest' by @divergentdave in https://github.com/divviup/janus/pull/802
    • Add per-task configuration for Daphne compatibility by @divergentdave in https://github.com/divviup/janus/pull/818
    • Increment version to 0.2.1 by @divergentdave in https://github.com/divviup/janus/pull/819

    Full Changelog: https://github.com/divviup/janus/compare/0.2.0...0.2.1

    Source code(tar.gz)
    Source code(zip)
  • 0.2.0(Dec 1, 2022)

  • 0.1.24(Nov 16, 2022)

    This is identical to release 0.1.23 except that this time, I remembered to bump the version numbers in the Cargo.tomls.

    What's Changed

    • Bump Janus crates to 0.1.24 by @tgeoghegan in https://github.com/divviup/janus/pull/755

    Full Changelog: https://github.com/divviup/janus/compare/0.1.23...0.1.24

    Source code(tar.gz)
    Source code(zip)
  • 0.1.23(Nov 16, 2022)

    What's Changed

    • build(deps): bump alpine from 3.16.2 to 3.16.3 by @dependabot in https://github.com/divviup/janus/pull/739
    • build(deps): bump google-github-actions/setup-gcloud from 0 to 1 by @dependabot in https://github.com/divviup/janus/pull/742
    • build(deps): bump google-github-actions/auth from 0 to 1 by @dependabot in https://github.com/divviup/janus/pull/743
    • build(deps): bump hyper from 0.14.22 to 0.14.23 by @dependabot in https://github.com/divviup/janus/pull/744
    • build(deps): bump trycmd from 0.14.3 to 0.14.4 by @dependabot in https://github.com/divviup/janus/pull/746
    • build(deps): bump clap from 4.0.22 to 4.0.24 by @dependabot in https://github.com/divviup/janus/pull/748
    • build(deps): bump chrono from 0.4.22 to 0.4.23 by @dependabot in https://github.com/divviup/janus/pull/750

    Full Changelog: https://github.com/divviup/janus/compare/0.1.22...0.1.23

    Source code(tar.gz)
    Source code(zip)
  • 0.1.22(Nov 8, 2022)

    What's Changed

    • 1.65 clippy fixes, for release/0.1 by @divergentdave in https://github.com/divviup/janus/pull/712
    • build(deps): bump rust from 1.64.0-alpine to 1.65.0-alpine by @dependabot in https://github.com/divviup/janus/pull/720
    • build(deps): bump clap from 4.0.18 to 4.0.22 by @dependabot in https://github.com/divviup/janus/pull/724
    • build(deps): bump regex from 1.6.0 to 1.7.0 by @dependabot in https://github.com/divviup/janus/pull/726
    • build(deps): bump trycmd from 0.14.1 to 0.14.3 by @dependabot in https://github.com/divviup/janus/pull/725
    • Bump crate versions to 0.1.22 by @divergentdave in https://github.com/divviup/janus/pull/727

    Full Changelog: https://github.com/divviup/janus/compare/0.1.21...0.1.22

    Source code(tar.gz)
    Source code(zip)
  • 0.1.21(Nov 1, 2022)

    What's Changed

    • GHA: Replace ::set-output with file redirection - backport by @divergentdave in https://github.com/divviup/janus/pull/689
    • Fix typo in GitHub secret name - backport by @divergentdave in https://github.com/divviup/janus/pull/691
    • build(deps): bump deadpool-postgres from 0.10.2 to 0.10.3 by @dependabot in https://github.com/divviup/janus/pull/698
    • build(deps): bump hyper from 0.14.20 to 0.14.22 by @dependabot in https://github.com/divviup/janus/pull/700
    • Update crate versions to 0.1.21. by @branlwyd in https://github.com/divviup/janus/pull/704

    Full Changelog: https://github.com/divviup/janus/compare/0.1.20...0.1.21

    Source code(tar.gz)
    Source code(zip)
  • 0.1.20(Oct 27, 2022)

    This off-cycle release is being cut to test our release automation.

    What's Changed

    • CI: Tag and push container images for public repo - 0.1 backport by @divergentdave in https://github.com/divviup/janus/pull/686
    • Bump Janus crates to 0.1.20 by @divergentdave in https://github.com/divviup/janus/pull/687

    Full Changelog: https://github.com/divviup/janus/compare/0.1.19...0.1.20

    Source code(tar.gz)
    Source code(zip)
  • 0.1.19(Oct 26, 2022)

    What's Changed

    • build(deps): bump clap from 4.0.15 to 4.0.18 by @dependabot in https://github.com/divviup/janus/pull/666
    • build(deps): bump serde from 1.0.145 to 1.0.147 by @dependabot in https://github.com/divviup/janus/pull/669
    • build(deps): bump trycmd from 0.14.0 to 0.14.1 by @dependabot in https://github.com/divviup/janus/pull/671
    • build(deps): bump futures from 0.3.24 to 0.3.25 by @dependabot in https://github.com/divviup/janus/pull/672
    • build(deps): bump serde_yaml from 0.9.13 to 0.9.14 by @dependabot in https://github.com/divviup/janus/pull/678
    • build(deps): bump prometheus from 0.13.2 to 0.13.3 by @dependabot in https://github.com/divviup/janus/pull/673
    • build(deps): bump serde_json from 1.0.86 to 1.0.87 by @dependabot in https://github.com/divviup/janus/pull/674
    • build(deps): bump anyhow from 1.0.65 to 1.0.66 by @dependabot in https://github.com/divviup/janus/pull/675
    • build(deps): bump base64 from 0.13.0 to 0.13.1 by @dependabot in https://github.com/divviup/janus/pull/676
    • build(deps): bump serde_test from 1.0.145 to 1.0.147 by @dependabot in https://github.com/divviup/janus/pull/677
    • Bump Janus crates to 0.1.19 by @tgeoghegan in https://github.com/divviup/janus/pull/682

    Full Changelog: https://github.com/divviup/janus/compare/0.1.18...0.1.19

    Source code(tar.gz)
    Source code(zip)
  • 0.1.18(Oct 21, 2022)

    What's Changed

    • Fix another "unknown HpkeConfigId" flaky test - 0.1 backport by @divergentdave in https://github.com/divviup/janus/pull/645
    • build(deps): bump clap from 4.0.12 to 4.0.15 by @dependabot in https://github.com/divviup/janus/pull/653
    • Bump janus crates to 0.1.18 by @divergentdave in https://github.com/divviup/janus/pull/657

    Full Changelog: https://github.com/divviup/janus/compare/0.1.17...0.1.18

    Source code(tar.gz)
    Source code(zip)
  • 0.1.17(Oct 12, 2022)

    What's Changed

    • janus_cli: correctly handle datastore key secret by @tgeoghegan in https://github.com/divviup/janus/pull/611
    • build(deps): bump tokio from 1.21.0 to 1.21.2 by @dependabot in https://github.com/divviup/janus/pull/621
    • build(deps): bump clap from 4.0.9 to 4.0.12 by @dependabot in https://github.com/divviup/janus/pull/623
    • build(deps): bump uuid from 1.1.2 to 1.2.1 by @dependabot in https://github.com/divviup/janus/pull/635
    • build(deps): bump thiserror from 1.0.35 to 1.0.37 by @dependabot in https://github.com/divviup/janus/pull/631
    • build(deps): bump trycmd from 0.13.7 to 0.14.0 by @dependabot in https://github.com/divviup/janus/pull/629
    • build(deps): bump serde_json from 1.0.85 to 1.0.86 by @dependabot in https://github.com/divviup/janus/pull/627
    • build(deps): bump warp from 0.3.2 to 0.3.3 by @dependabot in https://github.com/divviup/janus/pull/625
    • Update tracing to 0.1.37. [0.1 backport] by @branlwyd in https://github.com/divviup/janus/pull/637
    • build(deps): bump tracing-subscriber from 0.3.15 to 0.3.16 by @dependabot in https://github.com/divviup/janus/pull/633
    • Bump janus crates to 0.1.17. by @branlwyd in https://github.com/divviup/janus/pull/641

    Full Changelog: https://github.com/divviup/janus/compare/0.1.16...0.1.17

    Source code(tar.gz)
    Source code(zip)
  • 0.1.16(Oct 5, 2022)

    What's Changed

    • build(deps): bump warp from 0.3.2 to 0.3.3 by @dependabot in https://github.com/divviup/janus/pull/594
    • build(deps): bump thiserror from 1.0.36 to 1.0.37 by @dependabot in https://github.com/divviup/janus/pull/595
    • build(deps): bump tonic from 0.8.1 to 0.8.2 by @dependabot in https://github.com/divviup/janus/pull/596
    • build(deps): bump tokio from 1.21.1 to 1.21.2 by @dependabot in https://github.com/divviup/janus/pull/598
    • Interop test API: Use strings for VDAF parameters, 0.1 backport by @divergentdave in https://github.com/divviup/janus/pull/606
    • build(deps): bump hpke-dispatch from 0.3.0 to 0.4.0 by @dependabot in https://github.com/divviup/janus/pull/597
    • build(deps): bump clap from 3.2.22 to 4.0.8 by @dependabot in https://github.com/divviup/janus/pull/593
    • Bump janus crates to 0.1.16 by @tgeoghegan in https://github.com/divviup/janus/pull/607

    Full Changelog: https://github.com/divviup/janus/compare/0.1.14...0.1.16

    Source code(tar.gz)
    Source code(zip)
  • 0.1.14(Sep 29, 2022)

    What's Changed

    • Fix compilation with Rust 1.64 compiler (#504) by @tgeoghegan in https://github.com/divviup/janus/pull/539
    • release/0.1: Introduce janus_messages crate by @tgeoghegan in https://github.com/divviup/janus/pull/532
    • build(deps): bump rust from 1.63.0-alpine to 1.64.0-alpine by @dependabot in https://github.com/divviup/janus/pull/543
    • build(deps): bump serde_test from 1.0.144 to 1.0.145 by @dependabot in https://github.com/divviup/janus/pull/549
    • Update opentelemetry & related dependencies. [0.1 version] by @dependabot in https://github.com/divviup/janus/pull/527
    • build(deps): bump tonic from 0.8.0 to 0.8.1 by @dependabot in https://github.com/divviup/janus/pull/559
    • build(deps): bump serde from 1.0.144 to 1.0.145 by @dependabot in https://github.com/divviup/janus/pull/558
    • build(deps): bump thiserror from 1.0.35 to 1.0.36 by @dependabot in https://github.com/divviup/janus/pull/557
    • Update to alpine 3.16.2, backport for release/0.1 by @divergentdave in https://github.com/divviup/janus/pull/562
    • build(deps): bump trycmd from 0.13.6 to 0.13.7 by @dependabot in https://github.com/divviup/janus/pull/568
    • build(deps): bump reqwest from 0.11.11 to 0.11.12 by @dependabot in https://github.com/divviup/janus/pull/570
    • build(deps): bump actions/checkout from 2 to 3 by @dependabot in https://github.com/divviup/janus/pull/564
    • build(deps): bump url from 2.3.0 to 2.3.1 by @dependabot in https://github.com/divviup/janus/pull/575
    • build(deps): bump itertools from 0.10.3 to 0.10.5 by @dependabot in https://github.com/divviup/janus/pull/573
    • build(deps): bump tokio from 1.21.0 to 1.21.1 by @dependabot in https://github.com/divviup/janus/pull/572
    • Extend container readiness timeout, backport for 0.1 by @divergentdave in https://github.com/divviup/janus/pull/577
    • Bump Janus to version 0.1.14 by @divergentdave in https://github.com/divviup/janus/pull/583
    • Re-export janus_messages types from janus_core by @divergentdave in https://github.com/divviup/janus/pull/585

    Full Changelog: https://github.com/divviup/janus/compare/0.1.13...0.1.14

    Source code(tar.gz)
    Source code(zip)
  • 0.1.13(Sep 22, 2022)

    What's Changed

    • Backport collector library and CLI tool to 0.1 by @divergentdave in https://github.com/divviup/janus/pull/512
    • Backport end_to_end test improvements to 0.1 by @divergentdave in https://github.com/divviup/janus/pull/516
    • build(deps): bump anyhow from 1.0.64 to 1.0.65 by @dependabot in https://github.com/divviup/janus/pull/525
    • build(deps): bump thiserror from 1.0.34 to 1.0.35 by @dependabot in https://github.com/divviup/janus/pull/521
    • build(deps): bump serde_yaml from 0.9.11 to 0.9.13 by @dependabot in https://github.com/divviup/janus/pull/531
    • Bump Janus to version 0.1.13. by @branlwyd in https://github.com/divviup/janus/pull/537

    Full Changelog: https://github.com/divviup/janus/compare/0.1.12...0.1.13

    Source code(tar.gz)
    Source code(zip)
  • 0.1.12(Sep 14, 2022)

    What's Changed

    • Don't fail copy logs step if no logs are found by @tgeoghegan in https://github.com/divviup/janus/pull/485
    • build(deps): bump prometheus from 0.13.1 to 0.13.2 by @dependabot in https://github.com/divviup/janus/pull/498
    • build(deps): bump url from 2.2.2 to 2.3.0 by @dependabot in https://github.com/divviup/janus/pull/494
    • Release janus 0.1.12 by @tgeoghegan in https://github.com/divviup/janus/pull/506

    Full Changelog: https://github.com/divviup/janus/compare/0.1.11...0.1.12

    Source code(tar.gz)
    Source code(zip)
  • 0.1.11(Sep 9, 2022)

    This release introduces support for the un-standardized Prio3Aes128CountVec VDAF, adds two features to janus_cli, makes various testing improvements, and updates dependencies.

    What's Changed

    • Build Daphne in use for tests. by @branlwyd in https://github.com/divviup/janus/pull/432
    • Use containers for interop API tests. by @branlwyd in https://github.com/divviup/janus/pull/434
    • build(deps): bump clap from 3.2.17 to 3.2.18 by @dependabot in https://github.com/divviup/janus/pull/440
    • build(deps): bump tokio-postgres from 0.7.6 to 0.7.7 by @dependabot in https://github.com/divviup/janus/pull/438
    • build(deps): bump futures from 0.3.23 to 0.3.24 by @dependabot in https://github.com/divviup/janus/pull/439
    • Add support for use of prebuilt test Daphne container image. by @branlwyd in https://github.com/divviup/janus/pull/435
    • Fix build with "otlp" feature by @divergentdave in https://github.com/divviup/janus/pull/443
    • Clean up ephemeral Docker networks created for tests. by @branlwyd in https://github.com/divviup/janus/pull/449
    • Rename monolithic_integration_test -> integration_tests. by @branlwyd in https://github.com/divviup/janus/pull/453
    • Ensure we check container readiness on IPv4 by @tgeoghegan in https://github.com/divviup/janus/pull/454
    • Additional changes for draft-dcook-ppm-dap-interop-test-design-01 by @divergentdave in https://github.com/divviup/janus/pull/452
    • build(deps): bump iana-time-zone from 0.1.44 to 0.1.46 by @dependabot in https://github.com/divviup/janus/pull/447
    • janus_cli: add DAP message decoder by @tgeoghegan in https://github.com/divviup/janus/pull/450
    • janus_cli: discover datastore keys in k8s secrets by @tgeoghegan in https://github.com/divviup/janus/pull/456
    • Add timeout when checking container readiness by @divergentdave in https://github.com/divviup/janus/pull/457
    • build(deps): bump thiserror from 1.0.32 to 1.0.34 by @dependabot in https://github.com/divviup/janus/pull/462
    • build(deps): bump serde_yaml from 0.9.10 to 0.9.11 by @dependabot in https://github.com/divviup/janus/pull/460
    • build(deps): bump clap from 3.2.18 to 3.2.20 by @dependabot in https://github.com/divviup/janus/pull/461
    • Update Daphne to pick up atomicity fix by @divergentdave in https://github.com/divviup/janus/pull/467
    • build(deps): bump console-subscriber from 0.1.7 to 0.1.8 by @dependabot in https://github.com/divviup/janus/pull/463
    • Scrape logs out of containers when integration tests fail by @tgeoghegan in https://github.com/divviup/janus/pull/477
    • Daphne update docs: rebuild image by @divergentdave in https://github.com/divviup/janus/pull/481
    • Plumb Prio3Aes128CountVec VDAF throughout Janus by @tgeoghegan in https://github.com/divviup/janus/pull/480
    • Update tokio requirement to 1.21 by @divergentdave in https://github.com/divviup/janus/pull/482
    • Bump crate versions to 0.1.11 by @divergentdave in https://github.com/divviup/janus/pull/483

    Full Changelog: https://github.com/divviup/janus/compare/0.1.9...0.1.11

    Source code(tar.gz)
    Source code(zip)
  • 0.1.9(Aug 24, 2022)

    What's Changed

    • Run container builds in parallel by @tgeoghegan in https://github.com/divviup/janus/pull/406
    • Container-based interop testing by @branlwyd in https://github.com/divviup/janus/pull/408
    • Trim down overly verbose Debug output by @divergentdave in https://github.com/divviup/janus/pull/411
    • Separate secret information from Debug implementations by @divergentdave in https://github.com/divviup/janus/pull/410
    • Skip "span" attribute in JSON logging output by @divergentdave in https://github.com/divviup/janus/pull/413
    • Remove aggregation parameter from logs and Debug implementations by @divergentdave in https://github.com/divviup/janus/pull/417
    • CI buildtime improvements. by @branlwyd in https://github.com/divviup/janus/pull/416
    • Exclude ciphertexts and VDAF messages from logs by @divergentdave in https://github.com/divviup/janus/pull/419
    • build(deps): bump clap from 3.2.16 to 3.2.17 by @dependabot in https://github.com/divviup/janus/pull/420
    • build(deps): bump serde from 1.0.143 to 1.0.144 by @dependabot in https://github.com/divviup/janus/pull/421
    • build(deps): bump trycmd from 0.13.5 to 0.13.6 by @dependabot in https://github.com/divviup/janus/pull/422
    • build(deps): bump tonic from 0.6.2 to 0.8.0 by @dependabot in https://github.com/divviup/janus/pull/423
    • build(deps): bump regex from 1.5.5 to 1.6.0 by @dependabot in https://github.com/divviup/janus/pull/424
    • build(deps): bump serde_test from 1.0.143 to 1.0.144 by @dependabot in https://github.com/divviup/janus/pull/427
    • build(deps): bump serde_json from 1.0.83 to 1.0.85 by @dependabot in https://github.com/divviup/janus/pull/428
    • build(deps): bump postgres-types from 0.2.3 to 0.2.4 by @dependabot in https://github.com/divviup/janus/pull/429
    • build(deps): bump anyhow from 1.0.61 to 1.0.62 by @dependabot in https://github.com/divviup/janus/pull/430
    • build(deps): bump serde_yaml from 0.9.9 to 0.9.10 by @dependabot in https://github.com/divviup/janus/pull/431
    • Retries in HTTP clients by @tgeoghegan in https://github.com/divviup/janus/pull/414
    • Increment crate versions to 0.1.9 by @tgeoghegan in https://github.com/divviup/janus/pull/433

    Full Changelog: https://github.com/divviup/janus/compare/0.1.8...0.1.9

    Source code(tar.gz)
    Source code(zip)
  • 0.1.8(Aug 17, 2022)

    What's Changed

    • Fix clippy lints by @divergentdave in https://github.com/divviup/janus/pull/390
    • Task: require/allow collector_auth_token iff we are in Leader role. by @branlwyd in https://github.com/divviup/janus/pull/391
    • build(deps): bump alpine from 3.16.1 to 3.16.2 by @dependabot in https://github.com/divviup/janus/pull/395
    • build(deps): bump rust from 1.62.1-alpine to 1.63.0-alpine by @dependabot in https://github.com/divviup/janus/pull/396
    • build(deps): bump serde_yaml from 0.9.4 to 0.9.9 by @dependabot in https://github.com/divviup/janus/pull/397
    • build(deps): bump chrono from 0.4.21 to 0.4.22 by @dependabot in https://github.com/divviup/janus/pull/401
    • build(deps): bump anyhow from 1.0.60 to 1.0.61 by @dependabot in https://github.com/divviup/janus/pull/398
    • build(deps): bump console-subscriber from 0.1.6 to 0.1.7 by @dependabot in https://github.com/divviup/janus/pull/399
    • Implement interoperation test API by @divergentdave in https://github.com/divviup/janus/pull/375
    • build(deps): bump futures from 0.3.21 to 0.3.23 by @dependabot in https://github.com/divviup/janus/pull/404
    • build(deps): bump nix from 0.24.2 to 0.25.0 by @dependabot in https://github.com/divviup/janus/pull/400
    • build(deps): bump libc from 0.2.127 to 0.2.131 by @dependabot in https://github.com/divviup/janus/pull/402
    • Graceful shutdown improvements by @divergentdave in https://github.com/divviup/janus/pull/403
    • Run e2e integration tests against Kubernetes cluster by @tgeoghegan in https://github.com/divviup/janus/pull/379
    • Increment versions to 0.1.8 by @tgeoghegan in https://github.com/divviup/janus/pull/405

    Full Changelog: https://github.com/divviup/janus/compare/0.1.7...0.1.8

    Source code(tar.gz)
    Source code(zip)
  • 0.1.7(Aug 11, 2022)

    What's Changed

    • Specify versions for dev dependencies, too. by @BranLwyd in https://github.com/divviup/janus/pull/388
    • Increment versions to 0.1.7. by @BranLwyd in https://github.com/divviup/janus/pull/389

    Full Changelog: https://github.com/divviup/janus/compare/0.1.6...0.1.7

    Source code(tar.gz)
    Source code(zip)
  • 0.1.6(Aug 11, 2022)

    What's Changed

    • janus_core: specify version of k8s-openapi. by @BranLwyd in https://github.com/divviup/janus/pull/386
    • Increment versions to 0.1.6. by @BranLwyd in https://github.com/divviup/janus/pull/387

    Full Changelog: https://github.com/divviup/janus/compare/0.1.5...0.1.6

    Source code(tar.gz)
    Source code(zip)
  • 0.1.5(Aug 11, 2022)

    What's Changed

    • Clean up kube features, document crate features by @divergentdave in https://github.com/divviup/janus/pull/345
    • build(deps): bump bytes from 1.2.0 to 1.2.1 by @dependabot in https://github.com/divviup/janus/pull/352
    • build(deps): bump anyhow from 1.0.58 to 1.0.59 by @dependabot in https://github.com/divviup/janus/pull/353
    • build(deps): bump tracing from 0.1.35 to 0.1.36 by @dependabot in https://github.com/divviup/janus/pull/348
    • build(deps): bump trycmd from 0.13.4 to 0.13.5 by @dependabot in https://github.com/divviup/janus/pull/349
    • build(deps): bump serde from 1.0.140 to 1.0.141 by @dependabot in https://github.com/divviup/janus/pull/354
    • build(deps): bump serde_test from 1.0.140 to 1.0.141 by @dependabot in https://github.com/divviup/janus/pull/355
    • Serve health check requests on a separate port by @divergentdave in https://github.com/divviup/janus/pull/356
    • Authenticate collector requests. by @BranLwyd in https://github.com/divviup/janus/pull/357
    • Daphne integration test. by @BranLwyd in https://github.com/divviup/janus/pull/346
    • Build containers for janus_cli by @divergentdave in https://github.com/divviup/janus/pull/363
    • Add features to monolithic_integration_test by @divergentdave in https://github.com/divviup/janus/pull/362
    • Upgrade to serde_yaml 0.9 by @divergentdave in https://github.com/divviup/janus/pull/360
    • Rename metrics with common prefix by @divergentdave in https://github.com/divviup/janus/pull/364
    • build(deps): bump libc from 0.2.126 to 0.2.127 by @dependabot in https://github.com/divviup/janus/pull/367
    • build(deps): bump serde_json from 1.0.82 to 1.0.83 by @dependabot in https://github.com/divviup/janus/pull/368
    • build(deps): bump thiserror from 1.0.31 to 1.0.32 by @dependabot in https://github.com/divviup/janus/pull/365
    • build(deps): bump anyhow from 1.0.59 to 1.0.60 by @dependabot in https://github.com/divviup/janus/pull/374
    • build(deps): bump serde from 1.0.141 to 1.0.143 by @dependabot in https://github.com/divviup/janus/pull/372
    • build(deps): bump toml from 0.5.8 to 0.5.9 by @dependabot in https://github.com/divviup/janus/pull/366
    • build(deps): bump serde_test from 1.0.141 to 1.0.143 by @dependabot in https://github.com/divviup/janus/pull/376
    • build(deps): bump chrono from 0.4.19 to 0.4.21 by @dependabot in https://github.com/divviup/janus/pull/373
    • Turn down log level in Rust CI test by @tgeoghegan in https://github.com/divviup/janus/pull/377
    • metrics: Use BoundCounter, initialize with zeros by @divergentdave in https://github.com/divviup/janus/pull/378
    • Check HTTP status codes from other aggregator by @divergentdave in https://github.com/divviup/janus/pull/382
    • Fix usage of Url::join. by @BranLwyd in https://github.com/divviup/janus/pull/380
    • Increment versions to 0.1.5. by @BranLwyd in https://github.com/divviup/janus/pull/385

    Full Changelog: https://github.com/divviup/janus/compare/0.1.4...0.1.5

    Source code(tar.gz)
    Source code(zip)
  • 0.1.4(Jul 26, 2022)

    This release introduces a database connection probe at startup, removes the /healthz/startup endpoint, and adds a configuration option for additional HTTP response headers.

    What's Changed

    • Pin Kind node image used in EphemeralCluster by @tgeoghegan in https://github.com/divviup/janus/pull/324
    • Document inotify issue and fix by @divergentdave in https://github.com/divviup/janus/pull/326
    • Set timeouts in deadpool_postgres by @tgeoghegan in https://github.com/divviup/janus/pull/322
    • janus_cli: don't require --datastore_keys unless they are used. by @BranLwyd in https://github.com/divviup/janus/pull/328
    • build(deps): bump alpine from 3.16.0 to 3.16.1 by @dependabot in https://github.com/divviup/janus/pull/331
    • build(deps): bump rust from 1.62.0-alpine to 1.62.1-alpine by @dependabot in https://github.com/divviup/janus/pull/332
    • build(deps): bump bytes from 1.1.0 to 1.2.0 by @dependabot in https://github.com/divviup/janus/pull/333
    • build(deps): bump tracing-subscriber from 0.3.14 to 0.3.15 by @dependabot in https://github.com/divviup/janus/pull/334
    • build(deps): bump serde_test from 1.0.139 to 1.0.140 by @dependabot in https://github.com/divviup/janus/pull/335
    • build(deps): bump tokio from 1.20.0 to 1.20.1 by @dependabot in https://github.com/divviup/janus/pull/336
    • build(deps): bump serde from 1.0.139 to 1.0.140 by @dependabot in https://github.com/divviup/janus/pull/338
    • New configuration option, extra response headers by @divergentdave in https://github.com/divviup/janus/pull/337
    • Improve Task serialization format. by @BranLwyd in https://github.com/divviup/janus/pull/340
    • Increment versions to 0.1.4 by @divergentdave in https://github.com/divviup/janus/pull/339

    Full Changelog: https://github.com/divviup/janus/compare/0.1.3...0.1.4

    Source code(tar.gz)
    Source code(zip)
  • 0.1.3(Jul 20, 2022)

    This release includes DAP changes to nonces and batch interval requirements. Other changes include metrics improvements and new health check endpoints.

    What's Changed

    • Implement provision_task command. by @BranLwyd in https://github.com/divviup/janus/pull/295
    • Round down timestamps in report nonces by @divergentdave in https://github.com/divviup/janus/pull/298
    • Add test-util features to hide test utilities by @tgeoghegan in https://github.com/divviup/janus/pull/294
    • Move binary-specific configs to respective binary source files. by @BranLwyd in https://github.com/divviup/janus/pull/297
    • Remove define_ephemeral_datastore macro. by @BranLwyd in https://github.com/divviup/janus/pull/299
    • build(deps): bump serde_test from 1.0.138 to 1.0.139 by @dependabot in https://github.com/divviup/janus/pull/300
    • Add metrics to job drivers & for partial failures in HTTP handlers. by @BranLwyd in https://github.com/divviup/janus/pull/306
    • Constrain collect requests to non-overlapping batch intervals. by @BranLwyd in https://github.com/divviup/janus/pull/308
    • Don't consume batch lifetime for failing requests. by @BranLwyd in https://github.com/divviup/janus/pull/310
    • Minor metrics & logging changes. by @BranLwyd in https://github.com/divviup/janus/pull/311
    • build(deps): bump hyper from 0.14.19 to 0.14.20 by @dependabot in https://github.com/divviup/janus/pull/301
    • build(deps): bump tracing-opentelemetry from 0.17.3 to 0.17.4 by @dependabot in https://github.com/divviup/janus/pull/302
    • build(deps): bump serde_yaml from 0.8.24 to 0.8.25 by @dependabot in https://github.com/divviup/janus/pull/303
    • build(deps): bump serde from 1.0.138 to 1.0.139 by @dependabot in https://github.com/divviup/janus/pull/304
    • Rename provision_task to janus_cli, add create-datastore-key command. by @BranLwyd in https://github.com/divviup/janus/pull/314
    • build(deps): bump prio from 0.8.0 to 0.8.2 by @dependabot in https://github.com/divviup/janus/pull/317
    • build(deps): bump serde_yaml from 0.8.25 to 0.8.26 by @dependabot in https://github.com/divviup/janus/pull/319
    • build(deps): bump tracing from 0.1.34 to 0.1.35 by @dependabot in https://github.com/divviup/janus/pull/318
    • build(deps): bump tokio from 1.19.2 to 1.20.0 by @dependabot in https://github.com/divviup/janus/pull/320
    • Add a simple health check endpoint by @divergentdave in https://github.com/divviup/janus/pull/323
    • Increment versions to 0.1.3 by @divergentdave in https://github.com/divviup/janus/pull/325

    Full Changelog: https://github.com/divviup/janus/compare/0.1.2...0.1.3

    Source code(tar.gz)
    Source code(zip)
  • 0.1.2(Jul 6, 2022)

    This release is a test to exercise our artifact publishing workflows.

    What's Changed

    • Upload: reject reports whose timestamp falls into a collected interval. by @BranLwyd in https://github.com/divviup/janus/pull/276
    • Ship containers to GAR from CI by @tgeoghegan in https://github.com/divviup/janus/pull/279
    • build(deps): bump rust from 1.61.0-alpine to 1.62.0-alpine by @dependabot in https://github.com/divviup/janus/pull/282
    • build(deps): bump serde from 1.0.137 to 1.0.138 by @dependabot in https://github.com/divviup/janus/pull/286
    • build(deps): bump serde_test from 1.0.137 to 1.0.138 by @dependabot in https://github.com/divviup/janus/pull/283
    • build(deps): bump tracing-subscriber from 0.3.11 to 0.3.14 by @dependabot in https://github.com/divviup/janus/pull/285
    • build(deps): bump serde_json from 1.0.81 to 1.0.82 by @dependabot in https://github.com/divviup/janus/pull/284
    • build(deps): bump tracing-opentelemetry from 0.17.2 to 0.17.3 by @dependabot in https://github.com/divviup/janus/pull/226
    • Fix new clippy lint by @divergentdave in https://github.com/divviup/janus/pull/287
    • Return batch-collected & report-replayed from helper aggregation. by @BranLwyd in https://github.com/divviup/janus/pull/281
    • Publish janus_client to crates.io by @tgeoghegan in https://github.com/divviup/janus/pull/280
    • Publish SQL schema to GCS bucket by @tgeoghegan in https://github.com/divviup/janus/pull/291
    • Bump Rust crates to 0.1.2 by @tgeoghegan in https://github.com/divviup/janus/pull/292

    Full Changelog: https://github.com/divviup/janus/compare/testing-release...0.1.2

    Source code(tar.gz)
    Source code(zip)
  • testing-release(Jul 1, 2022)

Owner
Divvi Up (ISRG)
A privacy-respecting system for aggregate statistics.
Divvi Up (ISRG)
🍅 A command-line tool to get and set values in toml files while preserving comments and formatting

tomato Get, set, and delete values in TOML files while preserving comments and formatting. That's it. That's the feature set. I wrote tomato to satisf

C J Silverio 15 Dec 23, 2022
turbocommit is a Rust-based CLI tool that generates high-quality git commit messages in accordance with the Conventional Commits specification, using OpenAI's

turbocommit is a Rust-based CLI tool that generates high-quality git commit messages in accordance with the Conventional Commits specification, using OpenAI's `gpt-3.5-turbo` language model. It is easy to use and a cost-effective way to keep git commit history at a higher quality, helping developers stay on track with their work.

Sett 16 Mar 26, 2023
Rust SDK for the core C2PA (Coalition for Content Provenance and Authenticity) specification

C2PA Rust SDK The Coalition for Content Provenance and Authenticity (C2PA) addresses the prevalence of misleading information online through the devel

Content Authenticity Initiative 46 Jun 30, 2023
An open source, programmed in rust, privacy focused tool for reading programming resources (like stackoverflow) fast, efficient and asynchronous from the terminal.

Falion An open source, programmed in rust, privacy focused tool for reading programming resources (like StackOverFlow) fast, efficient and asynchronou

Obscurely 17 Dec 20, 2022
zk-rollup in rust for the advanced security and privacy course

Efficient zk-Rollup Implementation in Rust This repository contains a simple, single transaction, zero-knowledge rollup made in Rust. We have combined

Stern Brouwer 3 Nov 3, 2023
A web-based streaming service with improved privacy, performance, and simplicity.

Majiix Majiix is a web-based open-source streaming service. The backend that handles the core streaming logic is written in Rust and makes use of cutt

Majgix 3 Nov 21, 2023
An experimental, work-in-progress PAM module for Tailscale

Experimental Tailscale PAM Module This is a very very experimental Tailscale PAM module that allows you to SSH using your Tailscale credentials. This

Tailscale 129 Nov 20, 2022
Gm microoptimisation war crime - An experimental optimisation for Garry's Mod

Wat This attractively named repository contains a Garry's Mod module that performs a micro optimisation that makes use of LuaJIT's constant folding on

William 14 Dec 28, 2022
Experimental Rust UI library for Audulus. "rui" is a temporary name.

Experimental Rust UI library for Audulus. "rui" is a temporary name.

Audulus LLC 1.1k Dec 28, 2022
An experimental real-time operating system (RTOS) written in Rust

An experimental real-time operating system (RTOS) written in Rust

null 0 Nov 14, 2022
Experimental language build in Rust to make it fast and robust

Reg-lang Experimental language build with Rust. Its aim is : To be simple to help learning programmation with, and in a second hand, to be robust enou

Gipson62 1 Dec 29, 2022
An experimental GUI library for Rust 🦀

guee ?? Nothing to see here ?? ... But if you insist: This is an experimental UI library I'm working on for Blackjack. The idea is to find a very prag

null 12 Feb 1, 2023
An experimental cross-platform UI framework in rust.

Cross-platform UI framework in Rust with Easy functional composasbles Flexible state management Desktop and mobile support Accessibility Native skia r

null 76 Feb 6, 2023
Wraps cargo to move target directories to a central location [super experimental]

targo Wraps cargo to move target directories to a central location [super experimental] To use, cargo install --git https://github.com/sunshowers/targ

Rain 18 Jan 7, 2023
Cuprate, an upcoming experimental, modern & secure monero node. Written in Rust

Cuprate an upcoming experimental, modern & secure monero node. Written in Rust (there is nothing working at the moment, stay tuned if you want to see

Someone Else 16 Feb 20, 2023
Experimental extension that brings OpenAI API to your PostgreSQL to run queries in human language.

Postgres <> ChatGPT Experimental PostgreSQL extension that enables the use of OpenAI GPT API inside PostgreSQL, allowing for queries to be written usi

CloudQuery 315 Apr 10, 2023
auto-rust is an experimental project that aims to automatically generate Rust code with LLM (Large Language Models) during compilation, utilizing procedural macros.

Auto Rust auto-rust is an experimental project that aims to automatically generate Rust code with LLM (Large Language Models) during compilation, util

Minsky 6 May 14, 2023
Experimental integration of `fedimint-client` with the Leptos web frontend framework

CAUTION: highly experimental, the Database implementation is likely horribly broken Fedimint Client built with Leptos This repo contains a proof-of-co

null 3 Aug 27, 2023
Experimental OS, built with rust

You can support this night time project by hiring me for a day time job ! Fomos Experimental OS, built with Rust output.mp4 Fun fact: there are 3 apps

Thomas SIMON 818 Sep 7, 2023