Manually Beetmove Files
Manually Beetmove Files#
This is fairly rough documentation for a fairly rare request: beetmoving arbitrary artifacts into archive.m.o.
Identify what needs to beetmoved, and where.
We’re going to be pushing files to archive.m.o, which lends it some legitimacy: let’s make sure this is a valid request.
Generally we want to upload to an existing directory structure, e.g. https://archive.mozilla.org/pub/firefox/nightly/ or https://archive.mozilla.org/pub/mobile/toolchains/ or the like. If we need a new directory structure, we should coordinate with SRE Services to make sure we have the right permissions and the right cleanup rules set.
Fork/clone the repo.
Determine which bucket and AWS creds are needed.
Then go to the appropriate worker in k8s-sops (e.g. firefoxci-gecko-3), and grab the appropriate id and key. You’ll need these to have write access to the bucket.
Note: you probably want to use the appropriate staging bucket and staging id+key for testing first, so also grab those. These will be in use by the non-prod dep and/or dev pools.
Copy the config_example.json file to
config.jsonand edit it. In the example,
maven-productionare the script’s nicknames. The
bucketsdict contains the real bucket name, along with a 2nd nickname which is hardcoded in the script, and the
credentialsdict holds the AWS creds.
Hack the script, e.g.
util.py; Aki made these changes to beetmove an apidoc file rather than some glean files. Adding a
--dry-runflag so you can test as much as possible without moving any files is recommended.
Note: the script assumes you have the files downloaded locally. If you need to dynamically download a file, or if you need to download e.g. 6 months of nightlies a la Bug 1727585, you may want to add automation to do that (and you probably want to verify the downloaded files’ checksums via the chain-of-trust.json artifact for robustness and correctness).
Give it a real try, using the staging bucket. If that works, then if everyone’s sure that the files and paths are correct, then push to the production bucket and close the bug.