Skip to content

WIP - Migrate MTC codebase to TesseraCT - #964

Draft
phbnf wants to merge 5 commits into
transparency-dev:mainfrom
phbnf:migratemtc
Draft

phbnf wants to merge 5 commits into
transparency-dev:mainfrom
phbnf:migratemtc

Conversation

@phbnf

@phbnf phbnf commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator

TODO:

  • figure out what to do for the mirroring code. Mirroring exists regardless of MTC, so we should leave a binary in the Tessera repo. We should also have a binary in the TesseraCT repo, close to the log binary.
  • Depending on the decision above, decide what to migrate in integration (last two lines of the table)

Towards #962, transparency-dev/tessera#945.

Migrates the Merkle Tree Certificates (MTC) log, mirror, and CLI binaries from transparency-dev/tessera (012e9e0821ec2ade495d32c9c9a3f08bd348ff7d) into
tesseract.

Eventually, in a follow-up PR, we can similarly move the current Static CT code into /ct subdirectories for symmetry.

tessera path tesseract path
cmd/mtc/log/{mtc.go,mtc_test.go,README.md} mtc/log/
cmd/mtc/mirror/{mirror.go,mirror_test.go} mtc/mirror/
cmd/mtc/{log/posix,mirror/posix,pemtovkey} cmd/mtc/{log/posix,mirror/posix,pemtovkey} (unchanged)
cmd/mtc/log/internal/* internal/mtc/log/*
cmd/mtc/mirror/internal/* internal/mtc/mirror/*
cmd/mtc/log/hammer/hammer.go internal/mtc/hammer/hammer.go
internal/hammer/loadtest/* internal/mtc/hammer/loadtest/*
internal/parse/* internal/parse/*
integration/mirror/posix/mirror_test.go mtc/mirror/mirror_integration_test.go
integration/log/log_integration.go mtc/mirror/log_integration_test.go

Please review commit by commit:

  1. 1aeee2fc0df79c — Copy cmd/mtc and mirror integration test verbatim from tessera
    • Pure copy with zero modifications. To verify with sha256sum:
      # In tessera @ d37f8f4e21ae310b07b3841f24bae6d70b9c537a:
      find cmd/mtc integration/mirror/posix/mirror_test.go integration/log/log_integration.go -type f | sort | xargs sha256sum > /tmp/mtc.sha256
      
      # In tesseract @ 1aeee2fc0df79c:
      sha256sum -c /tmp/mtc.sha256
  2. 9753131279691e — Move library and internal packages to mtc/ and internal/mtc/
    • Pure file moves (git show --stat shows 100% renames).
  3. 00a3cc81060a10 — Copy internal/parse and internal/hammer/loadtest verbatim from tessera
    • Pure copy of the two internal dependencies needed by MTC.
  4. 96649c2740acd6 — Update import paths to github.com/transparency-dev/tesseract
    • Mechanical import path (and test package name) updates.
  5. ea31a0546cac7d — go mod tidy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant