v0.31.0

(github-actions[bot]) released this 2022-08-27 07:57:20 +0000 UTC - v0.31.0

Important
This changelog is not the latest one, please refer to v0.73.0 for the latest changelog.

Description


Changes

INFO: This release can be enabled by using the flag --experimental. We decided to use the experimental to highlight that we are currently in a very early stage, and this feature will be modified based on user input.

🚀 Features

  • Introduce Autodiscovery with Helm Chart & Rancher Fleet support @olblak (#763)

Contributors

@olblak, @updateclibot and @updateclibot[bot]


The autodiscovery feature is a major feature that land the paving for a new way of using Updatecli

It introduces the following changes:

Fix Jsonschema Data
Due to a regression, the jsonschema expected Updatecli to start with a spec root key. This is fix now

Default config

By default, updatecli will look for pipeline manifest in updatecli.yaml or updatecli.d.
It doesn't return an error if no valid manifest could be found. This behavior change is important for the autodiscovery
as the autodiscovery can be used without providing manifest such as updatecli manifest show --local-autodiscovery

Manifest show

In version 0.27.0, we introduce sub-commands for manifest such as updatecli manifest upgrade
Now we are adding a new one updatecli manifest show which deprecates updatecli show
This subcommand is convenient to display and generate manifest based on the autodiscovery such as updatecli manifest show --local-autodiscovery

No manifest allowed

As mentioned in the previous section, Updatecli can analyze local files to generate and apply manifest.
This means that providing a valid manifest is no anymore mandatory for Updatecli
The following commands work

  • updatecli diff --local-autodiscovery
  • updatecli apply --local-autodiscovery
  • updatecli show --local-autodiscovery
  • updatecli manifest show --local-autodiscovery

Drop target in pullrequest spec

In the past, the pullrequest spec would rely on the field "targets" to know which target was bound to the pullrequest
This information could easily be generated from the context.

before

pullrequests:
  default:
    title: '[updatecli] Bump updatecli version to {{ source "latestVersion" }}'
    kind: github
    scmid: default
    targets:
      - bugReport
    spec:
      labels:
        - chore
        - skip-changelog

After

pullrequests:
  default:
    title: '[updatecli] Bump updatecli version to {{ source "latestVersion" }}'
    kind: github
    scmid: default
    spec:
      labels:
        - chore
        - skip-changelog

You can easily fix your manifest by running updatecli manifest upgrade --config ./updatecli.d to validate the changes and then
updatecli manifest upgrade --config <manifest name>.yaml --in-place

autodiscovery

INFO: Autodiscovery can be enabled by using the flag --experimental. We decided to use the experimental to highlight that we are currently in a very early stage, and this feature can easily be modified based on user input.

The goal of this feature is to parse common files to try to generate and apply manifest. The goal is to reduce the need of writing and maintaining manifest that could easily be generated based on context.
while it works out of the box without manifest, It can also be configured from the same manifest by using the top-level key autodiscovery

More information is available on www.updatecli.io/docs/core/autodiscovery

Helm crawler

The first autodiscovery crawler named "helm", allows parsing common Helm chart configuration to update the following information.

  • Helm dependencies defined in Chart.yaml
  • Container images defined in values.yaml using the following format

Docker image identified from Helm Charts values, are looking for following structure:

image:
  repository: <image_name>
  tag: <tag>
images:
  <id>:
    repository: <image_name>
    tag: <image_tag>
title: Manifest title
scms
  # As before, it specifies scm configuration
pullrequests:
  # As before, it specifies pullrequest configuration
autodiscovery:
  # Optional
  # If one is specified, the updatecli analyzes the scm directory, instead of the local one
  scmid: <it references a scm configuration >

  # Optional
  pullrequest: <specifis a pullrequest id>

  # Override default crawlers configuration
  crawlers:
    helm:
      # Default true
      enabled: true

      # Optional
      ignore:
        - path: <specifies path to ignore>

      # Optional
      only:
        - path: <only explore this path>

      # OptionDefault scm directory or local if nothing specified
      rootdir: <override directory to analyze>

      # Auths specifies docker registry credentials
      auths:
          docker.io:
              username: <username>
              token: <token>
          ghcr.io:
              username: <username>
              token: <token>

Fleet Crawler

A second crawler has been added to help to put things in perspective, it updates helm version from fleet.yaml files

An example of autodiscovery manifest would be

title: Manifest title
scms
  # As before, it specifies scm configuration
pullrequests:
  # As before, it specifies pullrequest configuration
autodiscovery:
  # Optional
  # If one is specified, the updatecli analyzes the scm directory, instead of the local one
  scmid: <it references a scm configuration >

  # Optional
  pullrequest: <specifis a pullrequest id>

  # Override default crawlers configuration
  crawlers:
    rancher/fleet:
      # default true
      enabled: true

      # Optional
      ignore:
        - path: <specifies path to ignore>

      # Optional
      only:
        - path: <only explore this path>

      # OptionDefault scm directory or local if nothing specified
      rootdir: <override directory to analyze>

Download

NameCreated AtUpdated At

updatecli_0.31.0_checksums.txt

2022-08-27 08:19:36 +0000 UTC

2022-08-27T08:19:36Z

updatecli_arm64.rpm

2022-08-27 08:19:36 +0000 UTC

2022-08-27T08:19:37Z

updatecli_amd64.rpm

2022-08-27 08:19:35 +0000 UTC

2022-08-27T08:19:36Z

updatecli_armv6.rpm

2022-08-27 08:19:35 +0000 UTC

2022-08-27T08:19:36Z

updatecli_armv6.deb

2022-08-27 08:19:34 +0000 UTC

2022-08-27T08:19:35Z

updatecli_arm64.deb

2022-08-27 08:19:34 +0000 UTC

2022-08-27T08:19:35Z

updatecli_amd64.deb

2022-08-27 08:19:33 +0000 UTC

2022-08-27T08:19:34Z

updatecli_arm64.apk

2022-08-27 08:19:33 +0000 UTC

2022-08-27T08:19:34Z

updatecli_amd64.apk

2022-08-27 08:19:32 +0000 UTC

2022-08-27T08:19:32Z

updatecli_armv6.apk

2022-08-27 08:19:32 +0000 UTC

2022-08-27T08:19:33Z

updatecli_Linux_armv6.tar.gz

2022-08-27 08:19:31 +0000 UTC

2022-08-27T08:19:32Z

updatecli_Linux_arm64.tar.gz

2022-08-27 08:19:31 +0000 UTC

2022-08-27T08:19:31Z

updatecli_Linux_x86_64.tar.gz

2022-08-27 08:19:30 +0000 UTC

2022-08-27T08:19:30Z

updatecli_Windows_armv6.zip

2022-08-27 08:19:30 +0000 UTC

2022-08-27T08:19:30Z

updatecli_Windows_arm64.zip

2022-08-27 08:19:29 +0000 UTC

2022-08-27T08:19:29Z

updatecli_Windows_x86_64.zip

2022-08-27 08:19:29 +0000 UTC

2022-08-27T08:19:29Z

updatecli_Darwin_x86_64.tar.gz

2022-08-27 08:19:27 +0000 UTC

2022-08-27T08:19:28Z

updatecli_Darwin_arm64.tar.gz

2022-08-27 08:19:27 +0000 UTC

2022-08-27T08:19:28Z


Information retrieved from here

Top