All notable changes to this chart will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
global.trustStorefor distributing a private/internal CA to Platform and its subcharts. Enable it when components must reach endpoints whose certificates are signed by a CA that is in no public trust store — an intranet-only deployment behind an enterprise PKI, or a corporate firewall performing HTTPS interception. Off by default.- Supply the CA inline with
global.trustStore.certificate(the chart creates the ConfigMap), or reference one you manage withexistingConfigMaporexistingSecret. - JVM components (
backend,cron,wave, and cron'smigrate-dbinit container) get a Java trust store built by abuild-trust-storeinit container and are pointed at it withJAVA_TOOL_OPTIONS. The store is seeded from the JRE's existing bundle, so public trust is preserved. Note that the JVM logsPicked up JAVA_TOOL_OPTIONS: ...to stderr at startup. - Python/Go/OpenSSL subcharts (
agent-backend,mcp,pipeline-optimization) get a generated system-plus-private PEM bundle selected withSSL_CERT_FILE,REQUESTS_CA_BUNDLE, andCURL_CA_BUNDLE.portal-webuses Node.js's additiveNODE_EXTRA_CA_CERTS. - The init container runs each component's own image by default, so every component's trust
store is seeded from its own JDK. Override with
global.trustStore.java.imageonly when a component image does not shipkeytool, and match the vendor and major JDK version. - This is separate from database TLS, which is still configured through the driver's own
option (
platformDatabase.connectionOptions.mariadbserverSslCert, or a subchart'sdatabase.sslCa). Those cover the database connection only and do nothing for any other outbound call. Point them atglobal.trustStore.mountPathwhen the database certificate is signed by the same CA. - Does not cover the BuildKit pods Wave launches for builds. Those run outside this chart and
need a BuildKit image with the CA in its system bundle, selected with
wave.build.buildkit-image.
- Supply the CA inline with
- Bumped the
seqera-commonlibrary dependency to3.1.0.
- Updated default platform images to v26.1.4.
- Bumped the
agent-backendsubchart dependency to1.4.0 - Bumped the
wavesubchart dependency to0.5.1(bump wave image tov1.37.0).
ingress.extraHosts[].paths[].portNameas an alternative toportNumber, for referencing ALB annotation-based actions (for exampleportName: use-annotation). Takes precedence overportNumberwhen both are set.- Backend deployment now sets
TOWER_AI_BASE_URL(tohttps://<global.portalWebDomain>) when theportal-websubchart is enabled, andTOWER_AGENT_BACKEND_URL(tohttps://<global.agentBackendDomain>) when theagent-backendsubchart is enabled.
- Bumped the
wavesubchart dependency to0.6.x, which fixesWAVE_SERVER_URLto be derived fromglobal.waveDomaininstead ofglobal.platformExternalDomain, so it points at the Wave subdomain used for container pulls. - Picked up the
wavesubchart fix for the Redis password Secret key, which now defaults toREDIS_PASSWORD(matching the chart-managed Secret) instead ofWAVE_REDIS_PASSWORD; previously settingredis.passwordinline caused the Wave pod to fail to start withCreateContainerConfigError.
- Bumped subchart dependency versions to pick up the same
ingress.extraHostsportNamesupport:agent-backendto1.3.x,mcpto0.7.x,portal-webto0.6.x,studiosto1.7.x, andwaveto0.5.x.
- Allow image
tagfields to be specified as either a string or a number invalues.schema.jsonacross theplatformchart and every subchart, so an unquoted numeric tag (for exampletag: 8.4) no longer fails schema validation. - Bumped subchart dependency versions:
mcpto0.6.x,portal-webto0.5.x,studiosto1.6.x, andwaveto0.4.x.
- Added
serviceAccount.create(defaulttrue) to theplatformchart and every subchart (agent-backend, mcp, pipeline-optimization, portal-web, studios, wave) to control whether each chart creates its ServiceAccount. Whentrue, the ServiceAccount named byserviceAccount.nameis created (or a generated<release>-<chart>-saname when unset), so a custom ServiceAccount name can now be created rather than only referenced. - Added
docs/service-accounts.mddocumenting every ServiceAccount created by the chart, how the names are generated per release, and theserviceAccount.create/serviceAccount.namecontrols.
- BREAKING:
serviceAccount.nameno longer suppresses ServiceAccount creation in theplatformchart or any subchart. Previously, settingserviceAccount.namecaused the chart to skip creating a ServiceAccount and reference an existing one instead. Creation is now gated solely onserviceAccount.create(defaulttrue). Migration: if you setserviceAccount.nameto reference an externally-managed ServiceAccount, also setserviceAccount.create: falseto preserve the previous behaviour. - Downgrade the default
waitForMySQLinit container image tag from9to8.4in theplatformchart and theagent-backendandpipeline-optimizationsubcharts, so allwaitForMySQLinit containers default to MySQL8.4.
- Move
TOWER_SMTP_HOST,TOWER_SMTP_PORTandTOWER_SMTP_USERfrom the<release>-platform-shared-backend-cronConfigMap into the<release>-platform-cronConfigMap, so SMTP configuration is only injected into the cron Deployment (which sends scheduled emails) and no longer leaks into the backend Deployment's environment.
- Fix the default
global.platformServiceAddresstemplate so it resolves to the parent chart's fullname whentpl-evaluated inside a subchart context. Previously it usedcommon.names.fullname ., which reads.Chart.Namefrom the current rendering context — when the value was consumed from subchart templates (e.g. the MCPwait-for-platforminit container or the MCP ConfigMap'sTOWER_API_ENDPOINT), it resolved to<release>-<subchart>-backend(e.g.enterprise-mcp-backend) rather than the actual backend Service name (enterprise-platform-backend), causing MCP pods to hang forever in init waiting on a host that never exists. Switched tocommon.names.dependency.fullnamewith an explicitchartName: platform, matching the pattern already used formcp.oidcToken.existingSecretNameandstudios.proxy.oidcClientRegistrationTokenSecretName.
- Added
examples/standalone.yamlto each subchart with minimal values for deploying it independently of the parentplatformchart. - Added
examples/platform-only.yamlandexamples/complete.yamlfor deploying the core platform and the full stack respectively. Ingress configuration is intentionally left generic across all examples; seeexamples/ingress-configurations/README.mdfor controller-specific examples (NGINX + cert-manager, AWS ALB, GKE managed certificates, Traefik, wildcard TLS, etc.).
- Revamp README documentation across platform and all subcharts (agent-backend, mcp, pipeline-optimization, portal-web, studios, wave): clarify prerequisites, image registry vendoring, credentials handling, sensitive value management, and link to full examples on GitHub.
- Bump agent-backend to 1.0.10, mcp to 0.4.6, pipeline-optimization to 2.0.13, portal-web to 0.3.8, studios to 1.4.6, wave to 0.2.8.
- Bumped Platform
appVersiontov26.1.3. - Refresh deployment snapshots after
platformServiceAddressrequirement (#131) and bump license-header year range ontemplates/extra-list.yaml/tests/extra-list_test.yaml. - Annotated
values.yamlwith# @sectionmarkers and switchedREADME.md.gotmplto a per-section Markdown loop, grouping the generated values table by area instead of one flat list. - BREAKING The
mcp.oauth.issuerUrlvalue has been removed from themcpsubchart; the OAuth issuer URL is now always derived fromglobal.platformExternalDomain. Remove anymcp.oauth.issuerUrloverrides before upgrading. - BREAKING The
mcp.oauth.audiencevalue has been removed from themcpsubchart; the audience is now hardcoded to"platform". Remove anymcp.oauth.audienceoverrides before upgrading. - Add more explanation around OIDC client registration token shared between Platform, Studios and MCP.
- Bumped agent-backend to 1.1.0, mcp to 0.5.0, pipeline-optimization to 2.1.0, portal-web to 0.4.0, studios to 1.5.0, wave to 0.3.0.
- Fix TLS in platform examples: align
agent-backendandpipeline-optimizationsections inaws-tls-offline.yamlto userds-ca-bundle//rds-canaming consistent with the online example; make ConfigMap name region-agnostic (aws-rds-ca-bundle); add missinginitContainerDependencies.waitForMySQLtoagent-backendin offline example. - Specify CA certificate to validate TLS for MySQL client connections (the MySQL client does not validate TLS by default).
- Fix default value for
.platform.oidcClientRegistrationTokenSecretKeytoOIDC_CLIENT_REGISTRATION_TOKEN. - Improve "sensitive values in secrets" example.
- Align the default
.global.platformServiceAddress,.studios.proxy.oidcClientRegistrationTokenSecretName, and.mcp.oidcToken.existingSecretNametemplates with the naming rule used by the backend Deployment and Secret (common.names.fullname+-backend). Previously these defaults were hard-coded to{{ .Release.Name }}-platform-backend, which produced a name likeseqera-platform-platform-backendfor releases whose name already containedplatform— a resource that never exists in-cluster, becausecommon.names.fullnamecollapses the repeated chart name. The subchart references now usecommon.names.dependency.fullnamewith an explicitchartName: platformso the correct parent name is produced from the subchart's render context. Resolved names are unchanged for releases whose name does not containplatform. ingress.contentPathnow falls back toingress.path(and thenglobal.ingress.path) when left empty, consistent with how other path values are resolved.
- BREAKING: Removed support for overriding container images via
global.azure.images(introduced in #68). All Platform, cron, frontend, and subchart deployments now resolve their images throughcommon.images.imageonly. Users who relied onglobal.azure.images.*to override images per-cloud must switch to the standard per-componentimage.registry/image.repository/image.tag/image.digestvalues. - Bumped
seqera-commondependency to3.x.x, which no longer exposes theseqera.images.imagehelper nor thecloudProviderImageKeyparameter onseqera.initContainers.waitFor*helpers. - Removed azure marketplace values from platform chart.
- Add GPG provenance file to GitHub releases to enable ArtifactHub signature verification.
- Add ArtifactHub annotations: license, links, and sign key to all charts.
- Bump agent-backend to 1.0.9, mcp to 0.4.5, pipeline-optimization to 2.0.12, portal-web to 0.3.7, studios to 1.4.5, wave to 0.2.7, seqera-common to 2.1.6.
- Add chart icon to all subcharts: agent-backend to 1.0.8, mcp to 0.4.4, pipeline-optimization to 2.0.11, portal-web to 0.3.6, studios to 1.4.4, wave to 0.2.6, seqera-common to 2.1.5.
- Auto-infer types for JSON schema values file.
- Include Helm values JSON schema.
- Bump agent-backend to 1.0.7, mcp to 0.4.3, pipeline-optimization to 2.0.10, portal-web to 0.3.5, studios to 1.4.3, wave to 0.2.5, seqera-common to 2.1.4 to include new schemas.
- Update Platform application version to v26.1.0.
- Update Studios template naming from RStudio to R-IDE.
- Update agent-backend to 1.0.4 (do not render
ANTHROPIC_API_KEYin the Secret whenanthropic.apiKeyis empty and noexistingSecretNameis set). - Bump bitnami/common to 2.40.0 on platform chart and across all subcharts: agent-backend to 1.0.6, mcp to 0.4.2, pipeline-optimization to 2.0.9, portal-web to 0.3.4, studios to 1.4.2, wave to 0.2.4, seqera-common to 2.1.3.
- Update agent-backend to 1.0.6: do not inject
ANTHROPIC_API_KEYenv var in the Deployment whenanthropic.apiKeyis empty and noexistingSecretNameis set, preventing pod startup failures when using the bedrock provider.
- Update agent-backend to 1.0.3 (updating application version to 1.11.0).
- Update portal-web to 0.3.3 (updating application version to 1.6.0).
- Update agent-backend to 1.0.2 (rename
redis.dbtoredis.database, with fallback). - Update wave to 0.2.3 (rename
redis.dbtoredis.database, was not referenced in templates yet).
- Update agent-backend to 1.0.1 (updating application version to 1.10.0).
- Update portal-web to 0.3.2 (updating application version to 1.5.0).
- Use proper https:// schema in
TOWER_SEQERA_AI_PORTAL_URLenv var value.
- Add
waveto the cron pod'smicronautEnvironmentsso cron can resolve wave-related configuration in enterprise deployments.
- Update studios to 1.4.1.
- Update wave to 0.2.2.
- Update pipeline-optimization to 2.0.8.
- Update studios to 1.4.0.
mcp: Bump app version to 1.3.0.mcp:TOWER_API_ENDPOINTnow uses the internal platform service address and port (global.platformServiceAddress/global.platformServicePort) instead of the external domain.- Bump
agent-backendto 1.0.0: provider configuration redesigned to support multiple LLM providers. See agent-backend CHANGELOG for the full migration guide. agent-backend: remove redundant Anthropic validation from NOTES.txt, addbedrock.sandbox.runtimeArnrequired validator, replaceNEXTFLOW_DOCS_USE_REDIS_INDEXwithNEXTFLOW_DOCS_TOOL.- Update image paths in the README and values.yaml - the chart does not hardcode
cr.seqera.ioas the registry, customers are invited to vendor the images to their private registry as well as the charts.
- Enhancement: allow global configuration of Ingress options. A new
global.ingressblock (enabled,path,defaultPathType,ingressClassName,annotations,extraLabels,tls) lets cluster-wide Ingress defaults be set once at the parent and propagate to every subchart, removing the need to repeat controller-wide config per subchart.enabledis OR-merged; scalar fields fall back to global when local is unset;annotationsandextraLabelsare merged with local winning on key collision;tlsis concatenated (useful for a single wildcard certificate across all services). - Add
seqera.ingress.hosttemplate helper in each chart's_helpers.tplreturning that chart's primary domain. Lets users writeexternal-dns.alpha.kubernetes.io/hostname: '{{ include "seqera.ingress.host" . }}'once inglobal.ingress.annotationsand have it resolve to the correct host per chart at render time, without hard-coding hostnames. - Add
docs/conventions/ingress.mddocumenting the Ingress conventions used across charts.
- Update bitnami/common to 2.39.0
- BREAKING: Default
ingress.defaultPathTypeis nowPrefix(wasImplementationSpecific). With the previous default and the chart's defaultpath: "/", routing behavior depended on the ingress controller — NGINX treated it as a prefix match, AWS ALB required/*for the same effect, GKE applied its own interpretation. The result was the same chart and values producing different routing across clusters.Prefixis part of the Kubernetes Ingress spec and produces consistent prefix-match semantics across NGINX, Traefik, AWS ALB, and most modern controllers, giving users a predictable out-of-the-box experience. Users whose controller still requiresImplementationSpecific(e.g. older GKE) can setglobal.ingress.defaultPathType: ImplementationSpecificonce at the parent. - Update
examples/ingress-configurations/*to drop now-redundantdefaultPathType: Prefixoverrides and showcaseglobal.ingress.ingressClassNameinnginx-cert-manager.yaml.
- Bump
seqera-commonto 2.1.2,waveto 0.1.2,agent-backendto 0.4.11,mcpto 0.3.6,pipeline-optimizationto 2.0.5,portal-webto 0.2.8,studiosto 1.2.15 (Redis init container log message now reportsauth setorauth not set)
- Bump
seqera-commondependency to 2.1.1,wavesubchart to 0.1.1,agent-backendto 0.4.9,mcpto 0.3.4,pipeline-optimizationto 2.0.4,portal-webto 0.2.6,studiosto 1.2.13 to pick up the Redis init container fix that no longer logs the password
- Clear default values for
global.platformServiceAddressandglobal.platformServicePortin subcharts that require Seqera Platform (agent-backend,mcp,portal-web,studios). These values are still defined with defaults in the parentplatformchart and inherited automatically by subcharts when deployed together. When deploying a subchart standalone, users must now explicitly set these values. Each subchart now validates that both values are set at install/upgrade time - Bump
agent-backendto 0.4.10,mcpto 0.3.5,portal-webto 0.2.7,studiosto 1.2.14
- Bump
seqera-commondependency to 2.1.1,wavesubchart to 0.1.1,agent-backendto 0.4.9,mcpto 0.3.4,pipeline-optimizationto 2.0.4,portal-webto 0.2.6,studiosto 1.2.13 to pick up the Redis init container fix that no longer logs the password
- Bump
mcpsubchart to 0.3.3 andstudiossubchart to 1.2.12 to fix default OIDC external secret key to match each chart's own managed secret key - Bump
agent-backendto 0.4.8 to pointSEQERA_PLATFORM_API_URLto the internal Platform backend service instead of the external domain, and addSEQERA_PLATFORM_URLenv var pointing to the external platform URL for use in links and callbacks from the agent backend
- Add
TOWER_SEQERA_AI_PORTAL_URLenv variable to platform backend configmap
- Bump
studiossubchart to 1.2.11 to write OIDC registration token to chart-managed secret and enforce it as a required value
- Bump
mcpsubchart to 0.3.2 to fix wrong oauth initial access token environment variable
- Bump
agent-backendsubchart to 0.4.7 to include explicit AgentCore runtime ARN requirement and embedding configuration validation
- Add 'oauth-client' to the list of Micronaut environments to enable on Platform backend, required for tower cli and other clients from v25.3 onwards to work properly with OIDC authentication
- Add first version of the
wavesubchart, which deploys the Wave server (https://seqera.io/wave/) - Bump subcharts due to bump in
seqera-commonto 2.1.0:pipeline-optimizationto 2.0.3,studiosto 1.2.10,waveto 0.1.0,mcpto 0.3.1,agent-backendto 0.4.6,portal-webto 0.2.5.
- Portal web chart now uses the internal backend service (
global.platformServiceAddress:global.platformServicePort) instead of the public external domain - Add
SEQERA_PLATFORM_APP_URLto the portal-web chart configmap usingglobal.platformExternalDomain - Bump
portal-websubchart to 0.2.4
oidc.pemandOIDC_CLIENT_REGISTRATION_TOKENsecrets are now always generated (previously only whenstudios.enabled=true); required from Platform v26.1 onwards
- Mount OIDC private key secret (
connect-cert-volumeat/data/certs) on the cron deployment, matching the backend deployment
TOWER_OIDC_PEM_PATHmoved to the shared backend/cron configmap and is now always set (previously backend-only and only whenstudios.enabled=true); required from Platform v26.1 onwardsconnect-cert-volumeandTOWER_OIDC_REGISTRATION_INITIAL_ACCESS_TOKENare now always present on the backend deployment (previously only whenstudios.enabled=true); required from Platform v26.1 onwards- Bump
mcpsubchart to 0.3.0: rename OAuth environment variables to useMCP_prefix (MCP_OAUTH_INITIAL_ACCESS_TOKEN,MCP_OAUTH_JWT_SECRET,MCP_OAUTH_ISSUER_URL,MCP_OAUTH_AUDIENCE)
- Add
initContainerDependencies.waitForPlatforminit container to themcpsubchart deployment, waiting for Seqera Platform to be ready before starting the MCP server
- Add example on how to set up TLS with custom CA certificates
- Fixed changelog
- Add unit tests for
REDISCLI_TLSenv var on the wait-for-redis init container whenredis.enableTlsis enabled, covering backend, cron, and agent-backend deployments
- Add TLS options to
agent-backendsubchart:database.enableTls,database.tlsCaVerify, anddatabase.sslCafor configuring MySQL TLS connections
- BREAKING* Bump
pipeline-optimizationsubchart to 2.0.0: renameddatabase.sslNoverifyandplatformDatabase.sslNoverifytotlsCaVerifywith inverted boolean semantics
- Add
extraEnvandextraVolumeMountsto allinitContainerDependencies.waitFor*values blocks, enabling CA certificate mounts and additional env vars in wait init containers - Add
MYSQL_EXTRA_ARGSenv var support towaitForMySQL, enabling TLS flags such as--ssl-caand--ssl-modeto be passed to themysqlclient
- User-supplied
initContainersnow render before built-inwaitFor*init containers in backend, cron, and all subchart deployments, enabling use cases such as fetching CA certificates before dependency checks run - Bump seqera-common to 2.0.1
- Bump agent-backend subchart to 0.4.2
- Bump mcp subchart to 0.2.3
- Bump pipeline-optimization subchart to 1.1.4
- Bump portal-web subchart to 0.2.2
- Bump studios subchart to 1.2.7
- Bump
agent-backendsubchart to 0.4.0: renamedredis.tlstoredis.enableTls - Bumped bitnami/common dependency to 2.38.0 across all subcharts
- BREAKING - Updated portal-web subchart to 0.2.0: removed configurable OAuth values (
oauth.endpoint,oauth.clientId,oauth.audience) from portal-web subchart. Auth domain is now derived fromglobal.platformExternalDomain, and client ID and audience are hardcoded to fixed values.
- Update documentation warning about Helm-generated random values with Kustomize
- Update Studios, MCP and agent backend charts to include updates to documentation about Helm-generated random values with Kustomize.
- BREAKING Bump MCP subchart to 0.2.0: removed support for custom OAuth provider. MCP now exclusively uses Seqera Platform as the OAuth provider. Removed values:
oauth.clientId,oauth.clientSecretString,oauth.clientSecretExistingSecretName,oauth.clientSecretExistingSecretKey - Add Seqera Co-Scientist installation example
- Refine Seqera Co-Scientist and MCP wording in documentation
- Add Redis support to
agent-backendsubchart (bump to 0.3.0)
- Update Studios template matrix to Studios 0.11
- Update agent backend Readme removing mention of deprecated variable
- Update portal web and studios default subdomains to ai. and studios.
- Update mcp default OIDC secret key to OIDC_CLIENT_REGISTRATION_TOKEN
- Bumped bitnami/common dependency to 2.37.0
- Updated platform chart version to 0.28.0
- Added new
mcpsubchart to install the Model Context Protocol server - Restructured OIDC initial access token functions into Platform chart
- Updated agent-backend subchart to version 0.2.6
- Updated agent-backend subchart to version 0.2.5
- Updated agent-backend subchart to version 0.2.4
- Updated agent-backend subchart to version 0.2.3
- Updated agent-backend subchart to version 0.2.2
- Updated pipeline-optimization subchart to version 1.1.0
- Updated platform chart version to 0.27.3
- Updated platform app version to v25.3.3
- Updated studios subchart to version 1.2.1
- Updated pipeline-optimization subchart to version 1.0.1
- Support for cloud-provider-specific image overrides via
global.azure.imagesfor all container images across platform and subcharts - Added
global.azure.imagesdocumentation tovalues.yamlfor all charts
- Updated all image references to use
seqera.images.imageinstead ofcommon.images.image - Updated
platform.frontend.imageto support cloud-provider overrides - Updated seqera-common to version 2.0.0
- Updated agent-backend subchart to version 0.2.0
- Updated pipeline-optimization subchart to version 0.3.0
- Updated studios subchart to version 1.2.0
- Bump platform chart version to 0.26.1 after GH failure
- Re-release to trigger build after GitHub Actions outage, bump minor since we added agent-backend
- Updated agent-backend subchart to version 0.1.1
- Updated pipeline-optimization subchart to version 0.2.6
- Updated studios subchart to version 1.1.5
- Bump bitnami/common to 2.36.0
- Fixed ingress template to properly handle
frontend.service.http.portandextraHosts[].paths[].portNumberwhen provided as integers, string integers, or template expressions by addingtpl (toString ...)conversion - Fixed service template to properly handle port and targetPort values for cron and frontend services when provided as integers, string integers, or template expressions
- Added comprehensive unit tests for ingress port number handling with different input types (integer, string integer, template string)
- Updated agent-backend subchart to version 0.1.1
- Updated studios subchart to version 1.1.4
- Updated environment variable rendering to use
seqera.envVars.renderhelper function instead ofseqera.tplvalues.renderfor correct templating behavior - Updated pipeline-optimization subchart to version 0.2.4
- Updated studios subchart to version 1.1.3
- Optimized unit tests for faster execution
- Added
uge-platformand removedlocal-platformfrom default list of execution backends inplatform.executionBackends
- Added Studios Wave custom image configuration environment variables
- New
TOWER_DATA_STUDIO_WAVE_CUSTOM_IMAGE_REGISTRYenvironment variable for specifying custom registry where Wave pushes Studios images - New
TOWER_DATA_STUDIO_WAVE_CUSTOM_IMAGE_REPOSITORYenvironment variable for specifying custom repository where Wave pushes Studios images - Both variables are set from
platform.studios.customImageRegistryandplatform.studios.customImageRepositoryvalues respectively - Variables are only included when Studios is enabled
- New
- Data Explorer is now automatically enabled when the Studios subchart is enabled
- Added
platform.dataExplorer.enabledhelper function to handle automatic enablement logic TOWER_DATA_EXPLORER_ENABLEDenvironment variable is set totruewhen eitherplatform.dataExplorer.enabledorstudios.enabledistrue
- Added
- Added warnings in
values.yamlabout Kustomize incompatibility with Helm auto-generated random values - Simplified and improved Kustomize example documentation with prominent warning banner about explicit configuration requirements when using Kustomize
- Updated Studios subchart to version 1.1.1
- Added validation to ensure either
platformDatabase.passwordorplatformDatabase.existingSecretNameis provided during chart installation
- Updated Studios subchart to version 1.1.0 (Studios application version 0.9.0)
- Added
global.imageCredentialsSecretsconfiguration to support multiple pre-existing image pull secrets- Allows referencing existing Kubernetes secrets of type
kubernetes.io/dockerconfigjsonfor private registry authentication - Secrets are automatically added to the ServiceAccount's
imagePullSecretslist - Complements existing
global.imageCredentialsfor inline secret creation
- Allows referencing existing Kubernetes secrets of type
- Added Studios template environment variables generator in tower.yml configuration
- New
studiosTemplatesconfiguration section for defining interactive analysis tools (e.g., R-IDE, Jupyter, VSCode, etc.) - Supports tool customization with image, labels, icon, and resource requirements
- Includes
studiosTemplatesExperimentalfor experimental tool configurations
- New
- Added
dataExplorer.enabledtoggle flag to control Data Explorer feature in Platform UI
- Split Helm-controlled tower.yml content from user-provided content for better configuration management
- Fixed
secretKeyhelper functions to ignore customexistingSecretKeywhen using chart-managed secrets, ensuring consistency with external secret handling pattern- Fixed
platform.database.secretKeyhelper - Fixed
platform.redis.secretKeyhelper - Fixed
platform.jwt.secretKeyhelper - Fixed
platform.crypto.secretKeyhelper - Fixed
platform.license.secretKeyhelper - Fixed
platform.smtp.secretKeyhelper
- Fixed
- Fixed cron deployment to include
TOWER_DB_PASSWORDenvironment variable for database migrations
- Added Studios subchart as a new dependency
- Studios provides interactive analysis capabilities for Seqera Platform
- Chart version 1.0.0, application version 0.8.0
- Integrated as a conditional subchart (enabled via
studios.enabled) - Deploys Studios server (StatefulSet) and proxy (Deployment) components
- Includes init container to wait for Platform readiness
- Added platform URL integration test (tests/studios_platform_url_test.yaml)
- Validates Platform URL configuration is accessible by Studios subchart
- Reorganized values.yaml structure
- Moved
extraDeploy,commonAnnotations, andcommonLabelsafter ingress section - Improved logical grouping of configuration sections
- Moved
- Updated dependencies to include Studios chart (version 1.x.x)
- Repository:
file://charts/studios - Condition:
studios.enabled
- Repository:
- Added
seqera-commonlibrary chart as a dependency- Provides shared template helpers used across Seqera charts
- Refactored init container templates to use
seqera-commonlibrary helpersseqera.initContainerWaitForMySQL- For MySQL readiness checks in backend and cron podsseqera.initContainerWaitForRedis- For Redis readiness checks in backend and cron pods
- Updated Makefile with improved dependency management
make testnow automatically rebuilds all dependencies before running tests
- Fixed init container template that was not using database password from secret correctly
- BREAKING: Moved
platformDatabaseconfiguration fromglobal.platformDatabaseto top-levelplatformDatabase- This change improves chart structure and makes database configuration more consistent with other top-level settings
- Migration Required: If you are upgrading from a previous version, you must update your values files:
- Change
global.platformDatabase.*toplatformDatabase.* - Update
global.platformDatabase.databasetoplatformDatabase.name(field renamed for clarity)
- Change
- Example migration:
# Before (v0.21.x and earlier) global: platformDatabase: host: mysql.example.com database: platform_db username: platform_user password: secret # After (v0.22.0+) platformDatabase: host: mysql.example.com name: platform_db username: platform_user password: secret
Changes prior to version 0.22.0 were not tracked in this changelog.