Skip to content

Commit f982433

Browse files
authored
Merge pull request #3 from smapiot/upgrade-version-and-envs
Update Chart to Feed Service Version 1.16.0
2 parents 531ab5a + d1c6cea commit f982433

6 files changed

Lines changed: 121 additions & 9 deletions

File tree

Chart.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: A Helm chart for operating the Piral Feed Service in Kubernetes
44
type: application
55

66
# The chart version.
7-
version: 0.4.0-beta
7+
version: 0.5.0-beta
88

99
# The version number of the Feed Service.
10-
appVersion: "v1.13.4"
10+
appVersion: "v1.16.0"

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2023 smapiot
3+
Copyright (c) 2025 smapiot
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
# Piral Feed Service Helm Chart
22

3-
Chart version: `0.4.0`
3+
Chart version: `0.5.0`
44
Status: `beta`
55

66
## Introduction
77

88
This chart bootstraps a **Feed Service deployment** to a Kubernetes Cluster using the Helm package manager. The specific configuration values will be added to a config map and will be injected as environment variables into the pod, which executes the Feed Service. The sensitive values are injected via Kubernetes secrets.
99

10-
**Remark:** This Helm chart version supports version `1.13.4` of the Feed Service.
10+
**Remark:** This Helm chart version supports version `1.16.0` of the Feed Service.
1111

1212
Additional configuration options can be configured via environment variables, which can be added as required in section `extendedConfig` in the `values.yaml` file.
1313

templates/configmap.yaml

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,12 @@ data:
4242
{{- if (.Values.globalConfig.auditHandler) }}
4343
PIRAL_AUDIT_HANDLER: "{{ .Values.globalConfig.auditHandler }}"
4444
{{- end }}
45+
{{- if (.Values.globalConfig.httpProxy) }}
46+
PIRAL_DEFAULT_HTTP_PROXY: "{{ .Values.globalConfig.httpProxy }}"
47+
{{- end}}
48+
{{- if (.Values.globalConfig.webhookMaxRetries) }}
49+
PIRAL_WEBHOOK_MAX_RETRIES: "{{ .Values.globalConfig.webhookMaxRetries }}"
50+
{{- end}}
4551

4652
## --------------------
4753
## Authentication
@@ -55,6 +61,9 @@ data:
5561
{{- if (.Values.authentication.local.username) }}
5662
PIRAL_AUTH_LOCAL_USER: "{{ .Values.authentication.local.username }}"
5763
{{- end }}
64+
{{- if (.Values.authentication.local.passAlg) }}
65+
PIRAL_AUTH_LOCAL_PASS_ALG: "{{ .Values.authentication.local.passAlg }}"
66+
{{- end }}
5867
{{- end }}
5968

6069
## Microsoft Authentication
@@ -74,7 +83,10 @@ data:
7483
{{- end }}
7584
{{- if (.Values.authentication.microsoft.lowercaseId ) }}
7685
PIRAL_AUTH_MICROSOFT_LOWERCASE_ID: "{{ .Values.authentication.microsoft.lowercaseId }}"
77-
{{- end }}
86+
{{- end }}
87+
{{- if (.Values.authentication.microsoft.lowercaseEmail ) }}
88+
PIRAL_AUTH_MICROSOFT_LOWERCASE_EMAIL: "{{ .Values.authentication.microsoft.lowercaseEmail }}"
89+
{{- end }}
7890
{{- end }}
7991

8092
## Generic OAuth2
@@ -171,6 +183,9 @@ data:
171183
{{- if (.Values.authentication.saml.lowercaseId ) }}
172184
PIRAL_AUTH_SAML_LOWERCASE_ID: "{{ .Values.authentication.saml.lowercaseId }}"
173185
{{- end }}
186+
{{- if (.Values.authentication.saml.checkAssertions ) }}
187+
PIRAL_AUTH_SAML_CHECK_ASSERTIONS: "{{ .Values.authentication.saml.checkAssertions }}"
188+
{{- end }}
174189
{{- end }}
175190

176191
## --------------------
@@ -267,12 +282,14 @@ data:
267282
PIRAL_DB_REDIS_PREFIX: "{{ .Values.database.redis.prefix }}"
268283
{{- end }}
269284
{{- end }}
285+
270286
## MongoDB
271287
{{- if (eq .Values.database.provider "mongodb") }}
272288
{{- if (.Values.database.mongodb.prefix ) }}
273289
PIRAL_DB_MONGO_COLLECTION_PREFIX: "{{ .Values.database.mongodb.prefix }}"
274290
{{- end }}
275291
{{- end }}
292+
276293
## SQL
277294
{{- if (eq .Values.database.provider "sql") }}
278295
PIRAL_DB_SQL_NAME: "{{ required "Please provide the name for the SQL database" .Values.database.sql.dbname }}"
@@ -292,11 +309,19 @@ data:
292309
{{- end }}
293310
{{- end }}
294311

312+
## DynamoDB
313+
{{- if (eq .Values.database.provider "aws-dynamodb") }}
314+
PIRAL_DB_DYNAMODB_REGION: "{{ required "Please provide the Amazon DynamoDB Region" .Values.database.dynamoDb.region }}"
315+
{{- if (.Values.database.dynamoDb.prefix ) }}
316+
PIRAL_DB_DYNAMODB_TABLE_PREFIX: "{{ .Values.database.dynamoDb.prefix }}"
317+
{{- end }}
318+
{{- end }}
319+
295320
## -----------------------
296321
## Cache
297322
## -----------------------
298323
PIRAL_CACHE: "{{ .Values.cache.provider }}"
299-
## Redis
324+
## Redis
300325
{{- if (eq .Values.cache.provider "redis") }}
301326
PIRAL_CACHE_REDIS_HOST: "{{ required "Please provide the host for the Redis database" .Values.cache.redis.host }}"
302327
{{- if (.Values.cache.redis.port ) }}
@@ -309,6 +334,17 @@ data:
309334
PIRAL_CACHE_REDIS_PREFIX: "{{ .Values.cache.redis.prefix }}"
310335
{{- end }}
311336
{{- end }}
337+
## Memcache
338+
{{- if (eq .Values.cache.provider "memcache") }}
339+
PIRAL_CACHE_MEMCACHE_SERVERS: "{{ required "Please provide the Memcache servers" .Values.cache.memcache.servers }}"
340+
{{- if (.Values.cache.memcache.authUser ) }}
341+
PIRAL_CACHE_MEMCACHE_AUTH_USER: "{{ .Values.cache.memcache.authUser }}"
342+
{{- end }}
343+
{{- if (.Values.cache.memcache.prefix ) }}
344+
PIRAL_CACHE_MEMCACHE_PREFIX: "{{ .Values.cache.memcache.prefix }}"
345+
{{- end }}
346+
{{- end }}
347+
312348

313349
## -----------------------
314350
## Notification configuration
@@ -336,6 +372,12 @@ data:
336372
PIRAL_NOTIFICATION_SENDGRID_SENDER: "{{ .Values.notifications.sendgrid.sender }}"
337373
{{- end }}
338374
{{- end }}
375+
## ntfy.sh
376+
{{- if (eq .Values.notifications.provider "ntfy") }}
377+
{{- if (.Values.notifications.ntfy.url) }}
378+
PIRAL_NOTIFICATION_NTFY_URL: "{{ .Values.notifications.ntfy.url }}"
379+
{{- end }}
380+
{{- end }}
339381

340382
## -----------------------
341383
## Portal UI configuration

templates/secret.yaml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ data:
2929
{{- if (eq .Values.authentication.provider "microsoft") }}
3030
PIRAL_AUTH_MICROSOFT_CLIENTID: {{ required "Please provide a client id for the Microsoft authentication provider" .Values.authentication.microsoft.clientId | b64enc | quote }}
3131
PIRAL_AUTH_MICROSOFT_TENANTID: {{ required "Please provide a tenant id for the Microsoft authentication provider" .Values.authentication.microsoft.tenantId | b64enc | quote }}
32+
{{- if (.Values.authentication.microsoft.clientSecret ) }}
33+
PIRAL_AUTH_MICROSOFT_CLIENTSECRET: "{{ .Values.authentication.microsoft.clientSecret }}"
34+
{{- end }}
3235
{{- end }}
3336

3437
## --------------------
@@ -74,6 +77,11 @@ data:
7477
{{- if (eq .Values.database.provider "sql") }}
7578
PIRAL_DB_SQL_PASS: {{ required "Please provide the user password for accessing the SQL database" .Values.database.sql.password | b64enc | quote }}
7679
{{- end }}
80+
## DynamoDB
81+
{{- if (eq .Values.database.provider "aws-dynamodb") }}
82+
PIRAL_DB_DYNAMODB_ACCESS_ID: "{{ required "Please provide the Amazon DynamoDB AWS access key ID" .Values.database.dynamoDb.accessId }}"
83+
PIRAL_DB_DYNAMODB_ACCESS_KEY: "{{ required "Please provide the Amazon DynamoDB AWS secret access key" .Values.database.dynamoDb.accessKey }}"
84+
{{- end }}
7785

7886
## --------------------
7987
## Cache
@@ -82,6 +90,12 @@ data:
8290
{{- if (eq .Values.cache.provider "redis") }}
8391
PIRAL_CACHE_REDIS_AUTH_PASS: {{ required "Please provide the password for accessing the Redis cache" .Values.cache.redis.password | b64enc | quote }}
8492
{{- end }}
93+
## Memcache
94+
{{- if (eq .Values.cache.provider "memcache") }}
95+
{{- if (.Values.cache.memcache.authPass ) }}
96+
PIRAL_CACHE_MEMCACHE_AUTH_PASS: "{{ .Values.cache.memcache.authPass }}"
97+
{{- end }}
98+
{{- end }}
8599

86100
## -----------------------
87101
## Notifications

values.yaml

Lines changed: 58 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ image:
88
repository: piral.azurecr.io/piral-feed-service
99
pullPolicy: Always
1010
# Overrides the image tag whose default is the chart appVersion.
11-
tag: "v1.13.4"
11+
tag: "v1.16.0"
1212

1313
# Configure the secret, which contains the credentials for the container registry.
1414
# For creating the image pull secret please visit:
@@ -120,6 +120,13 @@ globalConfig:
120120
# The audit handler to use (optional, default: "none"); choices: "none", "local"
121121
auditHandler: "none"
122122

123+
# The URL of a proxy to be used for HTTP requests. This might be needed if your feed service instance cannot communicate with external web services directly.
124+
httpProxy: ""
125+
126+
# The maximum number of retries that the feed service should attempt when invoking webhook endpoints.
127+
# Uses an exponential backoff for running the retries. (default: 3)
128+
webhookMaxRetries: 3
129+
123130
# Specify the authentication provider for the feed service. Options are:
124131
# microsoft, oauth2, oidc, local, ldap, saml (default is local, if no provider is specified)
125132
authentication:
@@ -133,6 +140,10 @@ authentication:
133140
# As alternative to providing the username and password directly in this values file,
134141
# you can specify the name of the K8s secret if it exists already or is created outside of this deployment.
135142
passwordSecret: ""
143+
# The algorithm used for transporting the password of the local admin.
144+
# For "plain" you just store the password in the environment variable. For "sha256" you compute the SHA256 hash of the password and store the base64 representation in the environment variable.
145+
# (default: plain)
146+
passAlg: "plain"
136147

137148
# Configuration details for the Microsoft authentication provider.
138149
# Required settings are: tenantId, clientId and adminEmail
@@ -150,6 +161,8 @@ authentication:
150161
authorityUrl: ""
151162
# The ID of the application created in the Microsoft AD (called "client ID")
152163
clientId: ""
164+
# Azure AD client secret for advanced auth provider capabilities such as an AAD user lookup. (default: empty)
165+
clientSecret: ""
153166
# The tenant id from the Microsoft AD configuration
154167
tenantId: ""
155168
# Flag for access restricting the users registered in the Microsoft AD.
@@ -158,6 +171,8 @@ authentication:
158171
# The scope used for the client authentication. Default is set to "api://<client-id>/Profile.Read"
159172
# The scope is set in the Microsoft AD app registration and has a full URI format
160173
scope: ""
174+
# Determines if the user's email should be always considered case-insensitive; choices: yes, no. (default: no)
175+
lowercaseEmail: "no"
161176

162177
# Configuration details required for a generic OAuth2 authentication provider
163178
# Required settings are: clientId, authorizationUrl, tokenUrl, oauth2Key, and adminId
@@ -277,6 +292,8 @@ authentication:
277292
# Transform user IDs given by the IdP to be case-insensitive
278293
# Optional. Choices: yes, no (default: no)
279294
lowercaseId: "no"
295+
# If enabled the assertions in the SAML response will be checked for a valid signature, too; choices: yes, no. (default: no)
296+
checkAssertions: "no"
280297

281298
# File storage configuration for persisting the pilets. Options are:
282299
# azure-blobstorage, aws-s3, do-spaces, disk (default is disk, if no provider is specified)
@@ -373,7 +390,7 @@ database:
373390
useTls: "no"
374391
# Prefix for the feed service keys in Redis
375392
prefix: "piral"
376-
393+
377394
# Configuration for the MongoDB as database provider
378395
mongodb:
379396
# Connection string for accessing the MongoDB
@@ -400,6 +417,16 @@ database:
400417
# The location of a CA certificate to use for DB server trust (default: none)
401418
caCertLocation: ""
402419

420+
dynamoDb:
421+
# Required. The Amazon DynamoDB AWS access key ID.
422+
accessId: ""
423+
# Required. The Amazon DynamoDB AWS access key.
424+
accessKey: ""
425+
# Required. The Amazon DynamoDB Region.
426+
region: ""
427+
# The Amazon DynamoDB prefix for the table names. (default: empty)
428+
prefix: ""
429+
403430
# The feed service will utilize the cache to store entities for faster access
404431
# Options for the cache are: memory, redis (default: memory)
405432
cache:
@@ -417,6 +444,16 @@ cache:
417444
# Prefix for the feed service keys in Redis
418445
prefix: "piral"
419446

447+
memcache:
448+
# Required. A comma separated list of [hostname:port] servers for connecting to the Memcache provider.
449+
servers: ""
450+
# Host access for the Memcache provider (default: nothing)
451+
authUser: ""
452+
# Host access for the Memcache provider (default: nothing)
453+
authPass: ""
454+
# Prefix to be used for the Memcache entries (default: piral)
455+
prefix: "piral"
456+
420457

421458

422459
# Configuration for notifications
@@ -445,6 +482,11 @@ notifications:
445482
apiKey: ""
446483
# Email address for the notifications (default: noreply@piral.cloud)
447484
sender: "noreply@piral.cloud"
485+
486+
# Configuration for the ntfy.sh provider
487+
ntfy:
488+
# The full URL of the topic to be used for sending push notifications via ntfy.sh (default: nothing)
489+
url: ""
448490

449491

450492
# Example configuration for storing data e.g. in a persistent file share as location,
@@ -475,6 +517,8 @@ portalConfig:
475517
PIRAL_UI_PRIMARY_COLOR: "#56aa1c"
476518
# Secondary color in the UI (optional, default: #78bb49)
477519
PIRAL_UI_SECONDARY_COLOR: "#78bb49"
520+
# Tertiary color in the UI (optional, default #745a13)
521+
PIRAL_UI_TERTIARY_COLOR: "#745a13"
478522
# Font color in the UI (optional, default: #101010)
479523
PIRAL_UI_FONT_COLOR: "#101010"
480524
# Color of semi-transparent text (default: hsla(0,2%,55%,.7))
@@ -485,16 +529,28 @@ portalConfig:
485529
PIRAL_UI_CONTRAST_COLOR: "#ffffff"
486530
# Shadow color to be used (default: #f2f2f2)
487531
PIRAL_UI_SHADOW_COLOR: "#f2f2f2"
532+
# The danger color to be used in the pages (UI portal, overview page, login, ...). (default: #d61c1c)
533+
PIRAL_UI_DANGER_COLOR: "#d61c1c"
534+
# The success color to be used in the pages (UI portal, overview page, login, ...). (default: #499e0d)
535+
PIRAL_UI_SUCCESS_COLOR: "#499e0d"
536+
# The info color to be used in the pages (UI portal, overview page, login, ...). (default: #1d72f3)
537+
PIRAL_UI_INFO_COLOR: "#1d72f3"
538+
# The warning color to be used in the pages (UI portal, overview page, login, ...). (default: #ffc007)
539+
PIRAL_UI_WARNING_COLOR: "#ffc007"
488540
# Path to a logo for the UI (optional, example: /media/logo.png)
489541
# PIRAL_UI_LOGO_PATH: ""
490542
# API key for the portal's intrinsic pilet feed ("cloud") (example: abc)
491543
# PIRAL_UI_FEED_API_KEY: ""
492544
# Shows the cookie consent dialog; choices on, off (default: off)
493545
PIRAL_UI_SHOW_CONSENT: "off"
546+
# Shows the homepage in the portal - otherwise the Piral Feed Service redirects to the login directly; choices on, off (default: off)
547+
PIRAL_UI_SHOW_HOME: "off"
494548
# Disables the UI module/endpoint; choices on, off (default: off)
495549
PIRAL_UI_DISABLED: "off"
496550
# URL of the service's web management portal (default: value of PIRAL_PUBLIC_URL)
497551
# PIRAL_PORTAL_URL: "http://localhost:9000"
552+
# Sets the key of the session ID field in the cookie (default: sid)
553+
PIRAL_COOKIE_SESSION_KEY: "sid"
498554

499555
# Extended configuration settings
500556
# Remark: unused settings for the portal config should be commented so that they are not set.

0 commit comments

Comments
 (0)