Summary When deploying a service to Dataflow, add future automated Dataflow deployment to the build trigger. This removes the need to manually re-deploy a service to Dataflow using `octue-app dataflow deploy` each time the build trigger is run.
Enhancements - Add Cloud Build step to `DataflowDeployer` to deploy a job to Dataflow - Stop deploying jobs to Dataflow directly from local machine by default in `DataflowDeployer` - Add option to `deploy dataflow` CLI command to skip creating and running the build trigger and only deploy the Dataflow job - Allow `Topic` to be instantiated without a namespace
Fixes - Make `BaseDeployer` wait for queued builds instead of raising an error - Ensure `DataflowDeployer._deploy_streaming_dataflow_job` creates jobs if they don't exist when the `update` parameter is `True` - Ensure the Dataflow service topic exists before deploying a job
Refactoring - Combine `BaseDeployer._run_build_trigger` and `BaseDeployer._wait_for_build_to_finish`
Operations - Add `.dockerignore` file - Add `Dockerfile` and `cloudbuild.yaml` for the `octue` package
<!--- END AUTOGENERATED NOTES --->
0.9.2
Not secure
Summary Automate the builds and deployment of services to Google Dataflow.
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: