No description
  • Go 91.2%
  • Dockerfile 5.9%
  • Shell 2.9%
Find a file
2026-09-04 10:33:37 +02:00
rendered/enabling-test Ops/increase minio memory enabling test 2026-09-04 10:33:37 +02:00
tests Update Helm release crossplane to v2.3.4 2026-07-28 14:25:22 +02:00
.chainsaw.yaml EN-4845/Add functional test coverage 2026-06-04 11:18:00 +02:00
.editorconfig Enabling deploy 2026-05-07 14:48:06 +02:00
.gitignore Enabling deploy 2026-05-07 14:48:06 +02:00
.gitlab-ci.yml Update quality time to 5.59.0 2026-09-01 13:46:07 +02:00
appset.yaml added a dev label to the dev apps 2026-07-16 08:12:27 +02:00
dev.helmfile.yaml Ops/increase minio memory enabling test 2026-09-04 10:33:37 +02:00
flow.helmfile.yaml postpone breaking change for opentelemetry-operator 2026-09-04 07:02:30 +02:00
README.md EN-5029 save dependencies and enabled switches 2026-08-03 16:09:58 +02:00
renovate.json chore(renovate): Update config 2026-06-02 08:47:41 +02:00

Flow Platform

Flow is RWS WM's development and deployment platform.

Purpose and Goals

The Flow Platform intends to streamline development and operational workflows.

It aims to:

  • Provide a robust, simple and scalable environment for building, testing, and deploying applications.
  • Provide standard solutions for common operational problems. Said problems include, but are not limited to:
    • Continuous Integration and Deployment
    • Secrets Management
    • Policy Management
    • Observability: monitoring, logging and tracing
    • Certificate and trust management
    • Identity and Access Management (not implemented yet)
    • Alerting (not implemented yet)
    • Self-service PostgreSQL (not implemented yet)
    • API management (not implemented yet)
  • Make the deployment and operation of our applications consistent, using a reduced number of technology stacks, so TABers can easily switch between applications.
  • Enable multitenancy and separation of concerns.

Target Users

There are two main groups of target users

  • Suppliers. They are concerned with the development and testing of the applications. They value ease of use, quick turnaround and independance.
  • TABers. They value stabiliity, consistency and predictability.

Core Components

The platform consists of the following core components:

Flow Platform deployment pipeline

graph TD
  Node1[Gitlab-CI PRE stage]
  Node1 --> Node2[deploy eso on wm-tooling]
  Node1 --> Node3[deploy trustmanager on wm-tooling]
  Node1 --> Node4[render Flow manifests]
  Node1 --> Node5[render test manifests]
  Node5 --> Node101[Gitlab-CI tooling stage]
  Node4 --> Node101
  Node3 --> Node101
  Node2 --> Node101
  Node101 --> Node102[bootstap]
  Node101 --> Node103[deploy wm-infra external secrets on tooling cluster]
  Node101 --> Node104[deploy Argo CD on tooling cluster]
  Node102 --> Node201[Gitlab-CI cluster stage]
  Node103 --> Node201
  Node104 --> Node201


  Node201 --> Node202[Child pipeline for cluster 'X']
  Node202 --> Node203[Deploy Argo CD agent on cluster 'X']
  Node203 --> Node204[Deploy Flow apps for cluster 'X' to tooling Argo CD]
  Node204 --> Node205[Deploy external secrets to cluster 'X']

  Node201 --> Node302[Child pipeline for cluster 'enabling-test']
  Node302 --> Node303[Deploy Argo CD agent on cluster 'enabling-test']
  Node303 --> Node304[Deploy Flow apps for cluster 'enabling-test' to tooling Argo CD]
  Node304 --> Node305[Deploy Flow tests for cluster 'enabling-test' to tooling Argo CD]
  Node305 --> Node306[Deploy external secrets to cluster 'enabling-test']

Local / helmfile deployment

Our deployment is based on helmfile. We tested with version v1.7.0 but anything newer should also work. Also we depend on the helm 'diff' plugin. One way to get it is using the source repository:

helm plugin install https://github.com/databus23/helm-diff --verify=false