diff --git a/examples/values.schema.json b/examples/values.schema.json index ef4357b..ed2620a 100644 --- a/examples/values.schema.json +++ b/examples/values.schema.json @@ -121,7 +121,98 @@ } }, "workflowEngine": { - "$ref": "#/definitions/service" + "allOf": [ + { "$ref": "#/definitions/service" }, + { + "type": "object", + "properties": { + "runtime": { + "type": "object", + "properties": { + "concurrencyMaxRetries": { + "type": "integer", + "minimum": 1, + "description": "Maximum retry attempts for concurrency conflicts" + }, + "concurrencyBaseDelayMs": { + "type": "integer", + "minimum": 1, + "description": "Base delay in milliseconds between retries" + }, + "concurrencyJitterMs": { + "type": "integer", + "minimum": 0, + "description": "Random jitter added to retry delays" + } + } + }, + "tenantSettings": { + "type": "object", + "properties": { + "cacheDurationMinutes": { + "type": "integer", + "minimum": 1, + "description": "How long to cache tenant settings" + }, + "fallbackToDefaults": { + "type": "boolean", + "description": "Whether to use defaults when TenantRegistry is unavailable" + } + } + }, + "leaderElection": { + "type": "object", + "properties": { + "defaultLeaseDurationMinutes": { + "type": "integer", + "minimum": 1, + "description": "Default leadership lease duration in minutes" + }, + "retryIntervalSeconds": { + "type": "integer", + "minimum": 1, + "description": "How often to retry acquiring leadership" + } + } + }, + "workflowTimeout": { + "type": "object", + "properties": { + "checkIntervalMinutes": { + "type": "integer", + "minimum": 1, + "description": "How often to check for timed-out workflows" + }, + "leaseDurationMinutes": { + "type": "integer", + "minimum": 1, + "description": "Leadership lease duration for timeout checks" + } + } + }, + "workflowCleanup": { + "type": "object", + "properties": { + "checkIntervalMinutes": { + "type": "integer", + "minimum": 1, + "description": "How often to run cleanup (in minutes)" + }, + "batchSize": { + "type": "integer", + "minimum": 1, + "description": "Max workflows to delete per tenant per run" + }, + "leaseDurationMinutes": { + "type": "integer", + "minimum": 1, + "description": "Leadership lease duration for cleanup" + } + } + } + } + } + ] }, "activityRegistry": { "$ref": "#/definitions/service" diff --git a/examples/values.yaml b/examples/values.yaml index ded1589..c8f6b2f 100644 --- a/examples/values.yaml +++ b/examples/values.yaml @@ -330,6 +330,39 @@ workflowEngine: concurrencyBaseDelayMs: 100 concurrencyJitterMs: 50 + # -- Tenant settings provider configuration + tenantSettings: + # -- How long to cache tenant settings (format: HH:MM:SS or minutes as integer) + cacheDurationMinutes: 5 + # -- Whether to use default settings when TenantRegistry is unavailable + fallbackToDefaults: true + + # -- Leader election configuration for distributed background services + # Ensures only one pod runs cleanup/timeout jobs in multi-replica deployments + leaderElection: + # -- Default lease duration in minutes + defaultLeaseDurationMinutes: 1 + # -- Retry interval in seconds when not the leader + retryIntervalSeconds: 10 + + # -- Workflow timeout service configuration + # Marks long-running workflows as failed based on tenant WorkflowTimeoutMinutes setting + workflowTimeout: + # -- How often to check for timed out workflows (in minutes) + checkIntervalMinutes: 1 + # -- How long to hold leadership lease (in minutes, should be > checkInterval) + leaseDurationMinutes: 2 + + # -- Workflow cleanup service configuration + # Deletes old completed/failed workflows based on tenant MaxWorkflowHistoryDays setting + workflowCleanup: + # -- How often to run cleanup (in minutes, default 60 = 1 hour) + checkIntervalMinutes: 60 + # -- Max workflows to delete per tenant per run + batchSize: 100 + # -- How long to hold leadership lease (in minutes) + leaseDurationMinutes: 5 + # -- Additional environment variables extraEnv: [] diff --git a/flow-0.8.17.tgz b/flow-0.8.17.tgz new file mode 100644 index 0000000..2318b1f Binary files /dev/null and b/flow-0.8.17.tgz differ diff --git a/index.yaml b/index.yaml index 2d7d886..9f78a64 100644 --- a/index.yaml +++ b/index.yaml @@ -21,7 +21,55 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: latest - created: "2026-01-09T12:24:08.068728067Z" + created: "2026-01-09T13:46:03.594117271Z" + description: A Helm chart for deploying the Flow workflow engine platform with + SOC2/NIS2 compliance support + digest: 74fa58c368e95bb540c05bc50c5897652524a75fe76db7ee71c371d29715691b + home: https://git.kn.entit.eu/EntitAB/Flow + keywords: + - workflow + - automation + - microservices + - dotnet + - rabbitmq + - postgresql + - redis + - soc2 + - nis2 + - compliance + - security + - backup + maintainers: + - name: Entit AB + url: https://entit.se + name: flow + sources: + - https://git.kn.entit.eu/EntitAB/Flow + type: application + urls: + - https://git.kn.entit.eu/EntitAB/Helm-Charts/raw/branch/main/flow-0.8.17.tgz + version: 0.8.17 + - annotations: + category: Workflow Automation + compliance: | + This chart supports SOC2 and NIS2 compliance requirements: + - Network policies for zero-trust networking + - Encrypted backups with configurable retention + - Audit logging with SIEM integration + - TLS for internal communication + - High availability for all infrastructure components + images: | + - name: workflow-engine + image: flow/workflow-engine + - name: postgresql + image: postgres:16-alpine + - name: rabbitmq + image: rabbitmq:3.13-management-alpine + - name: redis + image: redis:7-alpine + apiVersion: v2 + appVersion: latest + created: "2026-01-09T13:46:03.587276195Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: 60cef3943125ca385024b5a1666bd6e3ca3df2965d4cfa32947af8f66da8d137 @@ -69,7 +117,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: latest - created: "2026-01-09T12:24:08.062918956Z" + created: "2026-01-09T13:46:03.580816435Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: f9f8bc1a12e5c8bccd5d2ffbf67ab584ac86e6156354ff9cefb17043af4965fa @@ -117,7 +165,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: latest - created: "2026-01-09T12:24:08.056272283Z" + created: "2026-01-09T13:46:03.575108503Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: 79145955a5c79591c263c827b77c3c4a7e245d7c0d727d9af725a780cf2ddf23 @@ -165,7 +213,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: latest - created: "2026-01-09T12:24:08.049329998Z" + created: "2026-01-09T13:46:03.568371883Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: fc3576aff90b5e0583f8a41ce410cbbbec1f4741e0e642667ff409a1a3f585a5 @@ -213,7 +261,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: latest - created: "2026-01-09T12:24:08.043333136Z" + created: "2026-01-09T13:46:03.562026273Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: d87e315aca50e32bfc84a563e29895ff316a06f04fe13828fdca10402bfafc99 @@ -261,7 +309,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: latest - created: "2026-01-09T12:24:08.036295737Z" + created: "2026-01-09T13:46:03.554591337Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: f8a000364fc8ef1ae891db85d99a7ceeb6e82e1d20b91f00126c3f27a93c8a69 @@ -309,7 +357,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: latest - created: "2026-01-09T12:24:08.03028972Z" + created: "2026-01-09T13:46:03.548738142Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: 166f938bd541d801f3b94287113635d1ed717ecaa87311100a1d0f5c394c58dc @@ -357,7 +405,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: latest - created: "2026-01-09T12:24:08.119703446Z" + created: "2026-01-09T13:46:03.643428024Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: 78e737cfe7e6ebdf17c31781b75b201512a6372388df328f7dad2c1a78811a38 @@ -405,7 +453,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: latest - created: "2026-01-09T12:24:08.112997122Z" + created: "2026-01-09T13:46:03.637026383Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: 5c921b121b2af0bf51e905efc4f7c550ba28e23586d647ed1e81a3193855c4ac @@ -453,7 +501,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: latest - created: "2026-01-09T12:24:08.107139918Z" + created: "2026-01-09T13:46:03.63147585Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: fa0a2037e79a90e75579d5acf7b8529266a2ae36255756115769db52327075d9 @@ -501,7 +549,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: latest - created: "2026-01-09T12:24:08.100470621Z" + created: "2026-01-09T13:46:03.624591118Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: 9bcd19ab45c0cefe5ede00b0e914a34b06245f858761d7ce586ca309a00f4161 @@ -549,7 +597,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: latest - created: "2026-01-09T12:24:08.094465132Z" + created: "2026-01-09T13:46:03.618958397Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: 698f8f60438a54a05aa9c6f593198242226e9ffa8f6175effc8d020fff0b7098 @@ -597,7 +645,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: latest - created: "2026-01-09T12:24:08.08783723Z" + created: "2026-01-09T13:46:03.612325097Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: 4818e69aa28fed61e3610de48e90a9b7bd16022bea0c484c337f32117402b388 @@ -645,7 +693,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: latest - created: "2026-01-09T12:24:08.081326411Z" + created: "2026-01-09T13:46:03.6062239Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: 8d00b2616d32f94551db3991bed7afe0694ea465207178c8b2f46d00a61d6395 @@ -693,7 +741,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: latest - created: "2026-01-09T12:24:08.075782339Z" + created: "2026-01-09T13:46:03.599892005Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: 5add702006bef9f8896f57d54f21a8375ce3f846a40fae7376022b6c248bddc6 @@ -741,7 +789,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: latest - created: "2026-01-09T12:24:08.022721492Z" + created: "2026-01-09T13:46:03.541668902Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: bfb8e52b5b531c12222f6cb4abecb3350137082f6ce987ab84088da0a139cd4b @@ -789,7 +837,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: latest - created: "2026-01-09T12:24:08.015994498Z" + created: "2026-01-09T13:46:03.534471782Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: b3d228189c04786f753598682108aea5d91f911ddbb852fefcca97044eb09199 @@ -837,7 +885,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: latest - created: "2026-01-09T12:24:08.010098334Z" + created: "2026-01-09T13:46:03.529026646Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: dfd4b6ce53f7d22fb2a6641fafd693d341e7c23eb591dc0aa3d101e07ecbefa7 @@ -885,7 +933,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: latest - created: "2026-01-09T12:24:08.003127449Z" + created: "2026-01-09T13:46:03.522961735Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: ef032ff33fb40cbe10ce4e4ce0ac4f96bb02835e1e31bc01ee87ff62320482b9 @@ -933,7 +981,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: 1.0.0 - created: "2026-01-09T12:24:07.997282576Z" + created: "2026-01-09T13:46:03.516641913Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: c11710fcadc0182ba10713467ec5fb77672caabf1c7daddd95802a7940ce38c1 @@ -981,7 +1029,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: 1.0.0 - created: "2026-01-09T12:24:07.990801181Z" + created: "2026-01-09T13:46:03.510509113Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: 5565963e9fa91c8b0c58fdcd4955e4b038b799f713d21fa0521bebe693233920 @@ -1029,7 +1077,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: 1.0.0 - created: "2026-01-09T12:24:07.984112442Z" + created: "2026-01-09T13:46:03.503607514Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: c74d5574e24dbe56fb5a1ece6213e2a57e4f4c10a2e65464490479aa335255e8 @@ -1077,7 +1125,7 @@ entries: image: redis:7-alpine apiVersion: v2 appVersion: 1.0.0 - created: "2026-01-09T12:24:07.978385326Z" + created: "2026-01-09T13:46:03.497699484Z" description: A Helm chart for deploying the Flow workflow engine platform with SOC2/NIS2 compliance support digest: 75fdf3bef90777328b4247d5881224518cd628418003151dd4f9dc4990e2d6ae @@ -1105,4 +1153,4 @@ entries: urls: - https://git.kn.entit.eu/EntitAB/Helm-Charts/raw/branch/main/flow-0.3.1.tgz version: 0.3.1 -generated: "2026-01-09T12:24:07.972025476Z" +generated: "2026-01-09T13:46:03.49091226Z"