Skip to main content

Version 0.5.0 Released

Β· 5 min read

This version includes new features and two deprecation notices, please see the last section for more details.

Dark mode: πŸ•ΈοΈ + 🌚 = πŸŽ‰β€‹

Thanks to Bootstrap's support for dark mode, Platz now supports it too!

The current behavior defaults to the system setting.

Fixes for missing metrics values​

Thanks @vmalloc for this contribution!

Missing metric values were left in their original value instead of being returned as zeros.

This is now fixed by setting all possible metrics' values to zero before setting new values.

New Platz annotations in Chart.yaml​

When parsing chart metadata, Platz now searches for a Chart.yaml file. If Chart.yaml is not found, Platz returns an error saying the directory is not of a chart.

Chart.yaml is used to get the chart version, which has be a valid Semver, plus some optional annotations:

  • platz.io/git/commit: A full Git commit hash
  • platz.io/git/branch: Name of the current Git branch
  • platz.io/git/repo: URL for the Git repo
  • platz.io/git/provider: A lowercase string representing the Git hosting provider

When provided, this metadata added in the chart annotations takes precedence over Tag Formats, which will be deprecated in Platz 0.6 (see below.)

Here's an example Chart.yaml:

apiVersion: v2
name: shop-chart
description: A Helm chart for Pizza-Platz Shops
type: application
version: 0.1.0
appVersion: "0.1.0"

annotations:
platz.io/git/commit: a8c1da83308d93b111c14f0c79e0b9acf7f01686
platz.io/git/branch: main
platz.io/git/repo: https://github.com/pizza-platz/shop
platz.io/git/provider: github

The repo and provider annotations are not being used at the moment, but they will allow for generating links into the Git repo web interface, for example, to show diffs of potential upgrades.

It's recommended to start adding these annotations so that charts are annotated far enough in history before Tag Formats are deprecated.

Chart Playground πŸŽ‘β€‹

This new feature should make it easier to create and edit chart extensions: UI schema and features.

The main goal of the Chart Playground is to validate the syntax of chart extensions and show the resulting inputs and features visually before building and testing an actual version of a chart.

Also, the Chart Playground always runs in a context of a specific env. The reasoning is that many inputs may depend on data from the env, for example other deployments, secrets and deployment resources.

An env's Chart Playground can be accessed from the Env menu in Platz's navbar.

Multiple chart-discovery Workers​

Similarly to k8s-agent, chart-discovery runs with a role that has credentials to access a certain account with ECR repositories.

In cases where multiple AWS accounts or roles are required, you can now run multiple chart-discovery workers.

Each worker monitors its own SQS queue with ECR notifications. Note that although running multiple workers against the same queue, this was not tested nor recommended.

Refer to Platz's Terraform module for how to configure multiple chart-discovery workers.

OpenAPI Schemas + SDKs​

OpenAPI schemas are now generated on backend build and saved for each release.

For example, see the release page for this release: https://github.com/platzio/backend/releases/tag/v0.5.0.

This OpenAPI schema is used to auto-generate SDKs, the first of which is Platz's SDK for Javascript published to NPM.

Platz's frontend was adapted to use the SDK types and will be migrated to use all actions in a future release.

The Rust SDK is still maintained manually and still be auto-generated in a future release.

Kubernetes Clusters Ignored By Default​

Thanks @ayalash for this contribution!

New Kubernetes clusters are now ignored by default and have to be enabled manually in each env.

This is done to prevent new clusters from becoming automatically visible to users without being configured properly first.

Diesel 2.0​

The backend was upgraded to using Diesel 2.0.

Deprecations​

Tag Formats​

Tag formats were an attempt to add version, branch and commit metadata into Git tags and Helm chart versions.

This approach turned out to be troublesome since tags were sometimes very long, hard to read, and limited to 64 characters in Helm versions.

Existing parsed data is already saved in Platz's database and should not be affected.

πŸ‘‰ As of v0.5, parsing of Tag Formats has to be manually enabled in chart-discovery. This is to prevent multiple chart-discovery workers from deleting metadata when starting and to encourage this feature to be disabled.

πŸ‘‰ Since the new chart annotations provide more metadata, Tag Formats will be removed as of v0.6.

API v1​

API v1 was, well, the first API of Platz. It did not have authentication as it was used in a closed network. To protect users installing Platz using the default configuration, API v1 is disabled by default by not exposing it in Platz's ingress.

API v2 supports all routers of v1, with the addition of authentication and pagination.

πŸ‘‰ API v1 will be removed as of Platz v0.6.