Skip to content

feat(engines): drop the proton engine and its image - #33

Merged
jshvn merged 1 commit into
mainfrom
josh/drop-proton
Nov 3, 2026
Merged

jshvn merged 1 commit into
mainfrom
josh/drop-proton

Conversation

@jshvn

@jshvn jshvn commented Nov 3, 2026 •

Copy link
Copy Markdown
Member

The change

lib keeps only the parts that the rsync mirrors use. The mirrors that copy the owner's accounts left the org, and they keep their own copies of the proton parts. A run of a public mirror does not change.

  • Delete engines/proton.yml, docker/proton.Dockerfile, docker/s3.py and examples/proton/.
  • toolchain.lock.toml: remove the proton_drive_cli, age and python tables. Only the proton image read them. The rsync image installs python3 from apt. The ubuntu, task, op and awscli tables stay. No file reads a removed table (git grep of each lock call: only task.*, op.* and awscli.*).
  • ci.yml and release.yml: the matrix has only rsync. The two guard steps in ci.yml have no if:, and they run in each job.
  • .github/chain-file.sh: the first test case names katoptra/ctan. The chain stays, because an rsync fill also uses it.
  • toolbox.yml: the comment that lists the verb names of the engines names only the rsync engine. No command changes.
  • README.md, CLAUDE.md and CONTRIBUTING.md describe one engine, one image and one example. The headings that the mirror repositories link to do not change.

The release after this merge is v2.10.0. The toolbox.yml diff has only comment lines, and engines/rsync.yml does not change. Thus, the render of each public mirror on v2 stays the same.

README headings:

  • Removed: "The proton engine", "The session" and "A proton mirror".
  • Renamed: "The engines" to "The engine", and "The images" to "The image". No repository links to these two anchors.
  • Kept, with no change: #secrets, #storage, #the-toolbox, #the-rsync-engine, #when-a-run-fails, #content-types, #r2-specifics, #monitoring and #rules-a-mirror-keeps.

Storage and operations

None. No step reads or writes a bucket.

Test plan

  • sh .github/validate-vars.sh --check
  • sh .github/chain-file.sh --check
  • sh docker/gpg-gate-check.sh
  • sh .github/op-retry-check.sh
  • task check in examples/rsync, in a local rsync-dev image: the render agrees with render.txt.
  • git grep -n -i -E 'proton|dropbox|age-keygen|session-seal' gives no line.
  • CI builds the rsync image and runs tools, check and offline in examples/rsync.
  • After the v2.10.0 tag: in one public mirror, rm -rf .task/remote && task check shows no render diff.

The mirrors that copy the owner's accounts left the org and keep their
own copies of the proton parts. lib now holds only what the rsync
mirrors use.

- Delete engines/proton.yml, docker/proton.Dockerfile, docker/s3.py
  and examples/proton/.
- Drop the proton_drive_cli, age and python tables from the lock. Only
  the proton image read them. The rsync image takes python3 from apt.
- ci and release build the rsync variant only. The guard steps run
  without a variant condition.
- The chain-file fixture names katoptra/ctan.
- README, CLAUDE.md and CONTRIBUTING.md describe one engine, one image
  and one example.

toolbox.yml changes in comments only, and engines/rsync.yml does not
change. Thus, the render of each public mirror stays the same. The
release is v2.10.0.
@jshvn
jshvn merged commit ab2d647 into main Nov 3, 2026
1 check passed
@jshvn
jshvn deleted the josh/drop-proton branch November 3, 2026 04:53
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