Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Overview

fca6b13a-b35f-4925-9cd5-2b3cf7f1f4ff
Gliffy
imageAttachmentIdatt477134901
macroId
Drawio
mVer2
zoom1
simple0
inComment0
custContentId642154933
pageId436536500
lbox1
diagramDisplayNameUntitled Diagram-1720173561703.drawio
contentVer3
revision3
baseUrlhttps://unique-ch.atlassian.net/wiki
nameRelease 1
diagramAttachmentIdatt476545203
containerId436536500
timestamp1712135691443
diagramNameUntitled Diagram-1720173561703.drawio
pCenter0
width784.5
links
tbstyle
height771

Continuous releases

Unique releases continuously every single change to Platform as a Service.

...

Uniques current release cycle is bi-weekly. Depending on the customers choice this frequency can be lowered (e.g. to monthly) upon request. However, the SLA is only valid if the Client deploys at least once a month as bugfixes are only performed on the latest version of the software.

While the frequency for customer-managed and on premise tenant can be increased by the client themselves, Unique does not offer a higher frequency for Single-Tenants.

Gliffy
imageAttachmentIdatt476676308
macroId4fcbfa56-0fdc-40cd-a545-6e3ef961fb67
baseUrlhttps://unique-ch.atlassian.net/wiki
nameRelease Cycle
diagramAttachmentIdatt476610687
containerId436536500
timestamp1712135781698

Release Lifecycle

About the Lifecycle

...

One Unique release consists of:

Artefact

Model

Further Use

Format

Consumable

Unique Product

Status
titleall

Run Unique workloads with a container orchestrator

Multiple Docker Images

Either as files forked to own Git, tarballs or images from a private Azure Container registry

Connectors (On Premise and Cloud)

Status
colourPurple
titleCMT
Status
colourYellow
titleOP

Upgrade local installations of various connectors to connect to the Unique Product

Multiple Docker Images

Either as files forked to own Git, tarballs or images from a private Azure Container registry

Helm Charts

Status
colourPurple
titleCMT
Status
colourYellow
titleOP

In order to run Unique on Kubernetes, helm charts are the recommended way to render and apply Kubernetes manifests.

Multiple Helm

Either as files forked to own Git or tarballs from a private Azure Container registry

Helm Files

Status
colourPurple
titleCMT
Status
colourYellow
titleOP

Mainly for inspiration as most clients have their own deployment infrastructure already.

Enables customers (providing their own customisation) to deploy Unique Product upon a Kubernetes Cluster

YAML (helmfile format)

incl. 3rd party OSS services + their config as code

As files forked to own Git

Terraform modules

Status
colourPurple
titleCMT

Terraform own Azure Landscape or just get inspired which components are needed

HCL for Azure

Either as files forked to own Git or published over Azure Container registry

SBOM

Software Bill of Materials

Status
titleall

For further analysis for customers, pinned to the current release

SPDX format

incl. Grype Scan results

As files

Release notes

Status
titleall

A change log for humans

Text

Public docs

Customisation examples

Status
colourPurple
titleCMT

Customise each setup from example cases

YAML

Files forked to own Git, then overridden

Ferryman

Status
colourPurple
titleCMT
Status
colourYellow
titleOP

A basic script to mirror images and helm charts from Unique to the Client, see Rollout Reference FrameworkGuidelines.

NodeJS CLI using https://oclif.io

Files forked to own Git

...

You find them on various screens and they consist of a hexadecimal representation like 37cd467 cd47.

In some versions they also include the pre-release information of the next FinanceGPT release, see below.

An example for Calendar Week 28 2024 would be; 2024.28-cd47.

...

...

Bi-weekly release names

Our release names follow the simple pattern of

Code Block
<YYYY>-.<CW>(-.I)
YYYY Year
CW Calendar Week Padded
I Numeric counter if fixes provided

<YYYY>.<CW>(-SHA)
YYYY Year
CW Calendar Week Padded
SHA Build version for continuous releases

Examples are

Code Block
2023-.01 // padded
2023-.12
2023-.34
2023-.34-.1 // patch 1
2023-34-2 // patch 2 - shame on us to need two fixes

Note on the format

Expand
titleUniques change from dashes to dots in July 2024

In Docker tags, it is conventional and recommended to use dots (.) rather than dashes (-). Docker tags typically follow a format that resembles a versioning scheme, such as major.minor.patch. For example, 1.0.0 or latest.

Here are a few reasons why dots are preferred over dashes:

  1. Semantic Versioning: Docker tags often follow semantic versioning principles, where a version number consists of major, minor, and patch components separated by dots (.). This format helps in understanding the compatibility and changes in the image.

  2. Consistency: Using dots for versioning tags aligns with the broader software development community's practices, making it easier to understand and integrate with other tools and systems.

  3. Compatibility with Docker Registry: Docker registries and tools are designed with the assumption that tags follow a dot-separated format. While dashes are technically allowed, they might lead to confusion or unexpected behavior in certain scenarios.

While Docker allows a degree of flexibility in naming tags (including using dashes), sticking with dots for versioning tags promotes clarity and consistency, which are crucial in software development and deployment workflows. Therefore, it's generally better to use dots (.) in Docker tags, especially when indicating version numbers.

Expand
titleSelection of the latest format

To create a Docker tag that includes the components YYYY (year), CW (calendar week), and a 6-character Git short SHA, you can use a delimiter to separate these components clearly. Given the nature of Docker tags and to ensure readability and consistency, a suitable format would be:

YYYY.CW-GITSHA

Here's what each component represents:

  • YYYY: Year, represented by four digits (e.g., 2024).

  • CW: Calendar week, typically represented by two digits (e.g., 01 for the first week of the year).

  • GITSHA: Git short SHA, the first 6 characters of the Git commit hash.

Example

If today is July 11, 2024, and the Git short SHA is abcdef, the Docker tag could look like this:

2024.28-abcdef

Explanation of the format

  • Dot (.) between YYYY and CW: The dot separates the year and the calendar week, providing a clear distinction between these temporal components.

  • Dash (-) between CW and GITSHA: The dash separates the calendar week from the Git short SHA, helping to distinguish between the time-based portion and the Git-related portion of the tag.

Advantages of this format

  • Readability: Using dots and dashes makes the tag easy to read and understand, aligning with typical versioning practices.

  • Consistency: This format is consistent with common Docker tag conventions, ensuring compatibility with Docker registries and tools.

  • Clarity: Each component (YYYY, CW, GITSHA) is clearly delineated, making it straightforward to parse and comprehend the tag's meaning.

By following this format (YYYY.CW-GITSHA), you achieve a well-structured Docker tag that incorporates both temporal and source control information in a clear and standardized manner.

Collisions risk

The collision risk depends on the probability of two different commits having the same short SHA within the same calendar week. Let's break down the components:

  1. Calendar Week (CW): There are 52 weeks in a year.

  2. Git Short SHA: The Git SHA-1 hash is a 40-character hexadecimal string, and the probability of collisions is extremely low even for shorter versions of this hash.

Calculating Collision Probability

For 3-character SHA:

  • There are 163=4096163=4096 possible combinations.

  • The chance of collision increases with the number of commits, but for practical purposes, the risk remains relatively low for small to moderate repositories.

For 4-character SHA:

  • There are 164=65536164=65536 possible combinations.

  • This significantly reduces the risk of collisions compared to a 3-character SHA.

Recommendation

Using a 4-character SHA reduces the collision risk significantly compared to a 3-character SHA and is generally sufficient for most practical purposes.

Release Notes

Release notes are always published before a release is being provided on Release Notes

...