kURL spec errors when linting from CLI

:wave: hi folks – trying to get a release packaged in my dev environment and running into issues with the new kURL spec linting logic. I’ve set versions in my spec based on the kurl latest installer.

# cat manifests/kurl-installer.yaml
---
apiVersion: cluster.kurl.sh/v1beta1
kind: Installer
metadata:
  name: 'myapp'
spec:
  kubernetes:
    version: 1.25.x
  containerd:
    version: 1.6.x
  weave:
    version: 2.6.x
  registry:
    version: 2.8.x
  prometheus:
    version: 0.60.x
  kotsadm:
    version: 1.91.x
  ekco:
    version: latest
  minio:
    version: 2022-10-20T00-55-09Z
  openebs:
    version: 3.3.x
    isLocalPVEnabled: true
    localPVStorageClassName: default

when I set an API token/slug and run replicated release lint, I end up with the following errors:

$ replicated release lint --yaml-dir=./manifests
RULE                            TYPE     FILENAME                         LINE    MESSAGE
invalid-kubernetes-installer    error    manifests/kurl-installer.yaml    10      Add-ons included in the Kubernetes installer must pin specific versions rather than 'latest' or x-ranges (e.g., 1.2.x).
invalid-kubernetes-installer    error    manifests/kurl-installer.yaml    20      Add-ons included in the Kubernetes installer must pin specific versions rather than 'latest' or x-ranges (e.g., 1.2.x).
invalid-kubernetes-installer    error    manifests/kurl-installer.yaml    18      Add-ons included in the Kubernetes installer must pin specific versions rather than 'latest' or x-ranges (e.g., 1.2.x).
invalid-kubernetes-installer    error    manifests/kurl-installer.yaml    8       Add-ons included in the Kubernetes installer must pin specific versions rather than 'latest' or x-ranges (e.g., 1.2.x).
invalid-kubernetes-installer    error    manifests/kurl-installer.yaml    24      Add-ons included in the Kubernetes installer must pin specific versions rather than 'latest' or x-ranges (e.g., 1.2.x).
invalid-kubernetes-installer    error    manifests/kurl-installer.yaml    16      Add-ons included in the Kubernetes installer must pin specific versions rather than 'latest' or x-ranges (e.g., 1.2.x).
invalid-kubernetes-installer    error    manifests/kurl-installer.yaml    14      Add-ons included in the Kubernetes installer must pin specific versions rather than 'latest' or x-ranges (e.g., 1.2.x).
invalid-kubernetes-installer    error    manifests/kurl-installer.yaml    12      Add-ons included in the Kubernetes installer must pin specific versions rather than 'latest' or x-ranges (e.g., 1.2.x).
Error: One or more errors of severity "error" or higher were found

Sources pushed up here: wordpress-enterprise/manifests at main · dexhorthy/wordpress-enterprise · GitHub

Looks like this is using the beta feature to include the Kubernetes installer in the release. That feature is documented here. A current limitation of that feature is that the add-ons must be pinned to specific versions—you cannot use latest or x-ranges (e.g., 1.21.x).

In the future, this limitation might be relaxed. We are determining what our approach for Kubernetes installer add-ons will be and how we recommend vendors pin add-ons (e.g., should vendors ever use latest), and this feature will likely be updated (or not updated) to match those recommendations.

Thanks Alex – makes sense. I misread the error and thought it was telling me i needed to use x-ranges :man_facepalming: