Bodywork's CLI commands have been completely re-worked to make them more intuitive and less verbose. You can now deploy a pipeline on a fresh Kubernetes cluster using nothing more than,
$ bw create deployment "https://github.com/my-corp/my-classifier-pipeline"
We've also improved the presentation quality and information content of deployment queries and logs, to make it easier to manage active deployments. Full information can be found in the User Guide and CLI Reference.
Bodywork 3.0.0 and above requires version
1.1 of the
bodywork.yaml schema. The changes are as follows:
projectsection has been renamed to
pipeline, to better reflect what is being configured.
- You can now specify an optional
pipeline.secrets_groupparameter, to specify the secrets group to use for the deployment - e.g.,
prod(see below for more information on secret groups).
See the example in the User Guide for more information.
Run Jupyter Notebooks as Stages¶
Bodywork now supports the use of Jupyter notebooks for defining pipeline stages. Just specify the
*.ipynb file you want to run for your stage using the
executable_module_path stage configuration parameter.
Enhanced Secrets Management with Groups¶
You can now assign secrets to groups - e.g.,
prod, etc - to make it easier to switch between development environments. The secrets group to use for a deployment can be selected using the
pipeline.secrets_group parameter in
bodywork.yaml. See Managing Secrets in the User Guide for more information.
Better Support for Working with Private Git Repositories¶
Working with private Git repositories (via SSH), is now as easy as,
$ bw create deployment "firstname.lastname@example.org:my-corp/my-classifier-pipeline.git" \ --ssh PATH_TO_MY_PRIVATE_SSH_KEY
No more fiddling around with environment variables!
Other Improvements and Bug Fixes¶
- There's now an alias for the
bodyworkcommand - you can now use
bwto save on typing.
- Full support for pipelines developed using Python 3.9.
- We've upgraded to the latest version of the Kubernetes Python client, which supports Kubernetes v1.19 to v1.22.