Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package pluto for openSUSE:Factory checked in at 2026-09-18 22:07:17 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pluto (Old) and /work/SRC/openSUSE:Factory/.pluto.new.383539 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "pluto" Fri Sep 18 22:07:17 2026 rev:67 rq:1378731 version:5.24.4 Changes: -------- --- /work/SRC/openSUSE:Factory/pluto/pluto.changes 2026-08-11 17:17:25.266771653 +0200 +++ /work/SRC/openSUSE:Factory/.pluto.new.383539/pluto.changes 2026-09-18 22:08:09.617671498 +0200 @@ -1,0 +2,8 @@ +Fri Sep 18 05:38:22 UTC 2026 - Johannes Kastl <[email protected]> + +- Update to version 5.24.4: + * INS-2927: Fix vulnerabilities for pluto (#621) + * INS-2846: Prepare pluto for unifying circleci (#614) + * docs: remove broken links + +------------------------------------------------------------------- Old: ---- pluto-5.24.3.obscpio New: ---- pluto-5.24.4.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pluto.spec ++++++ --- /var/tmp/diff_new_pack.qBfXyI/_old 2026-09-18 22:08:10.795720870 +0200 +++ /var/tmp/diff_new_pack.qBfXyI/_new 2026-09-18 22:08:10.798720996 +0200 @@ -17,7 +17,7 @@ Name: pluto -Version: 5.24.3 +Version: 5.24.4 Release: 0 Summary: A cli tool to help discover deprecated apiVersions in Kubernetes License: Apache-2.0 @@ -26,7 +26,7 @@ Source1: vendor.tar.gz BuildRequires: bash-completion BuildRequires: fish -BuildRequires: go1.26 >= 1.26.2 +BuildRequires: go1.27 >= 1.27.1 BuildRequires: zsh %description ++++++ _service ++++++ --- /var/tmp/diff_new_pack.qBfXyI/_old 2026-09-18 22:08:10.846723008 +0200 +++ /var/tmp/diff_new_pack.qBfXyI/_new 2026-09-18 22:08:10.848723092 +0200 @@ -3,7 +3,7 @@ <param name="url">https://github.com/FairwindsOps/pluto.git</param> <param name="scm">git</param> <param name="exclude">.git</param> - <param name="revision">refs/tags/v5.24.3</param> + <param name="revision">refs/tags/v5.24.4</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="changesgenerate">enable</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.qBfXyI/_old 2026-09-18 22:08:10.873724139 +0200 +++ /var/tmp/diff_new_pack.qBfXyI/_new 2026-09-18 22:08:10.876724265 +0200 @@ -3,6 +3,6 @@ <param name="url">https://github.com/FairwindsOps/pluto</param> <param name="changesrevision">5f85d3f5474aede69f17f71d3e0a36674b8b8b62</param></service><service name="tar_scm"> <param name="url">https://github.com/FairwindsOps/pluto.git</param> - <param name="changesrevision">366e3d0ebb136f41eadc96ff7a1281d396e1d58b</param></service></servicedata> + <param name="changesrevision">ac2c42d55d5ff46a1af0f4b15faf3555119eea23</param></service></servicedata> (No newline at EOF) ++++++ pluto-5.24.3.obscpio -> pluto-5.24.4.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/.circleci/config.yml new/pluto-5.24.4/.circleci/config.yml --- old/pluto-5.24.3/.circleci/config.yml 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/.circleci/config.yml 2026-09-15 19:51:26.000000000 +0200 @@ -1,39 +1,11 @@ +## DO NOT EDIT - Managed by Terraform version: 2.1 orbs: - rok8s: fairwinds/rok8s-scripts@14 + rok8s: fairwinds/[email protected] oss-docs: fairwinds/oss-docs@0 -executors: - golang-exec: - docker: - - image: cimg/go:1.26.5 - references: - e2e_config: &e2e_config - command_runner_image: quay.io/reactiveops/ci-images:v14-bullseye - kind_node_image: "kindest/node:v1.26.6@sha256:6e2d8b28a5b601defe327b98bd1c2d1930b49e5d8c512e1895099e4504007adb" - executor: golang-exec - pre_script: e2e/pre.sh - store-test-results: /tmp/test-results/ - script: e2e/test.sh - requires: - - test - filters: - branches: - only: /.*/ - tags: - ignore: /.*/ - install_vault_alpine: &install_vault_alpine - run: - name: install hashicorp vault - command: | - apk --update add curl yq - cd /tmp - curl -LO https://releases.hashicorp.com/vault/1.21.4/vault_1.21.4_linux_amd64.zip - sha256sum vault_1.21.4_linux_amd64.zip | grep 889b681990fe221b884b7932fa9c9dd0ee9811b9349554f1aa287ab63c9f3dae - unzip vault_1.21.4_linux_amd64.zip - mv vault /usr/bin/vault install_vault_machine: &install_vault_machine run: name: install hashicorp vault @@ -52,45 +24,48 @@ sudo apt-get install -y qemu-user-static binfmt-support docker buildx create --use || true docker buildx inspect --bootstrap + e2e_configuration: &e2e_configuration + executor: golang-exec + pre_script: e2e/pre.sh + script: e2e/test.sh + command_runner_image: quay.io/reactiveops/ci-images:v17.0-cimg-24.04 + enable_docker_layer_caching: true + store-test-results: /tmp/test-results + requires: + - test + filters: + branches: + only: /.*/ + tags: + ignore: /.*/ + +executors: + golang-exec: + docker: + - image: cimg/go:1.27.1 + jobs: test: - working_directory: /home/circleci/go/src/github.com/fairwindsops/pluto docker: - - image: cimg/go:1.26.5 + - image: cimg/go:1.27.1 steps: - checkout - - run: go mod download && go mod verify - - run: go test -v ./... -coverprofile=coverage.txt -covermode=atomic - release: - machine: - image: ubuntu-2204:current - resource_class: large - shell: /bin/bash - steps: - - checkout - - *install_vault_machine - - rok8s/get_vault_env: - vault_path: repo/global/env - - rok8s/get_vault_env: - vault_path: repo/pluto/env - run: - name: docker login + name: Go Mod Download + command: go mod download && go mod verify + - run: + name: golangci-lint command: | - docker login -u _json_key -p "$(echo $GCP_ARTIFACTREADWRITE_JSON_KEY | base64 -d)" us-docker.pkg.dev - - *setup_qemu_binfmt + curl -fsSL -o golangci-lint.tar.gz https://github.com/golangci/golangci-lint/releases/download/v2.13.2/golangci-lint-2.13.2-linux-amd64.tar.gz + echo '2277d43b98ec0054280f2ac26b53268bae97682444678a59a657dd565da021d6 golangci-lint.tar.gz' | sha256sum -c + tar -xzf golangci-lint.tar.gz + mv golangci-lint-2.13.2-linux-amd64/golangci-lint "$(go env GOPATH)/bin/golangci-lint" + golangci-lint run --timeout 5m - run: - name: Run GoReleaser release + name: test command: | - export GORELEASER_CURRENT_TAG="${CIRCLE_TAG}" - docker run --rm \ - -v /var/run/docker.sock:/var/run/docker.sock \ - -v "$(pwd):/workspace" -w /workspace \ - -v "${HOME}/.docker:/root/.docker" \ - -e GORELEASER_CURRENT_TAG -e CIRCLE_TAG -e CIRCLE_SHA1 \ - -e GO111MODULE=on \ - -e GITHUB_TOKEN \ - -e VAULT_ADDR -e VAULT_TOKEN \ - goreleaser/goreleaser:v2.15.4 release + go test -v -coverprofile=coverage.txt -covermode=atomic ./... + go vet ./... snapshot: machine: image: ubuntu-2204:current @@ -104,37 +79,56 @@ docker run --rm \ -v /var/run/docker.sock:/var/run/docker.sock \ -v "$(pwd):/workspace" -w /workspace \ - -e CIRCLE_SHA1 -e CIRCLE_BRANCH -e CIRCLE_TAG \ - goreleaser/goreleaser:v2.15.4 release --snapshot --skip=sign + -e CIRCLE_SHA1 \ + -e CIRCLE_BRANCH \ + -e CIRCLE_TAG \ + goreleaser/goreleaser:v2.18.1 release --snapshot --skip=sign - store_artifacts: path: dist destination: snapshot - request-orb-publish: - docker: - - image: quay.io/reactiveops/ci-images:v14-alpine + release: + machine: + image: ubuntu-2204:current + resource_class: large + shell: /bin/bash steps: - - *install_vault_alpine + - checkout + - *install_vault_machine + - rok8s/get_vault_env: + vault_path: repo/global/env - rok8s/get_vault_env: vault_path: repo/pluto/env - run: - name: "Request Orb Publish" + name: docker login Google Artifact Registry + command: | + echo "$GCP_ARTIFACTREADWRITE_JSON_KEY" | base64 -d | docker login -u _json_key --password-stdin us-docker.pkg.dev + - *setup_qemu_binfmt + - run: + name: Run GoReleaser release command: | - apk --update add curl - curl -X POST --data-urlencode "payload={\"text\": \"Please publish a new pluto orb by checking out $CIRCLE_TAG and running release-orb.sh\"}" $SLACK_URL + export GORELEASER_CURRENT_TAG="${CIRCLE_TAG}" + docker run --rm \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -v "$(pwd):/workspace" -w /workspace \ + -v "${HOME}/.docker:/root/.docker" \ + -e GORELEASER_CURRENT_TAG \ + -e CIRCLE_TAG \ + -e CIRCLE_SHA1 \ + -e GO111MODULE=on \ + -e GITHUB_TOKEN \ + -e VAULT_ADDR \ + -e VAULT_TOKEN \ + goreleaser/goreleaser:v2.18.1 release + workflows: version: 2 - test: + test_and_build: jobs: - - test - - snapshot: - requires: - - test + - test: filters: - branches: - only: /.*/ tags: ignore: /.*/ - - rok8s/kubernetes_e2e_tests: + - snapshot: requires: - test filters: @@ -142,17 +136,27 @@ only: /.*/ tags: ignore: /.*/ - name: functional tests - <<: *e2e_config + - rok8s/kubernetes_e2e_tests: + name: "functional tests" + kind_node_image: "kindest/node:v1.36.4@sha256:099e049362a1526b2db71494e1947aae99bd16290d7c895f2b7ea312e3cbfaed" + <<: *e2e_configuration release: jobs: + - test: + filters: + branches: + ignore: /.*/ + tags: + only: /v.*/ - release: + requires: + - test context: org-global filters: branches: ignore: /.*/ tags: - only: /.*/ + only: /v.*/ - oss-docs/publish-docs: requires: - release @@ -161,11 +165,4 @@ branches: ignore: /.*/ tags: - only: /^.*/ - - request-orb-publish: - name: "Request Orb Publishing" - filters: - branches: - ignore: /.*/ - tags: - only: /^v.*/ + only: /v.*/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/CODEOWNERS new/pluto-5.24.4/CODEOWNERS --- old/pluto-5.24.3/CODEOWNERS 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/CODEOWNERS 2026-09-15 19:51:26.000000000 +0200 @@ -1,2 +1,2 @@ ## DO NOT EDIT - Managed by Terraform -* @sudermanjr @transient1 +* @sudermanjr @transient1 @azahorscak diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/Dockerfile new/pluto-5.24.4/Dockerfile --- old/pluto-5.24.3/Dockerfile 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/Dockerfile 2026-09-15 19:51:26.000000000 +0200 @@ -11,6 +11,7 @@ # Install CA bundle for TLS. RUN apk --no-cache add ca-certificates +RUN apk --no-cache add --upgrade libcrypto3 libssl3 USER nobody COPY pluto / diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/Makefile new/pluto-5.24.4/Makefile --- old/pluto-5.24.3/Makefile 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/Makefile 2026-09-15 19:51:26.000000000 +0200 @@ -32,8 +32,5 @@ CGO_ENABLED=0 GOOS=windows GOARCH=amd64 $(GOBUILD) -o $(BINARY_NAME) -ldflags "-X main.version=$(VERSION) -X main.commit=$(COMMIT) -s -w" -v ./cmd/pluto/main.go build-docker: build-linux docker build --build-arg version=$(VERSION) --build-arg commit=$(COMMIT) -t us-docker.pkg.dev/fairwinds-ops/oss/pluto/$(BINARY_NAME):dev . -orb-validate: - circleci orb pack orb/ > orb.yml - circleci orb validate orb.yml circleci-validate: circleci config validate --org-slug github/FairwindsOps diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/README.md new/pluto-5.24.4/README.md --- old/pluto-5.24.3/README.md 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/README.md 2026-09-15 19:51:26.000000000 +0200 @@ -5,15 +5,9 @@ <a href="https://github.com/FairwindsOps/pluto/releases"> <img src="https://img.shields.io/github/v/release/FairwindsOps/pluto"> </a> - <a href="https://goreportcard.com/report/github.com/FairwindsOps/pluto"> - <img src="https://goreportcard.com/badge/github.com/FairwindsOps/pluto"> - </a> <a href="https://circleci.com/gh/FairwindsOps/pluto.svg"> <img src="https://circleci.com/gh/FairwindsOps/pluto.svg?style=svg"> </a> - <a href="https://insights.fairwinds.com/gh/FairwindsOps/pluto"> - <img src="https://insights.fairwinds.com/v0/gh/FairwindsOps/pluto/badge.svg"> - </a> </div> Pluto is a utility to help users find [deprecated Kubernetes apiVersions](https://k8s.io/docs/reference/using-api/deprecation-guide/) in their code repositories and their helm releases. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/cmd/root.go new/pluto-5.24.4/cmd/root.go --- old/pluto-5.24.3/cmd/root.go 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/cmd/root.go 2026-09-15 19:51:26.000000000 +0200 @@ -332,7 +332,6 @@ } exitCode = apiInstance.GetReturnCode() klog.V(5).Infof("exitCode: %d", exitCode) - return }, } @@ -353,7 +352,6 @@ } exitCode = apiInstance.GetReturnCode() klog.V(5).Infof("exitCode: %d", exitCode) - return }, } @@ -476,7 +474,7 @@ } err = h.FindVersions() if err != nil { - return fmt.Errorf("Error running helm-detect: %v", err) + return fmt.Errorf("error running helm-detect: %v", err) } return nil } @@ -484,11 +482,11 @@ func detectAPIResources() error { disCl, err := discoveryapi.NewDiscoveryClient(namespace, kubeContext, apiInstance, kubeConfigPath) if err != nil { - return fmt.Errorf("Error creating Discovery REST Client: %v", err) + return fmt.Errorf("error creating Discovery REST Client: %v", err) } err = disCl.GetApiResources() if err != nil { - return fmt.Errorf("Error getting API resources using discovery client: %v", err) + return fmt.Errorf("error getting API resources using discovery client: %v", err) } return nil } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/docs/contributing/guide.md new/pluto-5.24.4/docs/contributing/guide.md --- old/pluto-5.24.3/docs/contributing/guide.md 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/docs/contributing/guide.md 2026-09-15 19:51:26.000000000 +0200 @@ -90,10 +90,6 @@ - Contain a clear indication of if they're ready for review or a work in progress - Be up to date and/or rebased on the master branch -## Orb development - -There is a Makefile that can assist in validating and testing the orb locally. See the commands there for more info. - ## Creating a new release Push a new tag and Goreleaser will take care of the rest. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/docs/orb.md new/pluto-5.24.4/docs/orb.md --- old/pluto-5.24.3/docs/orb.md 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/docs/orb.md 1970-01-01 01:00:00.000000000 +0100 @@ -1,8 +0,0 @@ ---- -meta: - - name: description - content: "Fairwinds Pluto | Fairwinds publishes an orb called fairwinds/pluto to provide easier configuration inside of CircleCI." ---- -# Orb - -CircleCI has introduced the concept of reusable config in the form of [Orbs](https://circleci.com/orbs/). As of pluto v5.1, Fairwinds publishes an orb called [`fairwinds/pluto`](https://circleci.com/orbs/registry/orb/fairwinds/pluto) in order to provide easier configuration inside of CircleCI. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/go.mod new/pluto-5.24.4/go.mod --- old/pluto-5.24.3/go.mod 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/go.mod 2026-09-15 19:51:26.000000000 +0200 @@ -1,6 +1,6 @@ module github.com/fairwindsops/pluto/v5 -go 1.26.2 +go 1.27.1 require ( github.com/olekukonko/tablewriter v1.1.4 @@ -9,7 +9,7 @@ github.com/spf13/viper v1.21.0 github.com/stretchr/testify v1.11.1 github.com/thoas/go-funk v0.9.3 - golang.org/x/mod v0.38.0 + golang.org/x/mod v0.40.0 gopkg.in/yaml.v3 v3.0.1 helm.sh/helm/v3 v3.21.3 k8s.io/api v0.36.3 @@ -80,11 +80,11 @@ github.com/x448/float16 v0.8.4 // indirect go.yaml.in/yaml/v2 v2.4.4 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - golang.org/x/net v0.55.0 // indirect + golang.org/x/net v0.58.0 // indirect golang.org/x/oauth2 v0.36.0 // indirect - golang.org/x/sys v0.46.0 // indirect - golang.org/x/term v0.44.0 // indirect - golang.org/x/text v0.38.0 // indirect + golang.org/x/sys v0.47.0 // indirect + golang.org/x/term v0.45.0 // indirect + golang.org/x/text v0.41.0 // indirect golang.org/x/time v0.15.0 // indirect google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af // indirect gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/go.sum new/pluto-5.24.4/go.sum --- old/pluto-5.24.3/go.sum 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/go.sum 2026-09-15 19:51:26.000000000 +0200 @@ -190,25 +190,25 @@ go.yaml.in/yaml/v2 v2.4.4/go.mod h1:gMZqIpDtDqOfM0uNfy0SkpRhvUryYH0Z6wdMYcacYXQ= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= -golang.org/x/mod v0.38.0 h1:MECBjubtXD7yj4HrhIUcywNaGeNVUdfVnxmPajOk4yk= -golang.org/x/mod v0.38.0/go.mod h1:V6Xz0pq8TQ3dGqVQ1FVHuelZpAL0uNhSkk9ogYP3c40= -golang.org/x/net v0.55.0 h1:bcvxaJn3e1U6InsFWt1JUq1aSjnRxLzT2rtD2KfkDF8= -golang.org/x/net v0.55.0/go.mod h1:L5U2KuzuOe1lY7Z+aWVIKK6qEeJXnXV9yzGA+WCHJww= +golang.org/x/mod v0.40.0 h1:hUv+3cXcdRHz08UmSiOob7sadHig73uo5bkXxQ/tvUs= +golang.org/x/mod v0.40.0/go.mod h1:0/weTWkPWGBikyTWAX3dkjVztMmBA5hM0DH6BElSupE= +golang.org/x/net v0.58.0 h1:ynWG7rqYi4ccpTEuPZ2QGWHktVEM9DMCj9yzDE0Q7To= +golang.org/x/net v0.58.0/go.mod h1:YwCddHnFlT7eLQqVprV19OnhLGtc5xOKgE0RyqgfWAU= golang.org/x/oauth2 v0.36.0 h1:peZ/1z27fi9hUOFCAZaHyrpWG5lwe0RJEEEeH0ThlIs= golang.org/x/oauth2 v0.36.0/go.mod h1:YDBUJMTkDnJS+A4BP4eZBjCqtokkg1hODuPjwiGPO7Q= -golang.org/x/sync v0.21.0 h1:HLII4xRRTtCRkxYp4HNFF0Js/Og6q2i++KXbg0gHCwM= -golang.org/x/sync v0.21.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek= +golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.46.0 h1:noSf2Fq6F8DBgS+LysIkx7rIExoNHJsxOAtPp4rthXw= -golang.org/x/sys v0.46.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= -golang.org/x/term v0.44.0 h1:0rLvDRCtNj0gZkyIXhCyOb2OAzEhLVqc4B+hrsBhrmc= -golang.org/x/term v0.44.0/go.mod h1:7ze4MdzUzLXpSAoFP1H0bOI9aXDqveSvatT5vKcFh2Y= -golang.org/x/text v0.38.0 h1:sXmwo9DwP3OK9EZ7PqAdaooSGozfl/3a6/xJcbzPRhE= -golang.org/x/text v0.38.0/go.mod h1:YXZt3QhHUKYT53r2lLKFIVi6Ao1jdzrTR/KQ09qyxF4= +golang.org/x/sys v0.47.0 h1:o7XGOvZQCADBQQ4Y7VNq2dRWQR7JmOUW8Kxx4ZsNgWs= +golang.org/x/sys v0.47.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw= +golang.org/x/term v0.45.0 h1:NwWyBmoJCbfTHpxrWoZ9C6/VxOf7ic219I8xZZFdrf0= +golang.org/x/term v0.45.0/go.mod h1:9aqxs0blBcrm/n0L9QW0aRVD+ktan8ssZromtqJC43w= +golang.org/x/text v0.41.0 h1:vz/seA0lnX87Othu2f/0L24RcgrXD9/YFTSuGjj3rH8= +golang.org/x/text v0.41.0/go.mod h1:jvf1O8ajNzZqhSrQBPbutR/EB83Cc0CFrezNQIwbb5M= golang.org/x/time v0.15.0 h1:bbrp8t3bGUeFOx08pvsMYRTCVSMk89u4tKbNOZbp88U= golang.org/x/time v0.15.0/go.mod h1:Y4YMaQmXwGQZoFaVFk4YpCt4FLQMYKZe9oeV/f4MSno= -golang.org/x/tools v0.47.0 h1:7Kn5x/d1svx/PzryTsqeoZN4TZwqeH5pGWjefhLi/1Q= -golang.org/x/tools v0.47.0/go.mod h1:dFHnyTvFWY212G+h7ZY4Vsp/K3U4/7W9TyVaAul8uCA= +golang.org/x/tools v0.49.0 h1:3NI7VXzL9+1WZD52Dx2ttoPwD5DWrFGpl9mFZDlmisI= +golang.org/x/tools v0.49.0/go.mod h1:SJNXV9DBKT0UbdttsQjbfJlAE/q+y36++zo3uL3N0Oo= google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af h1:+5/Sw3GsDNlEmu7TfklWKPdQ0Ykja5VEmq2i817+jbI= google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/orb/@orb.yml new/pluto-5.24.4/orb/@orb.yml --- old/pluto-5.24.3/orb/@orb.yml 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/orb/@orb.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,7 +0,0 @@ -version: 2.1 - -description: | - Pluto is a utility to help users find deprecated Kubernetes apiVersions in their code repositories and their helm releases. -display: - home_url: https://pluto.docs.fairwinds.com - source_url: https://github.com/FairwindsOps/pluto diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/orb/commands/configure_env.yml new/pluto-5.24.4/orb/commands/configure_env.yml --- old/pluto-5.24.3/orb/commands/configure_env.yml 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/orb/commands/configure_env.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,29 +0,0 @@ -description: Configures pluto environment variables. -parameters: - executor: - description: The name of custom executor to use. Only recommended for development. - type: executor - default: default - ignore-deprecations: - type: boolean - default: false - description: Exit Code 3 is ignored, useful if you do not want the job to fail if deprecated APIs are detected. - ignore-removals: - type: boolean - default: false - description: Exit Code 3 is ignored, useful if you do not want the job to fail if removed APIs are detected. - target-versions: - description: You can target the Kubernetes version you are concerned with. If blank defaults to latest. - type: string - default: "" -steps: - - run: - name: configure Pluto env vars - command: | - #!/bin/bash - - set -e - - echo PLUTO_IGNORE_DEPRECATIONS=<<parameters.ignore-deprecations>> >> $BASH_ENV - echo PLUTO_IGNORE_REMOVALS=<<parameters.ignore-removals>> >> $BASH_ENV - echo PLUTO_TARGET_VERSIONS=<<parameters.target-versions>> >> $BASH_ENV diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/orb/commands/detect.yml new/pluto-5.24.4/orb/commands/detect.yml --- old/pluto-5.24.3/orb/commands/detect.yml 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/orb/commands/detect.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,16 +0,0 @@ -description: Detecting deprecated Kubernetes apiVersions within your repository. -parameters: - file: - description: The file to scan. - type: string - default: "" - executor: - description: The name of custom executor to use. Only recommended for development. - type: executor - default: default -steps: - - run: - name: Pluto detect - environment: - PLUTO_FILE: <<parameters.file>> - command: <<include(scripts/detect.sh)>> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/orb/commands/detect_files.yml new/pluto-5.24.4/orb/commands/detect_files.yml --- old/pluto-5.24.3/orb/commands/detect_files.yml 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/orb/commands/detect_files.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,16 +0,0 @@ -description: Detecting deprecated Kubernetes apiVersions within your repository. -parameters: - directory: - description: The directory to scan. If blank defaults to current directory. - type: string - default: "" - executor: - description: The name of custom executor to use. Only recommended for development. - type: executor - default: default -steps: - - run: - name: Pluto detect-files - environment: - PLUTO_DIRECTORY: <<parameters.directory>> - command: <<include(scripts/detect_files.sh)>> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/orb/commands/install.yml new/pluto-5.24.4/orb/commands/install.yml --- old/pluto-5.24.3/orb/commands/install.yml 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/orb/commands/install.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,16 +0,0 @@ -description: Installs the pluto command. -parameters: - executor: - description: The name of custom executor to use. Only recommended for development. - type: executor - default: default - version: - description: The version of pluto to install. Defaults to latest stable. - type: string - default: "" -steps: - - run: - name: Install Pluto - environment: - VERSION: <<parameters.version>> - command: <<include(scripts/install.sh)>> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/orb/examples/detect.yml new/pluto-5.24.4/orb/examples/detect.yml --- old/pluto-5.24.3/orb/examples/detect.yml 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/orb/examples/detect.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,14 +0,0 @@ -description: | - A workflow for detecting deprecated Kubernetes apiVersions for a specific file. -usage: - version: 2.1 - orbs: - pluto: fairwinds/pluto@5 - workflows: - detect_files: - jobs: - - pluto/detect_files: - file: ./K8s/Descriptors/ingress.yml - ignore-deprecations: true - ignore-removals: false - target-versions: "k8s=v1.21" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/orb/examples/detect_files.yml new/pluto-5.24.4/orb/examples/detect_files.yml --- old/pluto-5.24.3/orb/examples/detect_files.yml 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/orb/examples/detect_files.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,14 +0,0 @@ -description: | - A workflow for detecting deprecated Kubernetes apiVersions within your repository. -usage: - version: 2.1 - orbs: - pluto: fairwinds/pluto@5 - workflows: - detect_files: - jobs: - - pluto/detect_files: - directory: ./K8s/Descriptors - ignore-deprecations: true - ignore-removals: false - target-versions: "k8s=v1.21" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/orb/executors/default.yml new/pluto-5.24.4/orb/executors/default.yml --- old/pluto-5.24.3/orb/executors/default.yml 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/orb/executors/default.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,6 +0,0 @@ -parameters: - version: - type: string - default: "stable" -docker: - - image: cimg/base:<<parameters.version>> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/orb/jobs/detect.yml new/pluto-5.24.4/orb/jobs/detect.yml --- old/pluto-5.24.3/orb/jobs/detect.yml 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/orb/jobs/detect.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,53 +0,0 @@ -description: > - A workflow for detecting deprecated Kubernetes apiVersions within your repository. -parameters: - checkout: - type: boolean - default: true - description: "Perform checkout as first step in job." - executor: - description: The name of custom executor to use. Only recommended for development. - type: executor - default: default - file: - description: The file to scan. Required. - type: string - default: "" - use-external-context: - type: boolean - default: false - description: If this is true, then the configure_env step will be skipped. - ignore-deprecations: - type: boolean - default: false - description: Exit Code 3 is ignored, useful if you do not want the job to fail if deprecated APIs are detected. - ignore-removals: - type: boolean - default: false - description: Exit Code 3 is ignored, useful if you do not want the job to fail if removed APIs are detected. - target-versions: - description: You can target the Kubernetes version you are concerned with. If blank defaults to latest. - type: string - default: "" - version: - description: Version of Pluto to use. Defaults to latest stable. - type: string - default: "" -executor: <<parameters.executor>> -steps: - - when: - condition: << parameters.checkout >> - steps: - - checkout - - install: - version: <<parameters.version>> - - when: - condition: - not: << parameters.use-external-context >> - steps: - - configure_env: - ignore-deprecations: << parameters.ignore-deprecations >> - ignore-removals: << parameters.ignore-removals >> - target-versions: << parameters.target-versions >> - - detect: - file: <<parameters.file>> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/orb/jobs/detect_files.yml new/pluto-5.24.4/orb/jobs/detect_files.yml --- old/pluto-5.24.3/orb/jobs/detect_files.yml 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/orb/jobs/detect_files.yml 1970-01-01 01:00:00.000000000 +0100 @@ -1,53 +0,0 @@ -description: > - A workflow for detecting deprecated Kubernetes apiVersions within your repository. -parameters: - checkout: - type: boolean - default: true - description: "Perform checkout as first step in job." - directory: - description: The directory to scan. If blank defaults to current directory. - type: string - default: "" - executor: - description: The name of custom executor to use. Only recommended for development. - type: executor - default: default - use-external-context: - type: boolean - default: false - description: If this is true, then the configure_env step will be skipped. - ignore-deprecations: - type: boolean - default: false - description: Exit Code 3 is ignored, useful if you do not want the job to fail if deprecated APIs are detected. - ignore-removals: - type: boolean - default: false - description: Exit Code 3 is ignored, useful if you do not want the job to fail if removed APIs are detected. - target-versions: - description: You can target the Kubernetes version you are concerned with. If blank defaults to latest. - type: string - default: "" - version: - description: Version of Pluto to use. Defaults to latest stable. - type: string - default: "" -executor: <<parameters.executor>> -steps: - - when: - condition: << parameters.checkout >> - steps: - - checkout - - install: - version: <<parameters.version>> - - when: - condition: - not: << parameters.use-external-context >> - steps: - - configure_env: - ignore-deprecations: << parameters.ignore-deprecations >> - ignore-removals: << parameters.ignore-removals >> - target-versions: << parameters.target-versions >> - - detect_files: - directory: <<parameters.directory>> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/orb/scripts/detect.sh new/pluto-5.24.4/orb/scripts/detect.sh --- old/pluto-5.24.3/orb/scripts/detect.sh 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/orb/scripts/detect.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,9 +0,0 @@ -#!/bin/bash -set -e - -if [[ -z "${PLUTO_FILE}" ]]; then - echo "Error: requires a file argument" - exit 1 -fi - -pluto detect "$PLUTO_FILE" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/orb/scripts/detect_files.sh new/pluto-5.24.4/orb/scripts/detect_files.sh --- old/pluto-5.24.3/orb/scripts/detect_files.sh 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/orb/scripts/detect_files.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,10 +0,0 @@ -#!/bin/bash -set -e - -if [[ -n "${PLUTO_DIRECTORY}" ]]; then - PLUTO_ARGS="$PLUTO_ARGS --directory ${PLUTO_DIRECTORY}" -fi - -export PLUTO_ARGS - -pluto detect-files "$PLUTO_ARGS" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/orb/scripts/install.sh new/pluto-5.24.4/orb/scripts/install.sh --- old/pluto-5.24.3/orb/scripts/install.sh 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/orb/scripts/install.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,21 +0,0 @@ -#!/bin/bash - -if [[ -z "${VERSION}" ]]; then - VERSION=latest -fi - -curl -s https://api.github.com/repos/FairwindsOps/pluto/releases/${VERSION} \ -| grep "browser_download_url.*linux_amd64.tar.gz" \ -| cut -d '"' -f 4 \ -| wget -qi - - -tarball="$(find . -name "*linux_amd64.tar.gz")" -tar -xzf $tarball - -sudo mv pluto /bin - -location="$(which pluto)" -echo "Pluto binary location: $location" - -version="$(pluto version)" -echo "Pluto binary version: $version" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/pkg/api/output.go new/pluto-5.24.4/pkg/api/output.go --- old/pluto-5.24.3/pkg/api/output.go 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/pkg/api/output.go 2026-09-15 19:51:26.000000000 +0200 @@ -123,7 +123,10 @@ } t := instance.markdownOut(c) if t != nil { - t.Render() + err = t.Render() + if err != nil { + return err + } } case "csv": var c columnList @@ -256,7 +259,7 @@ for _, k := range columnIndexes { row = append(row, columns[k].value(o)) } - table.Append(row) + _ = table.Append(row) } return table diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/pkg/api/versions.go new/pluto-5.24.4/pkg/api/versions.go --- old/pluto-5.24.3/pkg/api/versions.go 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/pkg/api/versions.go 2026-09-15 19:51:26.000000000 +0200 @@ -297,7 +297,7 @@ fmt.Println(string(data)) default: fmt.Println("The output format must be one of (normal|wide|json|yaml)") - return fmt.Errorf("The output format must be one of (normal|wide|json|yaml)") + return fmt.Errorf("the output format must be one of (normal|wide|json|yaml)") } return nil } @@ -307,7 +307,7 @@ w.Init(os.Stdout, 0, 15, 2, padChar, 0) if !instance.NoHeaders { - fmt.Fprintln(w, "KIND\t NAME\t DEPRECATED IN\t REMOVED IN\t REPLACEMENT\t REPL AVAIL IN\t COMPONENT\t") + _, _ = fmt.Fprintln(w, "KIND\t NAME\t DEPRECATED IN\t REMOVED IN\t REPLACEMENT\t REPL AVAIL IN\t COMPONENT\t") } for _, version := range instance.DeprecatedVersions { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/pkg/kube/kube_test.go new/pluto-5.24.4/pkg/kube/kube_test.go --- old/pluto-5.24.3/pkg/kube/kube_test.go 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/pkg/kube/kube_test.go 2026-09-15 19:51:26.000000000 +0200 @@ -15,7 +15,6 @@ package kube import ( - "os" "testing" "github.com/stretchr/testify/assert" @@ -75,7 +74,7 @@ } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - os.Setenv("KUBECONFIG", tt.kubeConfig) + t.Setenv("KUBECONFIG", tt.kubeConfig) _, err := GetConfig(tt.kubeContext, tt.kubeConfigPath) if tt.wantErr { assert.Error(t, err) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pluto-5.24.3/release-orb.sh new/pluto-5.24.4/release-orb.sh --- old/pluto-5.24.3/release-orb.sh 2026-08-06 18:10:07.000000000 +0200 +++ new/pluto-5.24.4/release-orb.sh 1970-01-01 01:00:00.000000000 +0100 @@ -1,36 +0,0 @@ -#!/bin/bash - -function version_gt() { - test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"; -} - -echo "Starting release." - -command -v circleci >/dev/null 2>&1 || { echo >&2 "I require circleci but it's not installed. Aborting."; exit 1; } -echo "Found circleci command." - -cli_version=$(circleci version | cut -d+ -f1) -required_version=0.1.5705 - -if version_gt "$required_version" "$cli_version"; then - echo "This script requires circleci version greater than or equal to 0.1.5705!" - exit 1 -fi - -commit=$(git log -n1 --pretty='%h') -tag=$(git describe --exact-match --tags "$commit") - -retVal=$? -echo "retVal = $retVal" -if [ $retVal -ne 0 ]; then - echo "You need to checkout a valid tag for this to work." - exit $retVal -fi - -echo "Release: $commit - $tag" - -echo "Validating..." -make orb-validate || { echo 'Orb failed to validate.' ; exit 1; } - -echo "Releasing..." -circleci orb publish orb.yml "fairwinds/pluto@${tag:1}" ++++++ pluto.obsinfo ++++++ --- /var/tmp/diff_new_pack.qBfXyI/_old 2026-09-18 22:08:11.081732857 +0200 +++ /var/tmp/diff_new_pack.qBfXyI/_new 2026-09-18 22:08:11.085733025 +0200 @@ -1,5 +1,5 @@ name: pluto -version: 5.24.3 -mtime: 1786032607 -commit: 366e3d0ebb136f41eadc96ff7a1281d396e1d58b +version: 5.24.4 +mtime: 1789494686 +commit: ac2c42d55d5ff46a1af0f4b15faf3555119eea23 ++++++ vendor.tar.gz ++++++ /work/SRC/openSUSE:Factory/pluto/vendor.tar.gz /work/SRC/openSUSE:Factory/.pluto.new.383539/vendor.tar.gz differ: char 15, line 1
