Skip to content

refactor!: drop the compatibility with earlier MCloud releases - #226

Merged
azarouski merged 1 commit into
developfrom
refactor/drop-earlier-compat
Oct 30, 2026
Merged

azarouski merged 1 commit into
developfrom
refactor/drop-earlier-compat

Conversation

@azarouski

Copy link
Copy Markdown
Contributor

The current mcloud head always has its ZeroMQ CURVE keys and the token of the STF storage, mcloud-agent always passes them, and the device units of the current STF have no database. This drops what existed only for the earlier releases of the farm.

Removed

  • STORAGE_TOKEN: the copy of STF_STORAGE_TOKEN for the STF images up to 3.0-hardening (entrypoint, README, tests).
  • RETHINKDB_PORT_28015_TCP: awaited for the device units of the earlier STF images (entrypoint, Dockerfile ENV, README, entrypoint and image tests, the fake RethinkDB port of tests/image_test.sh).
  • ZeroMQ without CURVE: the "both or none" check of the keys and the INFO/WARN log line about the ZeroMQ security.

Mandatory now

  • STF_ZMQ_CURVE_SERVER_PUBLIC_KEY, STF_ZMQ_CURVE_SECRET_KEY: required, still checked for 64 hex characters.
  • STF_STORAGE_TOKEN: required (it was optional, an empty one left the storage calls without the token).

An empty or unset one is a configuration error: <VAR> is required but empty or unset., then Invalid configuration. Exiting! with exit code 0, as for the other required variables. The values are not logged. They stay declared empty in the Dockerfile ENV as the other required variables, the README documents them as required.

Kept: STF_PROVIDER_CONNECT_APP_DEALER / STF_PROVIDER_CONNECT_DEV_DEALER (used by the current stf ios-device).

Breaking

A device host or a head of an earlier MCloud release is not supported: without the CURVE keys or the storage token the container exits with a configuration error, and an STF base image that reads STORAGE_TOKEN or needs RethinkDB does not get them anymore.

Checks

  • make test: tests/entrypoint_test.sh 360 checks pass (the no-CURVE and STORAGE_TOKEN tests are replaced by "a missing key/token is a configuration error" for Android and iOS, and by checks that STF gets the keys and the token, which are not logged). tests/repo_test.sh fails one check that fails on develop too: the base image stf:3.1 has no digest (not published yet).
  • make lint: one failure, the same one as on develop (the README lists the Dockerfile version of FROM ...stf:...@: no digest for stf:3.1).
  • make docker not run: public.ecr.aws/zebrunner/stf:3.1 is not published (no such manifest). tests/image_test.sh is updated: the containers get the token and the keys, the configuration validation checks the three required variables.

The current mcloud head always has its ZeroMQ CURVE keys and the token of
the STF storage, mcloud-agent always passes them, and the device units of
the current STF have no database. Removed:

- STORAGE_TOKEN, the copy of STF_STORAGE_TOKEN for the STF images up to
  3.0-hardening
- RETHINKDB_PORT_28015_TCP, awaited for the device units of the earlier
  STF images
- ZeroMQ without CURVE: the "both or none" check of the keys and the
  INFO/WARN log line about the ZeroMQ security

STF_ZMQ_CURVE_SERVER_PUBLIC_KEY, STF_ZMQ_CURVE_SECRET_KEY and
STF_STORAGE_TOKEN are required: an empty or unset one is a configuration
error (exit 0); the keys are still checked for 64 hex characters.
STF_PROVIDER_CONNECT_APP_DEALER and STF_PROVIDER_CONNECT_DEV_DEALER stay,
stf ios-device uses them.

BREAKING CHANGE: a device host or a head of an earlier release without the
CURVE keys or the storage token, or with an STF image that reads
STORAGE_TOKEN or needs RethinkDB, is not supported: the container exits
with a configuration error.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@azarouski
azarouski merged commit 8b1e6d9 into develop Oct 30, 2026
0 of 3 checks passed
@azarouski
azarouski deleted the refactor/drop-earlier-compat branch October 30, 2026 14:20
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