Skip to content

rbio: add deploy:* ops:* install:* (cloud surface)#3585

Open
davidsmejia wants to merge 2 commits into
davidsmejia/3572-02-rbio-local-devfrom
davidsmejia/3572-03-rbio-cloud
Open

rbio: add deploy:* ops:* install:* (cloud surface)#3585
davidsmejia wants to merge 2 commits into
davidsmejia/3572-02-rbio-local-devfrom
davidsmejia/3572-03-rbio-cloud

Conversation

@davidsmejia
Copy link
Copy Markdown
Contributor

Issue Number

#3572

Purpose/Implementation Notes

  • bin/lib/deploy.py (new) - deploy:up, env-driven. Reads DEPLOY_ENV / DEPLOY_TAG / DEPLOY_USER (and optional BATCH_USE_ON_DEMAND_INSTANCES) from env, validates, runs tfenv install (reads infrastructure/.terraform-version), shells to infrastructure/deploy.sh with the right argv. Used locally and by CI's remote_deploy.sh (latter wired up in PR 5 of this stack).
  • bin/lib/ops.py (new) - ops:kill-jobs. Scopes by DEPLOY_USER+DEPLOY_ENV (project's AWS creds span all envs, so scoping is required to prevent cross-env damage). Discovers queues via aws batch describe-job-queues filtered by terraform's naming pattern. Interactive picker + confirm by default; --all + --yes for unattended use. Parallel listing across (queue × in-flight status) via ThreadPoolExecutor.
  • bin/lib/install.py (new) - install:deps, install:venv. Thin Python wrappers; the actual install logic stays in shell under install/.
  • install/install_deps.sh (new) - idempotent OS-level dep installer. Detects macOS (brew) / Linux (apt), handles docker / aws / tfenv / jq / pre-commit / shellcheck. Replaces scripts/install_all.sh's system-tool portion (venv/dev-stack portions move elsewhere).
  • install/setup_venv.sh (new) - creates dr_env/ with pip-tools + every subproject's requirements + editable common. Used by IDEs and by rbio common:build-sdist when system python3 lacks setuptools.
  • infrastructure/.terraform-version (new) - pins terraform 0.13.5. Read by tfenv install in deploy:up.
  • bin/rbio — register deploy, install, ops namespaces.

Methods

N/A

Types of changes

  • New feature (non-breaking change which adds functionality)

Functional tests

rbio smoketest

Checklist

  • Lint and unit tests pass locally with my changes

Screenshots

N/A

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