Enhancements - Add the `DataflowDeployer` class and use it in the `deploy dataflow` CLI command - Use the `octue.yaml` file for Dataflow deployments - Allow Dataflow job updates - Deploy Dataflow jobs asynchronously - Add `SERVICE_NAME` environment variable to Dataflow docker images by default - Run build triggers instead of submitting builds based on the local context when deploying - Ignore `ResourceWarnings` from `GoogleCloudStorageClient`
Fixes - Always provide the correct project to the deployment commands - Store unserialised manifest in `Service._current_question` - Provide a temporary file location and setup file path to `DataflowDeployer`
Refactoring - Move `CloudRunDeployer` into `octue.cloud.deployment.google.cloud_run` package - Factor `BaseDeployer` out of `CloudRunDeployer` and use it as a base for `DataflowDeployer` too - Rename Dataflow deploy module and members - Get output from gcloud commands in JSON format
Enhancements - Raise more succinct error if `octue.yaml` file cannot be found in CLI command
Style - Add line between built-in, third-party, and relative imports
<!--- END AUTOGENERATED NOTES --->
0.9.0
Not secure
Summary Add the `octue-app deploy cloud-run` CLI command that can be run from the top-level of a repository containing an `octue` app to: 1. Create a build configuration 2. Create a build trigger 3. Build and deploy the app to Google Cloud Run as a service 4. Create and attach an Eventarc run trigger to the service
The command reads an `octue.yaml` file specifying required and optional arguments that control aspects of the build trigger and Cloud Run service.
**Note:** This command requires the Google Cloud CLI `gcloud` to be available - I still need to choose a way to ensure it is.
Possible solutions using a docker container include: - Engineers running the command themselves from a local container - Anyone (with permission) triggering a Google Cloud Function via the `octue` CLI - Creating a GitHub app that listens for events on repositories its installed on and triggers the command based on these (longer term)
Information on the `gcloud` version used for developing this command:
Enhancements - Add analysis ID to log messages forwarded from child <!--- END AUTOGENERATED NOTES --->
0.8.0
Not secure
Summary Add the ability to deploy services as Google Dataflow streaming jobs to allow greater freedom in machine specifications and analysis complexities/demands. Parents do not need to know whether a child is a Cloud Run service or a Dataflow service.
New features - Add function and CLI command for deploying apps as Google Dataflow streaming pipeline services
Enhancements - Add static methods for topic and subscription path generation without requiring `Topic` or `Subscription` instantiation
Fixes - Allow response subscriptions to already exist in `Service.answer` so that questions can be re-asked if no delivery acknowledgement is received
Refactoring - Move Cloud Run deployment module and Dockerfile into `cloud_run` subpackage - Factor out Pub/Sub question answering function from Cloud Run `flask` app
Dependencies - Temporarily downgrade to `google-cloud-pubsub==1.7.0`. This can be reverted when version `2.36.0` of `apache-beam` is released as it provides support for `google-cloud-pubsub>=2`
Style - Ignore missing public docstring warning during pre-commit checks to allow docstrings to be added at the end of a pull request once new code is stable
Testing - Move Cloud Run deployment tests into their own test module - Change `RUN_DEPLOYMENT_TESTS` environment variable expected values to integers 0 and 1