Update documentation and example values
This commit is contained in:
161
examples/values-dev.yaml
Normal file
161
examples/values-dev.yaml
Normal file
@@ -0,0 +1,161 @@
|
||||
# Development environment values
|
||||
# Use with: helm install flow ./helm/flow -f ./helm/flow/values-dev.yaml
|
||||
#
|
||||
# PREREQUISITES:
|
||||
# Deploy RabbitMQ and PostgreSQL separately before installing this chart.
|
||||
# Example using Helm:
|
||||
# helm install rabbitmq oci://registry-1.docker.io/bitnamicharts/rabbitmq -n flow
|
||||
# helm install postgresql oci://registry-1.docker.io/bitnamicharts/postgresql -n flow
|
||||
#
|
||||
# Or use your own deployments/operators.
|
||||
|
||||
global:
|
||||
imageRegistry: "cr.kn.entit.eu"
|
||||
imagePullSecrets:
|
||||
- flow-registry-credentials
|
||||
|
||||
azureAd:
|
||||
enabled: false # Disable auth for local development
|
||||
|
||||
database:
|
||||
provider: "Postgres"
|
||||
postgres:
|
||||
host: "postgresql" # Update to match your PostgreSQL service name
|
||||
database: "flow"
|
||||
username: "flow"
|
||||
password: "devpassword123"
|
||||
# Or use existing secret:
|
||||
# existingSecret: "postgresql-credentials"
|
||||
# existingSecretKey: "password"
|
||||
|
||||
rabbitmq:
|
||||
host: "rabbitmq" # Update to match your RabbitMQ service name
|
||||
username: "flow"
|
||||
password: "devpassword123"
|
||||
# Or use existing secret:
|
||||
# existingSecret: "rabbitmq-credentials"
|
||||
# existingSecretKey: "password"
|
||||
|
||||
# Core services - minimal replicas for dev
|
||||
workflowEngine:
|
||||
replicaCount: 1
|
||||
resources:
|
||||
limits:
|
||||
cpu: 250m
|
||||
memory: 256Mi
|
||||
requests:
|
||||
cpu: 50m
|
||||
memory: 128Mi
|
||||
|
||||
activityRegistry:
|
||||
replicaCount: 1
|
||||
|
||||
definitionStore:
|
||||
replicaCount: 1
|
||||
|
||||
workflowLogging:
|
||||
replicaCount: 1
|
||||
|
||||
connectionStore:
|
||||
replicaCount: 1
|
||||
|
||||
tenantRegistry:
|
||||
replicaCount: 1
|
||||
|
||||
frontendWeb:
|
||||
replicaCount: 1
|
||||
ingress:
|
||||
enabled: true
|
||||
hosts:
|
||||
- host: flow.local
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
|
||||
# Enable only essential activities for dev
|
||||
httpRequestActivity:
|
||||
enabled: true
|
||||
replicaCount: 1
|
||||
|
||||
sqlActivity:
|
||||
enabled: true
|
||||
replicaCount: 1
|
||||
|
||||
# Disable non-essential activities
|
||||
redisActivity:
|
||||
enabled: false
|
||||
|
||||
blobStorageActivity:
|
||||
enabled: false
|
||||
|
||||
queueActivity:
|
||||
enabled: false
|
||||
|
||||
cosmosDbActivity:
|
||||
enabled: false
|
||||
|
||||
mongoDbActivity:
|
||||
enabled: false
|
||||
|
||||
emailActivity:
|
||||
enabled: false
|
||||
|
||||
slackActivity:
|
||||
enabled: false
|
||||
|
||||
teamsActivity:
|
||||
enabled: false
|
||||
|
||||
twilioActivity:
|
||||
enabled: false
|
||||
|
||||
ftpActivity:
|
||||
enabled: false
|
||||
|
||||
graphqlActivity:
|
||||
enabled: false
|
||||
|
||||
soapActivity:
|
||||
enabled: false
|
||||
|
||||
pdfActivity:
|
||||
enabled: false
|
||||
|
||||
csvActivity:
|
||||
enabled: false
|
||||
|
||||
excelActivity:
|
||||
enabled: false
|
||||
|
||||
oauthActivity:
|
||||
enabled: false
|
||||
|
||||
keyVaultActivity:
|
||||
enabled: false
|
||||
|
||||
eventHubActivity:
|
||||
enabled: false
|
||||
|
||||
eventGridActivity:
|
||||
enabled: false
|
||||
|
||||
awsS3Activity:
|
||||
enabled: false
|
||||
|
||||
awsSqsActivity:
|
||||
enabled: false
|
||||
|
||||
# External infrastructure - not deployed by this chart
|
||||
rabbitmq:
|
||||
enabled: false
|
||||
|
||||
postgresql:
|
||||
enabled: false
|
||||
|
||||
redis:
|
||||
enabled: false
|
||||
|
||||
# Relaxed security for development
|
||||
securityContext:
|
||||
runAsNonRoot: false
|
||||
readOnlyRootFilesystem: false
|
||||
284
examples/values-prod.yaml
Normal file
284
examples/values-prod.yaml
Normal file
@@ -0,0 +1,284 @@
|
||||
# Production environment values
|
||||
# Use with: helm install flow ./helm/flow -f ./helm/flow/values-prod.yaml
|
||||
|
||||
global:
|
||||
imageRegistry: "cr.kn.entit.eu"
|
||||
imagePullSecrets:
|
||||
- flow-registry-credentials
|
||||
|
||||
azureAd:
|
||||
enabled: true
|
||||
instance: "https://login.microsoftonline.com/"
|
||||
domain: "your-domain.com"
|
||||
tenantId: "" # Set via --set or external secret
|
||||
clientId: "" # Set via --set or external secret
|
||||
clientSecret: "" # Set via --set or external secret
|
||||
scopes: "access_as_user"
|
||||
|
||||
database:
|
||||
provider: "Postgres"
|
||||
postgres:
|
||||
host: "your-postgres-host.postgres.database.azure.com"
|
||||
port: 5432
|
||||
database: "flow_prod"
|
||||
username: "flow@your-postgres-host"
|
||||
existingSecret: "flow-db-secret"
|
||||
existingSecretKey: "postgres-password"
|
||||
|
||||
rabbitmq:
|
||||
host: "your-rabbitmq-host"
|
||||
username: "flow"
|
||||
existingSecret: "flow-rabbitmq-secret"
|
||||
existingSecretKey: "rabbitmq-password"
|
||||
|
||||
# Core services - production replicas with autoscaling
|
||||
workflowEngine:
|
||||
replicaCount: 3
|
||||
autoscaling:
|
||||
enabled: true
|
||||
minReplicas: 3
|
||||
maxReplicas: 10
|
||||
targetCPUUtilizationPercentage: 70
|
||||
resources:
|
||||
limits:
|
||||
cpu: 1000m
|
||||
memory: 1Gi
|
||||
requests:
|
||||
cpu: 250m
|
||||
memory: 512Mi
|
||||
ingress:
|
||||
enabled: true
|
||||
className: nginx
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
||||
hosts:
|
||||
- host: api.flow.your-domain.com
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
tls:
|
||||
- secretName: flow-api-tls
|
||||
hosts:
|
||||
- api.flow.your-domain.com
|
||||
|
||||
activityRegistry:
|
||||
replicaCount: 2
|
||||
autoscaling:
|
||||
enabled: true
|
||||
minReplicas: 2
|
||||
maxReplicas: 5
|
||||
resources:
|
||||
limits:
|
||||
cpu: 500m
|
||||
memory: 512Mi
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 256Mi
|
||||
|
||||
definitionStore:
|
||||
replicaCount: 2
|
||||
autoscaling:
|
||||
enabled: true
|
||||
minReplicas: 2
|
||||
maxReplicas: 5
|
||||
resources:
|
||||
limits:
|
||||
cpu: 500m
|
||||
memory: 512Mi
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 256Mi
|
||||
|
||||
workflowLogging:
|
||||
replicaCount: 2
|
||||
autoscaling:
|
||||
enabled: true
|
||||
minReplicas: 2
|
||||
maxReplicas: 5
|
||||
resources:
|
||||
limits:
|
||||
cpu: 500m
|
||||
memory: 512Mi
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 256Mi
|
||||
|
||||
connectionStore:
|
||||
replicaCount: 2
|
||||
resources:
|
||||
limits:
|
||||
cpu: 500m
|
||||
memory: 512Mi
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 256Mi
|
||||
|
||||
tenantRegistry:
|
||||
replicaCount: 2
|
||||
resources:
|
||||
limits:
|
||||
cpu: 500m
|
||||
memory: 512Mi
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 256Mi
|
||||
|
||||
frontendWeb:
|
||||
replicaCount: 2
|
||||
autoscaling:
|
||||
enabled: true
|
||||
minReplicas: 2
|
||||
maxReplicas: 5
|
||||
ingress:
|
||||
enabled: true
|
||||
className: nginx
|
||||
annotations:
|
||||
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||
cert-manager.io/cluster-issuer: letsencrypt-prod
|
||||
hosts:
|
||||
- host: flow.your-domain.com
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
tls:
|
||||
- secretName: flow-frontend-tls
|
||||
hosts:
|
||||
- flow.your-domain.com
|
||||
|
||||
# Activity services - production resources
|
||||
activities:
|
||||
resources:
|
||||
limits:
|
||||
cpu: 500m
|
||||
memory: 512Mi
|
||||
requests:
|
||||
cpu: 100m
|
||||
memory: 256Mi
|
||||
|
||||
httpRequestActivity:
|
||||
enabled: true
|
||||
replicaCount: 2
|
||||
|
||||
sqlActivity:
|
||||
enabled: true
|
||||
replicaCount: 2
|
||||
|
||||
redisActivity:
|
||||
enabled: true
|
||||
replicaCount: 2
|
||||
|
||||
blobStorageActivity:
|
||||
enabled: true
|
||||
replicaCount: 2
|
||||
|
||||
queueActivity:
|
||||
enabled: true
|
||||
replicaCount: 2
|
||||
|
||||
cosmosDbActivity:
|
||||
enabled: true
|
||||
replicaCount: 2
|
||||
|
||||
mongoDbActivity:
|
||||
enabled: true
|
||||
replicaCount: 1
|
||||
|
||||
emailActivity:
|
||||
enabled: true
|
||||
replicaCount: 2
|
||||
|
||||
slackActivity:
|
||||
enabled: true
|
||||
replicaCount: 1
|
||||
|
||||
teamsActivity:
|
||||
enabled: true
|
||||
replicaCount: 1
|
||||
|
||||
twilioActivity:
|
||||
enabled: true
|
||||
replicaCount: 1
|
||||
|
||||
ftpActivity:
|
||||
enabled: true
|
||||
replicaCount: 1
|
||||
|
||||
graphqlActivity:
|
||||
enabled: true
|
||||
replicaCount: 1
|
||||
|
||||
soapActivity:
|
||||
enabled: true
|
||||
replicaCount: 1
|
||||
|
||||
pdfActivity:
|
||||
enabled: true
|
||||
replicaCount: 1
|
||||
|
||||
csvActivity:
|
||||
enabled: true
|
||||
replicaCount: 1
|
||||
|
||||
excelActivity:
|
||||
enabled: true
|
||||
replicaCount: 1
|
||||
|
||||
oauthActivity:
|
||||
enabled: true
|
||||
replicaCount: 1
|
||||
|
||||
keyVaultActivity:
|
||||
enabled: true
|
||||
replicaCount: 1
|
||||
|
||||
eventHubActivity:
|
||||
enabled: true
|
||||
replicaCount: 2
|
||||
|
||||
eventGridActivity:
|
||||
enabled: true
|
||||
replicaCount: 1
|
||||
|
||||
awsS3Activity:
|
||||
enabled: true
|
||||
replicaCount: 1
|
||||
|
||||
awsSqsActivity:
|
||||
enabled: true
|
||||
replicaCount: 1
|
||||
|
||||
# External infrastructure in production (managed services)
|
||||
rabbitmq:
|
||||
enabled: false # Use Azure Service Bus or managed RabbitMQ
|
||||
|
||||
postgresql:
|
||||
enabled: false # Use Azure Database for PostgreSQL
|
||||
|
||||
redis:
|
||||
enabled: false # Use Azure Cache for Redis if needed
|
||||
|
||||
# Production security
|
||||
podSecurityContext:
|
||||
fsGroup: 1000
|
||||
runAsNonRoot: true
|
||||
|
||||
securityContext:
|
||||
runAsNonRoot: true
|
||||
runAsUser: 1000
|
||||
allowPrivilegeEscalation: false
|
||||
capabilities:
|
||||
drop:
|
||||
- ALL
|
||||
readOnlyRootFilesystem: true
|
||||
seccompProfile:
|
||||
type: RuntimeDefault
|
||||
|
||||
# Network policies for production
|
||||
networkPolicy:
|
||||
enabled: true
|
||||
|
||||
# Pod Disruption Budgets
|
||||
podDisruptionBudget:
|
||||
enabled: true
|
||||
minAvailable: 1
|
||||
316
examples/values.schema.json
Normal file
316
examples/values.schema.json
Normal file
@@ -0,0 +1,316 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"global": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"imageRegistry": {
|
||||
"type": "string"
|
||||
},
|
||||
"imagePullSecrets": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"azureAd": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enabled": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"instance": {
|
||||
"type": "string"
|
||||
},
|
||||
"domain": {
|
||||
"type": "string"
|
||||
},
|
||||
"tenantId": {
|
||||
"type": "string"
|
||||
},
|
||||
"clientId": {
|
||||
"type": "string"
|
||||
},
|
||||
"clientSecret": {
|
||||
"type": "string"
|
||||
},
|
||||
"scopes": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"database": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"provider": {
|
||||
"type": "string",
|
||||
"enum": ["Postgres", "SqlServer"]
|
||||
},
|
||||
"postgres": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"host": {
|
||||
"type": "string"
|
||||
},
|
||||
"port": {
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 65535
|
||||
},
|
||||
"database": {
|
||||
"type": "string"
|
||||
},
|
||||
"username": {
|
||||
"type": "string"
|
||||
},
|
||||
"password": {
|
||||
"type": "string"
|
||||
},
|
||||
"existingSecret": {
|
||||
"type": "string"
|
||||
},
|
||||
"existingSecretKey": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"sqlServer": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"connectionString": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"rabbitmq": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"host": {
|
||||
"type": "string"
|
||||
},
|
||||
"username": {
|
||||
"type": "string"
|
||||
},
|
||||
"password": {
|
||||
"type": "string"
|
||||
},
|
||||
"existingSecret": {
|
||||
"type": "string"
|
||||
},
|
||||
"existingSecretKey": {
|
||||
"type": "string"
|
||||
},
|
||||
"prefetch": {
|
||||
"type": "integer",
|
||||
"minimum": 1
|
||||
},
|
||||
"activityExchange": {
|
||||
"type": "string"
|
||||
},
|
||||
"completedExchange": {
|
||||
"type": "string"
|
||||
},
|
||||
"workflowEventsExchange": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"workflowEngine": {
|
||||
"$ref": "#/definitions/service"
|
||||
},
|
||||
"activityRegistry": {
|
||||
"$ref": "#/definitions/service"
|
||||
},
|
||||
"definitionStore": {
|
||||
"$ref": "#/definitions/service"
|
||||
},
|
||||
"workflowLogging": {
|
||||
"$ref": "#/definitions/service"
|
||||
},
|
||||
"connectionStore": {
|
||||
"$ref": "#/definitions/service"
|
||||
},
|
||||
"tenantRegistry": {
|
||||
"$ref": "#/definitions/service"
|
||||
},
|
||||
"frontendWeb": {
|
||||
"$ref": "#/definitions/service"
|
||||
}
|
||||
},
|
||||
"definitions": {
|
||||
"service": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enabled": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"replicaCount": {
|
||||
"type": "integer",
|
||||
"minimum": 0
|
||||
},
|
||||
"image": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"repository": {
|
||||
"type": "string"
|
||||
},
|
||||
"tag": {
|
||||
"type": "string"
|
||||
},
|
||||
"pullPolicy": {
|
||||
"type": "string",
|
||||
"enum": ["Always", "IfNotPresent", "Never"]
|
||||
}
|
||||
}
|
||||
},
|
||||
"service": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"enum": ["ClusterIP", "NodePort", "LoadBalancer"]
|
||||
},
|
||||
"port": {
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 65535
|
||||
}
|
||||
}
|
||||
},
|
||||
"ingress": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enabled": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"className": {
|
||||
"type": "string"
|
||||
},
|
||||
"annotations": {
|
||||
"type": "object"
|
||||
},
|
||||
"hosts": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"host": {
|
||||
"type": "string"
|
||||
},
|
||||
"paths": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"path": {
|
||||
"type": "string"
|
||||
},
|
||||
"pathType": {
|
||||
"type": "string",
|
||||
"enum": ["Prefix", "Exact", "ImplementationSpecific"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"tls": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"secretName": {
|
||||
"type": "string"
|
||||
},
|
||||
"hosts": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"resources": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"limits": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"cpu": {
|
||||
"type": "string"
|
||||
},
|
||||
"memory": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"requests": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"cpu": {
|
||||
"type": "string"
|
||||
},
|
||||
"memory": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"autoscaling": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"enabled": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"minReplicas": {
|
||||
"type": "integer",
|
||||
"minimum": 1
|
||||
},
|
||||
"maxReplicas": {
|
||||
"type": "integer",
|
||||
"minimum": 1
|
||||
},
|
||||
"targetCPUUtilizationPercentage": {
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 100
|
||||
},
|
||||
"targetMemoryUtilizationPercentage": {
|
||||
"type": "integer",
|
||||
"minimum": 1,
|
||||
"maximum": 100
|
||||
}
|
||||
}
|
||||
},
|
||||
"nodeSelector": {
|
||||
"type": "object"
|
||||
},
|
||||
"tolerations": {
|
||||
"type": "array"
|
||||
},
|
||||
"affinity": {
|
||||
"type": "object"
|
||||
},
|
||||
"extraEnv": {
|
||||
"type": "array"
|
||||
},
|
||||
"extraVolumeMounts": {
|
||||
"type": "array"
|
||||
},
|
||||
"extraVolumes": {
|
||||
"type": "array"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
1402
examples/values.yaml
Normal file
1402
examples/values.yaml
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user