CS
SCALE.sdm
Toggle Dark/Light/Auto modeToggle Dark/Light/Auto modeToggle Dark/Light/Auto modeBack to homepage
Confidential information

0.39.0

Release date: September 01, 2022

Ingress annotations

The configuration of the Ingress within the Helm chart has been changed.

Prior to this version the annotations and paths of the Ingress where hard-coded which prevented the chart to be deployed on other platforms then AWS.

From this version onwards, the AWS specific annotations and paths have been removed. Using the Helm values it is now possible to defined annotations and paths as needed.

With this change, the value envConfig.routing.ingressScheme has also been removed which was used to customize the alb.ingress.kubernetes.io/scheme annotation.

To use the annotations and paths defined prior to this change, set the following into the custom values file:

envConfig:
  routing:
    annotations:
      # see: https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/guide/ingress/annotations/
      kubernetes.io/ingress.class: alb
      alb.ingress.kubernetes.io/scheme: "internet-facing"
      alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80}, {"HTTPS":443}]'
      alb.ingress.kubernetes.io/ssl-policy: 'ELBSecurityPolicy-TLS-1-2-2017-01'
      alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": 
        { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}'

    extraPaths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: ssl-redirect
            port:
              name: use-annotation

Database credentials as K8s secrets

The configuration of the external database and its credentials within the Helm chart has been changed.

Prior to this version, the password which was used to authenticate against the database was directly specified as a Helm value. This is bad design and has some security implications like saving the password in plaintext within the value files.

It has been changed so that the password is provided by a K8s secret which needs to be created by an administrator prior to the deployment.

To migrate, follow these steps and edit your custom Helm values file:

  1. Copy the value of envConfig.database.password which is the current database password
  2. Create the K8s secret object, replacing the <namespace> and <postgres-password> placeholders:
    kubectl -n <namespace> create secret generic w3syse-postgresql-password \
    --from-literal=postgresql-password="<postgres-password>"
    
  3. Adjust the Helm values to reflect the changes:
    envConfig:
      database
        password:
          secret: "w3syse-postgresql-password"
          key: "postgresql-password"
    
New featureAdd contact columns (name and email) to Add ons page [#181]
New featureAdd GraphQL schema for user notifications [#1003]
New featureAdd overview for tests to test detail page [CAVIT-3655]
New featureAdd private state information of requirement values to GraphQL request for Project Requirement Lists [#4014]
New featureDisciplines can now be assigned to users in the user edit form [#412]
New featureGroup MDM units by dimension on MDM attribute add/edit page [#263]
New featureSupport private registries to pull images from by setting up custom pull-secrets [#4053]
ImprovementAdd more filtering options for Project and Test queries [#4070]

  • allRdTests can now be filtered by a list of BesProjects, ProjectId or ProjectName
  • allProjects can be filtered by name

ImprovementDo not scale web-workers based on CPU cores to improve estimate about memory consumption [#466]
ImprovementImport tests via project context instead of test grid [#151]
ImprovementImprove the loading time of the collection list and respect the user's permissions for the test count [#331]
ImprovementIngress can now be customized through Helm values on deployment [#150]
Feature changeDatabase credentials are provided by K8s secrets [#1272]
Feature changeProvide Redis as a scalable sub-chart using bitnami/redis instead of a single container [#4026]
Feature changeRefactoring settings keys for oidc user to prevent confusion [#288]
Bug fixFetch correct results after filtering by date [#4059]
Bug fixFix deletion of Project Requirements via context menu [#1902]
Bug fixFix export of Test Attributes to CSV, Excel on the Test details page [#4006]
Bug fixFix message format when user deletion fails [#34]
Bug fixIn certain cases, upcoming errors while editing RdTests were wrongly interpreted as successful [#4112]
Bug fixPermissions have been relaxed to require only view-permissions to star/unstar a RdTest [#4116]
Bug fixThe field Test result identifier on MDM requirement add page could not show error messages for invalid values [#141]

API changes
Non-BreakingType MdmAttributeTypeUpsertMutationInput was added
Non-BreakingType MdmAttributeTypeUpsertMutationPayload was added
Non-BreakingType MdmAttributeUpsertMutationInput was added
Non-BreakingType MdmAttributeUpsertMutationPayload was added
Non-BreakingType MdmTestCaseAssociationAttributesInputType was added
Non-BreakingType MdmTestCaseAssociationGroupAttributesInputType was added
Non-BreakingType MdmTestCaseAssociationGroupType was added
Non-BreakingType MdmTestCaseAssociationGroupTypeConnection was added
Non-BreakingType MdmTestCaseAssociationGroupTypeEdge was added
Non-BreakingType MdmTestCaseAttributesInputType was added
Non-BreakingType MdmTestCaseCreateMutationInput was added
Non-BreakingType MdmTestCaseCreateMutationPayload was added
Non-BreakingType MdmTestCaseDeleteMutationInput was added
Non-BreakingType MdmTestCaseDeleteMutationPayload was added
Non-BreakingType MdmTestCaseType was added
Non-BreakingType MdmTestCaseTypeConnection was added
Non-BreakingType MdmTestCaseTypeEdge was added
Non-BreakingType MdmTestCaseUpdateMutationInput was added
Non-BreakingType MdmTestCaseUpdateMutationPayload was added
Non-BreakingType OnUserNotification was added
Non-BreakingType UserNotificationCreateMutationInput was added
Non-BreakingType UserNotificationCreateMutationPayload was added
Non-BreakingType UserNotificationDeleteMutationInput was added
Non-BreakingType UserNotificationDeleteMutationPayload was added
Non-BreakingType UserNotificationMarkAllAsReadMutation was added
Non-BreakingType UserNotificationMarkAsReadMutationInput was added
Non-BreakingType UserNotificationMarkAsReadMutationPayload was added
Non-BreakingType UserNotificationType was added
Non-BreakingType UserNotificationTypeConnection was added
Non-BreakingType UserNotificationTypeEdge was added
Non-BreakingType UserNotificationUpdateMutationInput was added
Non-BreakingType UserNotificationUpdateMutationPayload was added
Non-BreakingType W3SyseMdmTestCaseAssociationOpLowerBoundaryChoices was added
Non-BreakingType W3SyseMdmTestCaseAssociationOpUpperBoundaryChoices was added
Non-BreakingType W3SyseUserNotificationPriorityChoices was added
Non-BreakingField disciplineSet was added to object type UserType
Non-BreakingField referenceTest was added to object type RequirementValueType
Non-BreakingInput Field disciplineSet: [ID] was added to input type UserCreateMutationInput
Non-BreakingField deleteMdmTestCase was added to object type Mutation
Non-BreakingField createUserNotification was added to object type Mutation
Non-BreakingField upsertMdmAttribute was added to object type Mutation
Non-BreakingField updateMdmTestCase was added to object type Mutation
Non-BreakingField upsertMdmAttributeType was added to object type Mutation
Non-BreakingField markAsReadUserNotification was added to object type Mutation
Non-BreakingField deleteUserNotification was added to object type Mutation
Non-BreakingField markAllAsReadUserNotification was added to object type Mutation
Non-BreakingField createMdmTestCase was added to object type Mutation
Non-BreakingField updateUserNotification was added to object type Mutation
Non-BreakingField columnGroupShow was added to object type XMLColumnType
Non-BreakingArgument besProject_Project_Name: String added to BesProjectType.rdtestSet
Non-BreakingArgument besProject_Project_Name_In: [String] added to BesProjectType.rdtestSet
Non-BreakingArgument besProject_Project_Id: UUID added to BesProjectType.rdtestSet
Non-BreakingArgument besProject_Project_Id_In: [UUID] added to BesProjectType.rdtestSet
Non-BreakingArgument besProject_In: [ID] added to BesProjectType.rdtestSet
Non-BreakingField mdmTestCase was added to object type Query
Non-BreakingField allMdmTestCases was added to object type Query
Non-BreakingField userNotification was added to object type Query
Non-BreakingField allUserNotifications was added to object type Query
Non-BreakingArgument name_In: [String] added to Query.allProjects
Non-BreakingArgument name: String added to Query.allProjects
Non-BreakingArgument besProject_Project_Name: String added to Query.allRdTests
Non-BreakingArgument besProject_Project_Name_In: [String] added to Query.allRdTests
Non-BreakingArgument besProject_Project_Id: UUID added to Query.allRdTests
Non-BreakingArgument besProject_Project_Id_In: [UUID] added to Query.allRdTests
Non-BreakingArgument besProject_In: [ID] added to Query.allRdTests
Non-BreakingArgument orderBy: String added to Query.allProjectTypes
Non-BreakingArgument name_Icontains: String added to Query.allProjectTypes
Non-BreakingArgument name: String added to Query.allProjectTypes
Non-BreakingField onUserNotification was added to object type Subscription
Non-BreakingInput Field disciplineSet: [ID] was added to input type UserUpdateMutationInput
Non-BreakingField label was added to object type XMLColumnValueAggregationType
Non-BreakingField testsCount was added to object type CollectionType
Non-BreakingField tagsCount was added to object type CollectionType
Non-BreakingArgument besProject_Project_Name: String added to CollectionType.tests
Non-BreakingArgument besProject_Project_Name_In: [String] added to CollectionType.tests
Non-BreakingArgument besProject_Project_Id: UUID added to CollectionType.tests
Non-BreakingArgument besProject_Project_Id_In: [UUID] added to CollectionType.tests
Non-BreakingArgument besProject_In: [ID] added to CollectionType.tests