Skip to content

Libraries and binaries for running checkpoint distributors for verifiable logs

License

Notifications You must be signed in to change notification settings

transparency-dev/distributor

Repository files navigation

Distributor

Go Reference Go Report Card OpenSSF Scorecard Slack Status

Overview

The distributor is a RESTful service that makes witnessed checkpoints available.

This code is designed such that anyone can easily run it, see instruction below.

There is a public good instance of the distributor running that makes available checkpoints witnessed by the Armored Witness production fleet. Below is the output of querying this distributor for all witnessed checkpoints using a client provided in this repository:

go run github.com/transparency-dev/distributor/cmd/client@main

Fetching checkpoints from distributor...
╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾
Log "transparency.dev-aw-ftlog-ci-3" (0b963db2162e516836b4afbf8ff75aca120af717d3b93a332464cd5af4146e99)
✅ Got checkpoint:

transparency.dev/armored-witness/firmware_transparency/ci/3
59
kOFMkeamIdrYFLx5zbWFhflak6dlEEDOU++fxYEZMBw=

— transparency.dev-aw-ftlog-ci-3 P2iVIt3Jsaha3E2i0MHdKZ6fgYJTgXO86nUsxKPVq6uTwRSclTSh/ELnDGbNL+XDyD3EkWIdL2AGGNmbN7IN2rB/7gE=
— ArmoredWitness-weathered-rain CnjfIAAAAABnGRrHjQi7IZQqVea4YnU/ADsv844r1ezGjvubUy1MMJm4as9bRiT70xNWQ67RCA76LMy7SdX4qJNIzL3eSS1BGFWqCw==
— ArmoredWitness-floral-sky x88LbQAAAABnGRrDEq4Tfy7IIVPqkdXbcufUkCzRRbE3fABZ/jvtg5aFHVMuMR8cV6dVqECDBiH1zRxhNaCQOXSwNLSeJs+NzWt1BA==

Witness timestamps:
— ArmoredWitness-weathered-rain: 4 months ago (2024-10-23T16:48:23+01:00)
— ArmoredWitness-floral-sky: 4 months ago (2024-10-23T16:48:19+01:00)

╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾╾
Log "pixel_transparency_log" (2371c7aa76ca0d588c7f21317b789071bb63593bd2c3d7b02ca5842f03680fda)
✅ Got checkpoint:

developers.google.com/android/binary_transparency/0
611
2GZ1zmS5VkfUZmn2ZyR4KZXwHLD+xnwBIWzql/cD50w=

— pixel_transparency_log csh42zBFAiAd3Y1FwqNTt5RglY0uG7heC6Yu1gEbXXPYmZ7LdOILMAIhAIt68PnR/3TADAaC7hvrSHbpziV7TmpIwOUydLmcjyTQ
— ArmoredWitness-small-breeze nRq5UQAAAABnoqrsRIofXn68vTohcAm2KG4ACGyRPNePUk02BSWD0WKV5ElejTk5Z+Tm3GmJ5j/etA+fkL9XuaQsnTyZbr437sF4AQ==
— ArmoredWitness-autumn-wood qZb5XQAAAABnoqrl57G9CblEl3lwwuqzbaJvVMqNiZCbYZseYT1YZHYmls3CmT1wxZ1fNgM4RxHuUxjAwcI2ghTx6R5aCg+L0DGPBA==

Witness timestamps:
— ArmoredWitness-small-breeze: 3 weeks ago (2025-02-05T00:03:56Z)
— ArmoredWitness-autumn-wood: 3 weeks ago (2025-02-05T00:03:49Z)
...

For custom querying or integration with the distributor, see the API for the endpoints supported.

Running in Docker

The distributor can be started using docker compose. The following command will bring up the distributor on port 8080:

docker compose up -d

Note that this will only accept witnessed checkpoints from witnesses in the config/witnesses-dev.yaml directory. To change the permitted witnesses, modify the docker-compose.yaml file to include a different file, or configure the distributor binary with the witnesses specified directly via the witKey flag.

Support

About

Libraries and binaries for running checkpoint distributors for verifiable logs

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published