Skip to content

Deployment of Base Component and Workflows

If the hetida designer database is empty the included base components and workflows will be deployed automatically.

You can suppress the auto-deployment by setting the environment variable HD_BACKEND_AUTODEPLOY_BASE_TRANSFORMATIONS to false in the docker-compose.yml or docker-compose-dev.yml file.

...

  hetida-designer-backend:
    ...
    environment:
      ...
      - HD_BACKEND_AUTODEPLOY_BASE_TRANSFORMATIONS=false
      ...
    ...
...

You can also activate auto-deployment behavior even if the database is not empty by setting the environment variable HD_BACKEND_PRESERVE_DB_ON_AUTODEPLOY to false in the docker-compose.yml or docker-compose-dev.yml file. In that case the base components and workflows stored in your database are overwritten by the version in the image andthis might affect the reproducibility of workflows using them. Despite that any other components or workflows that you created stay untouched.

You can disable overwriting released and disabled components and workflows during the auto-deployment by setting the environment variable HD_BACKEND_ALLOW_OVERWRITE_RELEASED to false in the docker-compose.yml or docker-compose-dev.yml file.

Recommendation

It is recommended to allow overwriting so that bug fixes of released components and workflows are automatically deployed. If you disabled overwriting during auto-deploy, you can deploy such updates manually as described below.

Not setting these environement variables has the same result as setting them to true.

Manual Deployment of Base Component and Workflows

If you de-activated auto-deployment of base components and workflows and want to deploy them now at a later stage, you should run

docker run --rm \
  -e "HETIDA_DESIGNER_BACKEND_API_URL=http://hetida-designer-backend:8090/api/" \
  --name htdruntime_deployment \
  --network hetida-designer-network \
  --entrypoint python hetida/designer-runtime -c 'from hetdesrun.exportimport.importing import import_transformation_from_dir; import_transformation_from_dir("./transformations/");'
Check the documentation of Export and Import of Components/Workflows for an introduction of the available options.

Note that in the case of the development environment it makes sense to run the deployment command using the locally built runtime image via

docker run --rm \
  -e "HETIDA_DESIGNER_BACKEND_API_URL=http://hetida-designer-backend:8090/api/" \
  --name htdruntime_deployment \
  --network hetida-designer-network \
  --entrypoint python hetida-designer_hetida-designer-runtime -c 'from hetdesrun.exportimport.importing import import_transformation_from_dir; import_transformation_from_dir("./transformations/");'

In case your checked out repository directory has a different name replace hetida-designer_hetida-designer-runtime by <directory name>_hetida-designer-runtime.