Release 1.4.2

Changes

[CSD-484] - Website: Improve website flexibility and menu design

Improved top menu design. Updated wagtail to version 2.14.1. Added website_settings in wagtail for robots.txt and theme selection (Server/webapp/webapp/website/models/website_settings.py).

[CSD-493] - Documentation: Guide for k8s postgres major upgrade

A guide how to upgrade major versions of the postgres server in your kubernetes cluster.

[CSD-511] - Pulumi: Increase root size of Rancher Cluster Node Template

Set the root size of Rancher Cluster Node Template to a value of 50GB.

Fixed Bugs

[CSD-483] - Fixed convert_choices_to_enum not forwarded to mutation input type

Graphene conversion from django model choice fields is usually done as GraphQL enum but this introduces some limitations and in complex situation errors (like conflicting double schema registrations). Unless this is solved by graphene itself, our recommended approach is to set convert_choices_to_enum to False (default is True) This option is now also possible to set in GqlModelSerializerMutation. You have to explicitly set it, default is False for backward compatibility.

[CSD-486] - Fixed duplicate import of Core Module

Removed accidential import of CoreModule which resulted in broken locales from i18next.

[CSD-487] - Fixed package.json in server malformed

Excluded json from black codeformater in Server dir, as it adds malformed comma after last list element.

[CSD-489] - Fixed Content-Security-Policy

Added Content-Security-Policy to prevent the webapp or the website from being used in an iframe. This was introduced to prevent clickjacking attacks. If you have trusted other websites which you want to be allowed to access the webapp or the website via an iframe you need to extend the Content-Security-Policy in the /conf/docker/webapp/server/proxy/nginx_prod.conf.

[CSD-499] - Apple M1 Support

We migrated the docker build system to buildx to support multi-platform builds and to improve the buildspeed by around 50% through parallel buildings.

Note

You need to upgrade your local docker to have at least buildx v0.8.1. For Docker Desktop that is version 4.6.1+.

We needed to switch and upgrade some dependencies which might introduce some breaking changes in your code.

  • node-sass to sass

  • nginx-alpine from 1.16 to 1.20

  • added include-media for media queries on the website (Server/webapp/webapp/static_src/scss)

  • pillow from 7.2.0 to 8.4.0

  • drone/drone 2.04 to 2.11.1

  • drone/autscaler 1.7.5 to 1.8.0

  • drone/drone-runner-docker 1.6.3 to 1.8.0

  • docker node image from 12.18 to 16.14

  • python sphinx for the docs from 3.2.1 to 4.5.0

  • sphinx-copybutton from 0.3.0 to 0.5.0

We needed to remove push_webapp.sh and build_webapp.sh and made instead build_local_webapp.sh which only builds the images in the local platform of the computer and build_push_webapp.sh which builds two platforms by default linux/arm64 and linux/amd64 aka Apple Silicon and Intel/AMD. The platforms can be changed in the common_env.sh

  • export CSD_DOCKER_BUILD_PLATFORM1=”linux/arm64”

  • export CSD_DOCKER_BUILD_PLATFORM2=”linux/amd64”

On the CI by default only the amd64 build is created, you can change this by overriding the CSD_DOCKER_BUILD_PLATFORM1 and 2 in conf/envs/ci_env.sh.

We upgraded the manifest for the ingress for the deploy_infra_docker_for_mac.sh as the new k8s which is included in docker-desktop for mac is not compatible with the old ingress manifest.

[CSD-500] - Enable Drone Debug Sessions with tmate

Drone provides a remote debugging option which is now enabled by default when you install Drone CI as part of your shared environment with pulumi.

Note

If you want to enable it after you have already setup your Drone instance with pulumi. Log in to your drone instance with ssh. Stop the drone containers, change the docker compose file eg. enable tmate and then restart it.

# stop the Drone CI
docker-compose -f /drone-compose.yml down

# make changes in the compose file
vim /drone-compose.yml

# restart the Drone CI system
docker-compose -f /drone-compose.yml up  --detach

[CSD-501] - pulumi main missing aws region

In newer version pulumi complains about a missing region in boto3.client. This was fixed by providing the default region to boto3.client.

[CSD-504] - Missing Server/webapp/webapp/static folder

Added creating Server/webapp/webapp/static folder to start.sh in webapp-server-webapp docker image if it is not existing.

Fixed Bugs

Breaking

Known Issues

  • Don’t use docker-compose V2 as long as the bug with the env_file is not fixed.
  • Angular SSR is currently broken, container webapp-frontend-ssr image doesn’t build in prod target
    (local_prod, dev, staging, prod).
    As a workaround change the settings of your project in the Carrot Console and disable the
    ‘Angular SSR’ option.