Skip to content

TrueCharts News

Breaking Changes: Enterprise

As part of our March breaking change update of all our apps, we’re glad to announce the first round of updates:

  • Dependency train has been updated, except “Collabora” and “Postgresql” which will be moved to the “stable” train later
  • Enterprise train has been updated
  • Vaultwarden has been added to the enterprise train
  • Authelia has been added to the enterprise train
  • Blocky gained backend support for more query logging options, which will later be added the the TrueNAS SCALE GUI.

We’ve done considerable testing to validate if, and how, we could add automated migration. But the changes are so significant, that the chance of things breaking is many times too high. So while we’re sorry for the inconvenience, users will likely have to reinstall many of their Apps this month.

Luckily enough, the enterprise train did not contain anything using Postgresql databases, so you don’t have to worry about updates nuking databases.

But on the topic of nuking databases: We’re working internally on a script to export all your postgresql databases, which will be released before the stable train will get it’s round of updates. That way you don’t have to manually export all those sql files.

Important

We want to repeat that this will be a breaking change. While some Apps/Charts might update without issue, many will not.

In those cases, the only solution is to reinstall. Due to the fact that the complete backend is rewritten from scratch, it’s simply too much for us to write.

Highlighted changes

We want to highlight some of the biggest changes, as there are some real showstealers in this update to make it worth it!

Cert-Manager Certificates

We’re heard many of you complain about flaky and limited certificate behavior on TrueNAS SCALE. It’s understandable people are upset and so are we.

To ensure users have an actually solid experience, we’ve decided to implement the current industry leading certificates solution: Cert-Manager. It supports more forms of certificates, is faster to setup and is build by people that are actually specialized in certificate management. Which, lets be realistic, NAS developers are not.

Later this month, we’ll release some guides for setting it up, but here’s some screenshots:

Cert-Manager App

Configurable Cloud Native Postgresql

This is our biggest change this release. We moved to a completely different postgresql backend. Backed by CloudNative Postgresql, a kubernetes operator for postgresql.

You might ask “what the heck is an operator”, in short it’s a solution to have a specialized project maintain deployments of things within kubernetes. They write code to ensure things like: updates, upscaling, downscaling and deployment go smoothly. Basically the same thing as Cert-Manager does for certificates, CloudNative Postgresql does for Postgresql Databases.

The upside to this is that we can be certain your database deployments are designed by people that are specialized in the database you want to have deployed. It limits your risk of data-loss and our work of maintaining it. Simply put, your database deployments should be managed by a specialist in databases, not by NAS or Helm-Charts developers.

Postgresql Settings

Enterprise Train and breaking changes

We also want to announce and put-in-place a new breaking-changes policy for the Enterprise train. Which will take effect 01-04-2023:

  • All Charts in the Enterprise train, will get one-by-one attention to write migration scripts where possible
  • If there are breaking changes, we will write migration guides for each of them, customized where needed
  • Breaking changes will be announced at least 3 months in advance and older versions (pre-breaking-change) will continue to be supported for at least 3 months afterwards (so at least 6 months after the announcement of a breaking change)
  • In the future help with migrations will, obviously, be included in the priority enterprise support packages that come with our future SLA offerings for the Enterprise Apps

These measure should ensure users that require our Apps for production use, are not surprised again with unwanted breaking changes in the future. While, at the same time, everything stays available for everyone to work with, for free.

New breaking common release

One of the core components of TrueCharts is our “common” chart, which serves as the basis on which all other charts are built.

The common chart is a massive collection of thousands of lines of code that provide a wide range of features and optimizations for all apps running on the TrueCharts platform. From November of last year until now, the TrueCharts team has been working tirelessly to completely rewrite the common chart from scratch. They’ve also incorporated feedback from the community, including feature requests and bug reports, to ensure that the new common chart meets the needs of all users.

After many months of work, the TrueCharts team is excited to announce that the new common chart is almost here! However, there are some important things that users should be aware of before upgrading. Firstly, deployment of the new common chart will take place in March 2023, and all container updates will be frozen for a month. The new common chart will be deployed in stages for the Enterprise, Dependency (except postgresql), Incubator, and April trains, and then to the stable train and postgresql dependency. This means that users may need to reinstall certain apps, and some settings such as replicas and securityContext will be reset.

Users with PostgreSQL apps will need to be aware that their databases will be nuked, so they will need to take appropriate backups before upgrading. Additionally, users will need to disable VPN before updating, as the new common chart uses a different database backend that allows for the implementation of much-requested backup features and exposes more PostgreSQL settings in the GUI in the future.

Despite these temporary inconveniences, the new common chart promises to deliver many improvements to the TrueCharts platform. For example, there is a new VPN addon based on “Gluetun,” which offers more support for OpenVPN and Wireguard and is a maintained project. This addon will replace the old “OpenVPN” and “WireGuard” options. The new common chart also includes the option to mount a config folder for OpenVPN and the option to mount OpenVPN config directly in values.yaml for native helm users.

There is also an all-new PostgreSQL backend based on “CloudNative-PG,” which supports backup, high-availability, connection pooling, and split RW/RO. Multi-pod support is also now available, which includes potential future GUI compatibility. The new common chart also features automatic detection for env-var conflicts, build-in support for jobs and cronjobs, and a completely new certificate backend based on the industry standard “Cert-Manager.”

In conclusion, the new common chart is a significant update that promises to deliver many improvements and optimizations to the TrueCharts platform. Users should take note of the deployment schedule and be prepared for some temporary inconveniences. However, the long-term benefits of the new common chart should far outweigh any short-term disruptions.

*Summarised:

March will be deployment month, which has the following consequences (until 01-04-2023):

  • In March, we will code freeze all container updates for 1 month
  • During March we will start deploying the new common in stages for the Enterprise, Dependency (except postgresql), Incubator and April trains and in that order.
  • During we will start deploying the new common to the stable train and postgresql dependency.
  • Users might have to reinstall certain apps
  • All apps will have some settings reset such as: replica’s, securityContext etc.
  • Postgresql Apps will automatically nuke their databases
  • Users will have to disable VPN before updating
  • Users will be explained that this is due to moving to a different database backend that allows us to implement the much wanted backup features and expose more postgresql settings in the GUI in the future

A short example of some of the many improvements in the new common chart:

  • A new VPN addon based on “Gluetun”, which offers much more support for OpenVPN and Wireguard and is an actually maintained project (security etc.) It will replace the old “OpenVPN” and “WireGuard” options.
  • The option to (also) mount a config folder instead of just a configfile for OpenVPN.
  • The option to mount OpenVPN config directly in values.yaml, for native helm users
  • An All-New Postgresql backend based on “CloudNative-PG”, supporting things like: Backup, High-Availability, Connection Pooling, Split RW/RO
  • Multi-Pod support, including potential future GUI compatibility.
  • Automatic detection for Env-var conflicts, if user entered custom env-vars conflict with pre-defined ones
  • Build-in support for Jobs and CronJobs, without customizations on a per-app basis.
  • A completely new certificate backend based on the industry standard “Cert-Manager”.
  • Much more hardening of defaults, based on (now automated and required) security scans backed by Datree
  • Much expanded testing suite, counting hundreds of tests for thousands of features

About TrueNAS SCALE 22.12.1

iXsystems just released TrueNAS SCALE 22.12.1 into the wild.

We’ve went ahead and reviewed the release notes, available here

There aren’t any changes that should prevent apps from functioning moving from 22.12 to 22.12.1. Hence we’ve decided to expand support for our Apps to both versions as well.

Please be aware, however, that both migration and backups are broken in 22.12, which are both fixed in 22.12.1. So we would still heavily advice anyone to update. Although the TrueTool hotpatch for 22.12, solves the issues for most users as well.

Our Christmas with iXsystems

At TrueCharts, we are grateful for the support of our partners, especially during the festive season. We were thrilled when iXsystems reached out to us during the holiday season to show their appreciation for the hard work and dedication of our staff to both the TrueNAS SCALE and TrueCharts projects in 2022.

iX Merch image 1

In the past month and a half, packages started to arrive, and they were as amazing as we had expected. Our team was grateful for this extra gesture, which added to the holiday cheer and served as a recognition of the efforts they put into both projects.

iX Merch image 1

We would like to extend our heartfelt thanks to iXsystems for their generosity and support. We wish them all the best for 2023 and look forward to working on some exciting projects together in the future.

Relaunched: Our Helm Repository

We’re is excited to announce that our native Helm Charts are back in action!

After disabling the release of our Helm Charts to our Helm Repository at the end of last year, we received numerous reports of users being impacted by the decision.

We understand the importance of our Helm Charts and how they help users manage their applications on k8s, so we took the time to rethink our approach and create separate pipelines for our SCALE Apps and native Helm Charts. This means that decisions regarding one of them will no longer impact the other.

While our primary target is still TrueNAS SCALE, we do accept enhancement requests and bug reports that only affect native Helm users. In the future, we hope to have a separate maintainer for native Helm-specific issues, but for now, please understand enhancements and bugs that do not affect TrueNAS SCALE are less of a priority unless very severe.

We are also excited to announce the release of our completely rebuilt common chart next month, which will come with state-of-the-art testing and templating. This will empower users, both within and outside of TrueNAS SCALE, to manage their applications with ease. Be sure to check it out when it’s ready!

In conclusion, we are proud to bring back native Helm Charts to our users, and we hope that this will make managing applications on k8s a seamless and enjoyable experience for all.

Check out the Helm Repository over at: https://charts.truecharts.org