Compare commits

...
52 Commits
Author SHA1 Message Date
Sanket SudakeandGitHub 2853498a98 Update all images used to GHCR repo (#3154) 2025-01-25 20:39:54 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Sanket Sudake
b6bd921ac1 Bump the go-dependencies group with 17 updates (#3147)
* Bump the go-dependencies group with 17 updates

Bumps the go-dependencies group with 17 updates:

| Package | From | To |
| --- | --- | --- |
| [github.com/prometheus/common](https://github.com/prometheus/common) | `0.61.0` | `0.62.0` |
| [go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp](https://github.com/open-telemetry/opentelemetry-go-contrib) | `0.58.0` | `0.59.0` |
| [go.opentelemetry.io/contrib/propagators/autoprop](https://github.com/open-telemetry/opentelemetry-go-contrib) | `0.58.0` | `0.59.0` |
| [go.opentelemetry.io/otel](https://github.com/open-telemetry/opentelemetry-go) | `1.33.0` | `1.34.0` |
| [go.opentelemetry.io/otel/exporters/otlp/otlptrace](https://github.com/open-telemetry/opentelemetry-go) | `1.33.0` | `1.34.0` |
| [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc](https://github.com/open-telemetry/opentelemetry-go) | `1.33.0` | `1.34.0` |
| [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go) | `1.33.0` | `1.34.0` |
| [go.opentelemetry.io/otel/trace](https://github.com/open-telemetry/opentelemetry-go) | `1.33.0` | `1.34.0` |
| [google.golang.org/grpc](https://github.com/grpc/grpc-go) | `1.69.2` | `1.69.4` |
| [k8s.io/api](https://github.com/kubernetes/api) | `0.32.0` | `0.32.1` |
| [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) | `0.32.0` | `0.32.1` |
| [k8s.io/apimachinery](https://github.com/kubernetes/apimachinery) | `0.32.0` | `0.32.1` |
| [k8s.io/client-go](https://github.com/kubernetes/client-go) | `0.32.0` | `0.32.1` |
| [k8s.io/code-generator](https://github.com/kubernetes/code-generator) | `0.32.0` | `0.32.1` |
| [k8s.io/metrics](https://github.com/kubernetes/metrics) | `0.32.0` | `0.32.1` |
| [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime) | `0.19.4` | `0.20.0` |
| [sigs.k8s.io/controller-tools](https://github.com/kubernetes-sigs/controller-tools) | `0.17.0` | `0.17.1` |


Updates `github.com/prometheus/common` from 0.61.0 to 0.62.0
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](https://github.com/prometheus/common/compare/v0.61.0...v0.62.0)

Updates `go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp` from 0.58.0 to 0.59.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.58.0...zpages/v0.59.0)

Updates `go.opentelemetry.io/contrib/propagators/autoprop` from 0.58.0 to 0.59.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.58.0...zpages/v0.59.0)

Updates `go.opentelemetry.io/otel` from 1.33.0 to 1.34.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.33.0...v1.34.0)

Updates `go.opentelemetry.io/otel/exporters/otlp/otlptrace` from 1.33.0 to 1.34.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.33.0...v1.34.0)

Updates `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc` from 1.33.0 to 1.34.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.33.0...v1.34.0)

Updates `go.opentelemetry.io/otel/sdk` from 1.33.0 to 1.34.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.33.0...v1.34.0)

Updates `go.opentelemetry.io/otel/trace` from 1.33.0 to 1.34.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.33.0...v1.34.0)

Updates `google.golang.org/grpc` from 1.69.2 to 1.69.4
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.69.2...v1.69.4)

Updates `k8s.io/api` from 0.32.0 to 0.32.1
- [Commits](https://github.com/kubernetes/api/compare/v0.32.0...v0.32.1)

Updates `k8s.io/apiextensions-apiserver` from 0.32.0 to 0.32.1
- [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases)
- [Commits](https://github.com/kubernetes/apiextensions-apiserver/compare/v0.32.0...v0.32.1)

Updates `k8s.io/apimachinery` from 0.32.0 to 0.32.1
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.32.0...v0.32.1)

Updates `k8s.io/client-go` from 0.32.0 to 0.32.1
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.32.0...v0.32.1)

Updates `k8s.io/code-generator` from 0.32.0 to 0.32.1
- [Commits](https://github.com/kubernetes/code-generator/compare/v0.32.0...v0.32.1)

Updates `k8s.io/metrics` from 0.32.0 to 0.32.1
- [Commits](https://github.com/kubernetes/metrics/compare/v0.32.0...v0.32.1)

Updates `sigs.k8s.io/controller-runtime` from 0.19.4 to 0.20.0
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.19.4...v0.20.0)

Updates `sigs.k8s.io/controller-tools` from 0.17.0 to 0.17.1
- [Release notes](https://github.com/kubernetes-sigs/controller-tools/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-tools/blob/main/envtest-releases.yaml)
- [Commits](https://github.com/kubernetes-sigs/controller-tools/compare/v0.17.0...v0.17.1)

---
updated-dependencies:
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: go.opentelemetry.io/contrib/propagators/autoprop
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: go.opentelemetry.io/otel
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlptrace
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: go.opentelemetry.io/otel/sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: go.opentelemetry.io/otel/trace
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-dependencies
- dependency-name: k8s.io/api
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-dependencies
- dependency-name: k8s.io/apiextensions-apiserver
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-dependencies
- dependency-name: k8s.io/apimachinery
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-dependencies
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-dependencies
- dependency-name: k8s.io/code-generator
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-dependencies
- dependency-name: k8s.io/metrics
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-dependencies
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: sigs.k8s.io/controller-tools
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

* Revert sigs.k8s.io/controller-runtime to v0.19.4

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sanket Sudake <sanketsudake@gmail.com>
2025-01-23 17:26:36 +05:30
Sanket SudakeandGitHub 5d97ea7762 Update SECURITY.md (#3151)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2025-01-23 15:36:32 +05:30
Sanket SudakeandGitHub fb60a14ecc Adopt custom defaulter and validator interface for webhooks intead of deprecated default (#3152)
* Move webhooks to webhooks package

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* change interface

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* Change interface methods

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* comment debug logs for now

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* rename files

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* Fix webhook warnings

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* Update makefile

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* lint fixes

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

---------

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2025-01-23 15:36:07 +05:30
Sanket SudakeandGitHub 38ec6528e3 Duplicate Job names in helm chart templates (#3150)
Fixes #3127

Update job names in helm chart templates to avoid conflicts.

* Change the `metadata.name` field in `charts/fission-all/templates/analytics/post-install-job.yaml` to `{{ template "fullname" . }}-{{ .Chart.Version }}-post-install`.
* Change the `metadata.name` field in `charts/fission-all/templates/analytics/post-upgrade-job.yaml` to `{{ template "fullname" . }}-{{ .Chart.Version }}-post-upgrade`.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/fission/fission/issues/3127?shareId=XXXX-XXXX-XXXX-XXXX).
2025-01-22 18:12:14 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
7d7f532c46 Bump the docker-images group across 5 directories with 1 update (#3149)
Bumps the docker-images group with 1 update in the /cmd/builder directory: [chainguard/static](https://github.com/chainguard-images/images).
Bumps the docker-images group with 1 update in the /cmd/fetcher directory: [chainguard/static](https://github.com/chainguard-images/images).
Bumps the docker-images group with 1 update in the /cmd/fission-bundle directory: [chainguard/static](https://github.com/chainguard-images/images).
Bumps the docker-images group with 1 update in the /cmd/preupgradechecks directory: [chainguard/static](https://github.com/chainguard-images/images).
Bumps the docker-images group with 1 update in the /cmd/reporter directory: [chainguard/static](https://github.com/chainguard-images/images).


Updates `chainguard/static` from `7e1e8a0` to `5497b01`
- [Commits](https://github.com/chainguard-images/images/commits)

Updates `chainguard/static` from `7e1e8a0` to `5497b01`
- [Commits](https://github.com/chainguard-images/images/commits)

Updates `chainguard/static` from `7e1e8a0` to `5497b01`
- [Commits](https://github.com/chainguard-images/images/commits)

Updates `chainguard/static` from `7e1e8a0` to `5497b01`
- [Commits](https://github.com/chainguard-images/images/commits)

Updates `chainguard/static` from `7e1e8a0` to `5497b01`
- [Commits](https://github.com/chainguard-images/images/commits)

---
updated-dependencies:
- dependency-name: chainguard/static
  dependency-type: direct:production
  dependency-group: docker-images
- dependency-name: chainguard/static
  dependency-type: direct:production
  dependency-group: docker-images
- dependency-name: chainguard/static
  dependency-type: direct:production
  dependency-group: docker-images
- dependency-name: chainguard/static
  dependency-type: direct:production
  dependency-group: docker-images
- dependency-name: chainguard/static
  dependency-type: direct:production
  dependency-group: docker-images
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-21 23:18:39 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
14e829f6a4 Bump the github-actions group with 2 updates (#3148)
Bumps the github-actions group with 2 updates: [step-security/harden-runner](https://github.com/step-security/harden-runner) and [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action).


Updates `step-security/harden-runner` from 2.10.3 to 2.10.4
- [Release notes](https://github.com/step-security/harden-runner/releases)
- [Commits](https://github.com/step-security/harden-runner/compare/c95a14d0e5bab51a9f56296a4eb0e416910cd350...cb605e52c26070c328afc4562f0b4ada7618a84e)

Updates `golangci/golangci-lint-action` from 6.1.1 to 6.2.0
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/971e284b6050e8a5849b72094c50ab08da042db8...ec5d18412c0aeab7936cb16880d708ba2a64e1ae)

---
updated-dependencies:
- dependency-name: step-security/harden-runner
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-20 17:21:27 +05:30
703613a475 fix: custom runtime container name is invalid (#3065)
* fix: custom runtime container name is invalid

* lint: pkg/executor/executortype/newdeploy/newdeploy.go

* Custom name for runtime container

Signed-off-by: Md Soharab Ansari <soharab.ansari@infracloud.io>

---------

Signed-off-by: Md Soharab Ansari <soharab.ansari@infracloud.io>
Co-authored-by: Md Soharab Ansari <soharab.ansari@infracloud.io>
2025-01-20 16:41:18 +05:30
Sanket SudakeandGitHub 0bbb5c5f38 Update chart version v1.21.0-rc2 (#3146)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2025-01-19 10:58:03 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
d8aa5b7374 Bump the docker-images group across 5 directories with 1 update (#3139)
Bumps the docker-images group with 1 update in the /cmd/builder directory: [chainguard/static](https://github.com/chainguard-images/images).
Bumps the docker-images group with 1 update in the /cmd/fetcher directory: [chainguard/static](https://github.com/chainguard-images/images).
Bumps the docker-images group with 1 update in the /cmd/fission-bundle directory: [chainguard/static](https://github.com/chainguard-images/images).
Bumps the docker-images group with 1 update in the /cmd/preupgradechecks directory: [chainguard/static](https://github.com/chainguard-images/images).
Bumps the docker-images group with 1 update in the /cmd/reporter directory: [chainguard/static](https://github.com/chainguard-images/images).


Updates `chainguard/static` from `f96b5a6` to `7e1e8a0`
- [Commits](https://github.com/chainguard-images/images/commits)

Updates `chainguard/static` from `f96b5a6` to `7e1e8a0`
- [Commits](https://github.com/chainguard-images/images/commits)

Updates `chainguard/static` from `f96b5a6` to `7e1e8a0`
- [Commits](https://github.com/chainguard-images/images/commits)

Updates `chainguard/static` from `f96b5a6` to `7e1e8a0`
- [Commits](https://github.com/chainguard-images/images/commits)

Updates `chainguard/static` from `f96b5a6` to `7e1e8a0`
- [Commits](https://github.com/chainguard-images/images/commits)

---
updated-dependencies:
- dependency-name: chainguard/static
  dependency-type: direct:production
  dependency-group: docker-images
- dependency-name: chainguard/static
  dependency-type: direct:production
  dependency-group: docker-images
- dependency-name: chainguard/static
  dependency-type: direct:production
  dependency-group: docker-images
- dependency-name: chainguard/static
  dependency-type: direct:production
  dependency-group: docker-images
- dependency-name: chainguard/static
  dependency-type: direct:production
  dependency-group: docker-images
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-16 12:50:05 +05:30
Sanket SudakeandGitHub f44983f02a Use GHCR repo for fetcher image by default (#3145)
* Use GHCR repo for fetcher image by default

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* Fix help template

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* Fix all templates used

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

---------

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2025-01-16 12:35:18 +05:30
Sanket SudakeandGitHub 9f0bb6d11f Update chart version v1.21.0-rc1 (#3143)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2025-01-13 18:44:50 +05:30
a8157e94a9 PR-3051: Fix download deploy package out of k8s cluster (#3136)
* Fix download deploy package out of k8s cluster

Signed-off-by: LiuXiang <lx1036@126.com>

* Fix pkg getdeploy cli command to fetch pkgs stored in storagesvc and remote pkgs

Signed-off-by: Md Soharab Ansari <soharab.ansari@infracloud.io>

* Instead of Contains, parse url and check path for better validation

Signed-off-by: Md Soharab Ansari <soharab.ansari@infracloud.io>

---------

Signed-off-by: LiuXiang <lx1036@126.com>
Signed-off-by: Md Soharab Ansari <soharab.ansari@infracloud.io>
Co-authored-by: LiuXiang <lx1036@126.com>
2025-01-13 12:55:50 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
cd23fc6f63 Bump the github-actions group with 4 updates (#3140)
Bumps the github-actions group with 4 updates: [step-security/harden-runner](https://github.com/step-security/harden-runner), [github/codeql-action](https://github.com/github/codeql-action), [actions/upload-artifact](https://github.com/actions/upload-artifact) and [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action).


Updates `step-security/harden-runner` from 2.10.2 to 2.10.3
- [Release notes](https://github.com/step-security/harden-runner/releases)
- [Commits](https://github.com/step-security/harden-runner/compare/0080882f6c36860b6ba35c610c98ce87d4e2f26f...c95a14d0e5bab51a9f56296a4eb0e416910cd350)

Updates `github/codeql-action` from 3.28.0 to 3.28.1
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/48ab28a6f5dbc2a99bf1e0131198dd8f1df78169...b6a472f63d85b9c78a3ac5e89422239fc15e9b3c)

Updates `actions/upload-artifact` from 4.5.0 to 4.6.0
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/6f51ac03b9356f520e9adb1b1b7802705f340c2b...65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08)

Updates `docker/setup-qemu-action` from 3.2.0 to 3.3.0
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/49b3bc8e6bdd4a60e6116a5414239cba5943d3cf...53851d14592bedcffcf25ea515637cff71ef929a)

---
updated-dependencies:
- dependency-name: step-security/harden-runner
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: github-actions
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-13 10:57:52 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
40678800e6 Bump the go-dependencies group with 4 updates (#3141)
Bumps the go-dependencies group with 4 updates: [github.com/IBM/sarama](https://github.com/IBM/sarama), [github.com/mholt/archives](https://github.com/mholt/archives), [golang.org/x/net](https://github.com/golang/net) and [sigs.k8s.io/controller-runtime](https://github.com/kubernetes-sigs/controller-runtime).


Updates `github.com/IBM/sarama` from 1.44.0 to 1.45.0
- [Release notes](https://github.com/IBM/sarama/releases)
- [Changelog](https://github.com/IBM/sarama/blob/main/CHANGELOG.md)
- [Commits](https://github.com/IBM/sarama/compare/v1.44.0...v1.45.0)

Updates `github.com/mholt/archives` from 0.0.0-20241226194006-fc8400ac3529 to 0.1.0
- [Release notes](https://github.com/mholt/archives/releases)
- [Commits](https://github.com/mholt/archives/commits/v0.1.0)

Updates `golang.org/x/net` from 0.33.0 to 0.34.0
- [Commits](https://github.com/golang/net/compare/v0.33.0...v0.34.0)

Updates `sigs.k8s.io/controller-runtime` from 0.19.3 to 0.19.4
- [Release notes](https://github.com/kubernetes-sigs/controller-runtime/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-runtime/blob/main/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/controller-runtime/compare/v0.19.3...v0.19.4)

---
updated-dependencies:
- dependency-name: github.com/IBM/sarama
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: github.com/mholt/archives
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: sigs.k8s.io/controller-runtime
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-13 10:26:21 +05:30
Sanket SudakeandGitHub 6acb59f979 Update k8s versions and set minimum version to 1.27.0 (#3134)
* Update Kind Kuberntes versions
* Minimum k8s version to 1.27.0
* Pin ubuntu version in actions

---------

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2025-01-08 12:49:54 +05:30
Sanket SudakeandGitHub 4bce904c96 Use mholt/archives instead of mholt/archiver (#3128)
* Use mholt/archives instead of mholt/archiver
* Fix validations
* Fix iszip function
* Fix directory
* Add better path sanitization
* ensure safe dir is passed
* Fix file permissions
* Fix config path
* Sanitize builder source path

---------

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2025-01-08 11:00:54 +05:30
Sanket SudakeandGitHub 54b67b5171 Use controller-gen and code-generator latest version (#3133)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2025-01-06 23:27:26 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
96b07bf9a8 Bump the go-dependencies group with 3 updates (#3131)
Bumps the go-dependencies group with 3 updates: [github.com/go-git/go-git/v5](https://github.com/go-git/go-git), [sigs.k8s.io/controller-tools](https://github.com/kubernetes-sigs/controller-tools) and [sigs.k8s.io/structured-merge-diff/v4](https://github.com/kubernetes-sigs/structured-merge-diff).


Updates `github.com/go-git/go-git/v5` from 5.13.0 to 5.13.1
- [Release notes](https://github.com/go-git/go-git/releases)
- [Commits](https://github.com/go-git/go-git/compare/v5.13.0...v5.13.1)

Updates `sigs.k8s.io/controller-tools` from 0.16.5 to 0.17.0
- [Release notes](https://github.com/kubernetes-sigs/controller-tools/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-tools/blob/main/envtest-releases.yaml)
- [Commits](https://github.com/kubernetes-sigs/controller-tools/compare/v0.16.5...v0.17.0)

Updates `sigs.k8s.io/structured-merge-diff/v4` from 4.4.2 to 4.5.0
- [Release notes](https://github.com/kubernetes-sigs/structured-merge-diff/releases)
- [Changelog](https://github.com/kubernetes-sigs/structured-merge-diff/blob/master/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/structured-merge-diff/compare/v4.4.2...v4.5.0)

---
updated-dependencies:
- dependency-name: github.com/go-git/go-git/v5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-dependencies
- dependency-name: sigs.k8s.io/controller-tools
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: sigs.k8s.io/structured-merge-diff/v4
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 15:51:26 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
b156625997 Bump the docker-images group across 5 directories with 1 update (#3132)
Bumps the docker-images group with 1 update in the /cmd/builder directory: [chainguard/static](https://github.com/chainguard-images/images).
Bumps the docker-images group with 1 update in the /cmd/fetcher directory: [chainguard/static](https://github.com/chainguard-images/images).
Bumps the docker-images group with 1 update in the /cmd/fission-bundle directory: [chainguard/static](https://github.com/chainguard-images/images).
Bumps the docker-images group with 1 update in the /cmd/preupgradechecks directory: [chainguard/static](https://github.com/chainguard-images/images).
Bumps the docker-images group with 1 update in the /cmd/reporter directory: [chainguard/static](https://github.com/chainguard-images/images).


Updates `chainguard/static` from `f5fe67a` to `f96b5a6`
- [Commits](https://github.com/chainguard-images/images/commits)

Updates `chainguard/static` from `f5fe67a` to `f96b5a6`
- [Commits](https://github.com/chainguard-images/images/commits)

Updates `chainguard/static` from `f5fe67a` to `f96b5a6`
- [Commits](https://github.com/chainguard-images/images/commits)

Updates `chainguard/static` from `f5fe67a` to `f96b5a6`
- [Commits](https://github.com/chainguard-images/images/commits)

Updates `chainguard/static` from `f5fe67a` to `f96b5a6`
- [Commits](https://github.com/chainguard-images/images/commits)

---
updated-dependencies:
- dependency-name: chainguard/static
  dependency-type: direct:production
  dependency-group: docker-images
- dependency-name: chainguard/static
  dependency-type: direct:production
  dependency-group: docker-images
- dependency-name: chainguard/static
  dependency-type: direct:production
  dependency-group: docker-images
- dependency-name: chainguard/static
  dependency-type: direct:production
  dependency-group: docker-images
- dependency-name: chainguard/static
  dependency-type: direct:production
  dependency-group: docker-images
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-06 15:05:50 +05:30
sofsmsandGitHub 6cf15f6cec Update create.go to handle namespace isolation (#3130) 2025-01-03 23:28:02 +05:30
Dnowan MethyandGitHub 3f0e4f5e81 fix: fix slice init length (#3064)
Signed-off-by: occupyhabit <wangmengjiao@outlook.com>
2025-01-01 22:26:18 +05:30
LiuXiangandGitHub 1358aa2a81 Log only related configmap and secret (#3049)
Signed-off-by: LiuXiang <lx1036@126.com>
2025-01-01 22:13:36 +05:30
Simon EmmsandGitHub f0aaef203e fix: apply kubernetes resources to the webhook-server (#3084) 2024-12-30 14:59:56 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>Sanket Sudake
77d24fc544 Bump the go-dependencies group across 1 directory with 25 updates (#3125)
* Bump the go-dependencies group across 1 directory with 25 updates

Bumps the go-dependencies group with 13 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [github.com/IBM/sarama](https://github.com/IBM/sarama) | `1.43.3` | `1.44.0` |
| [github.com/fatih/color](https://github.com/fatih/color) | `1.17.0` | `1.18.0` |
| [github.com/fsnotify/fsnotify](https://github.com/fsnotify/fsnotify) | `1.7.0` | `1.8.0` |
| [github.com/go-git/go-git/v5](https://github.com/go-git/go-git) | `5.12.0` | `5.13.0` |
| [github.com/influxdata/influxdb](https://github.com/influxdata/influxdb) | `1.11.6` | `1.11.8` |
| [github.com/kedacore/keda/v2](https://github.com/kedacore/keda) | `2.15.1` | `2.16.1` |
| [go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp](https://github.com/open-telemetry/opentelemetry-go-contrib) | `0.55.0` | `0.58.0` |
| [go.opentelemetry.io/contrib/propagators/autoprop](https://github.com/open-telemetry/opentelemetry-go-contrib) | `0.55.0` | `0.58.0` |
| [go.opentelemetry.io/otel/exporters/otlp/otlptrace](https://github.com/open-telemetry/opentelemetry-go) | `1.32.0` | `1.33.0` |
| [go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc](https://github.com/open-telemetry/opentelemetry-go) | `1.32.0` | `1.33.0` |
| [k8s.io/api](https://github.com/kubernetes/api) | `0.31.3` | `0.32.0` |
| [k8s.io/apiextensions-apiserver](https://github.com/kubernetes/apiextensions-apiserver) | `0.31.3` | `0.32.0` |
| [k8s.io/metrics](https://github.com/kubernetes/metrics) | `0.31.3` | `0.32.0` |



Updates `github.com/IBM/sarama` from 1.43.3 to 1.44.0
- [Release notes](https://github.com/IBM/sarama/releases)
- [Changelog](https://github.com/IBM/sarama/blob/main/CHANGELOG.md)
- [Commits](https://github.com/IBM/sarama/compare/v1.43.3...v1.44.0)

Updates `github.com/fatih/color` from 1.17.0 to 1.18.0
- [Release notes](https://github.com/fatih/color/releases)
- [Commits](https://github.com/fatih/color/compare/v1.17.0...v1.18.0)

Updates `github.com/fsnotify/fsnotify` from 1.7.0 to 1.8.0
- [Release notes](https://github.com/fsnotify/fsnotify/releases)
- [Changelog](https://github.com/fsnotify/fsnotify/blob/main/CHANGELOG.md)
- [Commits](https://github.com/fsnotify/fsnotify/compare/v1.7.0...v1.8.0)

Updates `github.com/go-git/go-git/v5` from 5.12.0 to 5.13.0
- [Release notes](https://github.com/go-git/go-git/releases)
- [Commits](https://github.com/go-git/go-git/compare/v5.12.0...v5.13.0)

Updates `github.com/influxdata/influxdb` from 1.11.6 to 1.11.8
- [Release notes](https://github.com/influxdata/influxdb/releases)
- [Commits](https://github.com/influxdata/influxdb/compare/v1.11.6...v1.11.8)

Updates `github.com/kedacore/keda/v2` from 2.15.1 to 2.16.1
- [Release notes](https://github.com/kedacore/keda/releases)
- [Changelog](https://github.com/kedacore/keda/blob/main/CHANGELOG.md)
- [Commits](https://github.com/kedacore/keda/compare/v2.15.1...v2.16.1)

Updates `github.com/prometheus/common` from 0.59.1 to 0.61.0
- [Release notes](https://github.com/prometheus/common/releases)
- [Changelog](https://github.com/prometheus/common/blob/main/RELEASE.md)
- [Commits](https://github.com/prometheus/common/compare/v0.59.1...v0.61.0)

Updates `github.com/stretchr/testify` from 1.9.0 to 1.10.0
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.9.0...v1.10.0)

Updates `go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp` from 0.55.0 to 0.58.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.55.0...zpages/v0.58.0)

Updates `go.opentelemetry.io/contrib/propagators/autoprop` from 0.55.0 to 0.58.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go-contrib/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go-contrib/compare/zpages/v0.55.0...zpages/v0.58.0)

Updates `go.opentelemetry.io/otel` from 1.32.0 to 1.33.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.32.0...v1.33.0)

Updates `go.opentelemetry.io/otel/exporters/otlp/otlptrace` from 1.32.0 to 1.33.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.32.0...v1.33.0)

Updates `go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc` from 1.32.0 to 1.33.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.32.0...v1.33.0)

Updates `go.opentelemetry.io/otel/sdk` from 1.32.0 to 1.33.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.32.0...v1.33.0)

Updates `go.opentelemetry.io/otel/trace` from 1.32.0 to 1.33.0
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-go/compare/v1.32.0...v1.33.0)

Updates `golang.org/x/net` from 0.30.0 to 0.33.0
- [Commits](https://github.com/golang/net/compare/v0.30.0...v0.33.0)

Updates `google.golang.org/grpc` from 1.67.1 to 1.69.2
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.67.1...v1.69.2)

Updates `k8s.io/api` from 0.31.3 to 0.32.0
- [Commits](https://github.com/kubernetes/api/compare/v0.31.3...v0.32.0)

Updates `k8s.io/apiextensions-apiserver` from 0.31.3 to 0.32.0
- [Release notes](https://github.com/kubernetes/apiextensions-apiserver/releases)
- [Commits](https://github.com/kubernetes/apiextensions-apiserver/compare/v0.31.3...v0.32.0)

Updates `k8s.io/apimachinery` from 0.31.3 to 0.32.0
- [Commits](https://github.com/kubernetes/apimachinery/compare/v0.31.3...v0.32.0)

Updates `k8s.io/client-go` from 0.31.3 to 0.32.0
- [Changelog](https://github.com/kubernetes/client-go/blob/master/CHANGELOG.md)
- [Commits](https://github.com/kubernetes/client-go/compare/v0.31.3...v0.32.0)

Updates `k8s.io/code-generator` from 0.31.3 to 0.32.0
- [Commits](https://github.com/kubernetes/code-generator/compare/v0.31.3...v0.32.0)

Updates `k8s.io/metrics` from 0.31.3 to 0.32.0
- [Commits](https://github.com/kubernetes/metrics/compare/v0.31.3...v0.32.0)

Updates `sigs.k8s.io/controller-tools` from 0.16.3 to 0.16.5
- [Release notes](https://github.com/kubernetes-sigs/controller-tools/releases)
- [Changelog](https://github.com/kubernetes-sigs/controller-tools/blob/main/envtest-releases.yaml)
- [Commits](https://github.com/kubernetes-sigs/controller-tools/compare/v0.16.3...v0.16.5)

Updates `sigs.k8s.io/structured-merge-diff/v4` from 4.4.1 to 4.4.2
- [Release notes](https://github.com/kubernetes-sigs/structured-merge-diff/releases)
- [Changelog](https://github.com/kubernetes-sigs/structured-merge-diff/blob/master/RELEASE.md)
- [Commits](https://github.com/kubernetes-sigs/structured-merge-diff/compare/v4.4.1...v4.4.2)

---
updated-dependencies:
- dependency-name: github.com/IBM/sarama
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: github.com/fatih/color
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: github.com/fsnotify/fsnotify
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: github.com/go-git/go-git/v5
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: github.com/influxdata/influxdb
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-dependencies
- dependency-name: github.com/kedacore/keda/v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: github.com/prometheus/common
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: go.opentelemetry.io/contrib/propagators/autoprop
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: go.opentelemetry.io/otel
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlptrace
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: go.opentelemetry.io/otel/sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: go.opentelemetry.io/otel/trace
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: golang.org/x/net
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: google.golang.org/grpc
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: k8s.io/api
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: k8s.io/apiextensions-apiserver
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: k8s.io/apimachinery
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: k8s.io/client-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: k8s.io/code-generator
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: k8s.io/metrics
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-dependencies
- dependency-name: sigs.k8s.io/controller-tools
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-dependencies
- dependency-name: sigs.k8s.io/structured-merge-diff/v4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>

* Lint fixes

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* Few more lint fixes

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sanket Sudake <sanketsudake@gmail.com>
2024-12-30 14:49:14 +05:30
Sanket SudakeandGitHub a083ba3de5 Update Go version to 1.23.4 (#3126)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2024-12-30 11:21:21 +05:30
Sanket SudakeandGitHub 6a50eac9eb Fix SBOM and provenance for releases (#3124)
* Provenance generation fixes
* try sbom flags
* remove unwanted changes
* add container sbom support
* Fix more labels
* Fix env variable
* revert local changes

---------

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2024-12-30 09:21:01 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
b954eedff7 Bump helm/kind-action from 1.11.0 to 1.12.0 in the github-actions group (#3122)
Bumps the github-actions group with 1 update: [helm/kind-action](https://github.com/helm/kind-action).


Updates `helm/kind-action` from 1.11.0 to 1.12.0
- [Release notes](https://github.com/helm/kind-action/releases)
- [Commits](https://github.com/helm/kind-action/compare/ae94020eaf628e9b9b9f341a10cc0cdcf5c018fb...a1b0e391336a6ee6713a0583f8c6240d70863de3)

---
updated-dependencies:
- dependency-name: helm/kind-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: github-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-26 12:59:35 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
0247627494 Bump the docker-images group across 5 directories with 1 update (#3121)
Bumps the docker-images group with 1 update in the /cmd/builder directory: [chainguard/static](https://github.com/chainguard-images/images).
Bumps the docker-images group with 1 update in the /cmd/fetcher directory: [chainguard/static](https://github.com/chainguard-images/images).
Bumps the docker-images group with 1 update in the /cmd/fission-bundle directory: [chainguard/static](https://github.com/chainguard-images/images).
Bumps the docker-images group with 1 update in the /cmd/preupgradechecks directory: [chainguard/static](https://github.com/chainguard-images/images).
Bumps the docker-images group with 1 update in the /cmd/reporter directory: [chainguard/static](https://github.com/chainguard-images/images).


Updates `chainguard/static` from `5ff428f` to `f5fe67a`
- [Commits](https://github.com/chainguard-images/images/commits)

Updates `chainguard/static` from `5ff428f` to `f5fe67a`
- [Commits](https://github.com/chainguard-images/images/commits)

Updates `chainguard/static` from `5ff428f` to `f5fe67a`
- [Commits](https://github.com/chainguard-images/images/commits)

Updates `chainguard/static` from `5ff428f` to `f5fe67a`
- [Commits](https://github.com/chainguard-images/images/commits)

Updates `chainguard/static` from `5ff428f` to `f5fe67a`
- [Commits](https://github.com/chainguard-images/images/commits)

---
updated-dependencies:
- dependency-name: chainguard/static
  dependency-type: direct:production
  dependency-group: docker-images
- dependency-name: chainguard/static
  dependency-type: direct:production
  dependency-group: docker-images
- dependency-name: chainguard/static
  dependency-type: direct:production
  dependency-group: docker-images
- dependency-name: chainguard/static
  dependency-type: direct:production
  dependency-group: docker-images
- dependency-name: chainguard/static
  dependency-type: direct:production
  dependency-group: docker-images
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-26 12:53:48 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
158c40a7af Bump golang.org/x/crypto from 0.28.0 to 0.31.0 in the go_modules group (#3110)
Bumps the go_modules group with 1 update: [golang.org/x/crypto](https://github.com/golang/crypto).


Updates `golang.org/x/crypto` from 0.28.0 to 0.31.0
- [Commits](https://github.com/golang/crypto/compare/v0.28.0...v0.31.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-type: indirect
  dependency-group: go_modules
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-26 12:06:59 +05:30
Sanket SudakeandGitHub 699011e18e Update dependabot.yml grouping (#3119) 2024-12-26 12:03:49 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e7dc87843a Bump Github Actions versions (#3118)
Bumps the global group with 9 updates:

| Package | From | To |
| --- | --- | --- |
| [actions/checkout](https://github.com/actions/checkout) | `4.1.1` | `4.2.2` |
| [actions/setup-go](https://github.com/actions/setup-go) | `5.1.0` | `5.2.0` |
| [github/codeql-action](https://github.com/github/codeql-action) | `3.26.9` | `3.28.0` |
| [codecov/codecov-action](https://github.com/codecov/codecov-action) | `5.1.1` | `5.1.2` |
| [helm/kind-action](https://github.com/helm/kind-action) | `1.10.0` | `1.11.0` |
| [goreleaser/goreleaser-action](https://github.com/goreleaser/goreleaser-action) | `6.0.0` | `6.1.0` |
| [actions/upload-artifact](https://github.com/actions/upload-artifact) | `4.4.3` | `4.5.0` |
| [anchore/sbom-action](https://github.com/anchore/sbom-action) | `0.17.8` | `0.17.9` |
| [ossf/scorecard-action](https://github.com/ossf/scorecard-action) | `2.3.1` | `2.4.0` |


Updates `actions/checkout` from 4.1.1 to 4.2.2
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4.1.1...11bd71901bbe5b1630ceea73d27597364c9af683)

Updates `actions/setup-go` from 5.1.0 to 5.2.0
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed...3041bf56c941b39c61721a86cd11f3bb1338122a)

Updates `github/codeql-action` from 3.26.9 to 3.28.0
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3.26.9...48ab28a6f5dbc2a99bf1e0131198dd8f1df78169)

Updates `codecov/codecov-action` from 5.1.1 to 5.1.2
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/7f8b4b4bde536c465e797be725718b88c5d95e0e...1e68e06f1dbfde0e4cefc87efeba9e4643565303)

Updates `helm/kind-action` from 1.10.0 to 1.11.0
- [Release notes](https://github.com/helm/kind-action/releases)
- [Commits](https://github.com/helm/kind-action/compare/0025e74a8c7512023d06dc019c617aa3cf561fde...ae94020eaf628e9b9b9f341a10cc0cdcf5c018fb)

Updates `goreleaser/goreleaser-action` from 6.0.0 to 6.1.0
- [Release notes](https://github.com/goreleaser/goreleaser-action/releases)
- [Commits](https://github.com/goreleaser/goreleaser-action/compare/286f3b13b1b49da4ac219696163fb8c1c93e1200...9ed2f89a662bf1735a48bc8557fd212fa902bebf)

Updates `actions/upload-artifact` from 4.4.3 to 4.5.0
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882...6f51ac03b9356f520e9adb1b1b7802705f340c2b)

Updates `anchore/sbom-action` from 0.17.8 to 0.17.9
- [Release notes](https://github.com/anchore/sbom-action/releases)
- [Changelog](https://github.com/anchore/sbom-action/blob/main/RELEASE.md)
- [Commits](https://github.com/anchore/sbom-action/compare/v0.17.8...v0.17.9)

Updates `ossf/scorecard-action` from 2.3.1 to 2.4.0
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](https://github.com/ossf/scorecard-action/compare/0864cf19026789058feabb7e87baa5f140aac736...62b2cac7ed8198b15735ed49ab1e5cf35480ba46)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: global
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: global
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: global
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: global
- dependency-name: helm/kind-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: global
- dependency-name: goreleaser/goreleaser-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: global
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: global
- dependency-name: anchore/sbom-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: global
- dependency-name: ossf/scorecard-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: global
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-23 17:21:14 +05:30
Sanket SudakeandGitHub e67c3b7945 Grouped dependabot updates for dockerfile and github-actions (#3111)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2024-12-23 10:22:04 +05:30
Sanket SudakeandGitHub 36ed2e44aa Update dependabot.yml (#3094) 2024-12-09 11:54:23 +05:30
Sanket SudakeandGitHub 38779b9318 Add provenance steps for release (#3083)
* Add provenance steps for release
* Update release workflow
* Fix branch filters
* Cleanup release code
* Fix attestation steps
* Add SBOM and disable image provenance
* Disable image provenance
* fix sbom install
* Add sboms to goreleaser
* Update SLSA version to v2.0.0

---------

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2024-12-09 00:41:24 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
7058130c3b Bump github.com/prometheus/client_golang from 1.20.4 to 1.20.5 (#3077)
Bumps [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) from 1.20.4 to 1.20.5.
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.20.4...v1.20.5)

---
updated-dependencies:
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-08 13:51:32 +05:30
Sanket SudakeandGitHub 9644477d08 Update Go dependencies (#3081)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2024-12-08 12:59:56 +05:30
Sanket SudakeandGitHub 87cac28cad Skip CI for dependabot PR and remove manual dispatch (#3080)
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2024-12-08 12:06:17 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
238cfd854b Bump golangci/golangci-lint-action from 6.1.0 to 6.1.1 (#3070)
Bumps [golangci/golangci-lint-action](https://github.com/golangci/golangci-lint-action) from 6.1.0 to 6.1.1.
- [Release notes](https://github.com/golangci/golangci-lint-action/releases)
- [Commits](https://github.com/golangci/golangci-lint-action/compare/aaa42aa0628b4ae2578232a66b541047968fac86...971e284b6050e8a5849b72094c50ab08da042db8)

---
updated-dependencies:
- dependency-name: golangci/golangci-lint-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-08 11:21:01 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
f7cc0ac32d Bump codecov/codecov-action from 4.5.0 to 5.1.1 (#3071)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4.5.0 to 5.1.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/e28ff129e5465c2c0dcc6f003fc735cb6ae0c673...7f8b4b4bde536c465e797be725718b88c5d95e0e)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-08 11:20:38 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
d8108c6742 Bump sigstore/cosign-installer from 3.6.0 to 3.7.0 (#3072)
Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.6.0 to 3.7.0.
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](https://github.com/sigstore/cosign-installer/compare/4959ce089c160fddf62f7b42464195ba1a56d382...dc72c7d5c4d10cd6bcb8cf6e3fd625a9e5e537da)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-08 11:20:11 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
d5eafded1a Bump actions/upload-artifact from 4.4.0 to 4.4.3 (#3073)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.4.0 to 4.4.3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.4.0...b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-08 11:19:46 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
48e8acedfb Bump actions/setup-go from 5.0.2 to 5.1.0 (#3074)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5.0.2 to 5.1.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](https://github.com/actions/setup-go/compare/0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32...41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-08 11:19:16 +05:30
11a2fdbdab Apply best security practices for OpenSSF (#3069)
* [StepSecurity] Apply security best practices
* Keep needed check in precommit

---------

Signed-off-by: StepSecurity Bot <bot@stepsecurity.io>
Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
Co-authored-by: StepSecurity Bot <bot@stepsecurity.io>
2024-12-08 11:07:14 +05:30
Sanket SudakeandGitHub 0aa1a12cdc Add OpenSSF scorecard badge (#3067)
* Add OpenSSF scorecard badge
* Run CodeQL on all commits

---------

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2024-12-08 09:30:53 +05:30
Sanket SudakeandGitHub f37c5ee102 Add OpenSSF Scorecard action (#3066) 2024-12-08 09:01:44 +05:30
Sanket SudakeandGitHub 59267e3a6b Add path safety fixes (#3061)
* Add path safety fixes

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* minor changes

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

* revert test_huge_response test

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>

---------

Signed-off-by: Sanket Sudake <sanketsudake@gmail.com>
2024-11-18 12:19:34 +05:30
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
82c0fbaeda Bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 (#3056)
Bumps [github.com/golang-jwt/jwt/v4](https://github.com/golang-jwt/jwt) from 4.5.0 to 4.5.1.
- [Release notes](https://github.com/golang-jwt/jwt/releases)
- [Changelog](https://github.com/golang-jwt/jwt/blob/main/VERSION_HISTORY.md)
- [Commits](https://github.com/golang-jwt/jwt/compare/v4.5.0...v4.5.1)

---
updated-dependencies:
- dependency-name: github.com/golang-jwt/jwt/v4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-05 11:06:42 +05:30
soharab-icandGitHub 2d70c9d65f Remove unreachable code from fission-cli (#3039)
Signed-off-by: Md Soharab Ansari <soharab.ansari@infracloud.io>
2024-10-11 13:01:36 +05:30
soharab-icandGitHub c43f6fe9c0 Update K8s version for envtest to 1.30.x (#3038)
* Update K8s version for envtest to 1.30.x
* Minor change to trigger tests

---------

Signed-off-by: Md Soharab Ansari <soharab.ansari@infracloud.io>
2024-10-10 11:47:36 +05:30
soharab-icandGitHub 36f318186b Add podSpec to generated environment manifest (#3033)
* Use builder and container names when creating environment K8s object instead of keeping it empty.
Add skeleton for podSpec field to give user an idea of how to use podSpec field.
* Add a positive test for env podSpec
* Add the test to CI tests
* Remove duplicate wait_for_builder function
* Fix CI tests failure
* Fix CI tests failure
* Add a negative test for env podSpec
* Fix issues with negative test
* Removing negative test as it may break executor which will affect other tests
* Rebase with main as executor issue is fixed.
Add the negative test.
* Fix negative test


---------

Signed-off-by: Md Soharab Ansari <soharab.ansari@infracloud.io>
2024-10-09 11:11:19 +05:30
soharab-icandGitHub fe7f1b07c9 Fix cleanup in executortype poolmgr on invalid manifest (#3034)
The bug breaks the poolmgr service which stops the deletion and creation of new environments.

Signed-off-by: Md Soharab Ansari <soharab.ansari@infracloud.io>
2024-10-08 19:10:08 +05:30
164 changed files with 4474 additions and 3506 deletions
+36
View File
@@ -0,0 +1,36 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
open-pull-requests-limit: 5
groups:
github-actions:
patterns:
- "*"
- package-ecosystem: docker
directories:
- /cmd/builder
- /cmd/fetcher
- /cmd/fission-bundle
- /cmd/preupgradechecks
- /cmd/reporter
schedule:
interval: weekly
open-pull-requests-limit: 5
groups:
docker-images:
patterns:
- "*"
- package-ecosystem: gomod
directory: /
schedule:
interval: weekly
open-pull-requests-limit: 5
groups:
go-dependencies:
patterns:
- "*"
+18 -14
View File
@@ -4,39 +4,43 @@ on:
push: push:
branches: branches:
- main - main
paths: - '!dependabot/**'
- '**.go'
- go.mod
- go.sum
pull_request: pull_request:
branches: branches:
- main - main
paths:
- '**.go'
- go.mod
- go.sum
schedule: schedule:
- cron: "0 0 * * 0" - cron: "0 0 * * 0"
workflow_dispatch:
permissions:
contents: read
jobs: jobs:
CodeQL-Build: CodeQL-Build:
runs-on: ubuntu-latest permissions:
actions: read # for github/codeql-action/init to get workflow details
contents: read # for actions/checkout to fetch code
security-events: write # for github/codeql-action/analyze to upload SARIF results
runs-on: ubuntu-24.04
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }} if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }}
steps: steps:
- name: Harden Runner
uses: step-security/harden-runner@cb605e52c26070c328afc4562f0b4ada7618a84e # v2.10.4
with:
egress-policy: audit
- name: Check out code - name: Check out code
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: setup go - name: setup go
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
with: with:
go-version-file: "go.mod" go-version-file: "go.mod"
cache: true cache: true
- name: Initialize CodeQL - name: Initialize CodeQL
uses: github/codeql-action/init@461ef6c76dfe95d5c364de2f431ddbd31a417628 # v3.26.9 uses: github/codeql-action/init@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1
with: with:
languages: go languages: go
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@461ef6c76dfe95d5c364de2f431ddbd31a417628 # v3.26.9 uses: github/codeql-action/analyze@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1
+27
View File
@@ -0,0 +1,27 @@
# Dependency Review Action
#
# This Action will scan dependency manifest files that change as part of a Pull Request,
# surfacing known-vulnerable versions of the packages declared or updated in the PR.
# Once installed, if the workflow run is marked as required,
# PRs introducing known-vulnerable packages will be blocked from merging.
#
# Source repository: https://github.com/actions/dependency-review-action
name: 'Dependency Review'
on: [pull_request]
permissions:
contents: read
jobs:
dependency-review:
runs-on: ubuntu-24.04
steps:
- name: Harden Runner
uses: step-security/harden-runner@cb605e52c26070c328afc4562f0b4ada7618a84e # v2.10.4
with:
egress-policy: audit
- name: 'Checkout Repository'
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: 'Dependency Review'
uses: actions/dependency-review-action@3b139cfc5fae8b618d3eae3675e383bb1769c019 # v4.5.0
+11 -4
View File
@@ -11,18 +11,25 @@ on:
- main - main
paths: paths:
- 'charts/fission-all/dashboards/**.json' - 'charts/fission-all/dashboards/**.json'
workflow_dispatch:
permissions:
contents: read
jobs: jobs:
lint-dashboards: lint-dashboards:
runs-on: ubuntu-latest runs-on: ubuntu-24.04
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }} if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }}
steps: steps:
- name: Harden Runner
uses: step-security/harden-runner@cb605e52c26070c328afc4562f0b4ada7618a84e # v2.10.4
with:
egress-policy: audit
- name: Check out code - name: Check out code
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Go - name: Set up Go
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
with: with:
go-version-file: "go.mod" go-version-file: "go.mod"
+17 -7
View File
@@ -15,22 +15,32 @@ on:
- "**.go" - "**.go"
- go.mod - go.mod
- go.sum - go.sum
workflow_dispatch:
env: env:
GOLANGCI_LINT_VERSION: v1.61.0 GOLANGCI_LINT_VERSION: v1.63.4
GOLANGCI_LINT_TIMEOUT: 5m GOLANGCI_LINT_TIMEOUT: 5m
permissions:
contents: read
jobs: jobs:
lint: lint:
runs-on: ubuntu-latest permissions:
contents: read # for actions/checkout to fetch code
pull-requests: read # for golangci/golangci-lint-action to fetch pull requests
runs-on: ubuntu-24.04
# if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }} # if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }}
steps: steps:
- name: Harden Runner
uses: step-security/harden-runner@cb605e52c26070c328afc4562f0b4ada7618a84e # v2.10.4
with:
egress-policy: audit
- name: Check out code - name: Check out code
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Set up Go - name: Set up Go
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
with: with:
go-version-file: "go.mod" go-version-file: "go.mod"
cache: true cache: true
@@ -41,7 +51,7 @@ jobs:
go mod download go mod download
- name: Run golangci-lint - name: Run golangci-lint
uses: golangci/golangci-lint-action@aaa42aa0628b4ae2578232a66b541047968fac86 # v6.1.0 uses: golangci/golangci-lint-action@ec5d18412c0aeab7936cb16880d708ba2a64e1ae # v6.2.0
with: with:
skip-cache: true skip-cache: true
version: ${{ env.GOLANGCI_LINT_VERSION }} version: ${{ env.GOLANGCI_LINT_VERSION }}
@@ -62,7 +72,7 @@ jobs:
run: ./hack/runtests.sh run: ./hack/runtests.sh
- name: Upload Coverage report to CodeCov - name: Upload Coverage report to CodeCov
uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0 uses: codecov/codecov-action@1e68e06f1dbfde0e4cefc87efeba9e4643565303 # v5.1.2
with: with:
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}
flags: unittests flags: unittests
+35 -22
View File
@@ -4,6 +4,7 @@ on:
push: push:
branches: branches:
- main - main
- '!dependabot/**'
paths: paths:
- "**.go" - "**.go"
- "charts/**" - "charts/**"
@@ -19,13 +20,15 @@ on:
- "test/**" - "test/**"
- go.mod - go.mod
- go.sum - go.sum
workflow_dispatch:
env: env:
HELM_VERSION: v3.13.0 HELM_VERSION: v3.16.4
KIND_VERSION: v0.23.0 KIND_VERSION: v0.26.0
KIND_CLUSTER_NAME: kind KIND_CLUSTER_NAME: kind
permissions:
contents: read
jobs: jobs:
# Job to run change detection # Job to run change detection
integration-test: integration-test:
@@ -34,20 +37,25 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
kindversion: ["v1.25.16", "v1.27.13", "v1.30.0"] kindversion: ["v1.28.15", "v1.30.8", "v1.32.0"]
os: [ubuntu-latest] os: [ubuntu-24.04]
steps: steps:
- name: Harden Runner
uses: step-security/harden-runner@cb605e52c26070c328afc4562f0b4ada7618a84e # v2.10.4
with:
egress-policy: audit
- name: Checkout sources - name: Checkout sources
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: setup go - name: setup go
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
with: with:
go-version-file: "go.mod" go-version-file: "go.mod"
cache: true cache: true
- name: Checkout sources - name: Checkout sources
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
repository: fission/examples repository: fission/examples
path: examples path: examples
@@ -58,7 +66,7 @@ jobs:
version: ${{ env.HELM_VERSION }} version: ${{ env.HELM_VERSION }}
- name: Kind Cluster - name: Kind Cluster
uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0 uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # v1.12.0
with: with:
node_image: kindest/node:${{ matrix.kindversion }} node_image: kindest/node:${{ matrix.kindversion }}
version: ${{ env.KIND_VERSION }} version: ${{ env.KIND_VERSION }}
@@ -84,7 +92,7 @@ jobs:
skaffold version skaffold version
- name: Install GoReleaser - name: Install GoReleaser
uses: goreleaser/goreleaser-action@286f3b13b1b49da4ac219696163fb8c1c93e1200 # v6.0.0 uses: goreleaser/goreleaser-action@9ed2f89a662bf1735a48bc8557fd212fa902bebf # v6.1.0
with: with:
install-only: true install-only: true
version: "~> v2" version: "~> v2"
@@ -145,7 +153,7 @@ jobs:
- name: Archive fission dump - name: Archive fission dump
timeout-minutes: 10 timeout-minutes: 10
if: ${{ failure() || cancelled() }} if: ${{ failure() || cancelled() }}
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with: with:
name: fission-dump-${{ github.run_id }}-${{ matrix.kindversion }} name: fission-dump-${{ github.run_id }}-${{ matrix.kindversion }}
path: fission-dump/*.zip path: fission-dump/*.zip
@@ -154,7 +162,7 @@ jobs:
- name: Archive prometheus dump - name: Archive prometheus dump
timeout-minutes: 10 timeout-minutes: 10
if: ${{ always() }} if: ${{ always() }}
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with: with:
name: prom-dump-${{ github.run_id }}-${{ matrix.kindversion }} name: prom-dump-${{ github.run_id }}-${{ matrix.kindversion }}
path: /tmp/prometheus/* path: /tmp/prometheus/*
@@ -163,7 +171,7 @@ jobs:
- name: Archive kind logs - name: Archive kind logs
timeout-minutes: 10 timeout-minutes: 10
if: ${{ always() }} if: ${{ always() }}
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with: with:
name: kind-logs-${{ github.run_id }}-${{ matrix.kindversion }} name: kind-logs-${{ github.run_id }}-${{ matrix.kindversion }}
path: kind-logs/* path: kind-logs/*
@@ -178,19 +186,24 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
kindversion: ["v1.19.16"] kindversion: ["v1.19.16"]
os: [ubuntu-latest] os: [ubuntu-24.04]
steps: steps:
- name: Harden Runner
uses: step-security/harden-runner@cb605e52c26070c328afc4562f0b4ada7618a84e # v2.10.4
with:
egress-policy: audit
- name: Checkout sources - name: Checkout sources
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: setup go - name: setup go
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
with: with:
go-version-file: "go.mod" go-version-file: "go.mod"
cache: true cache: true
- name: Checkout sources - name: Checkout sources
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
repository: fission/examples repository: fission/examples
path: examples path: examples
@@ -201,7 +214,7 @@ jobs:
version: ${{ env.HELM_VERSION }} version: ${{ env.HELM_VERSION }}
- name: Kind Cluster - name: Kind Cluster
uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0 uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # v1.12.0
with: with:
node_image: kindest/node:${{ matrix.kindversion }} node_image: kindest/node:${{ matrix.kindversion }}
version: ${{ env.KIND_VERSION }} version: ${{ env.KIND_VERSION }}
@@ -227,7 +240,7 @@ jobs:
skaffold version skaffold version
- name: Install GoReleaser - name: Install GoReleaser
uses: goreleaser/goreleaser-action@286f3b13b1b49da4ac219696163fb8c1c93e1200 # v6.0.0 uses: goreleaser/goreleaser-action@9ed2f89a662bf1735a48bc8557fd212fa902bebf # v6.1.0
with: with:
install-only: true install-only: true
version: "~> v2" version: "~> v2"
@@ -291,7 +304,7 @@ jobs:
- name: Archive fission dump - name: Archive fission dump
timeout-minutes: 10 timeout-minutes: 10
if: ${{ failure() || cancelled() }} if: ${{ failure() || cancelled() }}
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with: with:
name: fission-dump-${{ github.run_id }}-${{ matrix.kindversion }} name: fission-dump-${{ github.run_id }}-${{ matrix.kindversion }}
path: fission-dump/*.zip path: fission-dump/*.zip
@@ -300,7 +313,7 @@ jobs:
- name: Archive prometheus dump - name: Archive prometheus dump
timeout-minutes: 10 timeout-minutes: 10
if: ${{ always() }} if: ${{ always() }}
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with: with:
name: prom-dump-${{ github.run_id }}-${{ matrix.kindversion }} name: prom-dump-${{ github.run_id }}-${{ matrix.kindversion }}
path: /tmp/prometheus/* path: /tmp/prometheus/*
@@ -309,7 +322,7 @@ jobs:
- name: Archive kind logs - name: Archive kind logs
timeout-minutes: 10 timeout-minutes: 10
if: ${{ always() }} if: ${{ always() }}
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with: with:
name: kind-logs-${{ github.run_id }}-${{ matrix.kindversion }} name: kind-logs-${{ github.run_id }}-${{ matrix.kindversion }}
path: kind-logs/* path: kind-logs/*
+206 -24
View File
@@ -6,21 +6,36 @@ on:
- v2.** - v2.**
env: env:
KIND_VERSION: v0.23.0 KIND_VERSION: v0.26.0
KIND_NODE_IMAGE_TAG: v1.25.16 KIND_NODE_IMAGE_TAG: v1.28.15
KIND_CLUSTER_NAME: kind KIND_CLUSTER_NAME: kind
COSIGN_VERSION: v2.4.1
jobs: jobs:
create-draft-release: create-draft-release:
runs-on: ubuntu-latest name: Create Draft Release with Goreleaser
outputs:
hashes: ${{ steps.binary.outputs.hashes }}
ghcr_images: ${{ steps.image.outputs.ghcr_images }}
version: ${{ steps.get_version.outputs.VERSION }}
permissions:
contents: write # for goreleaser/goreleaser-action to create a GitHub release
packages: write # for goreleaser/goreleaser-action to upload artifacts to GitHub Packages
id-token: write # for cosign to sign the image and binary
runs-on: ubuntu-24.04
steps: steps:
- name: Harden Runner
uses: step-security/harden-runner@cb605e52c26070c328afc4562f0b4ada7618a84e # v2.10.4
with:
egress-policy: audit
- name: Check out code - name: Check out code
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Setup go - name: Setup go
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
with: with:
go-version-file: "go.mod" go-version-file: "go.mod"
cache: true cache: true
@@ -30,13 +45,13 @@ jobs:
run: echo "VERSION=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_OUTPUT run: echo "VERSION=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_OUTPUT
- name: Install GoReleaser - name: Install GoReleaser
uses: goreleaser/goreleaser-action@286f3b13b1b49da4ac219696163fb8c1c93e1200 # v6.0.0 uses: goreleaser/goreleaser-action@9ed2f89a662bf1735a48bc8557fd212fa902bebf # v6.1.0
with: with:
install-only: true install-only: true
version: "~> v2" version: "~> v2"
- name: Kind Cluster - name: Kind Cluster
uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0 uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # v1.12.0
with: with:
node_image: kindest/node:${{ env.KIND_NODE_IMAGE_TAG }} node_image: kindest/node:${{ env.KIND_NODE_IMAGE_TAG }}
version: ${{ env.KIND_VERSION }} version: ${{ env.KIND_VERSION }}
@@ -44,7 +59,7 @@ jobs:
cluster_name: ${{ env.KIND_CLUSTER_NAME }} cluster_name: ${{ env.KIND_CLUSTER_NAME }}
- name: Set up QEMU - name: Set up QEMU
uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # v3.2.0 uses: docker/setup-qemu-action@53851d14592bedcffcf25ea515637cff71ef929a # v3.3.0
- name: Login to ghcr.io - name: Login to ghcr.io
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0 uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
@@ -53,25 +68,15 @@ jobs:
username: ${{ github.repository_owner }} username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Login to docker.io
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Install Cosign - name: Install Cosign
uses: sigstore/cosign-installer@4959ce089c160fddf62f7b42464195ba1a56d382 # v3.6.0 uses: sigstore/cosign-installer@dc72c7d5c4d10cd6bcb8cf6e3fd625a9e5e537da # v3.7.0
with: with:
cosign-release: "v2.2.1" cosign-release: ${{ env.COSIGN_VERSION }}
- name: Check cosign install! - name: Check cosign install!
run: cosign version run: cosign version
- name: Write cosign signing key to disk - uses: anchore/sbom-action/download-syft@df80a981bc6edbc4e220a492d3cbe9f5547a6e75 #v0.17.9
run: 'echo "$KEY" > cosign.key'
shell: bash
env:
KEY: ${{ secrets.COSIGN_PRIVATE_KEY }}
- name: Generate yaml for manifest, Minikube and Openshift installation - name: Generate yaml for manifest, Minikube and Openshift installation
run: ${GITHUB_WORKSPACE}/hack/build-yaml.sh $VERSION run: ${GITHUB_WORKSPACE}/hack/build-yaml.sh $VERSION
@@ -80,14 +85,191 @@ jobs:
shell: bash shell: bash
- name: Run GoReleaser - name: Run GoReleaser
uses: goreleaser/goreleaser-action@286f3b13b1b49da4ac219696163fb8c1c93e1200 # v6.0.0 id: goreleaser
uses: goreleaser/goreleaser-action@9ed2f89a662bf1735a48bc8557fd212fa902bebf # v6.1.0
with: with:
version: "~> v2" version: "~> v2"
args: release args: release
env: env:
COSIGN_PWD: ${{ secrets.COSIGN_PWD }}
GORELEASER_CURRENT_TAG: ${{ steps.get_version.outputs.VERSION }} GORELEASER_CURRENT_TAG: ${{ steps.get_version.outputs.VERSION }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DOCKER_CLI_EXPERIMENTAL: "enabled" DOCKER_CLI_EXPERIMENTAL: "enabled"
#ToDo - Verify and upload releases - name: Generate binary hashes
id: binary
env:
ARTIFACTS: "${{ steps.goreleaser.outputs.artifacts }}"
run: |
set -euo pipefail
checksum_file=$(echo "$ARTIFACTS" | jq -r '.[] | select (.type=="Checksum") | .path')
echo "hashes=$(cat $checksum_file | base64 -w0)" >> "$GITHUB_OUTPUT"
- name: Image digest
id: image
env:
ARTIFACTS: "${{ steps.goreleaser.outputs.artifacts }}"
run: |
set -euo pipefail
image_and_digest=$(echo "$ARTIFACTS" | jq -r '.[] | select (.type=="Docker Manifest") | {name, "digest": (.extra.Digest // .extra.Checksum)} | select(.digest) | {name} + {digest} | join("@") | sub("^sha256:";"")' | grep -v latest)
ghcr_images=$(echo "${image_and_digest}" | grep ghcr.io | jq -R -s -c '
split("\n")
| map(select(. != ""))
| map(
split("@")
| {
"image": .[0] | split(":")[0],
"checksum": .[1]
}
)')
echo "ghcr_images=$ghcr_images" >> "$GITHUB_OUTPUT"
binary-provenance:
name: Create Binary Provenance
needs: [create-draft-release]
permissions:
actions: read # To read the workflow path.
id-token: write # To sign the provenance.
contents: write # To add assets to a release.
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_generic_slsa3.yml@v2.0.0 # Do not use commit hash
with:
base64-subjects: "${{ needs.create-draft-release.outputs.hashes }}"
provenance-name: "fission_${{ needs.create-draft-release.outputs.version }}.intoto.jsonl"
upload-assets: true # upload to a new release
draft-release: true # create a draft release
image-provenance-ghcr:
name: Create Image Provenance
needs: [create-draft-release]
strategy:
matrix:
include: ${{ fromJson(needs.create-draft-release.outputs.ghcr_images) }}
permissions:
actions: read
id-token: write
packages: write
uses: slsa-framework/slsa-github-generator/.github/workflows/generator_container_slsa3.yml@v2.0.0 # Do not use commit hash
with:
image: ${{ fromJson(toJson(matrix)).image }}
digest: ${{ fromJson(toJson(matrix)).checksum }}
registry-username: ${{ github.actor }}
secrets:
registry-password: ${{ secrets.GITHUB_TOKEN }}
image-sbom-ghcr:
name: Create SBOM for container images
# Goreleaser does not support generating SBOM for container images.
needs: [create-draft-release]
runs-on: ubuntu-24.04
strategy:
matrix:
include: ${{ fromJson(needs.create-draft-release.outputs.ghcr_images) }}
permissions:
actions: write
id-token: write
packages: write
steps:
- name: Checkout code
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- name: Login to GitHub Container Registry
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Run Trivy in fs mode to generate SBOM
uses: aquasecurity/trivy-action@18f2510ee396bbf400402947b394f2dd8c87dbb0 # v0.29.0
with:
scan-type: "fs"
format: "spdx-json"
output: "spdx.sbom.json"
- name: Install Cosign
uses: sigstore/cosign-installer@dc72c7d5c4d10cd6bcb8cf6e3fd625a9e5e537da # v3.7.0
with:
cosign-release: ${{ env.COSIGN_VERSION }}
- name: Sign image and sbom
env:
IMAGE: ${{ fromJson(toJson(matrix)).image }}
DIGEST: ${{ fromJson(toJson(matrix)).checksum }}
run: |
#!/usr/bin/env bash
set -euo pipefail
cosign attach sbom --sbom spdx.sbom.json $IMAGE@$DIGEST
cosign sign -a git_sha=$GITHUB_SHA --attachment sbom $IMAGE@$DIGEST --yes
binary-provenance-verification-with-slsa-verifier:
name : Verify Binary Provenance
needs: [create-draft-release, binary-provenance]
runs-on: ubuntu-24.04
permissions:
contents: write # To download the assets from draft release.
steps:
- name: Install the verifier
uses: slsa-framework/slsa-verifier/actions/installer@3714a2a4684014deb874a0e737dffa0ee02dd647 # v2.6.0
- name: Download assets
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PROVENANCE: ${{ needs.binary-provenance.outputs.provenance-name }}
VERSION: ${{ needs.create-draft-release.outputs.version }}
run: |
set -euo pipefail
echo "repo=$GITHUB_REPOSITORY"
echo "ref=$VERSION"
gh -R "$GITHUB_REPOSITORY" release download "$VERSION" -p "$PROVENANCE"
- name: Verify assets
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CHECKSUMS: ${{ needs.create-draft-release.outputs.hashes }}
PROVENANCE: ${{ needs.binary-provenance.outputs.provenance-name }}
VERSION: ${{ needs.create-draft-release.outputs.version }}
run: |
set -euo pipefail
echo "CHECKSUMS=$CHECKSUMS"
echo "PROVENANCE=$PROVENANCE"
checksums=$(echo "$CHECKSUMS" | base64 -d)
while read -r line; do
fn=$(echo $line | cut -d ' ' -f2)
echo "Verifying $fn"
gh -R "$GITHUB_REPOSITORY" release download "$VERSION" -p "$fn"
slsa-verifier verify-artifact --provenance-path "$PROVENANCE" \
--source-uri "github.com/$GITHUB_REPOSITORY" \
--source-tag "$VERSION" \
"$fn"
done <<<"$checksums"
image-provenance-verification-with-cosign:
name: Verify Image Provenance
needs: [create-draft-release, image-provenance-ghcr]
strategy:
matrix:
include: ${{ fromJson(needs.create-draft-release.outputs.ghcr_images) }}
runs-on: ubuntu-24.04
permissions: read-all
steps:
- name: Login
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Install Cosign
uses: sigstore/cosign-installer@dc72c7d5c4d10cd6bcb8cf6e3fd625a9e5e537da # v3.7.0
with:
cosign-release: ${{ env.COSIGN_VERSION }}
- name: Verify image
env:
IMAGE: ${{ fromJson(toJson(matrix)).image }}
DIGEST: ${{ fromJson(toJson(matrix)).checksum }}
run: |
echo "Verifying $IMAGE@$DIGEST"
cosign verify-attestation \
--type slsaprovenance \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
--certificate-identity-regexp '^https://github.com/slsa-framework/slsa-github-generator/.github/workflows/generator_container_slsa3.yml@refs/tags/v[0-9]+.[0-9]+.[0-9]+$' \
$IMAGE@$DIGEST
+78
View File
@@ -0,0 +1,78 @@
# This workflow uses actions that are not certified by GitHub. They are provided
# by a third-party and are governed by separate terms of service, privacy
# policy, and support documentation.
name: Scorecard supply-chain security
on:
# For Branch-Protection check. Only the default branch is supported. See
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#branch-protection
branch_protection_rule:
# To guarantee Maintained check is occasionally updated. See
# https://github.com/ossf/scorecard/blob/main/docs/checks.md#maintained
schedule:
- cron: '41 18 * * 0'
push:
branches: [ "main" ]
# Declare default permissions as read only.
permissions: read-all
jobs:
analysis:
name: Scorecard analysis
runs-on: ubuntu-24.04
permissions:
# Needed to upload the results to code-scanning dashboard.
security-events: write
# Needed to publish results and get a badge (see publish_results below).
id-token: write
# Uncomment the permissions below if installing in a private repository.
# contents: read
# actions: read
steps:
- name: Harden Runner
uses: step-security/harden-runner@cb605e52c26070c328afc4562f0b4ada7618a84e # v2.10.4
with:
egress-policy: audit
- name: "Checkout code"
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
persist-credentials: false
- name: "Run analysis"
uses: ossf/scorecard-action@62b2cac7ed8198b15735ed49ab1e5cf35480ba46 # v2.4.0
with:
results_file: results.sarif
results_format: sarif
# (Optional) "write" PAT token. Uncomment the `repo_token` line below if:
# - you want to enable the Branch-Protection check on a *public* repository, or
# - you are installing Scorecard on a *private* repository
# To create the PAT, follow the steps in https://github.com/ossf/scorecard-action?tab=readme-ov-file#authentication-with-fine-grained-pat-optional.
# repo_token: ${{ secrets.SCORECARD_TOKEN }}
# Public repositories:
# - Publish results to OpenSSF REST API for easy access by consumers
# - Allows the repository to include the Scorecard badge.
# - See https://github.com/ossf/scorecard-action#publishing-results.
# For private repositories:
# - `publish_results` will always be set to `false`, regardless
# of the value entered here.
publish_results: true
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
# format to the repository Actions tab.
- name: "Upload artifact"
uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v3.pre.node20
with:
name: SARIF file
path: results.sarif
retention-days: 5
# Upload the results to GitHub's code scanning dashboard (optional).
# Commenting out will disable upload of results to your repo's Code Scanning dashboard
- name: "Upload to code-scanning"
uses: github/codeql-action/upload-sarif@b6a472f63d85b9c78a3ac5e89422239fc15e9b3c # v3.28.1
with:
sarif_file: results.sarif
+19 -11
View File
@@ -4,6 +4,7 @@ on:
push: push:
branches: branches:
- main - main
- '!dependabot/**'
paths: paths:
- "**.go" - "**.go"
- "charts/**" - "charts/**"
@@ -19,13 +20,15 @@ on:
- "test/**" - "test/**"
- go.mod - go.mod
- go.sum - go.sum
workflow_dispatch:
env: env:
HELM_VERSION: v3.13.0 HELM_VERSION: v3.16.4
KIND_VERSION: v0.23.0 KIND_VERSION: v0.26.0
KIND_CLUSTER_NAME: kind KIND_CLUSTER_NAME: kind
permissions:
contents: read
jobs: jobs:
upgrade-test: upgrade-test:
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
@@ -33,14 +36,19 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
kindversion: ["v1.25.16"] kindversion: ["v1.28.15"]
os: [ubuntu-latest] os: [ubuntu-24.04]
steps: steps:
- name: Harden Runner
uses: step-security/harden-runner@cb605e52c26070c328afc4562f0b4ada7618a84e # v2.10.4
with:
egress-policy: audit
- name: Checkout action sources - name: Checkout action sources
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Setup go - name: Setup go
uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2 uses: actions/setup-go@3041bf56c941b39c61721a86cd11f3bb1338122a # v5.2.0
with: with:
go-version-file: "go.mod" go-version-file: "go.mod"
cache: true cache: true
@@ -51,14 +59,14 @@ jobs:
version: ${{ env.HELM_VERSION }} version: ${{ env.HELM_VERSION }}
- name: Setup Kind Cluster - name: Setup Kind Cluster
uses: helm/kind-action@0025e74a8c7512023d06dc019c617aa3cf561fde # v1.10.0 uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # v1.12.0
with: with:
node_image: kindest/node:${{ matrix.kindversion }} node_image: kindest/node:${{ matrix.kindversion }}
version: ${{ env.KIND_VERSION }} version: ${{ env.KIND_VERSION }}
cluster_name: ${{ env.KIND_CLUSTER_NAME }} cluster_name: ${{ env.KIND_CLUSTER_NAME }}
- name: Install GoReleaser - name: Install GoReleaser
uses: goreleaser/goreleaser-action@286f3b13b1b49da4ac219696163fb8c1c93e1200 # v6.0.0 uses: goreleaser/goreleaser-action@9ed2f89a662bf1735a48bc8557fd212fa902bebf # v6.1.0
with: with:
install-only: true install-only: true
version: "~> v2" version: "~> v2"
@@ -106,7 +114,7 @@ jobs:
- name: Archive fission dump - name: Archive fission dump
if: ${{ failure() || cancelled() }} if: ${{ failure() || cancelled() }}
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with: with:
name: fission-dump-${{ github.run_id }}-${{ matrix.kindversion }} name: fission-dump-${{ github.run_id }}-${{ matrix.kindversion }}
path: fission-dump/*.zip path: fission-dump/*.zip
@@ -114,7 +122,7 @@ jobs:
- name: Archive kind logs - name: Archive kind logs
if: ${{ always() }} if: ${{ always() }}
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 uses: actions/upload-artifact@65c4c4a1ddee5b72f698fdd19549f0f0fb45cf08 # v4.6.0
with: with:
name: kind-logs-${{ github.run_id }}-${{ matrix.kindversion }} name: kind-logs-${{ github.run_id }}-${{ matrix.kindversion }}
path: kind-logs/* path: kind-logs/*
+114 -131
View File
@@ -1,11 +1,14 @@
version: 2 version: 2
env:
- GHCR_REPO=ghcr.io/fission
project_name: fission project_name: fission
release: release:
github: github:
owner: fission owner: fission
name: fission name: fission
prerelease: true prerelease: "true"
draft: true draft: true
header: | header: |
Release Highlights: https://fission.io/docs/releases/{{ .Tag }}/ Release Highlights: https://fission.io/docs/releases/{{ .Tag }}/
@@ -75,10 +78,8 @@ dockers:
ids: ids:
- builder - builder
image_templates: image_templates:
- "fission/builder:latest-amd64" - "{{ .Env.GHCR_REPO }}/builder:latest-amd64"
- "fission/builder:{{ .Tag }}-amd64" - "{{ .Env.GHCR_REPO }}/builder:{{ .Tag }}-amd64"
- "ghcr.io/fission/builder:latest-amd64"
- "ghcr.io/fission/builder:{{ .Tag }}-amd64"
dockerfile: cmd/builder/Dockerfile dockerfile: cmd/builder/Dockerfile
build_flag_templates: build_flag_templates:
- "--label=org.opencontainers.image.description=The builder assists in building the fission function source code for deployment." - "--label=org.opencontainers.image.description=The builder assists in building the fission function source code for deployment."
@@ -87,14 +88,15 @@ dockers:
- "--label=org.opencontainers.image.created={{.Date}}" - "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}" - "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Tag}}" - "--label=org.opencontainers.image.version={{.Tag}}"
- "--label=org.opencontainers.image.authors=The Fission Authors https://fission.io/"
- "--label=org.opencontainers.image.vendor=Fission"
- "--label=org.opencontainers.image.url=https://fission.io/"
- <<: *docker-amd64 - <<: *docker-amd64
ids: ids:
- fetcher - fetcher
image_templates: image_templates:
- "fission/fetcher:latest-amd64" - "{{ .Env.GHCR_REPO }}/fetcher:latest-amd64"
- "fission/fetcher:{{ .Tag }}-amd64" - "{{ .Env.GHCR_REPO }}/fetcher:{{ .Tag }}-amd64"
- "ghcr.io/fission/fetcher:latest-amd64"
- "ghcr.io/fission/fetcher:{{ .Tag }}-amd64"
dockerfile: cmd/fetcher/Dockerfile dockerfile: cmd/fetcher/Dockerfile
build_flag_templates: build_flag_templates:
- "--label=org.opencontainers.image.description=Fetcher is a lightweight component used by environment and builder pods. Fetcher helps in fetch and upload of source/deployment packages and specializing environments." - "--label=org.opencontainers.image.description=Fetcher is a lightweight component used by environment and builder pods. Fetcher helps in fetch and upload of source/deployment packages and specializing environments."
@@ -103,14 +105,15 @@ dockers:
- "--label=org.opencontainers.image.created={{.Date}}" - "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}" - "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Tag}}" - "--label=org.opencontainers.image.version={{.Tag}}"
- "--label=org.opencontainers.image.authors=The Fission Authors https://fission.io/"
- "--label=org.opencontainers.image.vendor=Fission"
- "--label=org.opencontainers.image.url=https://fission.io/"
- <<: *docker-amd64 - <<: *docker-amd64
ids: ids:
- fission-bundle - fission-bundle
image_templates: image_templates:
- "fission/fission-bundle:latest-amd64" - "{{ .Env.GHCR_REPO }}/fission-bundle:latest-amd64"
- "fission/fission-bundle:{{ .Tag }}-amd64" - "{{ .Env.GHCR_REPO }}/fission-bundle:{{ .Tag }}-amd64"
- "ghcr.io/fission/fission-bundle:latest-amd64"
- "ghcr.io/fission/fission-bundle:{{ .Tag }}-amd64"
dockerfile: cmd/fission-bundle/Dockerfile dockerfile: cmd/fission-bundle/Dockerfile
build_flag_templates: build_flag_templates:
- "--label=org.opencontainers.image.description=fission-bundle is a component which is a single binary for all components. Most server side components running on server side are fission-bundle binary wrapped in container and used with different arguments." - "--label=org.opencontainers.image.description=fission-bundle is a component which is a single binary for all components. Most server side components running on server side are fission-bundle binary wrapped in container and used with different arguments."
@@ -119,14 +122,15 @@ dockers:
- "--label=org.opencontainers.image.created={{.Date}}" - "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}" - "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Tag}}" - "--label=org.opencontainers.image.version={{.Tag}}"
- "--label=org.opencontainers.image.authors=The Fission Authors https://fission.io/"
- "--label=org.opencontainers.image.vendor=Fission"
- "--label=org.opencontainers.image.url=https://fission.io/"
- <<: *docker-amd64 - <<: *docker-amd64
ids: ids:
- pre-upgrade-checks - pre-upgrade-checks
image_templates: image_templates:
- "fission/pre-upgrade-checks:latest-amd64" - "{{ .Env.GHCR_REPO }}/pre-upgrade-checks:latest-amd64"
- "fission/pre-upgrade-checks:{{ .Tag }}-amd64" - "{{ .Env.GHCR_REPO }}/pre-upgrade-checks:{{ .Tag }}-amd64"
- "ghcr.io/fission/pre-upgrade-checks:latest-amd64"
- "ghcr.io/fission/pre-upgrade-checks:{{ .Tag }}-amd64"
dockerfile: cmd/preupgradechecks/Dockerfile dockerfile: cmd/preupgradechecks/Dockerfile
build_flag_templates: build_flag_templates:
- "--label=org.opencontainers.image.description=Preupgradechecks ensures that Fission is ready for the targeted version upgrade by performing checks beforehand." - "--label=org.opencontainers.image.description=Preupgradechecks ensures that Fission is ready for the targeted version upgrade by performing checks beforehand."
@@ -135,14 +139,15 @@ dockers:
- "--label=org.opencontainers.image.created={{.Date}}" - "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}" - "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Tag}}" - "--label=org.opencontainers.image.version={{.Tag}}"
- "--label=org.opencontainers.image.authors=The Fission Authors https://fission.io/"
- "--label=org.opencontainers.image.vendor=Fission"
- "--label=org.opencontainers.image.url=https://fission.io/"
- <<: *docker-amd64 - <<: *docker-amd64
ids: ids:
- reporter - reporter
image_templates: image_templates:
- "fission/reporter:latest-amd64" - "{{ .Env.GHCR_REPO }}/reporter:latest-amd64"
- "fission/reporter:{{ .Tag }}-amd64" - "{{ .Env.GHCR_REPO }}/reporter:{{ .Tag }}-amd64"
- "ghcr.io/fission/reporter:latest-amd64"
- "ghcr.io/fission/reporter:{{ .Tag }}-amd64"
dockerfile: cmd/reporter/Dockerfile dockerfile: cmd/reporter/Dockerfile
build_flag_templates: build_flag_templates:
- "--label=org.opencontainers.image.description=The reporter gathers information that assists in improving fission." - "--label=org.opencontainers.image.description=The reporter gathers information that assists in improving fission."
@@ -151,6 +156,9 @@ dockers:
- "--label=org.opencontainers.image.created={{.Date}}" - "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}" - "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Tag}}" - "--label=org.opencontainers.image.version={{.Tag}}"
- "--label=org.opencontainers.image.authors=The Fission Authors https://fission.io/"
- "--label=org.opencontainers.image.vendor=Fission"
- "--label=org.opencontainers.image.url=https://fission.io/"
- &docker-arm64 - &docker-arm64
use: buildx use: buildx
goos: linux goos: linux
@@ -158,10 +166,8 @@ dockers:
ids: ids:
- builder - builder
image_templates: image_templates:
- "fission/builder:latest-arm64" - "{{ .Env.GHCR_REPO }}/builder:latest-arm64"
- "fission/builder:{{ .Tag }}-arm64" - "{{ .Env.GHCR_REPO }}/builder:{{ .Tag }}-arm64"
- "ghcr.io/fission/builder:latest-arm64"
- "ghcr.io/fission/builder:{{ .Tag }}-arm64"
dockerfile: cmd/builder/Dockerfile dockerfile: cmd/builder/Dockerfile
build_flag_templates: build_flag_templates:
- "--label=org.opencontainers.image.description=The builder assists in building the fission function source code for deployment." - "--label=org.opencontainers.image.description=The builder assists in building the fission function source code for deployment."
@@ -170,14 +176,15 @@ dockers:
- "--label=org.opencontainers.image.created={{.Date}}" - "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}" - "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Tag}}" - "--label=org.opencontainers.image.version={{.Tag}}"
- "--label=org.opencontainers.image.authors=The Fission Authors https://fission.io/"
- "--label=org.opencontainers.image.vendor=Fission"
- "--label=org.opencontainers.image.url=https://fission.io/"
- <<: *docker-arm64 - <<: *docker-arm64
ids: ids:
- fetcher - fetcher
image_templates: image_templates:
- "fission/fetcher:latest-arm64" - "{{ .Env.GHCR_REPO }}/fetcher:latest-arm64"
- "fission/fetcher:{{ .Tag }}-arm64" - "{{ .Env.GHCR_REPO }}/fetcher:{{ .Tag }}-arm64"
- "ghcr.io/fission/fetcher:latest-arm64"
- "ghcr.io/fission/fetcher:{{ .Tag }}-arm64"
dockerfile: cmd/fetcher/Dockerfile dockerfile: cmd/fetcher/Dockerfile
build_flag_templates: build_flag_templates:
- "--label=org.opencontainers.image.description=Fetcher is a lightweight component used by environment and builder pods. Fetcher helps in fetch and upload of source/deployment packages and specializing environments." - "--label=org.opencontainers.image.description=Fetcher is a lightweight component used by environment and builder pods. Fetcher helps in fetch and upload of source/deployment packages and specializing environments."
@@ -186,14 +193,15 @@ dockers:
- "--label=org.opencontainers.image.created={{.Date}}" - "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}" - "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Tag}}" - "--label=org.opencontainers.image.version={{.Tag}}"
- "--label=org.opencontainers.image.authors=The Fission Authors https://fission.io/"
- "--label=org.opencontainers.image.vendor=Fission"
- "--label=org.opencontainers.image.url=https://fission.io/"
- <<: *docker-arm64 - <<: *docker-arm64
ids: ids:
- fission-bundle - fission-bundle
image_templates: image_templates:
- "fission/fission-bundle:latest-arm64" - "{{ .Env.GHCR_REPO }}/fission-bundle:latest-arm64"
- "fission/fission-bundle:{{ .Tag }}-arm64" - "{{ .Env.GHCR_REPO }}/fission-bundle:{{ .Tag }}-arm64"
- "ghcr.io/fission/fission-bundle:latest-arm64"
- "ghcr.io/fission/fission-bundle:{{ .Tag }}-arm64"
dockerfile: cmd/fission-bundle/Dockerfile dockerfile: cmd/fission-bundle/Dockerfile
build_flag_templates: build_flag_templates:
- "--label=org.opencontainers.image.description=fission-bundle is a component which is a single binary for all components. Most server side components running on server side are fission-bundle binary wrapped in container and used with different arguments." - "--label=org.opencontainers.image.description=fission-bundle is a component which is a single binary for all components. Most server side components running on server side are fission-bundle binary wrapped in container and used with different arguments."
@@ -202,14 +210,15 @@ dockers:
- "--label=org.opencontainers.image.created={{.Date}}" - "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}" - "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Tag}}" - "--label=org.opencontainers.image.version={{.Tag}}"
- "--label=org.opencontainers.image.authors=The Fission Authors https://fission.io/"
- "--label=org.opencontainers.image.vendor=Fission"
- "--label=org.opencontainers.image.url=https://fission.io/"
- <<: *docker-arm64 - <<: *docker-arm64
ids: ids:
- pre-upgrade-checks - pre-upgrade-checks
image_templates: image_templates:
- "fission/pre-upgrade-checks:latest-arm64" - "{{ .Env.GHCR_REPO }}/pre-upgrade-checks:latest-arm64"
- "fission/pre-upgrade-checks:{{ .Tag }}-arm64" - "{{ .Env.GHCR_REPO }}/pre-upgrade-checks:{{ .Tag }}-arm64"
- "ghcr.io/fission/pre-upgrade-checks:latest-arm64"
- "ghcr.io/fission/pre-upgrade-checks:{{ .Tag }}-arm64"
dockerfile: cmd/preupgradechecks/Dockerfile dockerfile: cmd/preupgradechecks/Dockerfile
build_flag_templates: build_flag_templates:
- "--label=org.opencontainers.image.description=Preupgradechecks ensures that Fission is ready for the targeted version upgrade by performing checks beforehand." - "--label=org.opencontainers.image.description=Preupgradechecks ensures that Fission is ready for the targeted version upgrade by performing checks beforehand."
@@ -218,14 +227,15 @@ dockers:
- "--label=org.opencontainers.image.created={{.Date}}" - "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}" - "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Tag}}" - "--label=org.opencontainers.image.version={{.Tag}}"
- "--label=org.opencontainers.image.authors=The Fission Authors https://fission.io/"
- "--label=org.opencontainers.image.vendor=Fission"
- "--label=org.opencontainers.image.url=https://fission.io/"
- <<: *docker-arm64 - <<: *docker-arm64
ids: ids:
- reporter - reporter
image_templates: image_templates:
- "fission/reporter:latest-arm64" - "{{ .Env.GHCR_REPO }}/reporter:latest-arm64"
- "fission/reporter:{{ .Tag }}-arm64" - "{{ .Env.GHCR_REPO }}/reporter:{{ .Tag }}-arm64"
- "ghcr.io/fission/reporter:latest-arm64"
- "ghcr.io/fission/reporter:{{ .Tag }}-arm64"
dockerfile: cmd/reporter/Dockerfile dockerfile: cmd/reporter/Dockerfile
build_flag_templates: build_flag_templates:
- "--label=org.opencontainers.image.description=The reporter gathers information that assists in improving fission." - "--label=org.opencontainers.image.description=The reporter gathers information that assists in improving fission."
@@ -234,87 +244,50 @@ dockers:
- "--label=org.opencontainers.image.created={{.Date}}" - "--label=org.opencontainers.image.created={{.Date}}"
- "--label=org.opencontainers.image.revision={{.FullCommit}}" - "--label=org.opencontainers.image.revision={{.FullCommit}}"
- "--label=org.opencontainers.image.version={{.Tag}}" - "--label=org.opencontainers.image.version={{.Tag}}"
- "--label=org.opencontainers.image.authors=The Fission Authors https://fission.io/"
- "--label=org.opencontainers.image.vendor=Fission"
- "--label=org.opencontainers.image.url=https://fission.io/"
docker_manifests: docker_manifests:
- name_template: ghcr.io/fission/builder:{{ .Tag }} - name_template: "{{ .Env.GHCR_REPO }}/builder:{{ .Tag }}"
image_templates: image_templates:
- ghcr.io/fission/builder:{{ .Tag }}-amd64 - "{{ .Env.GHCR_REPO }}/builder:{{ .Tag }}-amd64"
- ghcr.io/fission/builder:{{ .Tag }}-arm64 - "{{ .Env.GHCR_REPO }}/builder:{{ .Tag }}-arm64"
- name_template: fission/builder:{{ .Tag }} - name_template: "{{ .Env.GHCR_REPO }}/fetcher:{{ .Tag }}"
image_templates: image_templates:
- fission/builder:{{ .Tag }}-amd64 - "{{ .Env.GHCR_REPO }}/fetcher:{{ .Tag }}-amd64"
- fission/builder:{{ .Tag }}-arm64 - "{{ .Env.GHCR_REPO }}/fetcher:{{ .Tag }}-arm64"
- name_template: ghcr.io/fission/fetcher:{{ .Tag }} - name_template: "{{ .Env.GHCR_REPO }}/fission-bundle:{{ .Tag }}"
image_templates: image_templates:
- ghcr.io/fission/fetcher:{{ .Tag }}-amd64 - "{{ .Env.GHCR_REPO }}/fission-bundle:{{ .Tag }}-amd64"
- ghcr.io/fission/fetcher:{{ .Tag }}-arm64 - "{{ .Env.GHCR_REPO }}/fission-bundle:{{ .Tag }}-arm64"
- name_template: fission/fetcher:{{ .Tag }} - name_template: "{{ .Env.GHCR_REPO }}/pre-upgrade-checks:{{ .Tag }}"
image_templates: image_templates:
- fission/fetcher:{{ .Tag }}-amd64 - "{{ .Env.GHCR_REPO }}/pre-upgrade-checks:{{ .Tag }}-amd64"
- fission/fetcher:{{ .Tag }}-arm64 - "{{ .Env.GHCR_REPO }}/pre-upgrade-checks:{{ .Tag }}-arm64"
- name_template: ghcr.io/fission/fission-bundle:{{ .Tag }} - name_template: "{{ .Env.GHCR_REPO }}/reporter:{{ .Tag }}"
image_templates: image_templates:
- ghcr.io/fission/fission-bundle:{{ .Tag }}-amd64 - "{{ .Env.GHCR_REPO }}/reporter:{{ .Tag }}-amd64"
- ghcr.io/fission/fission-bundle:{{ .Tag }}-arm64 - "{{ .Env.GHCR_REPO }}/reporter:{{ .Tag }}-arm64"
- name_template: fission/fission-bundle:{{ .Tag }} - name_template: "{{ .Env.GHCR_REPO }}/builder:latest"
image_templates: image_templates:
- fission/fission-bundle:{{ .Tag }}-amd64 - "{{ .Env.GHCR_REPO }}/builder:latest-amd64"
- fission/fission-bundle:{{ .Tag }}-arm64 - "{{ .Env.GHCR_REPO }}/builder:latest-arm64"
- name_template: ghcr.io/fission/pre-upgrade-checks:{{ .Tag }} - name_template: "{{ .Env.GHCR_REPO }}/fetcher:latest"
image_templates: image_templates:
- ghcr.io/fission/pre-upgrade-checks:{{ .Tag }}-amd64 - "{{ .Env.GHCR_REPO }}/fetcher:latest-amd64"
- ghcr.io/fission/pre-upgrade-checks:{{ .Tag }}-arm64 - "{{ .Env.GHCR_REPO }}/fetcher:latest-arm64"
- name_template: fission/pre-upgrade-checks:{{ .Tag }} - name_template: "{{ .Env.GHCR_REPO }}/fission-bundle:latest"
image_templates: image_templates:
- fission/pre-upgrade-checks:{{ .Tag }}-amd64 - "{{ .Env.GHCR_REPO }}/fission-bundle:latest-amd64"
- fission/pre-upgrade-checks:{{ .Tag }}-arm64 - "{{ .Env.GHCR_REPO }}/fission-bundle:latest-arm64"
- name_template: ghcr.io/fission/reporter:{{ .Tag }} - name_template: "{{ .Env.GHCR_REPO }}/pre-upgrade-checks:latest"
image_templates: image_templates:
- ghcr.io/fission/reporter:{{ .Tag }}-amd64 - "{{ .Env.GHCR_REPO }}/pre-upgrade-checks:latest-amd64"
- ghcr.io/fission/reporter:{{ .Tag }}-arm64 - "{{ .Env.GHCR_REPO }}/pre-upgrade-checks:latest-arm64"
- name_template: fission/reporter:{{ .Tag }} - name_template: "{{ .Env.GHCR_REPO }}/reporter:latest"
image_templates: image_templates:
- fission/reporter:{{ .Tag }}-amd64 - "{{ .Env.GHCR_REPO }}/reporter:latest-amd64"
- fission/reporter:{{ .Tag }}-arm64 - "{{ .Env.GHCR_REPO }}/reporter:latest-arm64"
- name_template: ghcr.io/fission/builder:latest
image_templates:
- ghcr.io/fission/builder:latest-amd64
- ghcr.io/fission/builder:latest-arm64
- name_template: fission/builder:latest
image_templates:
- fission/builder:latest-amd64
- fission/builder:latest-arm64
- name_template: ghcr.io/fission/fetcher:latest
image_templates:
- ghcr.io/fission/fetcher:latest-amd64
- ghcr.io/fission/fetcher:latest-arm64
- name_template: fission/fetcher:latest
image_templates:
- fission/fetcher:latest-amd64
- fission/fetcher:latest-arm64
- name_template: ghcr.io/fission/fission-bundle:latest
image_templates:
- ghcr.io/fission/fission-bundle:latest-amd64
- ghcr.io/fission/fission-bundle:latest-arm64
- name_template: fission/fission-bundle:latest
image_templates:
- fission/fission-bundle:latest-amd64
- fission/fission-bundle:latest-arm64
- name_template: ghcr.io/fission/pre-upgrade-checks:latest
image_templates:
- ghcr.io/fission/pre-upgrade-checks:latest-amd64
- ghcr.io/fission/pre-upgrade-checks:latest-arm64
- name_template: fission/pre-upgrade-checks:latest
image_templates:
- fission/pre-upgrade-checks:latest-amd64
- fission/pre-upgrade-checks:latest-arm64
- name_template: ghcr.io/fission/reporter:latest
image_templates:
- ghcr.io/fission/reporter:latest-amd64
- ghcr.io/fission/reporter:latest-arm64
- name_template: fission/reporter:latest
image_templates:
- fission/reporter:latest-amd64
- fission/reporter:latest-arm64
changelog: changelog:
disable: true disable: true
archives: archives:
@@ -330,27 +303,37 @@ checksum:
# signs the checksum file # signs the checksum file
# https://goreleaser.com/customization/sign # https://goreleaser.com/customization/sign
signs: signs:
- cmd: cosign - id: cosign-binary
artifacts: all env:
stdin: '{{ .Env.COSIGN_PWD }}' - COSIGN_EXPERIMENTAL=1
output: true certificate: "${artifact}.pem"
args: cmd: cosign
- sign-blob artifacts: binary
- '--key=cosign.key' args:
- '--output-certificate=${certificate}' - sign-blob
- '--output-signature=${signature}' - "--output-signature=${signature}"
- '${artifact}' - "--output-certificate=${certificate}"
- '--yes' # needed for cosign 2.0.0+ - "${artifact}"
- "--yes" # needed for cosign 2.0.0+
# signs our docker image # signs our docker image
# https://goreleaser.com/customization/docker_sign # https://goreleaser.com/customization/docker_sign
docker_signs: docker_signs:
- cmd: cosign - cmd: cosign
artifacts: all env:
stdin: '{{ .Env.COSIGN_PWD }}' - COSIGN_EXPERIMENTAL=1
output: true artifacts: all
args: args:
- 'sign' - sign
- '--key=cosign.key' - "${artifact}"
- '${artifact}' - "--yes" # needed for cosign 2.0.0+
- '--yes' # needed for cosign 2.0.0+
sboms:
- artifacts: archive
id: archive
- artifacts: source
id: source
- artifacts: binary
id: binary
- artifacts: package
id: package
+18
View File
@@ -0,0 +1,18 @@
repos:
- repo: https://github.com/gitleaks/gitleaks
rev: v8.16.3
hooks:
- id: gitleaks
- repo: https://github.com/golangci/golangci-lint
rev: v1.52.2
hooks:
- id: golangci-lint
- repo: https://github.com/jumanjihouse/pre-commit-hooks
rev: 3.0.0
hooks:
- id: shellcheck
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
hooks:
- id: end-of-file-fixer
- id: trailing-whitespace
+10 -16
View File
@@ -59,23 +59,20 @@ install-fission-cli:
mv dist/fission-cli_$(GOOS)_$(GOARCH)_v1/fission$(FISSION-CLI-SUFFIX) /usr/local/bin/fission mv dist/fission-cli_$(GOOS)_$(GOARCH)_v1/fission$(FISSION-CLI-SUFFIX) /usr/local/bin/fission
### Codegen ### Codegen
codegen: controller-gen-install codegen:
@./hack/update-codegen.sh @./hack/update-codegen.sh
$(GOPATH)/bin/controller-gen object:headerFile="hack/boilerplate.txt" paths="./..." go run sigs.k8s.io/controller-tools/cmd/controller-gen object:headerFile="hack/boilerplate.txt" paths="./..."
### CRDs ### CRDs
controller-gen-install: generate-crds:
go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.16.3 go run sigs.k8s.io/controller-tools/cmd/controller-gen crd \
generate-crds: controller-gen-install
$(GOPATH)/bin/controller-gen crd \
paths=./pkg/apis/core/v1 \ paths=./pkg/apis/core/v1 \
output:crd:artifacts:config=crds/v1 output:crd:artifacts:config=crds/v1
### Webhook generation: it generates webhook configs with help of kubebuilder:webhook tag ### Webhook generation: it generates webhook configs with help of kubebuilder:webhook tag
generate-webhooks: controller-gen-install generate-webhooks:
$(GOPATH)/bin/controller-gen webhook \ go run sigs.k8s.io/controller-tools/cmd/controller-gen webhook \
paths=./pkg/apis/core/v1 \ paths=./pkg/webhook \
output:dir=charts/fission-all/templates/webhook-server output:dir=charts/fission-all/templates/webhook-server
@@ -99,12 +96,9 @@ generate-swagger-doc:
generate-cli-docs: generate-cli-docs:
go run tools/cmd-docs/main.go -o "../fission.io/content/en/docs/reference/fission-cli" go run tools/cmd-docs/main.go -o "../fission.io/content/en/docs/reference/fission-cli"
install-crd-ref-docs: generate-crd-ref-docs:
go install github.com/elastic/crd-ref-docs@v0.1.0
generate-crd-ref-docs: install-crd-ref-docs
# crd-ref-docs: https://github.com/elastic/crd-ref-docs # crd-ref-docs: https://github.com/elastic/crd-ref-docs
$(GOPATH)/bin/crd-ref-docs --source-path=pkg/apis/core/v1 --config=tools/crd-ref-docs/config.yaml --renderer markdown go run github.com/elastic/crd-ref-docs --source-path=pkg/apis/core/v1 --config=tools/crd-ref-docs/config.yaml --renderer markdown
cp tools/crd-ref-docs/header.md crd_docs.md cp tools/crd-ref-docs/header.md crd_docs.md
cat out.md >> crd_docs.md && rm out.md cat out.md >> crd_docs.md && rm out.md
mv crd_docs.md ../fission.io/content/en/docs/reference/crd-reference.md mv crd_docs.md ../fission.io/content/en/docs/reference/crd-reference.md
@@ -134,4 +128,4 @@ install-envtest:
go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest
setup-envtest: setup-envtest:
setup-envtest -p path use 1.23.x setup-envtest -p path use 1.30.x
+4 -1
View File
@@ -36,6 +36,9 @@
<a href="https://github.com/fission/fission"> <a href="https://github.com/fission/fission">
<img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/fission/fission?style=social"> <img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/fission/fission?style=social">
</a> </a>
<a href="https://scorecard.dev/viewer/?uri=github.com/fission/fission">
<image alt="OpenSSF Scorecard" src="https://api.scorecard.dev/projects/github.com/fission/fission/badge">
</a>
</p> </p>
-------------- --------------
@@ -88,7 +91,7 @@ aggregation &mdash; also helps with ops on your Fission deployment.
```bash ```bash
# Add the stock NodeJS env to your Fission deployment # Add the stock NodeJS env to your Fission deployment
$ fission env create --name nodejs --image fission/node-env $ fission env create --name nodejs --image ghcr.io/fission/node-env
# Create a function with a javascript one-liner that prints "hello world" # Create a function with a javascript one-liner that prints "hello world"
$ fission function create --name hello --env nodejs --code https://raw.githubusercontent.com/fission/examples/master/nodejs/hello.js $ fission function create --name hello --env nodejs --code https://raw.githubusercontent.com/fission/examples/master/nodejs/hello.js
+4 -4
View File
@@ -6,12 +6,12 @@ Please refer using [latest stable release](https://github.com/fission/fission/re
| Version | Supported | | Version | Supported |
| ------- | ------------------ | | ------- | ------------------ |
| >=1.14.x | :white_check_mark: | | >=1.20.x | :white_check_mark: |
| < 1.14.0 | :x: | | < 1.20.0 | :x: |
## Reporting a Vulnerability ## Reporting a Vulnerability
Please send the details to both of us: Please send the details to both of us:
- Sanket Sudake sanket@infracloud.io - Sanket Sudake sanket[at]infracloud.io
- Vishal Biyani vishal@infracloud.io - Vishal Biyani vishal[at]infracloud.io
+3 -3
View File
@@ -1,9 +1,9 @@
apiVersion: v2 apiVersion: v2
name: fission-all name: fission-all
version: v1.20.5 version: v1.21.0
appVersion: v1.20.5 appVersion: v1.21.0
description: Fission is a fast serverless framework for Kubernetes. description: Fission is a fast serverless framework for Kubernetes.
kubeVersion: ">=1.25.0-0" kubeVersion: ">=1.27.0-0"
home: https://fission.io/ home: https://fission.io/
icon: https://fission.io/images/fission-logo-white.svg icon: https://fission.io/images/fission-logo-white.svg
sources: sources:
+1 -1
View File
@@ -20,7 +20,7 @@ Windows:
{{- end }} {{- end }}
# Create an environment # Create an environment
$ fission env create --name nodejs --image fission/node-env --namespace {{ .Values.defaultNamespace }} $ fission env create --name nodejs --image ghcr.io/fission/node-env --namespace {{ .Values.defaultNamespace }}
# Get a hello world # Get a hello world
$ curl https://raw.githubusercontent.com/fission/examples/master/nodejs/hello.js > hello.js $ curl https://raw.githubusercontent.com/fission/examples/master/nodejs/hello.js > hello.js
+26 -27
View File
@@ -37,38 +37,37 @@ auth:
{{- end -}} {{- end -}}
{{/* {{/*
This template generates the image name for the deployment depending on the value of "repository" field in values.yaml file. Helper template to construct image names with repository and tag
*/}} */}}
{{- define "fission-bundleImage" -}} {{- define "imageWithTag" -}}
{{- if .Values.repository -}} {{- $repository := index . 0 -}}
{{- if eq .Values.imageTag "" -}} {{- $image := index . 1 -}}
{{ .Values.repository }}/{{ .Values.image }} {{- $tag := index . 2 -}}
{{- else -}} {{- if $repository -}}
{{ .Values.repository }}/{{ .Values.image }}:{{ .Values.imageTag }} {{- printf "%s/%s%s" $repository $image (ne $tag "" | ternary (printf ":%s" $tag) "") -}}
{{- end }}
{{- else -}} {{- else -}}
{{- if eq .Values.imageTag "" -}} {{- printf "%s%s" $image (ne $tag "" | ternary (printf ":%s" $tag) "") -}}
{{ .Values.image }} {{- end -}}
{{- else -}} {{- end -}}
{{ .Values.image }}:{{ .Values.imageTag }}
{{- end }} {{- define "fission-bundleImage" -}}
{{- end }} {{- $args := list .Values.repository .Values.image .Values.imageTag -}}
{{- include "imageWithTag" $args -}}
{{- end -}} {{- end -}}
{{- define "reporterImage" -}} {{- define "reporterImage" -}}
{{- if .Values.repository -}} {{- $args := list .Values.repository .Values.postInstallReportImage .Values.imageTag -}}
{{- if eq .Values.imageTag "" -}} {{- include "imageWithTag" $args -}}
{{ .Values.repository }}/{{ .Values.postInstallReportImage }} {{- end -}}
{{- else -}}
{{ .Values.repository }}/{{ .Values.postInstallReportImage }}:{{ .Values.imageTag }} {{- define "fetcherImage" -}}
{{- end }} {{- $args := list (.Values.fetcher.repository | default .Values.repository) .Values.fetcher.image .Values.fetcher.imageTag -}}
{{- else -}} {{- include "imageWithTag" $args -}}
{{- if eq .Values.imageTag "" -}} {{- end -}}
{{ .Values.postInstallReportImage }}
{{- else -}} {{- define "preUpgradeChecksImage" -}}
{{ .Values.postInstallReportImage }}:{{ .Values.imageTag }} {{- $args := list (.Values.preUpgradeChecks.repository | default .Values.repository) .Values.preUpgradeChecks.image .Values.preUpgradeChecks.imageTag -}}
{{- end }} {{- include "imageWithTag" $args -}}
{{- end }}
{{- end -}} {{- end -}}
{{- define "opentelemtry.envs" }} {{- define "opentelemtry.envs" }}
@@ -2,7 +2,7 @@
apiVersion: batch/v1 apiVersion: batch/v1
kind: Job kind: Job
metadata: metadata:
name: {{ template "fullname" . }}-{{ .Chart.Version }} name: {{ template "fullname" . }}-{{ .Chart.Version }}-post-install
labels: labels:
# The "release" convention makes it easy to tie a release to all of the # The "release" convention makes it easy to tie a release to all of the
# Kubernetes resources that were created as part of that release. # Kubernetes resources that were created as part of that release.
@@ -2,7 +2,7 @@
apiVersion: batch/v1 apiVersion: batch/v1
kind: Job kind: Job
metadata: metadata:
name: {{ template "fullname" . }}-{{ .Chart.Version }} name: {{ template "fullname" . }}-{{ .Chart.Version }}-post-upgrade
labels: labels:
# The "release" convention makes it easy to tie a release to all of the # The "release" convention makes it easy to tie a release to all of the
# Kubernetes resources that were created as part of that release. # Kubernetes resources that were created as part of that release.
@@ -30,11 +30,7 @@ spec:
args: ["--builderMgr", "--storageSvcUrl", "http://storagesvc.{{ .Release.Namespace }}"] args: ["--builderMgr", "--storageSvcUrl", "http://storagesvc.{{ .Release.Namespace }}"]
env: env:
- name: FETCHER_IMAGE - name: FETCHER_IMAGE
{{- if eq .Values.fetcher.imageTag "" }} value: {{ include "fetcherImage" . | quote }}
value: "{{ .Values.fetcher.image }}"
{{- else }}
value: "{{ .Values.fetcher.image }}:{{ .Values.fetcher.imageTag }}"
{{- end }}
- name: FETCHER_IMAGE_PULL_POLICY - name: FETCHER_IMAGE_PULL_POLICY
value: "{{ .Values.pullPolicy }}" value: "{{ .Values.pullPolicy }}"
- name: BUILDER_IMAGE_PULL_POLICY - name: BUILDER_IMAGE_PULL_POLICY
@@ -30,11 +30,7 @@ spec:
args: ["--executorPort", "8888"] args: ["--executorPort", "8888"]
env: env:
- name: FETCHER_IMAGE - name: FETCHER_IMAGE
{{- if eq .Values.fetcher.imageTag "" }} value: {{ include "fetcherImage" . | quote }}
value: "{{ .Values.fetcher.image }}"
{{- else }}
value: "{{ .Values.fetcher.image }}:{{ .Values.fetcher.imageTag }}"
{{- end }}
- name: FETCHER_IMAGE_PULL_POLICY - name: FETCHER_IMAGE_PULL_POLICY
value: "{{ .Values.pullPolicy }}" value: "{{ .Values.pullPolicy }}"
- name: RUNTIME_IMAGE_PULL_POLICY - name: RUNTIME_IMAGE_PULL_POLICY
@@ -28,11 +28,7 @@ spec:
restartPolicy: Never restartPolicy: Never
containers: containers:
- name: pre-upgrade-job - name: pre-upgrade-job
{{- if .Values.preUpgradeChecks.imageTag }} image: {{ include "preUpgradeChecksImage" . | quote }}
image: {{ .Values.preUpgradeChecks.image }}:{{ .Values.preUpgradeChecks.imageTag }}
{{- else }}
image: {{ .Values.preUpgradeChecks.image }}
{{- end }}
imagePullPolicy: {{ .Values.pullPolicy }} imagePullPolicy: {{ .Values.pullPolicy }}
command: [ "/pre-upgrade-checks" ] command: [ "/pre-upgrade-checks" ]
env: env:
@@ -38,6 +38,8 @@ spec:
ports: ports:
- containerPort: 8080 - containerPort: 8080
name: metrics name: metrics
resources:
{{- toYaml .Values.webhook.resources | nindent 10 }}
volumes: volumes:
- name: serving-certs - name: serving-certs
secret: secret:
+11 -3
View File
@@ -25,7 +25,7 @@ image: fission/fission-bundle
## It is also used by the chart to identify version of the few more images apart from fission-bundle. ## It is also used by the chart to identify version of the few more images apart from fission-bundle.
## Keep it empty for using latest tag. ## Keep it empty for using latest tag.
## ##
imageTag: v1.20.5 imageTag: v1.21.0
## pullPolicy represents the pull policy to use for images in the chart. ## pullPolicy represents the pull policy to use for images in the chart.
## ##
@@ -117,10 +117,14 @@ kubernetesClientBurst: 500
## fetcher helps in fetching function source code/build and uploading it when function is invoked. ## fetcher helps in fetching function source code/build and uploading it when function is invoked.
## ##
fetcher: fetcher:
## repository represents the repository of the fetcher component.
##
## By default, it is empty, which means global repository will be used.
repository: ""
## image represents the image of the fetcher component. ## image represents the image of the fetcher component.
image: fission/fetcher image: fission/fetcher
## imageTag represents the tag of the image of the fetcher component. ## imageTag represents the tag of the image of the fetcher component.
imageTag: v1.20.5 imageTag: v1.21.0
## Fetcher is only for to downloading or uploading archive. ## Fetcher is only for to downloading or uploading archive.
## Normally, you don't need to change the value here, unless necessary. ## Normally, you don't need to change the value here, unless necessary.
@@ -683,12 +687,16 @@ preUpgradeChecks:
## Run pre-install/pre-upgrade checks if true ## Run pre-install/pre-upgrade checks if true
## ##
enabled: true enabled: true
## Repository for pre-install/pre-upgrade checks image
## By default it uses the global repository
##
repository: ""
## pre-install/pre-upgrade checks live in this image ## pre-install/pre-upgrade checks live in this image
## ##
image: fission/pre-upgrade-checks image: fission/pre-upgrade-checks
## pre-install/pre-upgrade checks image version ## pre-install/pre-upgrade checks image version
## ##
imageTag: v1.20.5 imageTag: v1.21.0
## Fission post-install/post-upgrade reporting live in this image ## Fission post-install/post-upgrade reporting live in this image
## ##
+1 -1
View File
@@ -1,3 +1,3 @@
FROM cgr.dev/chainguard/static:latest FROM cgr.dev/chainguard/static:latest@sha256:5497b01f36ef14a5198c0165e50ae6a0006d0c7457d4566f1110257e1c0812ed
COPY builder /builder COPY builder /builder
ENTRYPOINT ["/builder"] ENTRYPOINT ["/builder"]
+1 -1
View File
@@ -1,3 +1,3 @@
FROM cgr.dev/chainguard/static:latest FROM cgr.dev/chainguard/static:latest@sha256:5497b01f36ef14a5198c0165e50ae6a0006d0c7457d4566f1110257e1c0812ed
COPY fetcher / COPY fetcher /
ENTRYPOINT ["/fetcher"] ENTRYPOINT ["/fetcher"]
+1 -1
View File
@@ -1,3 +1,3 @@
FROM cgr.dev/chainguard/static:latest FROM cgr.dev/chainguard/static:latest@sha256:5497b01f36ef14a5198c0165e50ae6a0006d0c7457d4566f1110257e1c0812ed
COPY fission-bundle / COPY fission-bundle /
ENTRYPOINT ["/fission-bundle"] ENTRYPOINT ["/fission-bundle"]
-1
View File
@@ -161,7 +161,6 @@ func main() {
Use it to start one or more of the fission servers: Use it to start one or more of the fission servers:
Pool manager maintains a pool of generalized function containers, and Pool manager maintains a pool of generalized function containers, and
specializes them on-demand. Executor must be run from a pod in a specializes them on-demand. Executor must be run from a pod in a
Kubernetes cluster. Kubernetes cluster.
+1 -1
View File
@@ -1,3 +1,3 @@
FROM cgr.dev/chainguard/static:latest FROM cgr.dev/chainguard/static:latest@sha256:5497b01f36ef14a5198c0165e50ae6a0006d0c7457d4566f1110257e1c0812ed
COPY pre-upgrade-checks / COPY pre-upgrade-checks /
ENTRYPOINT ["/pre-upgrade-checks"] ENTRYPOINT ["/pre-upgrade-checks"]
+1 -1
View File
@@ -1,3 +1,3 @@
FROM cgr.dev/chainguard/static:latest FROM cgr.dev/chainguard/static:latest@sha256:5497b01f36ef14a5198c0165e50ae6a0006d0c7457d4566f1110257e1c0812ed
COPY reporter / COPY reporter /
ENTRYPOINT ["/reporter"] ENTRYPOINT ["/reporter"]
+1 -1
View File
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.16.3 controller-gen.kubebuilder.io/version: v0.17.1
name: canaryconfigs.fission.io name: canaryconfigs.fission.io
spec: spec:
group: fission.io group: fission.io
File diff suppressed because it is too large Load Diff
+250 -119
View File
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.16.3 controller-gen.kubebuilder.io/version: v0.17.1
name: functions.fission.io name: functions.fission.io
spec: spec:
group: fission.io group: fission.io
@@ -210,7 +210,6 @@ spec:
each pod of the current scale target (e.g. CPU or memory). Such metrics are each pod of the current scale target (e.g. CPU or memory). Such metrics are
built in to Kubernetes, and have special scaling options on top of those built in to Kubernetes, and have special scaling options on top of those
available to normal per-pod metrics using the "pods" source. available to normal per-pod metrics using the "pods" source.
This is an alpha feature and can be enabled by the HPAContainerMetrics feature flag.
properties: properties:
container: container:
description: container is the name of the container description: container is the name of the container
@@ -657,8 +656,6 @@ spec:
description: |- description: |-
type is the type of metric source. It should be one of "ContainerResource", "External", type is the type of metric source. It should be one of "ContainerResource", "External",
"Object", "Pods" or "Resource", each mapping to a matching field in the object. "Object", "Pods" or "Resource", each mapping to a matching field in the object.
Note: "ContainerResource" type is available on when the feature-gate
HPAContainerMetrics is enabled
type: string type: string
required: required:
- type - type
@@ -1941,7 +1938,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute
in the container.
properties: properties:
command: command:
description: |- description: |-
@@ -1956,7 +1954,7 @@ spec:
x-kubernetes-list-type: atomic x-kubernetes-list-type: atomic
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request description: HTTPGet specifies an HTTP GET request
to perform. to perform.
properties: properties:
host: host:
@@ -2006,8 +2004,8 @@ spec:
- port - port
type: object type: object
sleep: sleep:
description: Sleep represents the duration that description: Sleep represents a duration that the
the container should sleep before being terminated. container should sleep.
properties: properties:
seconds: seconds:
description: Seconds is the number of seconds description: Seconds is the number of seconds
@@ -2020,8 +2018,8 @@ spec:
tcpSocket: tcpSocket:
description: |- description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
for the backward compatibility. There are no validation of this field and for backward compatibility. There is no validation of this field and
lifecycle hooks will fail in runtime when tcp handler is specified. lifecycle hooks will fail at runtime when it is specified.
properties: properties:
host: host:
description: 'Optional: Host name to connect description: 'Optional: Host name to connect
@@ -2053,7 +2051,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute
in the container.
properties: properties:
command: command:
description: |- description: |-
@@ -2068,7 +2067,7 @@ spec:
x-kubernetes-list-type: atomic x-kubernetes-list-type: atomic
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request description: HTTPGet specifies an HTTP GET request
to perform. to perform.
properties: properties:
host: host:
@@ -2118,8 +2117,8 @@ spec:
- port - port
type: object type: object
sleep: sleep:
description: Sleep represents the duration that description: Sleep represents a duration that the
the container should sleep before being terminated. container should sleep.
properties: properties:
seconds: seconds:
description: Seconds is the number of seconds description: Seconds is the number of seconds
@@ -2132,8 +2131,8 @@ spec:
tcpSocket: tcpSocket:
description: |- description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
for the backward compatibility. There are no validation of this field and for backward compatibility. There is no validation of this field and
lifecycle hooks will fail in runtime when tcp handler is specified. lifecycle hooks will fail at runtime when it is specified.
properties: properties:
host: host:
description: 'Optional: Host name to connect description: 'Optional: Host name to connect
@@ -2161,7 +2160,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute in
the container.
properties: properties:
command: command:
description: |- description: |-
@@ -2182,8 +2182,7 @@ spec:
format: int32 format: int32
type: integer type: integer
grpc: grpc:
description: GRPC specifies an action involving a GRPC description: GRPC specifies a GRPC HealthCheckRequest.
port.
properties: properties:
port: port:
description: Port number of the gRPC service. Number description: Port number of the gRPC service. Number
@@ -2202,7 +2201,8 @@ spec:
- port - port
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request to perform. description: HTTPGet specifies an HTTP GET request to
perform.
properties: properties:
host: host:
description: |- description: |-
@@ -2269,8 +2269,8 @@ spec:
format: int32 format: int32
type: integer type: integer
tcpSocket: tcpSocket:
description: TCPSocket specifies an action involving description: TCPSocket specifies a connection to a TCP
a TCP port. port.
properties: properties:
host: host:
description: 'Optional: Host name to connect to, description: 'Optional: Host name to connect to,
@@ -2375,7 +2375,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute in
the container.
properties: properties:
command: command:
description: |- description: |-
@@ -2396,8 +2397,7 @@ spec:
format: int32 format: int32
type: integer type: integer
grpc: grpc:
description: GRPC specifies an action involving a GRPC description: GRPC specifies a GRPC HealthCheckRequest.
port.
properties: properties:
port: port:
description: Port number of the gRPC service. Number description: Port number of the gRPC service. Number
@@ -2416,7 +2416,8 @@ spec:
- port - port
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request to perform. description: HTTPGet specifies an HTTP GET request to
perform.
properties: properties:
host: host:
description: |- description: |-
@@ -2483,8 +2484,8 @@ spec:
format: int32 format: int32
type: integer type: integer
tcpSocket: tcpSocket:
description: TCPSocket specifies an action involving description: TCPSocket specifies a connection to a TCP
a TCP port. port.
properties: properties:
host: host:
description: 'Optional: Host name to connect to, description: 'Optional: Host name to connect to,
@@ -2833,7 +2834,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute in
the container.
properties: properties:
command: command:
description: |- description: |-
@@ -2854,8 +2856,7 @@ spec:
format: int32 format: int32
type: integer type: integer
grpc: grpc:
description: GRPC specifies an action involving a GRPC description: GRPC specifies a GRPC HealthCheckRequest.
port.
properties: properties:
port: port:
description: Port number of the gRPC service. Number description: Port number of the gRPC service. Number
@@ -2874,7 +2875,8 @@ spec:
- port - port
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request to perform. description: HTTPGet specifies an HTTP GET request to
perform.
properties: properties:
host: host:
description: |- description: |-
@@ -2941,8 +2943,8 @@ spec:
format: int32 format: int32
type: integer type: integer
tcpSocket: tcpSocket:
description: TCPSocket specifies an action involving description: TCPSocket specifies a connection to a TCP
a TCP port. port.
properties: properties:
host: host:
description: 'Optional: Host name to connect to, description: 'Optional: Host name to connect to,
@@ -3155,9 +3157,12 @@ spec:
of a pod. of a pod.
properties: properties:
name: name:
description: Required. description: |-
Name is this DNS resolver option's name.
Required.
type: string type: string
value: value:
description: Value is this DNS resolver option's value.
type: string type: string
type: object type: object
type: array type: array
@@ -3436,7 +3441,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute
in the container.
properties: properties:
command: command:
description: |- description: |-
@@ -3451,7 +3457,7 @@ spec:
x-kubernetes-list-type: atomic x-kubernetes-list-type: atomic
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request description: HTTPGet specifies an HTTP GET request
to perform. to perform.
properties: properties:
host: host:
@@ -3501,8 +3507,8 @@ spec:
- port - port
type: object type: object
sleep: sleep:
description: Sleep represents the duration that description: Sleep represents a duration that the
the container should sleep before being terminated. container should sleep.
properties: properties:
seconds: seconds:
description: Seconds is the number of seconds description: Seconds is the number of seconds
@@ -3515,8 +3521,8 @@ spec:
tcpSocket: tcpSocket:
description: |- description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
for the backward compatibility. There are no validation of this field and for backward compatibility. There is no validation of this field and
lifecycle hooks will fail in runtime when tcp handler is specified. lifecycle hooks will fail at runtime when it is specified.
properties: properties:
host: host:
description: 'Optional: Host name to connect description: 'Optional: Host name to connect
@@ -3548,7 +3554,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute
in the container.
properties: properties:
command: command:
description: |- description: |-
@@ -3563,7 +3570,7 @@ spec:
x-kubernetes-list-type: atomic x-kubernetes-list-type: atomic
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request description: HTTPGet specifies an HTTP GET request
to perform. to perform.
properties: properties:
host: host:
@@ -3613,8 +3620,8 @@ spec:
- port - port
type: object type: object
sleep: sleep:
description: Sleep represents the duration that description: Sleep represents a duration that the
the container should sleep before being terminated. container should sleep.
properties: properties:
seconds: seconds:
description: Seconds is the number of seconds description: Seconds is the number of seconds
@@ -3627,8 +3634,8 @@ spec:
tcpSocket: tcpSocket:
description: |- description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
for the backward compatibility. There are no validation of this field and for backward compatibility. There is no validation of this field and
lifecycle hooks will fail in runtime when tcp handler is specified. lifecycle hooks will fail at runtime when it is specified.
properties: properties:
host: host:
description: 'Optional: Host name to connect description: 'Optional: Host name to connect
@@ -3652,7 +3659,8 @@ spec:
description: Probes are not allowed for ephemeral containers. description: Probes are not allowed for ephemeral containers.
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute in
the container.
properties: properties:
command: command:
description: |- description: |-
@@ -3673,8 +3681,7 @@ spec:
format: int32 format: int32
type: integer type: integer
grpc: grpc:
description: GRPC specifies an action involving a GRPC description: GRPC specifies a GRPC HealthCheckRequest.
port.
properties: properties:
port: port:
description: Port number of the gRPC service. Number description: Port number of the gRPC service. Number
@@ -3693,7 +3700,8 @@ spec:
- port - port
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request to perform. description: HTTPGet specifies an HTTP GET request to
perform.
properties: properties:
host: host:
description: |- description: |-
@@ -3760,8 +3768,8 @@ spec:
format: int32 format: int32
type: integer type: integer
tcpSocket: tcpSocket:
description: TCPSocket specifies an action involving description: TCPSocket specifies a connection to a TCP
a TCP port. port.
properties: properties:
host: host:
description: 'Optional: Host name to connect to, description: 'Optional: Host name to connect to,
@@ -3854,7 +3862,8 @@ spec:
description: Probes are not allowed for ephemeral containers. description: Probes are not allowed for ephemeral containers.
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute in
the container.
properties: properties:
command: command:
description: |- description: |-
@@ -3875,8 +3884,7 @@ spec:
format: int32 format: int32
type: integer type: integer
grpc: grpc:
description: GRPC specifies an action involving a GRPC description: GRPC specifies a GRPC HealthCheckRequest.
port.
properties: properties:
port: port:
description: Port number of the gRPC service. Number description: Port number of the gRPC service. Number
@@ -3895,7 +3903,8 @@ spec:
- port - port
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request to perform. description: HTTPGet specifies an HTTP GET request to
perform.
properties: properties:
host: host:
description: |- description: |-
@@ -3962,8 +3971,8 @@ spec:
format: int32 format: int32
type: integer type: integer
tcpSocket: tcpSocket:
description: TCPSocket specifies an action involving description: TCPSocket specifies a connection to a TCP
a TCP port. port.
properties: properties:
host: host:
description: 'Optional: Host name to connect to, description: 'Optional: Host name to connect to,
@@ -4292,7 +4301,8 @@ spec:
description: Probes are not allowed for ephemeral containers. description: Probes are not allowed for ephemeral containers.
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute in
the container.
properties: properties:
command: command:
description: |- description: |-
@@ -4313,8 +4323,7 @@ spec:
format: int32 format: int32
type: integer type: integer
grpc: grpc:
description: GRPC specifies an action involving a GRPC description: GRPC specifies a GRPC HealthCheckRequest.
port.
properties: properties:
port: port:
description: Port number of the gRPC service. Number description: Port number of the gRPC service. Number
@@ -4333,7 +4342,8 @@ spec:
- port - port
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request to perform. description: HTTPGet specifies an HTTP GET request to
perform.
properties: properties:
host: host:
description: |- description: |-
@@ -4400,8 +4410,8 @@ spec:
format: int32 format: int32
type: integer type: integer
tcpSocket: tcpSocket:
description: TCPSocket specifies an action involving description: TCPSocket specifies a connection to a TCP
a TCP port. port.
properties: properties:
host: host:
description: 'Optional: Host name to connect to, description: 'Optional: Host name to connect to,
@@ -4935,7 +4945,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute
in the container.
properties: properties:
command: command:
description: |- description: |-
@@ -4950,7 +4961,7 @@ spec:
x-kubernetes-list-type: atomic x-kubernetes-list-type: atomic
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request description: HTTPGet specifies an HTTP GET request
to perform. to perform.
properties: properties:
host: host:
@@ -5000,8 +5011,8 @@ spec:
- port - port
type: object type: object
sleep: sleep:
description: Sleep represents the duration that description: Sleep represents a duration that the
the container should sleep before being terminated. container should sleep.
properties: properties:
seconds: seconds:
description: Seconds is the number of seconds description: Seconds is the number of seconds
@@ -5014,8 +5025,8 @@ spec:
tcpSocket: tcpSocket:
description: |- description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
for the backward compatibility. There are no validation of this field and for backward compatibility. There is no validation of this field and
lifecycle hooks will fail in runtime when tcp handler is specified. lifecycle hooks will fail at runtime when it is specified.
properties: properties:
host: host:
description: 'Optional: Host name to connect description: 'Optional: Host name to connect
@@ -5047,7 +5058,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute
in the container.
properties: properties:
command: command:
description: |- description: |-
@@ -5062,7 +5074,7 @@ spec:
x-kubernetes-list-type: atomic x-kubernetes-list-type: atomic
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request description: HTTPGet specifies an HTTP GET request
to perform. to perform.
properties: properties:
host: host:
@@ -5112,8 +5124,8 @@ spec:
- port - port
type: object type: object
sleep: sleep:
description: Sleep represents the duration that description: Sleep represents a duration that the
the container should sleep before being terminated. container should sleep.
properties: properties:
seconds: seconds:
description: Seconds is the number of seconds description: Seconds is the number of seconds
@@ -5126,8 +5138,8 @@ spec:
tcpSocket: tcpSocket:
description: |- description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
for the backward compatibility. There are no validation of this field and for backward compatibility. There is no validation of this field and
lifecycle hooks will fail in runtime when tcp handler is specified. lifecycle hooks will fail at runtime when it is specified.
properties: properties:
host: host:
description: 'Optional: Host name to connect description: 'Optional: Host name to connect
@@ -5155,7 +5167,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute in
the container.
properties: properties:
command: command:
description: |- description: |-
@@ -5176,8 +5189,7 @@ spec:
format: int32 format: int32
type: integer type: integer
grpc: grpc:
description: GRPC specifies an action involving a GRPC description: GRPC specifies a GRPC HealthCheckRequest.
port.
properties: properties:
port: port:
description: Port number of the gRPC service. Number description: Port number of the gRPC service. Number
@@ -5196,7 +5208,8 @@ spec:
- port - port
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request to perform. description: HTTPGet specifies an HTTP GET request to
perform.
properties: properties:
host: host:
description: |- description: |-
@@ -5263,8 +5276,8 @@ spec:
format: int32 format: int32
type: integer type: integer
tcpSocket: tcpSocket:
description: TCPSocket specifies an action involving description: TCPSocket specifies a connection to a TCP
a TCP port. port.
properties: properties:
host: host:
description: 'Optional: Host name to connect to, description: 'Optional: Host name to connect to,
@@ -5369,7 +5382,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute in
the container.
properties: properties:
command: command:
description: |- description: |-
@@ -5390,8 +5404,7 @@ spec:
format: int32 format: int32
type: integer type: integer
grpc: grpc:
description: GRPC specifies an action involving a GRPC description: GRPC specifies a GRPC HealthCheckRequest.
port.
properties: properties:
port: port:
description: Port number of the gRPC service. Number description: Port number of the gRPC service. Number
@@ -5410,7 +5423,8 @@ spec:
- port - port
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request to perform. description: HTTPGet specifies an HTTP GET request to
perform.
properties: properties:
host: host:
description: |- description: |-
@@ -5477,8 +5491,8 @@ spec:
format: int32 format: int32
type: integer type: integer
tcpSocket: tcpSocket:
description: TCPSocket specifies an action involving description: TCPSocket specifies a connection to a TCP
a TCP port. port.
properties: properties:
host: host:
description: 'Optional: Host name to connect to, description: 'Optional: Host name to connect to,
@@ -5827,7 +5841,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute in
the container.
properties: properties:
command: command:
description: |- description: |-
@@ -5848,8 +5863,7 @@ spec:
format: int32 format: int32
type: integer type: integer
grpc: grpc:
description: GRPC specifies an action involving a GRPC description: GRPC specifies a GRPC HealthCheckRequest.
port.
properties: properties:
port: port:
description: Port number of the gRPC service. Number description: Port number of the gRPC service. Number
@@ -5868,7 +5882,8 @@ spec:
- port - port
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request to perform. description: HTTPGet specifies an HTTP GET request to
perform.
properties: properties:
host: host:
description: |- description: |-
@@ -5935,8 +5950,8 @@ spec:
format: int32 format: int32
type: integer type: integer
tcpSocket: tcpSocket:
description: TCPSocket specifies an action involving description: TCPSocket specifies a connection to a TCP
a TCP port. port.
properties: properties:
host: host:
description: 'Optional: Host name to connect to, description: 'Optional: Host name to connect to,
@@ -6301,6 +6316,74 @@ spec:
x-kubernetes-list-map-keys: x-kubernetes-list-map-keys:
- name - name
x-kubernetes-list-type: map x-kubernetes-list-type: map
resources:
description: |-
Resources is the total amount of CPU and Memory resources required by all
containers in the pod. It supports specifying Requests and Limits for
"cpu" and "memory" resource names only. ResourceClaims are not supported.
This field enables fine-grained control over resource allocation for the
entire pod, allowing resource sharing among containers in a pod.
This is an alpha field and requires enabling the PodLevelResources feature
gate.
properties:
claims:
description: |-
Claims lists the names of resources, defined in spec.resourceClaims,
that are used by this container.
This is an alpha field and requires enabling the
DynamicResourceAllocation feature gate.
This field is immutable. It can only be set for containers.
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: |-
Name must match the name of one entry in pod.spec.resourceClaims of
the Pod where this field is used. It makes that resource available
inside a container.
type: string
request:
description: |-
Request is the name chosen for a request in the referenced claim.
If empty, everything from the claim is made available, otherwise
only the result of this request.
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: |-
Limits describes the maximum amount of compute resources allowed.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: |-
Requests describes the minimum amount of compute resources required.
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
otherwise to an implementation-defined value. Requests cannot exceed Limits.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
type: object
type: object
restartPolicy: restartPolicy:
description: |- description: |-
Restart policy for all containers within the pod. Restart policy for all containers within the pod.
@@ -6425,6 +6508,32 @@ spec:
Note that this field cannot be set when spec.os.name is windows. Note that this field cannot be set when spec.os.name is windows.
format: int64 format: int64
type: integer type: integer
seLinuxChangePolicy:
description: |-
seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
It has no effect on nodes that do not support SELinux or to volumes does not support SELinux.
Valid values are "MountOption" and "Recursive".
"Recursive" means relabeling of all files on all Pod volumes by the container runtime.
This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
"MountOption" mounts all eligible Pod volumes with `-o context` mount option.
This requires all Pods that share the same volume to use the same SELinux label.
It is not possible to share the same volume among privileged and unprivileged Pods.
Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
CSIDriver instance. Other volumes are always re-labelled recursively.
"MountOption" value is allowed only when SELinuxMount feature gate is enabled.
If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
and "Recursive" for all other volumes.
This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state.
Note that this field cannot be set when spec.os.name is windows.
type: string
seLinuxOptions: seLinuxOptions:
description: |- description: |-
The SELinux context to be applied to all containers. The SELinux context to be applied to all containers.
@@ -6830,6 +6939,8 @@ spec:
description: |- description: |-
awsElasticBlockStore represents an AWS Disk resource that is attached to a awsElasticBlockStore represents an AWS Disk resource that is attached to a
kubelet's host machine and then exposed to the pod. kubelet's host machine and then exposed to the pod.
Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
properties: properties:
fsType: fsType:
@@ -6861,8 +6972,10 @@ spec:
- volumeID - volumeID
type: object type: object
azureDisk: azureDisk:
description: azureDisk represents an Azure Data Disk mount description: |-
on the host and bind mount to the pod. azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
are redirected to the disk.csi.azure.com CSI driver.
properties: properties:
cachingMode: cachingMode:
description: 'cachingMode is the Host Caching mode: description: 'cachingMode is the Host Caching mode:
@@ -6901,8 +7014,10 @@ spec:
- diskURI - diskURI
type: object type: object
azureFile: azureFile:
description: azureFile represents an Azure File Service description: |-
mount on the host and bind mount to the pod. azureFile represents an Azure File Service mount on the host and bind mount to the pod.
Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
are redirected to the file.csi.azure.com CSI driver.
properties: properties:
readOnly: readOnly:
description: |- description: |-
@@ -6921,8 +7036,9 @@ spec:
- shareName - shareName
type: object type: object
cephfs: cephfs:
description: cephFS represents a Ceph FS mount on the host description: |-
that shares a pod's lifetime cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
properties: properties:
monitors: monitors:
description: |- description: |-
@@ -6974,6 +7090,8 @@ spec:
cinder: cinder:
description: |- description: |-
cinder represents a cinder volume attached and mounted on kubelets host machine. cinder represents a cinder volume attached and mounted on kubelets host machine.
Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
are redirected to the cinder.csi.openstack.org CSI driver.
More info: https://examples.k8s.io/mysql-cinder-pd/README.md More info: https://examples.k8s.io/mysql-cinder-pd/README.md
properties: properties:
fsType: fsType:
@@ -7085,7 +7203,7 @@ spec:
csi: csi:
description: csi (Container Storage Interface) represents description: csi (Container Storage Interface) represents
ephemeral storage that is handled by certain external ephemeral storage that is handled by certain external
CSI drivers (Beta feature). CSI drivers.
properties: properties:
driver: driver:
description: |- description: |-
@@ -7552,6 +7670,7 @@ spec:
description: |- description: |-
flexVolume represents a generic volume resource that is flexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin. provisioned/attached using an exec based plugin.
Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
properties: properties:
driver: driver:
description: driver is the name of the driver to use description: driver is the name of the driver to use
@@ -7597,9 +7716,9 @@ spec:
- driver - driver
type: object type: object
flocker: flocker:
description: flocker represents a Flocker volume attached description: |-
to a kubelet's host machine. This depends on the Flocker flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
control service being running Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
properties: properties:
datasetName: datasetName:
description: |- description: |-
@@ -7615,6 +7734,8 @@ spec:
description: |- description: |-
gcePersistentDisk represents a GCE Disk resource that is attached to a gcePersistentDisk represents a GCE Disk resource that is attached to a
kubelet's host machine and then exposed to the pod. kubelet's host machine and then exposed to the pod.
Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
properties: properties:
fsType: fsType:
@@ -7650,7 +7771,7 @@ spec:
gitRepo: gitRepo:
description: |- description: |-
gitRepo represents a git repository at a particular revision. gitRepo represents a git repository at a particular revision.
DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
into the Pod's container. into the Pod's container.
properties: properties:
@@ -7674,6 +7795,7 @@ spec:
glusterfs: glusterfs:
description: |- description: |-
glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
More info: https://examples.k8s.io/volumes/glusterfs/README.md More info: https://examples.k8s.io/volumes/glusterfs/README.md
properties: properties:
endpoints: endpoints:
@@ -7883,9 +8005,9 @@ spec:
- claimName - claimName
type: object type: object
photonPersistentDisk: photonPersistentDisk:
description: photonPersistentDisk represents a PhotonController description: |-
persistent disk attached and mounted on kubelets host photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
machine Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
properties: properties:
fsType: fsType:
description: |- description: |-
@@ -7901,8 +8023,11 @@ spec:
- pdID - pdID
type: object type: object
portworxVolume: portworxVolume:
description: portworxVolume represents a portworx volume description: |-
attached and mounted on kubelets host machine portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
is on.
properties: properties:
fsType: fsType:
description: |- description: |-
@@ -8269,8 +8394,9 @@ spec:
x-kubernetes-list-type: atomic x-kubernetes-list-type: atomic
type: object type: object
quobyte: quobyte:
description: quobyte represents a Quobyte mount on the host description: |-
that shares a pod's lifetime quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
properties: properties:
group: group:
description: |- description: |-
@@ -8309,6 +8435,7 @@ spec:
rbd: rbd:
description: |- description: |-
rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
More info: https://examples.k8s.io/volumes/rbd/README.md More info: https://examples.k8s.io/volumes/rbd/README.md
properties: properties:
fsType: fsType:
@@ -8381,8 +8508,9 @@ spec:
- monitors - monitors
type: object type: object
scaleIO: scaleIO:
description: scaleIO represents a ScaleIO persistent volume description: |-
attached and mounted on Kubernetes nodes. scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
properties: properties:
fsType: fsType:
default: xfs default: xfs
@@ -8515,8 +8643,9 @@ spec:
type: string type: string
type: object type: object
storageos: storageos:
description: storageOS represents a StorageOS volume attached description: |-
and mounted on Kubernetes nodes. storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
properties: properties:
fsType: fsType:
description: |- description: |-
@@ -8561,8 +8690,10 @@ spec:
type: string type: string
type: object type: object
vsphereVolume: vsphereVolume:
description: vsphereVolume represents a vSphere volume attached description: |-
and mounted on kubelets host machine vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
are redirected to the csi.vsphere.vmware.com CSI driver.
properties: properties:
fsType: fsType:
description: |- description: |-
+1 -1
View File
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.16.3 controller-gen.kubebuilder.io/version: v0.17.1
name: httptriggers.fission.io name: httptriggers.fission.io
spec: spec:
group: fission.io group: fission.io
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.16.3 controller-gen.kubebuilder.io/version: v0.17.1
name: kuberneteswatchtriggers.fission.io name: kuberneteswatchtriggers.fission.io
spec: spec:
group: fission.io group: fission.io
+250 -116
View File
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.16.3 controller-gen.kubebuilder.io/version: v0.17.1
name: messagequeuetriggers.fission.io name: messagequeuetriggers.fission.io
spec: spec:
group: fission.io group: fission.io
@@ -1303,7 +1303,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute
in the container.
properties: properties:
command: command:
description: |- description: |-
@@ -1318,7 +1319,7 @@ spec:
x-kubernetes-list-type: atomic x-kubernetes-list-type: atomic
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request description: HTTPGet specifies an HTTP GET request
to perform. to perform.
properties: properties:
host: host:
@@ -1368,8 +1369,8 @@ spec:
- port - port
type: object type: object
sleep: sleep:
description: Sleep represents the duration that description: Sleep represents a duration that the
the container should sleep before being terminated. container should sleep.
properties: properties:
seconds: seconds:
description: Seconds is the number of seconds description: Seconds is the number of seconds
@@ -1382,8 +1383,8 @@ spec:
tcpSocket: tcpSocket:
description: |- description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
for the backward compatibility. There are no validation of this field and for backward compatibility. There is no validation of this field and
lifecycle hooks will fail in runtime when tcp handler is specified. lifecycle hooks will fail at runtime when it is specified.
properties: properties:
host: host:
description: 'Optional: Host name to connect description: 'Optional: Host name to connect
@@ -1415,7 +1416,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute
in the container.
properties: properties:
command: command:
description: |- description: |-
@@ -1430,7 +1432,7 @@ spec:
x-kubernetes-list-type: atomic x-kubernetes-list-type: atomic
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request description: HTTPGet specifies an HTTP GET request
to perform. to perform.
properties: properties:
host: host:
@@ -1480,8 +1482,8 @@ spec:
- port - port
type: object type: object
sleep: sleep:
description: Sleep represents the duration that description: Sleep represents a duration that the
the container should sleep before being terminated. container should sleep.
properties: properties:
seconds: seconds:
description: Seconds is the number of seconds description: Seconds is the number of seconds
@@ -1494,8 +1496,8 @@ spec:
tcpSocket: tcpSocket:
description: |- description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
for the backward compatibility. There are no validation of this field and for backward compatibility. There is no validation of this field and
lifecycle hooks will fail in runtime when tcp handler is specified. lifecycle hooks will fail at runtime when it is specified.
properties: properties:
host: host:
description: 'Optional: Host name to connect description: 'Optional: Host name to connect
@@ -1523,7 +1525,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute in
the container.
properties: properties:
command: command:
description: |- description: |-
@@ -1544,8 +1547,7 @@ spec:
format: int32 format: int32
type: integer type: integer
grpc: grpc:
description: GRPC specifies an action involving a GRPC description: GRPC specifies a GRPC HealthCheckRequest.
port.
properties: properties:
port: port:
description: Port number of the gRPC service. Number description: Port number of the gRPC service. Number
@@ -1564,7 +1566,8 @@ spec:
- port - port
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request to perform. description: HTTPGet specifies an HTTP GET request to
perform.
properties: properties:
host: host:
description: |- description: |-
@@ -1631,8 +1634,8 @@ spec:
format: int32 format: int32
type: integer type: integer
tcpSocket: tcpSocket:
description: TCPSocket specifies an action involving description: TCPSocket specifies a connection to a TCP
a TCP port. port.
properties: properties:
host: host:
description: 'Optional: Host name to connect to, description: 'Optional: Host name to connect to,
@@ -1737,7 +1740,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute in
the container.
properties: properties:
command: command:
description: |- description: |-
@@ -1758,8 +1762,7 @@ spec:
format: int32 format: int32
type: integer type: integer
grpc: grpc:
description: GRPC specifies an action involving a GRPC description: GRPC specifies a GRPC HealthCheckRequest.
port.
properties: properties:
port: port:
description: Port number of the gRPC service. Number description: Port number of the gRPC service. Number
@@ -1778,7 +1781,8 @@ spec:
- port - port
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request to perform. description: HTTPGet specifies an HTTP GET request to
perform.
properties: properties:
host: host:
description: |- description: |-
@@ -1845,8 +1849,8 @@ spec:
format: int32 format: int32
type: integer type: integer
tcpSocket: tcpSocket:
description: TCPSocket specifies an action involving description: TCPSocket specifies a connection to a TCP
a TCP port. port.
properties: properties:
host: host:
description: 'Optional: Host name to connect to, description: 'Optional: Host name to connect to,
@@ -2195,7 +2199,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute in
the container.
properties: properties:
command: command:
description: |- description: |-
@@ -2216,8 +2221,7 @@ spec:
format: int32 format: int32
type: integer type: integer
grpc: grpc:
description: GRPC specifies an action involving a GRPC description: GRPC specifies a GRPC HealthCheckRequest.
port.
properties: properties:
port: port:
description: Port number of the gRPC service. Number description: Port number of the gRPC service. Number
@@ -2236,7 +2240,8 @@ spec:
- port - port
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request to perform. description: HTTPGet specifies an HTTP GET request to
perform.
properties: properties:
host: host:
description: |- description: |-
@@ -2303,8 +2308,8 @@ spec:
format: int32 format: int32
type: integer type: integer
tcpSocket: tcpSocket:
description: TCPSocket specifies an action involving description: TCPSocket specifies a connection to a TCP
a TCP port. port.
properties: properties:
host: host:
description: 'Optional: Host name to connect to, description: 'Optional: Host name to connect to,
@@ -2517,9 +2522,12 @@ spec:
of a pod. of a pod.
properties: properties:
name: name:
description: Required. description: |-
Name is this DNS resolver option's name.
Required.
type: string type: string
value: value:
description: Value is this DNS resolver option's value.
type: string type: string
type: object type: object
type: array type: array
@@ -2798,7 +2806,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute
in the container.
properties: properties:
command: command:
description: |- description: |-
@@ -2813,7 +2822,7 @@ spec:
x-kubernetes-list-type: atomic x-kubernetes-list-type: atomic
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request description: HTTPGet specifies an HTTP GET request
to perform. to perform.
properties: properties:
host: host:
@@ -2863,8 +2872,8 @@ spec:
- port - port
type: object type: object
sleep: sleep:
description: Sleep represents the duration that description: Sleep represents a duration that the
the container should sleep before being terminated. container should sleep.
properties: properties:
seconds: seconds:
description: Seconds is the number of seconds description: Seconds is the number of seconds
@@ -2877,8 +2886,8 @@ spec:
tcpSocket: tcpSocket:
description: |- description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
for the backward compatibility. There are no validation of this field and for backward compatibility. There is no validation of this field and
lifecycle hooks will fail in runtime when tcp handler is specified. lifecycle hooks will fail at runtime when it is specified.
properties: properties:
host: host:
description: 'Optional: Host name to connect description: 'Optional: Host name to connect
@@ -2910,7 +2919,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute
in the container.
properties: properties:
command: command:
description: |- description: |-
@@ -2925,7 +2935,7 @@ spec:
x-kubernetes-list-type: atomic x-kubernetes-list-type: atomic
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request description: HTTPGet specifies an HTTP GET request
to perform. to perform.
properties: properties:
host: host:
@@ -2975,8 +2985,8 @@ spec:
- port - port
type: object type: object
sleep: sleep:
description: Sleep represents the duration that description: Sleep represents a duration that the
the container should sleep before being terminated. container should sleep.
properties: properties:
seconds: seconds:
description: Seconds is the number of seconds description: Seconds is the number of seconds
@@ -2989,8 +2999,8 @@ spec:
tcpSocket: tcpSocket:
description: |- description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
for the backward compatibility. There are no validation of this field and for backward compatibility. There is no validation of this field and
lifecycle hooks will fail in runtime when tcp handler is specified. lifecycle hooks will fail at runtime when it is specified.
properties: properties:
host: host:
description: 'Optional: Host name to connect description: 'Optional: Host name to connect
@@ -3014,7 +3024,8 @@ spec:
description: Probes are not allowed for ephemeral containers. description: Probes are not allowed for ephemeral containers.
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute in
the container.
properties: properties:
command: command:
description: |- description: |-
@@ -3035,8 +3046,7 @@ spec:
format: int32 format: int32
type: integer type: integer
grpc: grpc:
description: GRPC specifies an action involving a GRPC description: GRPC specifies a GRPC HealthCheckRequest.
port.
properties: properties:
port: port:
description: Port number of the gRPC service. Number description: Port number of the gRPC service. Number
@@ -3055,7 +3065,8 @@ spec:
- port - port
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request to perform. description: HTTPGet specifies an HTTP GET request to
perform.
properties: properties:
host: host:
description: |- description: |-
@@ -3122,8 +3133,8 @@ spec:
format: int32 format: int32
type: integer type: integer
tcpSocket: tcpSocket:
description: TCPSocket specifies an action involving description: TCPSocket specifies a connection to a TCP
a TCP port. port.
properties: properties:
host: host:
description: 'Optional: Host name to connect to, description: 'Optional: Host name to connect to,
@@ -3216,7 +3227,8 @@ spec:
description: Probes are not allowed for ephemeral containers. description: Probes are not allowed for ephemeral containers.
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute in
the container.
properties: properties:
command: command:
description: |- description: |-
@@ -3237,8 +3249,7 @@ spec:
format: int32 format: int32
type: integer type: integer
grpc: grpc:
description: GRPC specifies an action involving a GRPC description: GRPC specifies a GRPC HealthCheckRequest.
port.
properties: properties:
port: port:
description: Port number of the gRPC service. Number description: Port number of the gRPC service. Number
@@ -3257,7 +3268,8 @@ spec:
- port - port
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request to perform. description: HTTPGet specifies an HTTP GET request to
perform.
properties: properties:
host: host:
description: |- description: |-
@@ -3324,8 +3336,8 @@ spec:
format: int32 format: int32
type: integer type: integer
tcpSocket: tcpSocket:
description: TCPSocket specifies an action involving description: TCPSocket specifies a connection to a TCP
a TCP port. port.
properties: properties:
host: host:
description: 'Optional: Host name to connect to, description: 'Optional: Host name to connect to,
@@ -3654,7 +3666,8 @@ spec:
description: Probes are not allowed for ephemeral containers. description: Probes are not allowed for ephemeral containers.
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute in
the container.
properties: properties:
command: command:
description: |- description: |-
@@ -3675,8 +3688,7 @@ spec:
format: int32 format: int32
type: integer type: integer
grpc: grpc:
description: GRPC specifies an action involving a GRPC description: GRPC specifies a GRPC HealthCheckRequest.
port.
properties: properties:
port: port:
description: Port number of the gRPC service. Number description: Port number of the gRPC service. Number
@@ -3695,7 +3707,8 @@ spec:
- port - port
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request to perform. description: HTTPGet specifies an HTTP GET request to
perform.
properties: properties:
host: host:
description: |- description: |-
@@ -3762,8 +3775,8 @@ spec:
format: int32 format: int32
type: integer type: integer
tcpSocket: tcpSocket:
description: TCPSocket specifies an action involving description: TCPSocket specifies a connection to a TCP
a TCP port. port.
properties: properties:
host: host:
description: 'Optional: Host name to connect to, description: 'Optional: Host name to connect to,
@@ -4297,7 +4310,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute
in the container.
properties: properties:
command: command:
description: |- description: |-
@@ -4312,7 +4326,7 @@ spec:
x-kubernetes-list-type: atomic x-kubernetes-list-type: atomic
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request description: HTTPGet specifies an HTTP GET request
to perform. to perform.
properties: properties:
host: host:
@@ -4362,8 +4376,8 @@ spec:
- port - port
type: object type: object
sleep: sleep:
description: Sleep represents the duration that description: Sleep represents a duration that the
the container should sleep before being terminated. container should sleep.
properties: properties:
seconds: seconds:
description: Seconds is the number of seconds description: Seconds is the number of seconds
@@ -4376,8 +4390,8 @@ spec:
tcpSocket: tcpSocket:
description: |- description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
for the backward compatibility. There are no validation of this field and for backward compatibility. There is no validation of this field and
lifecycle hooks will fail in runtime when tcp handler is specified. lifecycle hooks will fail at runtime when it is specified.
properties: properties:
host: host:
description: 'Optional: Host name to connect description: 'Optional: Host name to connect
@@ -4409,7 +4423,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute
in the container.
properties: properties:
command: command:
description: |- description: |-
@@ -4424,7 +4439,7 @@ spec:
x-kubernetes-list-type: atomic x-kubernetes-list-type: atomic
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request description: HTTPGet specifies an HTTP GET request
to perform. to perform.
properties: properties:
host: host:
@@ -4474,8 +4489,8 @@ spec:
- port - port
type: object type: object
sleep: sleep:
description: Sleep represents the duration that description: Sleep represents a duration that the
the container should sleep before being terminated. container should sleep.
properties: properties:
seconds: seconds:
description: Seconds is the number of seconds description: Seconds is the number of seconds
@@ -4488,8 +4503,8 @@ spec:
tcpSocket: tcpSocket:
description: |- description: |-
Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
for the backward compatibility. There are no validation of this field and for backward compatibility. There is no validation of this field and
lifecycle hooks will fail in runtime when tcp handler is specified. lifecycle hooks will fail at runtime when it is specified.
properties: properties:
host: host:
description: 'Optional: Host name to connect description: 'Optional: Host name to connect
@@ -4517,7 +4532,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute in
the container.
properties: properties:
command: command:
description: |- description: |-
@@ -4538,8 +4554,7 @@ spec:
format: int32 format: int32
type: integer type: integer
grpc: grpc:
description: GRPC specifies an action involving a GRPC description: GRPC specifies a GRPC HealthCheckRequest.
port.
properties: properties:
port: port:
description: Port number of the gRPC service. Number description: Port number of the gRPC service. Number
@@ -4558,7 +4573,8 @@ spec:
- port - port
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request to perform. description: HTTPGet specifies an HTTP GET request to
perform.
properties: properties:
host: host:
description: |- description: |-
@@ -4625,8 +4641,8 @@ spec:
format: int32 format: int32
type: integer type: integer
tcpSocket: tcpSocket:
description: TCPSocket specifies an action involving description: TCPSocket specifies a connection to a TCP
a TCP port. port.
properties: properties:
host: host:
description: 'Optional: Host name to connect to, description: 'Optional: Host name to connect to,
@@ -4731,7 +4747,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute in
the container.
properties: properties:
command: command:
description: |- description: |-
@@ -4752,8 +4769,7 @@ spec:
format: int32 format: int32
type: integer type: integer
grpc: grpc:
description: GRPC specifies an action involving a GRPC description: GRPC specifies a GRPC HealthCheckRequest.
port.
properties: properties:
port: port:
description: Port number of the gRPC service. Number description: Port number of the gRPC service. Number
@@ -4772,7 +4788,8 @@ spec:
- port - port
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request to perform. description: HTTPGet specifies an HTTP GET request to
perform.
properties: properties:
host: host:
description: |- description: |-
@@ -4839,8 +4856,8 @@ spec:
format: int32 format: int32
type: integer type: integer
tcpSocket: tcpSocket:
description: TCPSocket specifies an action involving description: TCPSocket specifies a connection to a TCP
a TCP port. port.
properties: properties:
host: host:
description: 'Optional: Host name to connect to, description: 'Optional: Host name to connect to,
@@ -5189,7 +5206,8 @@ spec:
More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
properties: properties:
exec: exec:
description: Exec specifies the action to take. description: Exec specifies a command to execute in
the container.
properties: properties:
command: command:
description: |- description: |-
@@ -5210,8 +5228,7 @@ spec:
format: int32 format: int32
type: integer type: integer
grpc: grpc:
description: GRPC specifies an action involving a GRPC description: GRPC specifies a GRPC HealthCheckRequest.
port.
properties: properties:
port: port:
description: Port number of the gRPC service. Number description: Port number of the gRPC service. Number
@@ -5230,7 +5247,8 @@ spec:
- port - port
type: object type: object
httpGet: httpGet:
description: HTTPGet specifies the http request to perform. description: HTTPGet specifies an HTTP GET request to
perform.
properties: properties:
host: host:
description: |- description: |-
@@ -5297,8 +5315,8 @@ spec:
format: int32 format: int32
type: integer type: integer
tcpSocket: tcpSocket:
description: TCPSocket specifies an action involving description: TCPSocket specifies a connection to a TCP
a TCP port. port.
properties: properties:
host: host:
description: 'Optional: Host name to connect to, description: 'Optional: Host name to connect to,
@@ -5663,6 +5681,74 @@ spec:
x-kubernetes-list-map-keys: x-kubernetes-list-map-keys:
- name - name
x-kubernetes-list-type: map x-kubernetes-list-type: map
resources:
description: |-
Resources is the total amount of CPU and Memory resources required by all
containers in the pod. It supports specifying Requests and Limits for
"cpu" and "memory" resource names only. ResourceClaims are not supported.
This field enables fine-grained control over resource allocation for the
entire pod, allowing resource sharing among containers in a pod.
This is an alpha field and requires enabling the PodLevelResources feature
gate.
properties:
claims:
description: |-
Claims lists the names of resources, defined in spec.resourceClaims,
that are used by this container.
This is an alpha field and requires enabling the
DynamicResourceAllocation feature gate.
This field is immutable. It can only be set for containers.
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: |-
Name must match the name of one entry in pod.spec.resourceClaims of
the Pod where this field is used. It makes that resource available
inside a container.
type: string
request:
description: |-
Request is the name chosen for a request in the referenced claim.
If empty, everything from the claim is made available, otherwise
only the result of this request.
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: |-
Limits describes the maximum amount of compute resources allowed.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: |-
Requests describes the minimum amount of compute resources required.
If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
otherwise to an implementation-defined value. Requests cannot exceed Limits.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
type: object
type: object
restartPolicy: restartPolicy:
description: |- description: |-
Restart policy for all containers within the pod. Restart policy for all containers within the pod.
@@ -5787,6 +5873,32 @@ spec:
Note that this field cannot be set when spec.os.name is windows. Note that this field cannot be set when spec.os.name is windows.
format: int64 format: int64
type: integer type: integer
seLinuxChangePolicy:
description: |-
seLinuxChangePolicy defines how the container's SELinux label is applied to all volumes used by the Pod.
It has no effect on nodes that do not support SELinux or to volumes does not support SELinux.
Valid values are "MountOption" and "Recursive".
"Recursive" means relabeling of all files on all Pod volumes by the container runtime.
This may be slow for large volumes, but allows mixing privileged and unprivileged Pods sharing the same volume on the same node.
"MountOption" mounts all eligible Pod volumes with `-o context` mount option.
This requires all Pods that share the same volume to use the same SELinux label.
It is not possible to share the same volume among privileged and unprivileged Pods.
Eligible volumes are in-tree FibreChannel and iSCSI volumes, and all CSI volumes
whose CSI driver announces SELinux support by setting spec.seLinuxMount: true in their
CSIDriver instance. Other volumes are always re-labelled recursively.
"MountOption" value is allowed only when SELinuxMount feature gate is enabled.
If not specified and SELinuxMount feature gate is enabled, "MountOption" is used.
If not specified and SELinuxMount feature gate is disabled, "MountOption" is used for ReadWriteOncePod volumes
and "Recursive" for all other volumes.
This field affects only Pods that have SELinux label set, either in PodSecurityContext or in SecurityContext of all containers.
All Pods that use the same volume should use the same seLinuxChangePolicy, otherwise some pods can get stuck in ContainerCreating state.
Note that this field cannot be set when spec.os.name is windows.
type: string
seLinuxOptions: seLinuxOptions:
description: |- description: |-
The SELinux context to be applied to all containers. The SELinux context to be applied to all containers.
@@ -6192,6 +6304,8 @@ spec:
description: |- description: |-
awsElasticBlockStore represents an AWS Disk resource that is attached to a awsElasticBlockStore represents an AWS Disk resource that is attached to a
kubelet's host machine and then exposed to the pod. kubelet's host machine and then exposed to the pod.
Deprecated: AWSElasticBlockStore is deprecated. All operations for the in-tree
awsElasticBlockStore type are redirected to the ebs.csi.aws.com CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
properties: properties:
fsType: fsType:
@@ -6223,8 +6337,10 @@ spec:
- volumeID - volumeID
type: object type: object
azureDisk: azureDisk:
description: azureDisk represents an Azure Data Disk mount description: |-
on the host and bind mount to the pod. azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
Deprecated: AzureDisk is deprecated. All operations for the in-tree azureDisk type
are redirected to the disk.csi.azure.com CSI driver.
properties: properties:
cachingMode: cachingMode:
description: 'cachingMode is the Host Caching mode: description: 'cachingMode is the Host Caching mode:
@@ -6263,8 +6379,10 @@ spec:
- diskURI - diskURI
type: object type: object
azureFile: azureFile:
description: azureFile represents an Azure File Service description: |-
mount on the host and bind mount to the pod. azureFile represents an Azure File Service mount on the host and bind mount to the pod.
Deprecated: AzureFile is deprecated. All operations for the in-tree azureFile type
are redirected to the file.csi.azure.com CSI driver.
properties: properties:
readOnly: readOnly:
description: |- description: |-
@@ -6283,8 +6401,9 @@ spec:
- shareName - shareName
type: object type: object
cephfs: cephfs:
description: cephFS represents a Ceph FS mount on the host description: |-
that shares a pod's lifetime cephFS represents a Ceph FS mount on the host that shares a pod's lifetime.
Deprecated: CephFS is deprecated and the in-tree cephfs type is no longer supported.
properties: properties:
monitors: monitors:
description: |- description: |-
@@ -6336,6 +6455,8 @@ spec:
cinder: cinder:
description: |- description: |-
cinder represents a cinder volume attached and mounted on kubelets host machine. cinder represents a cinder volume attached and mounted on kubelets host machine.
Deprecated: Cinder is deprecated. All operations for the in-tree cinder type
are redirected to the cinder.csi.openstack.org CSI driver.
More info: https://examples.k8s.io/mysql-cinder-pd/README.md More info: https://examples.k8s.io/mysql-cinder-pd/README.md
properties: properties:
fsType: fsType:
@@ -6447,7 +6568,7 @@ spec:
csi: csi:
description: csi (Container Storage Interface) represents description: csi (Container Storage Interface) represents
ephemeral storage that is handled by certain external ephemeral storage that is handled by certain external
CSI drivers (Beta feature). CSI drivers.
properties: properties:
driver: driver:
description: |- description: |-
@@ -6914,6 +7035,7 @@ spec:
description: |- description: |-
flexVolume represents a generic volume resource that is flexVolume represents a generic volume resource that is
provisioned/attached using an exec based plugin. provisioned/attached using an exec based plugin.
Deprecated: FlexVolume is deprecated. Consider using a CSIDriver instead.
properties: properties:
driver: driver:
description: driver is the name of the driver to use description: driver is the name of the driver to use
@@ -6959,9 +7081,9 @@ spec:
- driver - driver
type: object type: object
flocker: flocker:
description: flocker represents a Flocker volume attached description: |-
to a kubelet's host machine. This depends on the Flocker flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running.
control service being running Deprecated: Flocker is deprecated and the in-tree flocker type is no longer supported.
properties: properties:
datasetName: datasetName:
description: |- description: |-
@@ -6977,6 +7099,8 @@ spec:
description: |- description: |-
gcePersistentDisk represents a GCE Disk resource that is attached to a gcePersistentDisk represents a GCE Disk resource that is attached to a
kubelet's host machine and then exposed to the pod. kubelet's host machine and then exposed to the pod.
Deprecated: GCEPersistentDisk is deprecated. All operations for the in-tree
gcePersistentDisk type are redirected to the pd.csi.storage.gke.io CSI driver.
More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
properties: properties:
fsType: fsType:
@@ -7012,7 +7136,7 @@ spec:
gitRepo: gitRepo:
description: |- description: |-
gitRepo represents a git repository at a particular revision. gitRepo represents a git repository at a particular revision.
DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an Deprecated: GitRepo is deprecated. To provision a container with a git repo, mount an
EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
into the Pod's container. into the Pod's container.
properties: properties:
@@ -7036,6 +7160,7 @@ spec:
glusterfs: glusterfs:
description: |- description: |-
glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
Deprecated: Glusterfs is deprecated and the in-tree glusterfs type is no longer supported.
More info: https://examples.k8s.io/volumes/glusterfs/README.md More info: https://examples.k8s.io/volumes/glusterfs/README.md
properties: properties:
endpoints: endpoints:
@@ -7245,9 +7370,9 @@ spec:
- claimName - claimName
type: object type: object
photonPersistentDisk: photonPersistentDisk:
description: photonPersistentDisk represents a PhotonController description: |-
persistent disk attached and mounted on kubelets host photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine.
machine Deprecated: PhotonPersistentDisk is deprecated and the in-tree photonPersistentDisk type is no longer supported.
properties: properties:
fsType: fsType:
description: |- description: |-
@@ -7263,8 +7388,11 @@ spec:
- pdID - pdID
type: object type: object
portworxVolume: portworxVolume:
description: portworxVolume represents a portworx volume description: |-
attached and mounted on kubelets host machine portworxVolume represents a portworx volume attached and mounted on kubelets host machine.
Deprecated: PortworxVolume is deprecated. All operations for the in-tree portworxVolume type
are redirected to the pxd.portworx.com CSI driver when the CSIMigrationPortworx feature-gate
is on.
properties: properties:
fsType: fsType:
description: |- description: |-
@@ -7631,8 +7759,9 @@ spec:
x-kubernetes-list-type: atomic x-kubernetes-list-type: atomic
type: object type: object
quobyte: quobyte:
description: quobyte represents a Quobyte mount on the host description: |-
that shares a pod's lifetime quobyte represents a Quobyte mount on the host that shares a pod's lifetime.
Deprecated: Quobyte is deprecated and the in-tree quobyte type is no longer supported.
properties: properties:
group: group:
description: |- description: |-
@@ -7671,6 +7800,7 @@ spec:
rbd: rbd:
description: |- description: |-
rbd represents a Rados Block Device mount on the host that shares a pod's lifetime. rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
Deprecated: RBD is deprecated and the in-tree rbd type is no longer supported.
More info: https://examples.k8s.io/volumes/rbd/README.md More info: https://examples.k8s.io/volumes/rbd/README.md
properties: properties:
fsType: fsType:
@@ -7743,8 +7873,9 @@ spec:
- monitors - monitors
type: object type: object
scaleIO: scaleIO:
description: scaleIO represents a ScaleIO persistent volume description: |-
attached and mounted on Kubernetes nodes. scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
Deprecated: ScaleIO is deprecated and the in-tree scaleIO type is no longer supported.
properties: properties:
fsType: fsType:
default: xfs default: xfs
@@ -7877,8 +8008,9 @@ spec:
type: string type: string
type: object type: object
storageos: storageos:
description: storageOS represents a StorageOS volume attached description: |-
and mounted on Kubernetes nodes. storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
Deprecated: StorageOS is deprecated and the in-tree storageos type is no longer supported.
properties: properties:
fsType: fsType:
description: |- description: |-
@@ -7923,8 +8055,10 @@ spec:
type: string type: string
type: object type: object
vsphereVolume: vsphereVolume:
description: vsphereVolume represents a vSphere volume attached description: |-
and mounted on kubelets host machine vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine.
Deprecated: VsphereVolume is deprecated. All operations for the in-tree vsphereVolume type
are redirected to the csi.vsphere.vmware.com CSI driver.
properties: properties:
fsType: fsType:
description: |- description: |-
+1 -1
View File
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.16.3 controller-gen.kubebuilder.io/version: v0.17.1
name: packages.fission.io name: packages.fission.io
spec: spec:
group: fission.io group: fission.io
+1 -1
View File
@@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition kind: CustomResourceDefinition
metadata: metadata:
annotations: annotations:
controller-gen.kubebuilder.io/version: v0.16.3 controller-gen.kubebuilder.io/version: v0.17.1
name: timetriggers.fission.io name: timetriggers.fission.io
spec: spec:
group: fission.io group: fission.io
+79 -71
View File
@@ -1,103 +1,107 @@
module github.com/fission/fission module github.com/fission/fission
go 1.23.1 go 1.23.4
require ( require (
dario.cat/mergo v1.0.1 dario.cat/mergo v1.0.1
github.com/IBM/sarama v1.43.3 github.com/IBM/sarama v1.45.0
github.com/bep/debounce v1.2.1 github.com/bep/debounce v1.2.1
github.com/dchest/uniuri v1.2.0 github.com/dchest/uniuri v1.2.0
github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815
github.com/dustin/go-humanize v1.0.1 github.com/dustin/go-humanize v1.0.1
github.com/elastic/crd-ref-docs v0.1.0 github.com/elastic/crd-ref-docs v0.1.0
github.com/fatih/color v1.17.0 github.com/fatih/color v1.18.0
github.com/fsnotify/fsnotify v1.7.0 github.com/fsnotify/fsnotify v1.8.0
github.com/go-git/go-git/v5 v5.12.0 github.com/go-git/go-git/v5 v5.13.1
github.com/go-logr/zapr v1.3.0 github.com/go-logr/zapr v1.3.0
github.com/golang-jwt/jwt/v4 v4.5.0 github.com/golang-jwt/jwt/v4 v4.5.1
github.com/google/go-cmp v0.6.0 github.com/google/go-cmp v0.6.0
github.com/google/uuid v1.6.0 github.com/google/uuid v1.6.0
github.com/gorilla/mux v1.8.1 github.com/gorilla/mux v1.8.1
github.com/graymeta/stow v0.2.8 github.com/graymeta/stow v0.2.8
github.com/hashicorp/go-multierror v1.1.1 github.com/hashicorp/go-multierror v1.1.1
github.com/hashicorp/go-retryablehttp v0.7.7 github.com/hashicorp/go-retryablehttp v0.7.7
github.com/influxdata/influxdb v1.11.6 github.com/influxdata/influxdb v1.11.8
github.com/kedacore/keda/v2 v2.15.1 github.com/kedacore/keda/v2 v2.16.1
github.com/mholt/archiver/v3 v3.5.1 github.com/mholt/archives v0.1.0
github.com/minio/minio-go v6.0.14+incompatible github.com/minio/minio-go v6.0.14+incompatible
github.com/ory/dockertest v3.3.5+incompatible github.com/ory/dockertest v3.3.5+incompatible
github.com/pkg/errors v0.9.1 github.com/pkg/errors v0.9.1
github.com/prometheus/client_golang v1.20.4 github.com/prometheus/client_golang v1.20.5
github.com/prometheus/common v0.59.1 github.com/prometheus/common v0.62.0
github.com/robfig/cron/v3 v3.0.1 github.com/robfig/cron/v3 v3.0.1
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06
github.com/spf13/cobra v1.8.1 github.com/spf13/cobra v1.8.1
github.com/spf13/pflag v1.0.5 github.com/spf13/pflag v1.0.5
github.com/stretchr/testify v1.9.0 github.com/stretchr/testify v1.10.0
github.com/wcharczuk/go-chart v2.0.1+incompatible github.com/wcharczuk/go-chart v2.0.1+incompatible
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0 go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0
go.opentelemetry.io/contrib/propagators/autoprop v0.55.0 go.opentelemetry.io/contrib/propagators/autoprop v0.59.0
go.opentelemetry.io/otel v1.30.0 go.opentelemetry.io/otel v1.34.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.30.0 go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0
go.opentelemetry.io/otel/sdk v1.30.0 go.opentelemetry.io/otel/sdk v1.34.0
go.opentelemetry.io/otel/trace v1.30.0 go.opentelemetry.io/otel/trace v1.34.0
go.uber.org/zap v1.27.0 go.uber.org/zap v1.27.0
golang.org/x/net v0.29.0 golang.org/x/net v0.34.0
google.golang.org/grpc v1.67.1 google.golang.org/grpc v1.69.4
k8s.io/api v0.31.1 k8s.io/api v0.32.1
k8s.io/apiextensions-apiserver v0.31.1 k8s.io/apiextensions-apiserver v0.32.1
k8s.io/apimachinery v0.31.1 k8s.io/apimachinery v0.32.1
k8s.io/client-go v0.31.1 k8s.io/client-go v0.32.1
k8s.io/code-generator v0.31.1 k8s.io/code-generator v0.32.1
k8s.io/metrics v0.31.1 k8s.io/metrics v0.32.1
sigs.k8s.io/controller-runtime v0.19.0 sigs.k8s.io/controller-runtime v0.19.4
sigs.k8s.io/controller-tools v0.16.3 sigs.k8s.io/controller-tools v0.17.1
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 sigs.k8s.io/structured-merge-diff/v4 v4.5.0
sigs.k8s.io/yaml v1.4.0 sigs.k8s.io/yaml v1.4.0
) )
require ( require (
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect
github.com/Masterminds/goutils v1.1.1 // indirect github.com/Masterminds/goutils v1.1.1 // indirect
github.com/Masterminds/semver v1.5.0 // indirect github.com/Masterminds/semver v1.5.0 // indirect
github.com/Masterminds/sprig v2.22.0+incompatible // indirect github.com/Masterminds/sprig v2.22.0+incompatible // indirect
github.com/Microsoft/go-winio v0.6.1 // indirect github.com/Microsoft/go-winio v0.6.1 // indirect
github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 // indirect github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 // indirect
github.com/ProtonMail/go-crypto v1.0.0 // indirect github.com/ProtonMail/go-crypto v1.1.3 // indirect
github.com/andybalholm/brotli v1.1.0 // indirect github.com/STARRY-S/zip v0.2.1 // indirect
github.com/andybalholm/brotli v1.1.1 // indirect
github.com/aws/aws-sdk-go v1.42.34 // indirect github.com/aws/aws-sdk-go v1.42.34 // indirect
github.com/beorn7/perks v1.0.1 // indirect github.com/beorn7/perks v1.0.1 // indirect
github.com/blend/go-sdk v1.20220112.5 // indirect github.com/blend/go-sdk v1.20220112.5 // indirect
github.com/bodgit/plumbing v1.3.0 // indirect
github.com/bodgit/sevenzip v1.6.0 // indirect
github.com/bodgit/windows v1.0.1 // indirect
github.com/cenkalti/backoff v2.2.1+incompatible // indirect github.com/cenkalti/backoff v2.2.1+incompatible // indirect
github.com/cenkalti/backoff/v4 v4.3.0 // indirect github.com/cenkalti/backoff/v4 v4.3.0 // indirect
github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/cloudflare/circl v1.3.7 // indirect github.com/cloudflare/circl v1.3.7 // indirect
github.com/containerd/continuity v0.2.2 // indirect github.com/containerd/continuity v0.2.2 // indirect
github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.4 // indirect
github.com/cyphar/filepath-securejoin v0.2.4 // indirect github.com/cyphar/filepath-securejoin v0.3.6 // indirect
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
github.com/docker/go-connections v0.4.0 // indirect github.com/docker/go-connections v0.4.0 // indirect
github.com/docker/go-units v0.4.0 // indirect github.com/docker/go-units v0.4.0 // indirect
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5 // indirect github.com/dsnet/compress v0.0.2-0.20230904184137-39efe44ab707 // indirect
github.com/eapache/go-resiliency v1.7.0 // indirect github.com/eapache/go-resiliency v1.7.0 // indirect
github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3 // indirect github.com/eapache/go-xerial-snappy v0.0.0-20230731223053-c322873962e3 // indirect
github.com/eapache/queue v1.1.0 // indirect github.com/eapache/queue v1.1.0 // indirect
github.com/emicklei/go-restful/v3 v3.12.0 // indirect github.com/emicklei/go-restful/v3 v3.12.1 // indirect
github.com/emirpasic/gods v1.18.1 // indirect github.com/emirpasic/gods v1.18.1 // indirect
github.com/evanphx/json-patch/v5 v5.9.0 // indirect github.com/evanphx/json-patch/v5 v5.9.0 // indirect
github.com/expr-lang/expr v1.16.9 // indirect github.com/expr-lang/expr v1.16.9 // indirect
github.com/felixge/httpsnoop v1.0.4 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect
github.com/fxamacker/cbor/v2 v2.7.0 // indirect github.com/fxamacker/cbor/v2 v2.7.0 // indirect
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
github.com/go-git/go-billy/v5 v5.5.0 // indirect github.com/go-git/go-billy/v5 v5.6.1 // indirect
github.com/go-ini/ini v1.66.4 // indirect github.com/go-ini/ini v1.66.4 // indirect
github.com/go-logr/logr v1.4.2 // indirect github.com/go-logr/logr v1.4.2 // indirect
github.com/go-logr/stdr v1.2.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect
github.com/go-openapi/jsonpointer v0.21.0 // indirect github.com/go-openapi/jsonpointer v0.21.0 // indirect
github.com/go-openapi/jsonreference v0.21.0 // indirect github.com/go-openapi/jsonreference v0.21.0 // indirect
github.com/go-openapi/swag v0.23.0 // indirect github.com/go-openapi/swag v0.23.0 // indirect
github.com/gobuffalo/flect v1.0.2 // indirect github.com/gobuffalo/flect v1.0.3 // indirect
github.com/goccy/go-yaml v1.11.3 // indirect github.com/goccy/go-yaml v1.11.3 // indirect
github.com/gogo/protobuf v1.3.2 // indirect github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
@@ -108,10 +112,11 @@ require (
github.com/google/gofuzz v1.2.0 // indirect github.com/google/gofuzz v1.2.0 // indirect
github.com/gorilla/websocket v1.5.1 // indirect github.com/gorilla/websocket v1.5.1 // indirect
github.com/gotestyourself/gotestyourself v2.2.0+incompatible // indirect github.com/gotestyourself/gotestyourself v2.2.0+incompatible // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
github.com/hashicorp/go-uuid v1.0.3 // indirect github.com/hashicorp/go-uuid v1.0.3 // indirect
github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect
github.com/huandu/xstrings v1.3.3 // indirect github.com/huandu/xstrings v1.3.3 // indirect
github.com/imdario/mergo v0.3.16 // indirect github.com/imdario/mergo v0.3.16 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect
@@ -125,8 +130,8 @@ require (
github.com/josharian/intern v1.0.0 // indirect github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect github.com/json-iterator/go v1.1.12 // indirect
github.com/kevinburke/ssh_config v1.2.0 // indirect github.com/kevinburke/ssh_config v1.2.0 // indirect
github.com/klauspost/compress v1.17.9 // indirect github.com/klauspost/compress v1.17.11 // indirect
github.com/klauspost/pgzip v1.2.5 // indirect github.com/klauspost/pgzip v1.2.6 // indirect
github.com/lib/pq v1.10.4 // indirect github.com/lib/pq v1.10.4 // indirect
github.com/mailru/easyjson v0.7.7 // indirect github.com/mailru/easyjson v0.7.7 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-colorable v0.1.13 // indirect
@@ -134,16 +139,16 @@ require (
github.com/mitchellh/copystructure v1.2.0 // indirect github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/moby/spdystream v0.4.0 // indirect github.com/moby/spdystream v0.5.0 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect
github.com/nwaples/rardecode v1.1.0 // indirect github.com/nwaples/rardecode/v2 v2.0.0-beta.4.0.20241112120701-034e449c6e78 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.0.2 // indirect github.com/opencontainers/image-spec v1.0.2 // indirect
github.com/opencontainers/runc v1.1.14 // indirect github.com/opencontainers/runc v1.1.14 // indirect
github.com/pierrec/lz4/v4 v4.1.21 // indirect github.com/pierrec/lz4/v4 v4.1.22 // indirect
github.com/pjbgf/sha1cd v0.3.0 // indirect github.com/pjbgf/sha1cd v0.3.0 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/prometheus/client_model v0.6.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect
@@ -152,44 +157,47 @@ require (
github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
github.com/sirupsen/logrus v1.9.3 // indirect github.com/sirupsen/logrus v1.9.3 // indirect
github.com/skeema/knownhosts v1.2.2 // indirect github.com/skeema/knownhosts v1.3.0 // indirect
github.com/ulikunitz/xz v0.5.9 // indirect github.com/sorairolake/lzip-go v0.3.5 // indirect
github.com/therootcompany/xz v1.0.1 // indirect
github.com/ulikunitz/xz v0.5.12 // indirect
github.com/x448/float16 v0.8.4 // indirect github.com/x448/float16 v0.8.4 // indirect
github.com/xanzy/ssh-agent v0.3.3 // indirect github.com/xanzy/ssh-agent v0.3.3 // indirect
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 // indirect go.opentelemetry.io/auto/sdk v1.1.0 // indirect
go.opentelemetry.io/contrib/propagators/aws v1.30.0 // indirect go.opentelemetry.io/contrib/propagators/aws v1.34.0 // indirect
go.opentelemetry.io/contrib/propagators/b3 v1.30.0 // indirect go.opentelemetry.io/contrib/propagators/b3 v1.34.0 // indirect
go.opentelemetry.io/contrib/propagators/jaeger v1.30.0 // indirect go.opentelemetry.io/contrib/propagators/jaeger v1.34.0 // indirect
go.opentelemetry.io/contrib/propagators/ot v1.30.0 // indirect go.opentelemetry.io/contrib/propagators/ot v1.34.0 // indirect
go.opentelemetry.io/otel/metric v1.30.0 // indirect go.opentelemetry.io/otel/metric v1.34.0 // indirect
go.opentelemetry.io/proto/otlp v1.3.1 // indirect go.opentelemetry.io/proto/otlp v1.5.0 // indirect
go.uber.org/multierr v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect
golang.org/x/crypto v0.27.0 // indirect go4.org v0.0.0-20230225012048-214862532bf5 // indirect
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 // indirect golang.org/x/crypto v0.32.0 // indirect
golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa // indirect
golang.org/x/image v0.18.0 // indirect golang.org/x/image v0.18.0 // indirect
golang.org/x/mod v0.20.0 // indirect golang.org/x/mod v0.22.0 // indirect
golang.org/x/oauth2 v0.22.0 // indirect golang.org/x/oauth2 v0.24.0 // indirect
golang.org/x/sync v0.8.0 // indirect golang.org/x/sync v0.10.0 // indirect
golang.org/x/sys v0.25.0 // indirect golang.org/x/sys v0.29.0 // indirect
golang.org/x/term v0.24.0 // indirect golang.org/x/term v0.28.0 // indirect
golang.org/x/text v0.18.0 // indirect golang.org/x/text v0.21.0 // indirect
golang.org/x/time v0.5.0 // indirect golang.org/x/time v0.8.0 // indirect
golang.org/x/tools v0.24.0 // indirect golang.org/x/tools v0.29.0 // indirect
golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 // indirect
gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f // indirect
google.golang.org/protobuf v1.34.2 // indirect google.golang.org/protobuf v1.36.3 // indirect
gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect gopkg.in/evanphx/json-patch.v4 v4.12.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect
gotest.tools v2.2.0+incompatible // indirect gotest.tools v2.2.0+incompatible // indirect
k8s.io/gengo/v2 v2.0.0-20240228010128-51d4e06bde70 // indirect k8s.io/gengo/v2 v2.0.0-20240911193312-2b36238f13e9 // indirect
k8s.io/klog/v2 v2.130.1 // indirect k8s.io/klog/v2 v2.130.1 // indirect
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 // indirect k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f // indirect
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 // indirect k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 // indirect
knative.dev/pkg v0.0.0-20240805063731-c88d5dad9653 // indirect knative.dev/pkg v0.0.0-20241218051509-40afb7c5436e // indirect
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 // indirect
) )
+300 -175
View File
@@ -2,11 +2,25 @@ bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512/go.mod h1:FbcW6z/2VytnFDhZfumh
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M=
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s= dario.cat/mergo v1.0.1 h1:Ra4+bf83h2ztPIQYNP99R6m+Y7KfnARDfID+a+vLl4s=
dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= dario.cat/mergo v1.0.1/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
github.com/Azure/azure-sdk-for-go v32.5.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v32.5.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc=
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0=
github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI=
github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0=
@@ -17,8 +31,9 @@ github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcP
github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc=
github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/IBM/sarama v1.43.3 h1:Yj6L2IaNvb2mRBop39N7mmJAHBVY3dTPncr3qGVkxPA= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/IBM/sarama v1.43.3/go.mod h1:FVIRaLrhK3Cla/9FfRF5X9Zua2KpS3SYIXxhac1H+FQ= github.com/IBM/sarama v1.45.0 h1:IzeBevTn809IJ/dhNKhP5mpxEXTmELuezO2tgHD9G5E=
github.com/IBM/sarama v1.45.0/go.mod h1:EEay63m8EZkeumco9TDXf2JT3uDnZsZqFgV46n4yZdY=
github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI= github.com/Masterminds/goutils v1.1.1 h1:5nUrii3FMTL5diU80unEVvNevw1nH4+ZV4DSLVJLSYI=
github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU=
github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww=
@@ -32,13 +47,14 @@ github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5
github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw=
github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk= github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
github.com/ProtonMail/go-crypto v1.0.0 h1:LRuvITjQWX+WIfr930YHG2HNfjR1uOfyf5vE0kC2U78= github.com/ProtonMail/go-crypto v1.1.3 h1:nRBOetoydLeUb4nHajyO2bKqMLfWQ/ZPwkXqXxPxCFk=
github.com/ProtonMail/go-crypto v1.0.0/go.mod h1:EjAoLdwvbIOoOQr3ihjnSoLZRtE8azugULFRteWMNc0= github.com/ProtonMail/go-crypto v1.1.3/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE=
github.com/STARRY-S/zip v0.2.1 h1:pWBd4tuSGm3wtpoqRZZ2EAwOmcHK6XFf7bU9qcJXyFg=
github.com/STARRY-S/zip v0.2.1/go.mod h1:xNvshLODWtC4EJ702g7cTYn13G53o1+X9BWnPFpcWV4=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/andybalholm/brotli v1.0.1/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= github.com/andybalholm/brotli v1.1.1 h1:PR2pgnyFznKEugtsUo0xLdDop5SKXd5Qf5ysW+7XdTA=
github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M= github.com/andybalholm/brotli v1.1.1/go.mod h1:05ib4cKhjx3OQYUY22hTVd34Bc8upXjOLL2rKwwZBoA=
github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY=
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8=
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4=
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
@@ -55,18 +71,26 @@ github.com/bep/debounce v1.2.1 h1:v67fRdBA9UQu2NhLFXrSg0Brw7CexQekrBwDMM8bzeY=
github.com/bep/debounce v1.2.1/go.mod h1:H8yggRPQKLUhUoqrJC1bO2xNya7vanpDl7xR3ISbCJ0= github.com/bep/debounce v1.2.1/go.mod h1:H8yggRPQKLUhUoqrJC1bO2xNya7vanpDl7xR3ISbCJ0=
github.com/blend/go-sdk v1.20220112.5 h1:M1H3KB++HyPAek31WH2HNut1Xg1SI7LyT9giNE2fcPQ= github.com/blend/go-sdk v1.20220112.5 h1:M1H3KB++HyPAek31WH2HNut1Xg1SI7LyT9giNE2fcPQ=
github.com/blend/go-sdk v1.20220112.5/go.mod h1:STLiO8ZA8doHtRV7QfW2mXgH/8U+85GHY9ge3phM3dY= github.com/blend/go-sdk v1.20220112.5/go.mod h1:STLiO8ZA8doHtRV7QfW2mXgH/8U+85GHY9ge3phM3dY=
github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= github.com/bodgit/plumbing v1.3.0 h1:pf9Itz1JOQgn7vEOE7v7nlEfBykYqvUYioC61TwWCFU=
github.com/bodgit/plumbing v1.3.0/go.mod h1:JOTb4XiRu5xfnmdnDJo6GmSbSbtSyufrsyZFByMtKEs=
github.com/bodgit/sevenzip v1.6.0 h1:a4R0Wu6/P1o1pP/3VV++aEOcyeBxeO/xE2Y9NSTrr6A=
github.com/bodgit/sevenzip v1.6.0/go.mod h1:zOBh9nJUof7tcrlqJFv1koWRrhz3LbDbUNngkuZxLMc=
github.com/bodgit/windows v1.0.1 h1:tF7K6KOluPYygXa3Z2594zxlkbKPAOvqr97etrGNIz4=
github.com/bodgit/windows v1.0.1/go.mod h1:a6JLwrB4KrTR5hBpp8FI9/9W9jJfeQ2h4XDXU74ZCdM=
github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4=
github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM=
github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8=
github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927 h1:SKI1/fuSdodxmNNyVBR8d7X/HuLnRpvvFO0AgyQk764= github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927 h1:SKI1/fuSdodxmNNyVBR8d7X/HuLnRpvvFO0AgyQk764=
github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927/go.mod h1:h/aW8ynjgkuj+NQRlZcDbAbM1ORAbXjXX77sX7T289U= github.com/cheekybits/is v0.0.0-20150225183255-68e9c0620927/go.mod h1:h/aW8ynjgkuj+NQRlZcDbAbM1ORAbXjXX77sX7T289U=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cloudflare/circl v1.3.3/go.mod h1:5XYMA4rFBvNIrhs50XuiBJ15vF2pZn4nnUKZrLbUZFA=
github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU= github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU=
github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA= github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA=
github.com/containerd/continuity v0.2.2 h1:QSqfxcn8c+12slxwu00AtzXrsami0MJb/MQs9lOLHLA= github.com/containerd/continuity v0.2.2 h1:QSqfxcn8c+12slxwu00AtzXrsami0MJb/MQs9lOLHLA=
@@ -79,8 +103,8 @@ github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfc
github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU=
github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4= github.com/cpuguy83/go-md2man/v2 v2.0.4 h1:wfIWP927BUkWJb2NmU/kNDYIBTh/ziUX91+lVfRxZq4=
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= github.com/cyphar/filepath-securejoin v0.3.6 h1:4d9N5ykBnSp5Xn2JkhocYDkOpURL/18CYMpo6xB9uWM=
github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/cyphar/filepath-securejoin v0.3.6/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
@@ -96,8 +120,8 @@ github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw
github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 h1:bWDMxwH3px2JBh6AyO7hdCn/PkvCZXii8TGj7sbtEbQ= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 h1:bWDMxwH3px2JBh6AyO7hdCn/PkvCZXii8TGj7sbtEbQ=
github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5 h1:iFaUwBSo5Svw6L7HYpRu/0lE3e0BaElwnNO1qkNQxBY= github.com/dsnet/compress v0.0.2-0.20230904184137-39efe44ab707 h1:2tV76y6Q9BB+NEBasnqvs7e49aEBFI8ejC89PSnWH+4=
github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5/go.mod h1:qssHWj60/X5sZFNxpG4HBPDHVqxNm4DfnCKgrbZOT+s= github.com/dsnet/compress v0.0.2-0.20230904184137-39efe44ab707/go.mod h1:qssHWj60/X5sZFNxpG4HBPDHVqxNm4DfnCKgrbZOT+s=
github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdfkVLjJ8T6VcRQv3SXugXy999NBtR9aFY= github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdfkVLjJ8T6VcRQv3SXugXy999NBtR9aFY=
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY=
@@ -110,42 +134,46 @@ github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc=
github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I=
github.com/elastic/crd-ref-docs v0.1.0 h1:Cr5kz89QB3Iuuj7dhAfLMApCrChEGAaIBTxGk/xuRKw= github.com/elastic/crd-ref-docs v0.1.0 h1:Cr5kz89QB3Iuuj7dhAfLMApCrChEGAaIBTxGk/xuRKw=
github.com/elastic/crd-ref-docs v0.1.0/go.mod h1:X83mMBdJt05heJUYiS3T0yJ/JkCuliuhSUNav5Gjo/U= github.com/elastic/crd-ref-docs v0.1.0/go.mod h1:X83mMBdJt05heJUYiS3T0yJ/JkCuliuhSUNav5Gjo/U=
github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= github.com/elazarl/goproxy v1.2.3 h1:xwIyKHbaP5yfT6O9KIeYJR5549MXRQkoQMRXGztz8YQ=
github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= github.com/elazarl/goproxy v1.2.3/go.mod h1:YfEbZtqP4AetfO6d40vWchF3znWX7C7Vd6ZMfdL8z64=
github.com/emicklei/go-restful/v3 v3.12.0 h1:y2DdzBAURM29NFF94q6RaY4vjIH1rtwDapwQtU84iWk= github.com/emicklei/go-restful/v3 v3.12.1 h1:PJMDIM/ak7btuL8Ex0iYET9hxM3CI2sjZtzpL63nKAU=
github.com/emicklei/go-restful/v3 v3.12.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/emicklei/go-restful/v3 v3.12.1/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc=
github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc=
github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ=
github.com/evanphx/json-patch v5.8.1+incompatible h1:2toJaoe7/rNa1zpeQx0UnVEjqk6z2ecyA20V/zg8vTU= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/evanphx/json-patch v5.8.1+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/evanphx/json-patch v5.9.0+incompatible h1:fBXyNpNMuTTDdquAq/uisOr2lShz4oaXpDTX2bLe7ls=
github.com/evanphx/json-patch v5.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/evanphx/json-patch/v5 v5.9.0 h1:kcBlZQbplgElYIlo/n1hJbls2z/1awpXxpRi0/FOJfg= github.com/evanphx/json-patch/v5 v5.9.0 h1:kcBlZQbplgElYIlo/n1hJbls2z/1awpXxpRi0/FOJfg=
github.com/evanphx/json-patch/v5 v5.9.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ= github.com/evanphx/json-patch/v5 v5.9.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ=
github.com/expr-lang/expr v1.16.9 h1:WUAzmR0JNI9JCiF0/ewwHB1gmcGw5wW7nWt8gc6PpCI= github.com/expr-lang/expr v1.16.9 h1:WUAzmR0JNI9JCiF0/ewwHB1gmcGw5wW7nWt8gc6PpCI=
github.com/expr-lang/expr v1.16.9/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4= github.com/expr-lang/expr v1.16.9/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4=
github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM=
github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI= github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU=
github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg=
github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw=
github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.8.0 h1:dAwr6QBTBZIkG8roQaJjGof0pp0EeF+tNV7YBP3F/8M=
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/fsnotify/fsnotify v1.8.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0=
github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E= github.com/fxamacker/cbor/v2 v2.7.0 h1:iM5WgngdRBanHcxugY4JySA0nk1wZorNOpTgCMedv5E=
github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ=
github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0= github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0=
github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk= github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/gliderlabs/ssh v0.3.7 h1:iV3Bqi942d9huXnzEF2Mt+CY9gLu8DNM4Obd+8bODRE= github.com/gliderlabs/ssh v0.3.8 h1:a4YXD1V7xMF9g5nTkdfnja3Sxy1PVDCj1Zg4Wb8vY6c=
github.com/gliderlabs/ssh v0.3.7/go.mod h1:zpHEXBstFnQYtGnB8k8kQLol82umzn/2/snG7alWVD8= github.com/gliderlabs/ssh v0.3.8/go.mod h1:xYoytBv1sV0aL3CavoDuJIQNURXkkfPA/wxQ1pL1fAU=
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI=
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic=
github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= github.com/go-git/go-billy/v5 v5.6.1 h1:u+dcrgaguSSkbjzHwelEjc0Yj300NUevrrPphk/SoRA=
github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= github.com/go-git/go-billy/v5 v5.6.1/go.mod h1:0AsLr1z2+Uksi4NlElmMblP5rPcDZNRCD8ujZCRR2BE=
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4=
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
github.com/go-git/go-git/v5 v5.12.0 h1:7Md+ndsjrzZxbddRDZjF14qK+NN56sy6wkqaVrjZtys= github.com/go-git/go-git/v5 v5.13.1 h1:DAQ9APonnlvSWpvolXWIuV6Q6zXy2wHbN4cVlNR5Q+M=
github.com/go-git/go-git/v5 v5.12.0/go.mod h1:FTM9VKtnI2m65hNI/TenDDDnUf2Q9FHnXYjuz9i5OEY= github.com/go-git/go-git/v5 v5.13.1/go.mod h1:qryJB4cSBoq3FRoBRf5A77joojuBcmPJ0qu3XXXVixc=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-ini/ini v1.66.4 h1:dKjMqkcbkzfddhIhyglTPgMoJnkvmG+bSLrU9cTHc5M= github.com/go-ini/ini v1.66.4 h1:dKjMqkcbkzfddhIhyglTPgMoJnkvmG+bSLrU9cTHc5M=
github.com/go-ini/ini v1.66.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-ini/ini v1.66.4/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8=
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
@@ -168,35 +196,41 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o
github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY= github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY= github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY= github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
github.com/go-playground/validator/v10 v10.22.0 h1:k6HsTZ0sTnROkhS//R0O+55JgM8C4Bx7ia+JlgcnOao= github.com/go-playground/validator/v10 v10.23.0 h1:/PwmTwZhS0dPkav3cdK9kV1FsAmrL8sThn8IHr/sO+o=
github.com/go-playground/validator/v10 v10.22.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM= github.com/go-playground/validator/v10 v10.23.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
github.com/gobuffalo/flect v1.0.2 h1:eqjPGSo2WmjgY2XlpGwo2NXgL3RucAKo4k4qQMNA5sA= github.com/gobuffalo/flect v1.0.3 h1:xeWBM2nui+qnVvNM4S3foBhCAL2XgPU+a7FdpelbTq4=
github.com/gobuffalo/flect v1.0.2/go.mod h1:A5msMlrHtLqh9umBSnvabjsMrCcCpAyzglnDvkbYKHs= github.com/gobuffalo/flect v1.0.3/go.mod h1:A5msMlrHtLqh9umBSnvabjsMrCcCpAyzglnDvkbYKHs=
github.com/goccy/go-yaml v1.11.3 h1:B3W9IdWbvrUu2OYQGwvU1nZtvMQJPBKgBUuweJjLj6I= github.com/goccy/go-yaml v1.11.3 h1:B3W9IdWbvrUu2OYQGwvU1nZtvMQJPBKgBUuweJjLj6I=
github.com/goccy/go-yaml v1.11.3/go.mod h1:wKnAMd44+9JAAnGQpWVEgBzGt3YuTaQ4uXoHvE4m7WU= github.com/goccy/go-yaml v1.11.3/go.mod h1:wKnAMd44+9JAAnGQpWVEgBzGt3YuTaQ4uXoHvE4m7WU=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg= github.com/golang-jwt/jwt/v4 v4.5.1 h1:JdqV9zKUdtaa9gdPlywC3aeoEsR681PlKC+4F5gQgeo=
github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-jwt/jwt/v4 v4.5.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0=
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek=
github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps=
github.com/golang/snappy v0.0.2/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM=
github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
@@ -205,6 +239,8 @@ github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvR
github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
@@ -214,9 +250,12 @@ github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20240525223248-4bfdf5a9a2af h1:kmjWCqn2qkEml422C2Rrd27c3VGxi6a/6HNq8QmHRKM= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20240525223248-4bfdf5a9a2af/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo= github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg=
github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
github.com/google/readahead v0.0.0-20161222183148-eaceba169032/go.mod h1:qYysrqQXuV4tzsizt4oOQ6mrBZQ0xnQXP3ylXX8Jk5Y= github.com/google/readahead v0.0.0-20161222183148-eaceba169032/go.mod h1:qYysrqQXuV4tzsizt4oOQ6mrBZQ0xnQXP3ylXX8Jk5Y=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
@@ -235,8 +274,8 @@ github.com/graymeta/stow v0.2.8/go.mod h1:JAs139Zr29qfsecy7b+h9DRsWXbFbsd7LCrbCD
github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0 h1:asbCHRVmodnJTuQ3qamDwqVOIjwqUPTYmYuemVOx+Ys= github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1 h1:VNqngBF40hVlDloBruUehVYC3ArSgIyScOAyMRqBxRg=
github.com/grpc-ecosystem/grpc-gateway/v2 v2.22.0/go.mod h1:ggCgvZ2r7uOoQjOyu2Y1NhHmEPPzzuhWgcza5M1Ji1I= github.com/grpc-ecosystem/grpc-gateway/v2 v2.25.1/go.mod h1:RBRO7fro65R6tjKzYgLAFo0t1QEXY1Dp+i/bvpRiqiQ=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
@@ -254,16 +293,19 @@ github.com/hashicorp/go-uuid v1.0.3 h1:2gKiV6YVmrJ1i2CKKa9obLvRieoRGviZFL26PcT/C
github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.3/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k=
github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/huandu/xstrings v1.3.3 h1:/Gcsuc1x8JVbJ9/rlye4xZnVAbEkGauT8lbebqcQws4= github.com/huandu/xstrings v1.3.3 h1:/Gcsuc1x8JVbJ9/rlye4xZnVAbEkGauT8lbebqcQws4=
github.com/huandu/xstrings v1.3.3/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/huandu/xstrings v1.3.3/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4=
github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/influxdata/influxdb v1.11.6 h1:zS5MRY+RQ5/XFTer5R8xQRnY17JYSbacvO6OaP164wU= github.com/influxdata/influxdb v1.11.8 h1:lX8MJDfk91O7nqzzonQkjk87gOeQy9V/Xp3gpELhG1s=
github.com/influxdata/influxdb v1.11.6/go.mod h1:F10NoQb9qa04lME3pTPWQrYt4JZ/ke1Eei+1ttgHHrg= github.com/influxdata/influxdb v1.11.8/go.mod h1:zRTAuk/Ie/V1LGxJUv8jfDmfv+ypz22lxfhc1MxC3rI=
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A=
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo=
github.com/jcmturner/aescts/v2 v2.0.0 h1:9YKLH6ey7H4eDBXW8khjYslgyqG2xZikXP0EQFKrle8= github.com/jcmturner/aescts/v2 v2.0.0 h1:9YKLH6ey7H4eDBXW8khjYslgyqG2xZikXP0EQFKrle8=
@@ -291,21 +333,21 @@ github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/kedacore/keda/v2 v2.15.1 h1:Kb3woYuCeCPICH037vTIcUopXgOYpdP2qa+CmHgV3SE= github.com/kedacore/keda/v2 v2.16.1 h1:LfYsxfSX8DjetLW8q9qnriImH936POrQJvE+caRoScI=
github.com/kedacore/keda/v2 v2.15.1/go.mod h1:2umVEoNgklKt0+q+7BEEbrSgxqh+KPjyh6vnKXt3sls= github.com/kedacore/keda/v2 v2.16.1/go.mod h1:pO2ksUCwSOQ2u3OWqj+jh9Hgf0+26MZug6dF7WWgcAk=
github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4=
github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM= github.com/kevinburke/ssh_config v1.2.0/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
github.com/klauspost/compress v1.11.4/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc=
github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA= github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0=
github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
github.com/klauspost/pgzip v1.2.5 h1:qnWYvvKqedOF2ulHpMG72XQol4ILEJ8k2wwRl/Km8oE= github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU=
github.com/klauspost/pgzip v1.2.5/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
@@ -331,8 +373,8 @@ github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/mholt/archiver/v3 v3.5.1 h1:rDjOBX9JSF5BvoJGvjqK479aL70qh9DIpZCl+k7Clwo= github.com/mholt/archives v0.1.0 h1:FacgJyrjiuyomTuNA92X5GyRBRZjE43Y/lrzKIlF35Q=
github.com/mholt/archiver/v3 v3.5.1/go.mod h1:e3dqJ7H78uzsRSEACH1joayhuSyhnonssnDhppzS1L4= github.com/mholt/archives v0.1.0/go.mod h1:j/Ire/jm42GN7h90F5kzj6hf6ZFzEH66de+hmjEKu+I=
github.com/minio/minio-go v6.0.14+incompatible h1:fnV+GD28LeqdN6vT2XdGKW8Qe/IfjJDswNVuni6km9o= github.com/minio/minio-go v6.0.14+incompatible h1:fnV+GD28LeqdN6vT2XdGKW8Qe/IfjJDswNVuni6km9o=
github.com/minio/minio-go v6.0.14+incompatible/go.mod h1:7guKYtitv8dktvNUGrhzmNlA5wrAABTQXCoesZdFQO8= github.com/minio/minio-go v6.0.14+incompatible/go.mod h1:7guKYtitv8dktvNUGrhzmNlA5wrAABTQXCoesZdFQO8=
github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw=
@@ -342,8 +384,8 @@ github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrk
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ= github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/moby/spdystream v0.4.0 h1:Vy79D6mHeJJjiPdFEL2yku1kl0chZpJfZcPpb16BRl8= github.com/moby/spdystream v0.5.0 h1:7r0J1Si3QO/kjRitvSLVVFUjxMEb/YLj6S9FF62JBCU=
github.com/moby/spdystream v0.4.0/go.mod h1:xBAYlnt/ay+11ShkdFKNAG7LsyK/tmNBVvVOwrfMgdI= github.com/moby/spdystream v0.5.0/go.mod h1:xBAYlnt/ay+11ShkdFKNAG7LsyK/tmNBVvVOwrfMgdI=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
@@ -358,17 +400,17 @@ github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRW
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus=
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
github.com/ncw/swift v1.0.49/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= github.com/ncw/swift v1.0.49/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM=
github.com/nwaples/rardecode v1.1.0 h1:vSxaY8vQhOcVr4mm5e8XllHWTiM4JF507A0Katqw7MQ= github.com/nwaples/rardecode/v2 v2.0.0-beta.4.0.20241112120701-034e449c6e78 h1:MYzLheyVx1tJVDqfu3YnN4jtnyALNzLvwl+f58TcvQY=
github.com/nwaples/rardecode v1.1.0/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWkRpHbbfGS0= github.com/nwaples/rardecode/v2 v2.0.0-beta.4.0.20241112120701-034e449c6e78/go.mod h1:yntwv/HfMc/Hbvtq9I19D1n58te3h6KsqCf3GxyfBGY=
github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE=
github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE=
github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU=
github.com/onsi/ginkgo/v2 v2.19.1 h1:QXgq3Z8Crl5EL1WBAC98A5sEBHARrAJNzAmMxzLcRF0= github.com/onsi/ginkgo/v2 v2.22.1 h1:QW7tbJAUDyVDVOM5dFa7qaybo+CRfR7bemlQUN6Z8aM=
github.com/onsi/ginkgo/v2 v2.19.1/go.mod h1:O3DtEWQkPa/F7fBMgmZQKKsluAy8pd3rEQdrjkPb9zA= github.com/onsi/ginkgo/v2 v2.22.1/go.mod h1:S6aTpoRsSq2cZOd+pssHAlKW/Q/jZt6cPrPlnj4a1xM=
github.com/onsi/gomega v1.34.2 h1:pNCwDkzrsv7MS9kpaQvVb1aVLahQXyJ/Tv5oAZMI3i8= github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8=
github.com/onsi/gomega v1.34.2/go.mod h1:v1xfxRgk0KIsG+QOdm7p8UosrOzPYRo60fd3B/1Dukc= github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY=
github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U=
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM= github.com/opencontainers/image-spec v1.0.2 h1:9yCKha/T5XdGtO0q9Q9a6T5NUCsTn/DrBg0D7ufOcFM=
@@ -378,9 +420,8 @@ github.com/opencontainers/runc v1.1.14/go.mod h1:E4C2z+7BxR7GHXp0hAY53mek+x49X1L
github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA= github.com/ory/dockertest v3.3.5+incompatible h1:iLLK6SQwIhcbrG783Dghaaa3WPzGc+4Emza6EbVUUGA=
github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs= github.com/ory/dockertest v3.3.5+incompatible/go.mod h1:1vX4m9wsvi00u5bseYwXaSnhNrne+V0E6LAcBILJdPs=
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
github.com/pierrec/lz4/v4 v4.1.2/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pierrec/lz4/v4 v4.1.22 h1:cKFw6uJDK+/gfw5BcDL0JL5aBsAFdsIT18eRtLj7VIU=
github.com/pierrec/lz4/v4 v4.1.21 h1:yOVMLb6qSIDP67pl/5F7RepeKYu/VmTyEXvuMI5d9mQ= github.com/pierrec/lz4/v4 v4.1.22/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4=
github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4= github.com/pjbgf/sha1cd v0.3.0 h1:4D5XXmUUBUl/xQ6IjCkEAbqXskkq/4O7LmGn0AqMDs4=
github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI= github.com/pjbgf/sha1cd v0.3.0/go.mod h1:nZ1rrWOcGJ5uZgEEVL1VUM9iRQiZvWdbZjkKyFzPPsI=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -394,16 +435,17 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH
github.com/pquerna/ffjson v0.0.0-20190813045741-dac163c6c0a9/go.mod h1:YARuvh7BUWHNhzDq2OM5tzR2RiCcN2D7sapiKyCel/M= github.com/pquerna/ffjson v0.0.0-20190813045741-dac163c6c0a9/go.mod h1:YARuvh7BUWHNhzDq2OM5tzR2RiCcN2D7sapiKyCel/M=
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
github.com/prometheus/client_golang v1.20.4 h1:Tgh3Yr67PaOv/uTqloMsCEdeuFTatm5zIq5+qNN23vI= github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y=
github.com/prometheus/client_golang v1.20.4/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/common v0.59.1 h1:LXb1quJHWm1P6wq/U824uxYi4Sg0oGvNeUm1z5dJoX0= github.com/prometheus/common v0.62.0 h1:xasJaQlnWAeyHdUBeGjXmutelfJHWMRr+Fg4QszZ2Io=
github.com/prometheus/common v0.59.1/go.mod h1:GpWM7dewqmVYcd7SmRaiWVe9SSqjf0UrwnYnpEZNuT0= github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc=
@@ -414,11 +456,13 @@ github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqn
github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs=
github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro=
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/rwcarlsen/goexif v0.0.0-20190401172101-9e8deecbddbd/go.mod h1:hPqNNc0+uJM6H+SuU8sEs5K5IQeKccPqeSjfgcKGgPk=
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI= github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06 h1:OkMGxebDjyw0ULyrTYWeN0UNCCkmCWfjPnIA2W6oviI=
github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs= github.com/sabhiram/go-gitignore v0.0.0-20210923224102-525f6e181f06/go.mod h1:+ePHsJ1keEjQtpvf9HHw0f4ZeJ0TLRsxhunSI2hYJSs=
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
@@ -429,9 +473,11 @@ github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPx
github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
github.com/skeema/knownhosts v1.2.2 h1:Iug2P4fLmDw9f41PB6thxUkNUkJzB5i+1/exaj40L3A= github.com/skeema/knownhosts v1.3.0 h1:AM+y0rI04VksttfwjkSTNQorvGqmwATnvnAHpSgc0LY=
github.com/skeema/knownhosts v1.2.2/go.mod h1:xYbVRSPxqBZFrdmDyMmsOs+uX1UZC3nTN3ThzgDxUwo= github.com/skeema/knownhosts v1.3.0/go.mod h1:sPINvnADmT/qYH1kfv+ePMmOBTH6Tbl7b5LvTDjFK7M=
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
github.com/sorairolake/lzip-go v0.3.5 h1:ms5Xri9o1JBIWvOFAorYtUNik6HI3HgBTkISiqu0Cwg=
github.com/sorairolake/lzip-go v0.3.5/go.mod h1:N0KYq5iWrMXI0ZEXKXaS9hCyOjZUQdBDEIbXfoUwbdk=
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
@@ -455,55 +501,64 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/therootcompany/xz v1.0.1 h1:CmOtsn1CbtmyYiusbfmhmkpAAETj0wBIH6kCYaX+xzw=
github.com/therootcompany/xz v1.0.1/go.mod h1:3K3UH1yCKgBneZYhuQUvJ9HPD19UEXEI0BWbMn8qNMY=
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM= github.com/tv42/httpunix v0.0.0-20191220191345-2ba4b9c3382c/go.mod h1:hzIxponao9Kjc7aWznkXaL4U4TWaDSs8zcsY4Ka08nM=
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
github.com/ulikunitz/xz v0.5.9 h1:RsKRIA2MO8x56wkkcd3LbtcE/uMszhb6DpRf+3uwa3I= github.com/ulikunitz/xz v0.5.12 h1:37Nm15o69RwBkXM0J6A5OlE67RZTfzUxTj8fB3dfcsc=
github.com/ulikunitz/xz v0.5.9/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= github.com/ulikunitz/xz v0.5.12/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
github.com/wcharczuk/go-chart v2.0.1+incompatible h1:0pz39ZAycJFF7ju/1mepnk26RLVLBCWz1STcD3doU0A= github.com/wcharczuk/go-chart v2.0.1+incompatible h1:0pz39ZAycJFF7ju/1mepnk26RLVLBCWz1STcD3doU0A=
github.com/wcharczuk/go-chart v2.0.1+incompatible/go.mod h1:PF5tmL4EIx/7Wf+hEkpCqYi5He4u90sw+0+6FhrryuE= github.com/wcharczuk/go-chart v2.0.1+incompatible/go.mod h1:PF5tmL4EIx/7Wf+hEkpCqYi5He4u90sw+0+6FhrryuE=
github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM=
github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg=
github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM= github.com/xanzy/ssh-agent v0.3.3 h1:+/15pJfg/RsTxqYcX6fHqOXZwwMP+2VyYWJeWM2qQFM=
github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw= github.com/xanzy/ssh-agent v0.3.3/go.mod h1:6dzNDKs0J9rVPHPhaGCukekBHKqfl+L3KghI1Bc68Uw=
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8 h1:nIPpBwaJSVYIxUFsDv3M8ofmx9yWTog9BfvIu0q41lo=
github.com/xi2/xz v0.0.0-20171230120015-48954b6210f8/go.mod h1:HUYIGzjTL3rfEspMxjDjgmT5uz5wzYJKVo23qUhYTos=
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
github.com/xyproto/randomstring v1.0.5 h1:YtlWPoRdgMu3NZtP45drfy1GKoojuR7hmRcnhZqKjWU=
github.com/xyproto/randomstring v1.0.5/go.mod h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3iGxZ18UQApw/E=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0 h1:ZIg3ZT/aQ7AfKqdwp7ECpOK6vHqquXXuyTjIO8ZdmPs= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.55.0/go.mod h1:DQAwmETtZV00skUwgD6+0U89g80NKsJE3DCKeLLPQMI= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opentelemetry.io/contrib/propagators/autoprop v0.55.0 h1:zXDUScOBq4fMn35V71SXLuFeDyYmb7V/rdhWgCXyiQM= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opentelemetry.io/contrib/propagators/autoprop v0.55.0/go.mod h1:eg5CsjChS5mb+5EY0eVht8YYkFMdKL5mVRvlJO/pH1o= go.opentelemetry.io/auto/sdk v1.1.0 h1:cH53jehLUN6UFLY71z+NDOiNJqDdPRaXzTel0sJySYA=
go.opentelemetry.io/contrib/propagators/aws v1.30.0 h1:zgdTJFAOV7Hz8Qj2WyFn9dcKY5lGzzbzjZwVyb3hLpQ= go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A=
go.opentelemetry.io/contrib/propagators/aws v1.30.0/go.mod h1:91m2Z4jJlILKAJmqRD/AeNiJrTNquB0m/o6dV15WMiI= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0 h1:CV7UdSGJt/Ao6Gp4CXckLxVRRsRgDHoI8XjbL3PDl8s=
go.opentelemetry.io/contrib/propagators/b3 v1.30.0 h1:vumy4r1KMyaoQRltX7cJ37p3nluzALX9nugCjNNefuY= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.59.0/go.mod h1:FRmFuRJfag1IZ2dPkHnEoSFVgTVPUd2qf5Vi69hLb8I=
go.opentelemetry.io/contrib/propagators/b3 v1.30.0/go.mod h1:fRbvRsaeVZ82LIl3u0rIvusIel2UUf+JcaaIpy5taho= go.opentelemetry.io/contrib/propagators/autoprop v0.59.0 h1:bgG6F0HBLngIG79m8VYMdgh3adfcjCgLbsO8StsovQk=
go.opentelemetry.io/contrib/propagators/jaeger v1.30.0 h1:g8+Y+7lnhH1DB0THjPPthzQ+RlzAntmTz8+TH2sRU0k= go.opentelemetry.io/contrib/propagators/autoprop v0.59.0/go.mod h1:JV4DSHIsqQoFVaeE6xDef6xdI2I/IOOsWnXWCzQ0EXQ=
go.opentelemetry.io/contrib/propagators/jaeger v1.30.0/go.mod h1:lRMaD/FjOQJ2yz/MwOHYxP/BTCMFodNW/wuYDkJvdA4= go.opentelemetry.io/contrib/propagators/aws v1.34.0 h1:pv/Yi44N2BM1Kyl6wxO6bTiwcxUA7Deog3Rc7NO9ITE=
go.opentelemetry.io/contrib/propagators/ot v1.30.0 h1:MD44aCM08QDrlCuvzWkry9IHI0PeG5EPjaO8gkK2WzU= go.opentelemetry.io/contrib/propagators/aws v1.34.0/go.mod h1:1aF3HFtAyIi+B2xJHOdKQcNz+bcDS+JLAZjsohcW1P4=
go.opentelemetry.io/contrib/propagators/ot v1.30.0/go.mod h1:HkE59acuezG6ftk/QAUgni6QeSD7kzWx/Xp6d6eGLhg= go.opentelemetry.io/contrib/propagators/b3 v1.34.0 h1:9pQdCEvV/6RWQmag94D6rhU+A4rzUhYBEJ8bpscx5p8=
go.opentelemetry.io/otel v1.30.0 h1:F2t8sK4qf1fAmY9ua4ohFS/K+FUuOPemHUIXHtktrts= go.opentelemetry.io/contrib/propagators/b3 v1.34.0/go.mod h1:FwM71WS8i1/mAK4n48t0KU6qUS/OZRBgDrHZv3RlJ+w=
go.opentelemetry.io/otel v1.30.0/go.mod h1:tFw4Br9b7fOS+uEao81PJjVMjW/5fvNCbpsDIXqP0pc= go.opentelemetry.io/contrib/propagators/jaeger v1.34.0 h1:D3htJISCUU/wOVlKwisVKancWm+2U4h9xDEaiMkiyRE=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0 h1:lsInsfvhVIfOI6qHVyysXMNDnjO9Npvl7tlDPJFBVd4= go.opentelemetry.io/contrib/propagators/jaeger v1.34.0/go.mod h1:DAX1bsj+uDm2ZuOQH/RgZRx7RQZWyzV5W2WR/0UX8JA=
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.30.0/go.mod h1:KQsVNh4OjgjTG0G6EiNi1jVpnaeeKsKMRwbLN+f1+8M= go.opentelemetry.io/contrib/propagators/ot v1.34.0 h1:fcA0FMvHmco/mjXbmRoNx9IRs6+UuRVyXhMHzP+pEc8=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.30.0 h1:m0yTiGDLUvVYaTFbAvCkVYIYcvwKt3G7OLoN77NUs/8= go.opentelemetry.io/contrib/propagators/ot v1.34.0/go.mod h1:VvybuUSU0G7m9DLza4YX8KKniYlIphI+mZ6ufkaV1m8=
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.30.0/go.mod h1:wBQbT4UekBfegL2nx0Xk1vBcnzyBPsIVm9hRG4fYcr4= go.opentelemetry.io/otel v1.34.0 h1:zRLXxLCgL1WyKsPVrgbSdMN4c0FMkDAskSTQP+0hdUY=
go.opentelemetry.io/otel/metric v1.30.0 h1:4xNulvn9gjzo4hjg+wzIKG7iNFEaBMX00Qd4QIZs7+w= go.opentelemetry.io/otel v1.34.0/go.mod h1:OWFPOQ+h4G8xpyjgqo4SxJYdDQ/qmRH+wivy7zzx9oI=
go.opentelemetry.io/otel/metric v1.30.0/go.mod h1:aXTfST94tswhWEb+5QjlSqG+cZlmyXy/u8jFpor3WqQ= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0 h1:OeNbIYk/2C15ckl7glBlOBp5+WlYsOElzTNmiPW/x60=
go.opentelemetry.io/otel/sdk v1.30.0 h1:cHdik6irO49R5IysVhdn8oaiR9m8XluDaJAs4DfOrYE= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0/go.mod h1:7Bept48yIeqxP2OZ9/AqIpYS94h2or0aB4FypJTc8ZM=
go.opentelemetry.io/otel/sdk v1.30.0/go.mod h1:p14X4Ok8S+sygzblytT1nqG98QG2KYKv++HE0LY/mhg= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0 h1:tgJ0uaNS4c98WRNUEx5U3aDlrDOI5Rs+1Vifcw4DJ8U=
go.opentelemetry.io/otel/trace v1.30.0 h1:7UBkkYzeg3C7kQX8VAidWh2biiQbtAKjyIML8dQ9wmc= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.34.0/go.mod h1:U7HYyW0zt/a9x5J1Kjs+r1f/d4ZHnYFclhYY2+YbeoE=
go.opentelemetry.io/otel/trace v1.30.0/go.mod h1:5EyKqTzzmyqB9bwtCCq6pDLktPK6fmGf/Dph+8VI02o= go.opentelemetry.io/otel/metric v1.34.0 h1:+eTR3U0MyfWjRDhmFMxe2SsW64QrZ84AOhvqS7Y+PoQ=
go.opentelemetry.io/proto/otlp v1.3.1 h1:TrMUixzpM0yuc/znrFTP9MMRh8trP93mkCiDVeXrui0= go.opentelemetry.io/otel/metric v1.34.0/go.mod h1:CEDrp0fy2D0MvkXE+dPV7cMi8tWZwX3dmaIhwPOaqHE=
go.opentelemetry.io/proto/otlp v1.3.1/go.mod h1:0X1WI4de4ZsLrrJNLAQbFeLCm3T7yBkR0XqQ7niQU+8= go.opentelemetry.io/otel/sdk v1.34.0 h1:95zS4k/2GOy069d321O8jWgYsW3MzVV+KuSPKp7Wr1A=
go.opentelemetry.io/otel/sdk v1.34.0/go.mod h1:0e/pNiaMAqaykJGKbi+tSjWfNNHMTxoC9qANsCzbyxU=
go.opentelemetry.io/otel/sdk/metric v1.33.0 h1:Gs5VK9/WUJhNXZgn8MR6ITatvAmKeIuCtNbsP3JkNqU=
go.opentelemetry.io/otel/sdk/metric v1.33.0/go.mod h1:dL5ykHZmm1B1nVRk9dDjChwDmt81MjVp3gLkQRwKf/Q=
go.opentelemetry.io/otel/trace v1.34.0 h1:+ouXS2V8Rd4hp4580a8q23bg0azF2nI8cqLYnC8mh/k=
go.opentelemetry.io/otel/trace v1.34.0/go.mod h1:Svm7lSjQD7kG7KJ/MUHPVXSDGz2OX4h0M2jHBhmSfRE=
go.opentelemetry.io/proto/otlp v1.5.0 h1:xJvq7gMzB31/d406fB8U5CBdyQGw4P399D1aQWU/3i4=
go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4=
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
@@ -513,21 +568,32 @@ go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN8
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8=
go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E=
go4.org v0.0.0-20230225012048-214862532bf5 h1:nifaUDeh+rPaBCMPMQHZmvJf+QdpLFnuQPwx+LxVmtc=
go4.org v0.0.0-20230225012048-214862532bf5/go.mod h1:F57wTi5Lrj6WLyswp5EYV1ncrEbFGHD4hhz6S1ZYeaU=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/crypto v0.3.1-0.20221117191849-2c476679df9a/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4=
golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58= golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
golang.org/x/crypto v0.7.0/go.mod h1:pYwdfH91IfpZVANVyUOhSIPZaFoJGxTFbZhFTx+dXZU= golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
golang.org/x/crypto v0.27.0 h1:GXm2NjJrPaiv/h1tb2UH8QfgC/hOf/+z0p6PT8o1w7A= golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
golang.org/x/crypto v0.27.0/go.mod h1:1Xngt8kV6Dvbssa53Ziq6Eqn0HqbZi5Z6R0ZpwQzt70=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa h1:ELnwvuAXPNtPk1TJRuGkI9fDTwym6AYBu0qzT8AcHdI=
golang.org/x/exp v0.0.0-20240808152545-0cdaa3abc0fa/go.mod h1:akd2r19cwCdwSwWeIdzYQGa/EZZyqcOdwWiwj5L5eKQ=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/image v0.18.0 h1:jGzIakQa/ZXI1I0Fxvaa9W7yP25TqT6cHIHn+6CqvSQ= golang.org/x/image v0.18.0 h1:jGzIakQa/ZXI1I0Fxvaa9W7yP25TqT6cHIHn+6CqvSQ=
golang.org/x/image v0.18.0/go.mod h1:4yyo5vMFQjVjUcVk4jEQcU9MGy/rulF5WvUILseCM2E= golang.org/x/image v0.18.0/go.mod h1:4yyo5vMFQjVjUcVk4jEQcU9MGy/rulF5WvUILseCM2E=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@@ -535,12 +601,20 @@ golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvx
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4=
golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0= golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -549,28 +623,33 @@ golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73r
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211216030914-fe4d6282115f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY=
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
golang.org/x/net v0.8.0/go.mod h1:QVkue5JL9kW//ek3r6jTKnTFis1tRmNAW2P1shuFdJc= golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0=
golang.org/x/net v0.29.0 h1:5ORfpBpCs4HzDYoodCDBbwHzdR5UrLBZ3sOnUJmFoHo= golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k=
golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.22.0 h1:BzDx2FehcG7jJwgWLELCdmLuxk2i+x9UDpSiss2u0ZA= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.22.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.24.0 h1:KTBBxWqUa0ykRPLtV69rRto9TLXcqYkeswu48x/gvNE=
golang.org/x/oauth2 v0.24.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -580,18 +659,25 @@ golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ=
golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191210023423-ac6580df4449/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -602,48 +688,59 @@ golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.25.0 h1:r+8e+loiHxRqhXVl6ML1nO3l1+oFoWbnlu2Ehimmi34= golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc=
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
golang.org/x/term v0.6.0/go.mod h1:m6U89DPEgQRMq3DNkDClhWw02AUbt2daBVO4cn4Hv9U= golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg=
golang.org/x/term v0.24.0 h1:Mh5cbb+Zk2hqqXNO7S1iTjEphVL+jb8ZWaqh/g+JWkM= golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek=
golang.org/x/term v0.24.0/go.mod h1:lOBK/LVxemqiMij05LGJ0tzNr8xlmwBRJ81PX6wVLH8= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
golang.org/x/text v0.18.0 h1:XvMDiNzPAl0jr17s6W9lcaIhGUfUORdGCNsuLmPG224= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= golang.org/x/time v0.8.0 h1:9i3RxcPv3PZnitoVGMPDKZSq1xW1gK1Xy3ArNOGZfEg=
golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/time v0.8.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/tools v0.29.0 h1:Xx0h3TtM9rzQpQuR4dKLrdglAmCEN5Oi+P74JdhdzXE=
golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24= golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588=
golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
@@ -653,31 +750,54 @@ golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6f
gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw= gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw=
gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= gomodules.xyz/jsonpatch/v2 v2.4.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY=
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1 h1:hjSy6tcFQZ171igDaN5QHOw2n6vx40juYbC/x67CEhc= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:qpvKtACPCQhAdu3PyQgV4l3LMXZEtft7y8QcarRsp9I= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1 h1:pPJltXNxVzT4pK9yD8vR9X75DaWYYmLGMsEvBfFQZzQ= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f h1:gap6+3Gk41EItBuyi4XX/bp4oqJ3UwuIMl25yGinuAA=
google.golang.org/genproto/googleapis/api v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:Ic02D47M+zbarjYYUlK57y316f2MoN0gjAwI3f2S95o=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f h1:OxYkA3wjPsZyBylwymxSHa7ViiW1Sml4ToBrncvFehI=
google.golang.org/genproto/googleapis/rpc v0.0.0-20250115164207-1a7da9e5054f/go.mod h1:+2Yz8+CLJbIfL9z73EW45avw8Lmge3xVElCP9zEKi50=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
google.golang.org/grpc v1.67.1 h1:zWnc1Vrcno+lHZCOofnIMvycFcc0QRGIzm9dhnDX68E= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.69.4 h1:MF5TftSMkd8GLw/m0KM6V8CMOCY6NZ1NQDPGFgbTt4A=
google.golang.org/grpc v1.69.4/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4=
google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU=
google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4= gopkg.in/evanphx/json-patch.v4 v4.12.0 h1:n6jtcsulIzXPJaxegRbvFNNrZDjbij7ny3gmSPG+6V4=
gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= gopkg.in/evanphx/json-patch.v4 v4.12.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M=
gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc=
@@ -702,35 +822,40 @@ gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
k8s.io/api v0.31.1 h1:Xe1hX/fPW3PXYYv8BlozYqw63ytA92snr96zMW9gWTU= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
k8s.io/api v0.31.1/go.mod h1:sbN1g6eY6XVLeqNsZGLnI5FwVseTrZX7Fv3O26rhAaI= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
k8s.io/apiextensions-apiserver v0.31.1 h1:L+hwULvXx+nvTYX/MKM3kKMZyei+UiSXQWciX/N6E40= k8s.io/api v0.32.1 h1:f562zw9cy+GvXzXf0CKlVQ7yHJVYzLfL6JAS4kOAaOc=
k8s.io/apiextensions-apiserver v0.31.1/go.mod h1:tWMPR3sgW+jsl2xm9v7lAyRF1rYEK71i9G5dRtkknoQ= k8s.io/api v0.32.1/go.mod h1:/Yi/BqkuueW1BgpoePYBRdDYfjPF5sgTr5+YqDZra5k=
k8s.io/apimachinery v0.31.1 h1:mhcUBbj7KUjaVhyXILglcVjuS4nYXiwC+KKFBgIVy7U= k8s.io/apiextensions-apiserver v0.32.1 h1:hjkALhRUeCariC8DiVmb5jj0VjIc1N0DREP32+6UXZw=
k8s.io/apimachinery v0.31.1/go.mod h1:rsPdaZJfTfLsNJSQzNHQvYoTmxhoOEofxtOsF3rtsMo= k8s.io/apiextensions-apiserver v0.32.1/go.mod h1:sxWIGuGiYov7Io1fAS2X06NjMIk5CbRHc2StSmbaQto=
k8s.io/client-go v0.31.1 h1:f0ugtWSbWpxHR7sjVpQwuvw9a3ZKLXX0u0itkFXufb0= k8s.io/apimachinery v0.32.1 h1:683ENpaCBjma4CYqsmZyhEzrGz6cjn1MY/X2jB2hkZs=
k8s.io/client-go v0.31.1/go.mod h1:sKI8871MJN2OyeqRlmA4W4KM9KBdBUpDLu/43eGemCg= k8s.io/apimachinery v0.32.1/go.mod h1:GpHVgxoKlTxClKcteaeuF1Ul/lDVb74KpZcxcmLDElE=
k8s.io/code-generator v0.31.1 h1:GvkRZEP2g2UnB2QKT2Dgc/kYxIkDxCHENv2Q1itioVs= k8s.io/client-go v0.32.1 h1:otM0AxdhdBIaQh7l1Q0jQpmo7WOFIk5FFa4bg6YMdUU=
k8s.io/code-generator v0.31.1/go.mod h1:oL2ky46L48osNqqZAeOcWWy0S5BXj50vVdwOtTefqIs= k8s.io/client-go v0.32.1/go.mod h1:aTTKZY7MdxUaJ/KiUs8D+GssR9zJZi77ZqtzcGXIiDg=
k8s.io/gengo/v2 v2.0.0-20240228010128-51d4e06bde70 h1:NGrVE502P0s0/1hudf8zjgwki1X/TByhmAoILTarmzo= k8s.io/code-generator v0.32.1 h1:4lw1kFNDuFYXquTkB7Sl5EwPMUP2yyW9hh6BnFfRZFY=
k8s.io/gengo/v2 v2.0.0-20240228010128-51d4e06bde70/go.mod h1:VH3AT8AaQOqiGjMF9p0/IM1Dj+82ZwjfxUP1IxaHE+8= k8s.io/code-generator v0.32.1/go.mod h1:zaILfm00CVyP/6/pJMJ3zxRepXkxyDfUV5SNG4CjZI4=
k8s.io/gengo/v2 v2.0.0-20240911193312-2b36238f13e9 h1:si3PfKm8dDYxgfbeA6orqrtLkvvIeH8UqffFJDl0bz4=
k8s.io/gengo/v2 v2.0.0-20240911193312-2b36238f13e9/go.mod h1:EJykeLsmFC60UQbYJezXkEsG2FLrt0GPNkU5iK5GWxU=
k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk=
k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag= k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f h1:GA7//TjRY9yWGy1poLzYYJJ4JRdzg3+O6e8I+e+8T5Y=
k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98= k8s.io/kube-openapi v0.0.0-20241105132330-32ad38e42d3f/go.mod h1:R/HEjbvWI0qdfb8viZUeVZm0X6IZnxAydC7YU42CMw4=
k8s.io/metrics v0.31.1 h1:h4I4dakgh/zKflWYAOQhwf0EXaqy8LxAIyE/GBvxqRc= k8s.io/metrics v0.32.1 h1:Ou4nrEtZS2vFf7OJCf9z3+2kr0A00kQzfoSwxg0gXps=
k8s.io/metrics v0.31.1/go.mod h1:JuH1S9tJiH9q1VCY0yzSCawi7kzNLsDzlWDJN4xR+iA= k8s.io/metrics v0.32.1/go.mod h1:cLnai9XKYby1tNMX+xe8p9VLzTqrxYPcmqfCBoWObcM=
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8 h1:pUdcCO1Lk/tbT5ztQWOBi5HBgbBP1J8+AsQnQCKsi8A= k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738 h1:M3sRQVHv7vB20Xc2ybTt7ODCeFj6JSWYFzOFnYeS6Ro=
k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= k8s.io/utils v0.0.0-20241104100929-3ea5e8cea738/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
knative.dev/pkg v0.0.0-20240805063731-c88d5dad9653 h1:VHUW124ZpkDn4EnIzMuGWvGuJte3ISIoHMmEw2kx0zU= knative.dev/pkg v0.0.0-20241218051509-40afb7c5436e h1:pgdDEZT3R50XHwbHBYUYTb71PQ1oDR/2m3mRyQ57W8w=
knative.dev/pkg v0.0.0-20240805063731-c88d5dad9653/go.mod h1:H+5rS2GEWpAZzrmQoXOEVq/1M77LLMhR7+4jZBMOQ24= knative.dev/pkg v0.0.0-20241218051509-40afb7c5436e/go.mod h1:C2dxK66GlycMOS0SKqv0SMAnWkxsYbG4hkH32Xg1qD0=
sigs.k8s.io/controller-runtime v0.19.0 h1:nWVM7aq+Il2ABxwiCizrVDSlmDcshi9llbaFbC0ji/Q= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
sigs.k8s.io/controller-runtime v0.19.0/go.mod h1:iRmWllt8IlaLjvTTDLhRBXIEtkCK6hwVBJJsYS9Ajf4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
sigs.k8s.io/controller-tools v0.16.3 h1:z48C5/d4jCVQQvtiSBL5MYyZ3EO2eFIOXrIKMgHVhFY= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
sigs.k8s.io/controller-tools v0.16.3/go.mod h1:AEj6k+w1kYpLZv2einOH3mj52ips4W/6FUjnB5tkJGs= sigs.k8s.io/controller-runtime v0.19.4 h1:SUmheabttt0nx8uJtoII4oIP27BVVvAKFvdvGFwV/Qo=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= sigs.k8s.io/controller-runtime v0.19.4/go.mod h1:iRmWllt8IlaLjvTTDLhRBXIEtkCK6hwVBJJsYS9Ajf4=
sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= sigs.k8s.io/controller-tools v0.17.1 h1:bQ+dKCS7jY9AgpefenBDtm6geJZCHVKbegpLynxgyus=
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4= sigs.k8s.io/controller-tools v0.17.1/go.mod h1:3QXAdrmdxYuQ4MifvbCAFD9wLXn7jylnfBPYS4yVDdc=
sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08= sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3 h1:/Rv+M11QRah1itp8VhT6HoVx1Ray9eB4DBr+K+/sCJ8=
sigs.k8s.io/json v0.0.0-20241010143419-9aa6b5e7a4b3/go.mod h1:18nIHnGi6636UCz6m8i4DhaJ65T6EruyzmoQqI2BVDo=
sigs.k8s.io/structured-merge-diff/v4 v4.5.0 h1:nbCitCK2hfnhyiKo6uf2HxUPTCodY6Qaf85SbDIaMBk=
sigs.k8s.io/structured-merge-diff/v4 v4.5.0/go.mod h1:N8f93tFZh9U6vpxwRArLiikrE5/2tiu1w1AGfACIGE4=
sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E=
sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY=
+1 -1
View File
@@ -29,7 +29,7 @@ set +x
echo "" > coverage.txt echo "" > coverage.txt
make install-envtest make install-envtest
KUBEBUILDER_ASSETS=$(setup-envtest -p path use 1.23.x) KUBEBUILDER_ASSETS=$(setup-envtest -p path use 1.30.x)
export KUBEBUILDER_ASSETS export KUBEBUILDER_ASSETS
# The executor unit test only works with NodePort-type services for # The executor unit test only works with NodePort-type services for
+1 -1
View File
@@ -7,7 +7,7 @@ GOPATH=$(go env GOPATH)
SCRIPT_ROOT=$(dirname "${BASH_SOURCE[0]}")/.. SCRIPT_ROOT=$(dirname "${BASH_SOURCE[0]}")/..
CODEGEN_PKG=${CODEGEN_PKG:-$( CODEGEN_PKG=${CODEGEN_PKG:-$(
cd "${SCRIPT_ROOT}" cd "${SCRIPT_ROOT}"
ls -d -1 ${SCRIPT_ROOT}/../code-generator 2>/dev/null || echo $GOPATH/pkg/mod/k8s.io/code-generator@v0.30.0 ls -d -1 ${SCRIPT_ROOT}/../code-generator 2>/dev/null || echo $GOPATH/pkg/mod/k8s.io/code-generator@v0.32.0
)} )}
OUTDIR="${SCRIPT_ROOT}/pkg/generated" OUTDIR="${SCRIPT_ROOT}/pkg/generated"
+4
View File
@@ -167,3 +167,7 @@ const (
ConfigMaps = "configmaps" ConfigMaps = "configmaps"
Secrets = "secrets" Secrets = "secrets"
) )
const (
BuilderContainerName = "builder"
)
-73
View File
@@ -1,73 +0,0 @@
/*
Copyright 2022.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package v1
import (
"go.uber.org/zap"
"k8s.io/apimachinery/pkg/runtime"
ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/webhook"
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
"github.com/fission/fission/pkg/utils/loggerfactory"
)
// log is for logging in this package.
var environmentlog = loggerfactory.GetLogger().Named("environment-resource")
func (r *Environment) SetupWebhookWithManager(mgr ctrl.Manager) error {
return ctrl.NewWebhookManagedBy(mgr).
For(r).
Complete()
}
// Admission webhooks can be added by adding tag: kubebuilder:webhook:path=/mutate-fission-io-v1-environment,mutating=true,failurePolicy=fail,sideEffects=None,groups=fission.io,resources=environments,verbs=create;update,versions=v1,name=menvironment.fission.io,admissionReviewVersions=v1
var _ webhook.Defaulter = &Environment{}
// Default implements webhook.Defaulter so a webhook will be registered for the type
func (r *Environment) Default() {
environmentlog.Debug("default", zap.String("name", r.Name))
}
// user: change verbs to "verbs=create;update;delete" if you want to enable deletion validation.
//+kubebuilder:webhook:path=/validate-fission-io-v1-environment,mutating=false,failurePolicy=fail,sideEffects=None,groups=fission.io,resources=environments,verbs=create,versions=v1,name=venvironment.fission.io,admissionReviewVersions=v1
var _ webhook.Validator = &Environment{}
// ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (r *Environment) ValidateCreate() (admission.Warnings, error) {
environmentlog.Debug("validate create", zap.String("name", r.Name))
err := r.Validate()
if err != nil {
err = AggregateValidationErrors("Environment", err)
return nil, err
}
return nil, nil
}
// ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
func (r *Environment) ValidateUpdate(old runtime.Object) (admission.Warnings, error) {
environmentlog.Debug("validate update", zap.String("name", r.Name))
return nil, nil
}
// ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (r *Environment) ValidateDelete() (admission.Warnings, error) {
environmentlog.Debug("validate delete", zap.String("name", r.Name))
return nil, nil
}
-105
View File
@@ -1,105 +0,0 @@
/*
Copyright 2022.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package v1
import (
"fmt"
"go.uber.org/zap"
"k8s.io/apimachinery/pkg/runtime"
ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/webhook"
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
"github.com/fission/fission/pkg/utils/loggerfactory"
)
// log is for logging in this package.
var functionlog = loggerfactory.GetLogger().Named("function-resource")
func (r *Function) SetupWebhookWithManager(mgr ctrl.Manager) error {
return ctrl.NewWebhookManagedBy(mgr).
For(r).
Complete()
}
// Admission webhooks can be added by adding tag: kubebuilder:webhook:path=/mutate-fission-io-v1-function,mutating=true,failurePolicy=fail,sideEffects=None,groups=fission.io,resources=functions,verbs=create;update,versions=v1,name=mfunction.fission.io,admissionReviewVersions=v1
var _ webhook.Defaulter = &Function{}
// Default implements webhook.Defaulter so a webhook will be registered for the type
func (r *Function) Default() {
}
// user change verbs to "verbs=create;update;delete" if you want to enable deletion validation.
//+kubebuilder:webhook:path=/validate-fission-io-v1-function,mutating=false,failurePolicy=fail,sideEffects=None,groups=fission.io,resources=functions,verbs=create;update,versions=v1,name=vfunction.fission.io,admissionReviewVersions=v1
var _ webhook.Validator = &Function{}
// ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (r *Function) ValidateCreate() (admission.Warnings, error) {
functionlog.Debug("validate create", zap.String("name", r.Name))
for _, cnfMap := range r.Spec.ConfigMaps {
if cnfMap.Namespace != r.ObjectMeta.Namespace {
err := fmt.Errorf("ConfigMap's [%s] and function's Namespace [%s] are different. ConfigMap needs to be present in the same namespace as function", cnfMap.Namespace, r.ObjectMeta.Namespace)
return nil, AggregateValidationErrors("Function", err)
}
}
for _, secret := range r.Spec.Secrets {
if secret.Namespace != r.ObjectMeta.Namespace {
err := fmt.Errorf("secret [%s] and function's Namespace [%s] are different. Secret needs to be present in the same namespace as function", secret.Namespace, r.ObjectMeta.Namespace)
return nil, AggregateValidationErrors("Function", err)
}
}
err := r.Validate()
if err != nil {
return nil, AggregateValidationErrors("Function", err)
}
return nil, nil
}
// ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
func (r *Function) ValidateUpdate(old runtime.Object) (admission.Warnings, error) {
functionlog.Debug("validate update", zap.String("name", r.Name))
for _, cnfMap := range r.Spec.ConfigMaps {
if cnfMap.Namespace != r.ObjectMeta.Namespace {
err := fmt.Errorf("ConfigMap's [%s] and function's Namespace [%s] are different. ConfigMap needs to be present in the same namespace as function", cnfMap.Namespace, r.ObjectMeta.Namespace)
return nil, AggregateValidationErrors("Function", err)
}
}
for _, secret := range r.Spec.Secrets {
if secret.Namespace != r.ObjectMeta.Namespace {
err := fmt.Errorf("secret [%s] and function's Namespace [%s] are different. Secret needs to be present in the same namespace as function", secret.Namespace, r.ObjectMeta.Namespace)
return nil, AggregateValidationErrors("Function", err)
}
}
err := r.Validate()
if err != nil {
return nil, AggregateValidationErrors("Function", err)
}
return nil, nil
}
// ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (r *Function) ValidateDelete() (admission.Warnings, error) {
functionlog.Debug("validate delete", zap.String("name", r.Name))
return nil, nil
}
-80
View File
@@ -1,80 +0,0 @@
/*
Copyright 2022.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package v1
import (
"go.uber.org/zap"
"k8s.io/apimachinery/pkg/runtime"
ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/webhook"
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
"github.com/fission/fission/pkg/utils/loggerfactory"
)
// log is for logging in this package.
var httptriggerlog = loggerfactory.GetLogger().Named("httptrigger-resource")
func (r *HTTPTrigger) SetupWebhookWithManager(mgr ctrl.Manager) error {
return ctrl.NewWebhookManagedBy(mgr).
For(r).
Complete()
}
// Admission webhooks can be added by adding tag: kubebuilder:webhook:path=/mutate-fission-io-v1-httptrigger,mutating=true,failurePolicy=fail,sideEffects=None,groups=fission.io,resources=httptriggers,verbs=create;update,versions=v1,name=mhttptrigger.fission.io,admissionReviewVersions=v1
var _ webhook.Defaulter = &HTTPTrigger{}
// Default implements webhook.Defaulter so a webhook will be registered for the type
func (r *HTTPTrigger) Default() {
httptriggerlog.Debug("default", zap.String("name", r.Name))
}
// user change verbs to "verbs=create;update;delete" if you want to enable deletion validation.
//+kubebuilder:webhook:path=/validate-fission-io-v1-httptrigger,mutating=false,failurePolicy=fail,sideEffects=None,groups=fission.io,resources=httptriggers,verbs=create;update,versions=v1,name=vhttptrigger.fission.io,admissionReviewVersions=v1
var _ webhook.Validator = &HTTPTrigger{}
// ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (t *HTTPTrigger) ValidateCreate() (admission.Warnings, error) {
httptriggerlog.Debug("validate create", zap.String("name", t.Name))
err := t.Validate()
if err != nil {
err = AggregateValidationErrors("HTTPTrigger", err)
return nil, err
}
return nil, nil
}
// ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
func (r *HTTPTrigger) ValidateUpdate(old runtime.Object) (admission.Warnings, error) {
httptriggerlog.Debug("validate update", zap.String("name", r.Name))
err := r.Validate()
if err != nil {
err = AggregateValidationErrors("HTTPTrigger", err)
return nil, err
}
return nil, nil
}
// ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (r *HTTPTrigger) ValidateDelete() (admission.Warnings, error) {
httptriggerlog.Debug("validate delete", zap.String("name", r.Name))
return nil, nil
}
@@ -1,73 +0,0 @@
/*
Copyright 2022.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package v1
import (
"go.uber.org/zap"
"k8s.io/apimachinery/pkg/runtime"
ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/webhook"
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
"github.com/fission/fission/pkg/utils/loggerfactory"
)
// log is for logging in this package.
var kuberneteswatchtriggerlog = loggerfactory.GetLogger().Named("kuberneteswatchtrigger-resource")
func (r *KubernetesWatchTrigger) SetupWebhookWithManager(mgr ctrl.Manager) error {
return ctrl.NewWebhookManagedBy(mgr).
For(r).
Complete()
}
// Admission webhooks can be added by adding tag: kubebuilder:webhook:path=/mutate-fission-io-v1-kuberneteswatchtrigger,mutating=true,failurePolicy=fail,sideEffects=None,groups=fission.io,resources=kuberneteswatchtriggers,verbs=create;update,versions=v1,name=mkuberneteswatchtrigger.fission.io,admissionReviewVersions=v1
var _ webhook.Defaulter = &KubernetesWatchTrigger{}
// Default implements webhook.Defaulter so a webhook will be registered for the type
func (r *KubernetesWatchTrigger) Default() {
kuberneteswatchtriggerlog.Debug("default", zap.String("name", r.Name))
}
// user: change verbs to "verbs=create;update;delete" if you want to enable deletion validation.
//+kubebuilder:webhook:path=/validate-fission-io-v1-kuberneteswatchtrigger,mutating=false,failurePolicy=fail,sideEffects=None,groups=fission.io,resources=kuberneteswatchtriggers,verbs=create,versions=v1,name=vkuberneteswatchtrigger.fission.io,admissionReviewVersions=v1
var _ webhook.Validator = &KubernetesWatchTrigger{}
// ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (r *KubernetesWatchTrigger) ValidateCreate() (admission.Warnings, error) {
kuberneteswatchtriggerlog.Debug("validate create", zap.String("name", r.Name))
err := r.Validate()
if err != nil {
err = AggregateValidationErrors("Watch", err)
return nil, err
}
return nil, nil
}
// ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
func (r *KubernetesWatchTrigger) ValidateUpdate(old runtime.Object) (admission.Warnings, error) {
// WATCH UPDATE NOT IMPLEMENTED
return nil, nil
}
// ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (r *KubernetesWatchTrigger) ValidateDelete() (admission.Warnings, error) {
kuberneteswatchtriggerlog.Debug("validate delete", zap.String("name", r.Name))
return nil, nil
}
-108
View File
@@ -1,108 +0,0 @@
/*
Copyright 2022.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package v1
import (
"fmt"
"github.com/dustin/go-humanize"
"go.uber.org/zap"
"k8s.io/apimachinery/pkg/runtime"
ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/webhook"
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
ferror "github.com/fission/fission/pkg/error"
"github.com/fission/fission/pkg/utils/loggerfactory"
)
// log is for logging in this package.
var packagelog = loggerfactory.GetLogger().Named("package-resource")
func (r *Package) SetupWebhookWithManager(mgr ctrl.Manager) error {
return ctrl.NewWebhookManagedBy(mgr).
For(r).
Complete()
}
//+kubebuilder:webhook:path=/mutate-fission-io-v1-package,mutating=true,failurePolicy=fail,sideEffects=None,groups=fission.io,resources=packages,verbs=create;update,versions=v1,name=mpackage.fission.io,admissionReviewVersions=v1
var _ webhook.Defaulter = &Package{}
// Default implements webhook.Defaulter so a webhook will be registered for the type
func (r *Package) Default() {
packagelog.Debug("default", zap.String("name", r.Name))
if r.Status.BuildStatus == "" {
if !r.Spec.Deployment.IsEmpty() {
// deployment package exists
r.Status.BuildStatus = BuildStatusNone
} else if !r.Spec.Source.IsEmpty() {
// source package with no deployment is a pending build
r.Status.BuildStatus = BuildStatusPending
} else {
r.Status.BuildStatus = BuildStatusFailed // empty package
r.Status.BuildLog = "Both source and deployment are empty"
}
}
}
// user change verbs to "verbs=create;update;delete" if you want to enable deletion validation.
//+kubebuilder:webhook:path=/validate-fission-io-v1-package,mutating=false,failurePolicy=fail,sideEffects=None,groups=fission.io,resources=packages,verbs=create;update,versions=v1,name=vpackage.fission.io,admissionReviewVersions=v1
var _ webhook.Validator = &Package{}
// ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (r *Package) ValidateCreate() (admission.Warnings, error) {
packagelog.Debug("validate create", zap.String("name", r.Name))
err := r.Validate()
if err != nil {
err = AggregateValidationErrors("Package", err)
return nil, err
}
// Ensure size limits
if len(r.Spec.Source.Literal) > int(ArchiveLiteralSizeLimit) {
err := ferror.MakeError(ferror.ErrorInvalidArgument,
fmt.Sprintf("Package literal larger than %s", humanize.Bytes(uint64(ArchiveLiteralSizeLimit))))
return nil, err
}
if len(r.Spec.Deployment.Literal) > int(ArchiveLiteralSizeLimit) {
err := ferror.MakeError(ferror.ErrorInvalidArgument,
fmt.Sprintf("Package literal larger than %s", humanize.Bytes(uint64(ArchiveLiteralSizeLimit))))
return nil, err
}
return nil, nil
}
// ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
func (r *Package) ValidateUpdate(old runtime.Object) (admission.Warnings, error) {
packagelog.Debug("validate update", zap.String("name", r.Name))
err := r.Validate()
if err != nil {
err = AggregateValidationErrors("Package", err)
return nil, err
}
return nil, nil
}
// ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (r *Package) ValidateDelete() (admission.Warnings, error) {
packagelog.Debug("validate delete", zap.String("name", r.Name))
return nil, nil
}
-92
View File
@@ -1,92 +0,0 @@
/*
Copyright 2022.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package v1
import (
"go.uber.org/zap"
"k8s.io/apimachinery/pkg/runtime"
ctrl "sigs.k8s.io/controller-runtime"
"sigs.k8s.io/controller-runtime/pkg/webhook"
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
ferror "github.com/fission/fission/pkg/error"
"github.com/fission/fission/pkg/utils/loggerfactory"
)
// log is for logging in this package.
var timetriggerlog = loggerfactory.GetLogger().Named("timetrigger-resource")
func (r *TimeTrigger) SetupWebhookWithManager(mgr ctrl.Manager) error {
return ctrl.NewWebhookManagedBy(mgr).
For(r).
Complete()
}
// Admission webhooks can be added by adding tag: kubebuilder:webhook:path=/mutate-fission-io-v1-timetrigger,mutating=true,failurePolicy=fail,sideEffects=None,groups=fission.io,resources=timetriggers,verbs=create;update,versions=v1,name=mtimetrigger.fission.io,admissionReviewVersions=v1
var _ webhook.Defaulter = &TimeTrigger{}
// Default implements webhook.Defaulter so a webhook will be registered for the type
func (r *TimeTrigger) Default() {
timetriggerlog.Debug("default", zap.String("name", r.Name))
}
// user change verbs to "verbs=create;update;delete" if you want to enable deletion validation.
//+kubebuilder:webhook:path=/validate-fission-io-v1-timetrigger,mutating=false,failurePolicy=fail,sideEffects=None,groups=fission.io,resources=timetriggers,verbs=create;update,versions=v1,name=vtimetrigger.fission.io,admissionReviewVersions=v1
var _ webhook.Validator = &TimeTrigger{}
// ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (r *TimeTrigger) ValidateCreate() (admission.Warnings, error) {
timetriggerlog.Debug("validate create", zap.String("name", r.Name))
err := r.Validate()
if err != nil {
err = AggregateValidationErrors("TimeTrigger", err)
return nil, err
}
err = IsValidCronSpec(r.Spec.Cron)
if err != nil {
err = ferror.MakeError(ferror.ErrorInvalidArgument, "TimeTrigger cron spec is not valid")
return nil, err
}
return nil, nil
}
// ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
func (r *TimeTrigger) ValidateUpdate(old runtime.Object) (admission.Warnings, error) {
timetriggerlog.Debug("validate update", zap.String("name", r.Name))
err := r.Validate()
if err != nil {
err = AggregateValidationErrors("TimeTrigger", err)
return nil, err
}
err = IsValidCronSpec(r.Spec.Cron)
if err != nil {
err = ferror.MakeError(ferror.ErrorInvalidArgument, "TimeTrigger cron spec is not valid")
return nil, err
}
return nil, nil
}
// ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (r *TimeTrigger) ValidateDelete() (admission.Warnings, error) {
timetriggerlog.Debug("validate delete", zap.String("name", r.Name))
return nil, nil
}
+1 -1
View File
@@ -23,7 +23,7 @@ package v1
import ( import (
"k8s.io/api/autoscaling/v2" "k8s.io/api/autoscaling/v2"
corev1 "k8s.io/api/core/v1" corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/runtime" runtime "k8s.io/apimachinery/pkg/runtime"
) )
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
+12 -2
View File
@@ -122,9 +122,19 @@ func (builder *Builder) Handler(w http.ResponseWriter, r *http.Request) {
logger.Info("builder received request", zap.Any("request", req)) logger.Info("builder received request", zap.Any("request", req))
logger.Debug("starting build") logger.Debug("starting build")
srcPkgPath := filepath.Join(builder.sharedVolumePath, req.SrcPkgFilename) srcPkgPath, err := utils.SanitizeFilePath(filepath.Join(builder.sharedVolumePath, req.SrcPkgFilename), builder.sharedVolumePath)
if err != nil {
logger.Error(err.Error(), zap.String("filename", req.SrcPkgFilename))
builder.reply(r.Context(), w, "", err.Error(), http.StatusBadRequest)
return
}
deployPkgFilename := fmt.Sprintf("%s-%s", req.SrcPkgFilename, strings.ToLower(uniuri.NewLen(6))) deployPkgFilename := fmt.Sprintf("%s-%s", req.SrcPkgFilename, strings.ToLower(uniuri.NewLen(6)))
deployPkgPath := filepath.Join(builder.sharedVolumePath, deployPkgFilename) deployPkgPath, err := utils.SanitizeFilePath(filepath.Join(builder.sharedVolumePath, deployPkgFilename), builder.sharedVolumePath)
if err != nil {
logger.Error(err.Error(), zap.String("filename", req.SrcPkgFilename))
builder.reply(r.Context(), w, "", err.Error(), http.StatusBadRequest)
return
}
var buildArgs []string var buildArgs []string
buildCmd := req.BuildCommand buildCmd := req.BuildCommand
+4 -4
View File
@@ -55,10 +55,10 @@ func buildPackage(ctx context.Context, logger *zap.Logger, fissionClient version
return nil, e, ferror.MakeError(http.StatusInternalServerError, e) return nil, e, ferror.MakeError(http.StatusInternalServerError, e)
} }
svcName := fmt.Sprintf("%v-%v.%v", env.ObjectMeta.Name, env.ObjectMeta.ResourceVersion, envBuilderNamespace) svcName := fmt.Sprintf("%s-%s.%s", env.Name, env.ResourceVersion, envBuilderNamespace)
srcPkgFilename := fmt.Sprintf("%v-%v", pkg.ObjectMeta.Name, strings.ToLower(uniuri.NewLen(6))) srcPkgFilename := fmt.Sprintf("%s-%s", pkg.Name, strings.ToLower(uniuri.NewLen(6)))
fetcherC := fetcherClient.MakeClient(logger, fmt.Sprintf("http://%v:8000", svcName)) fetcherC := fetcherClient.MakeClient(logger, fmt.Sprintf("http://%s:8000", svcName))
builderC := builderClient.MakeClient(logger, fmt.Sprintf("http://%v:8001", svcName)) builderC := builderClient.MakeClient(logger, fmt.Sprintf("http://%s:8001", svcName))
defer func() { defer func() {
logger.Info("cleaning src pkg from builder storage", zap.String("source_package", srcPkgFilename)) logger.Info("cleaning src pkg from builder storage", zap.String("source_package", srcPkgFilename))
+1 -1
View File
@@ -403,7 +403,7 @@ func (envw *environmentWatcher) createBuilderDeployment(ctx context.Context, env
} }
container, err := util.MergeContainer(&apiv1.Container{ container, err := util.MergeContainer(&apiv1.Container{
Name: "builder", Name: fv1.BuilderContainerName,
Image: env.Spec.Builder.Image, Image: env.Spec.Builder.Image,
ImagePullPolicy: envw.builderImagePullPolicy, ImagePullPolicy: envw.builderImagePullPolicy,
TerminationMessagePath: "/dev/termination-log", TerminationMessagePath: "/dev/termination-log",
+1 -1
View File
@@ -63,7 +63,7 @@ func (promApiClient *PrometheusApiClient) GetFunctionFailurePercentage(ctx conte
} }
if reqs <= 0 { if reqs <= 0 {
return -1, fmt.Errorf("no requests to this url %v and method %v in the window: %v", path, methods, window) return -1, fmt.Errorf("no requests to this url %s and method %v in the window: %s", path, methods, window)
} }
// next, get a total count of errored out requests to this function in the same window // next, get a total count of errored out requests to this function in the same window
+8 -3
View File
@@ -58,13 +58,18 @@ func ConfigMapEventHandlers(ctx context.Context, logger *zap.Logger, fissionClie
oldCm := oldObj.(*apiv1.ConfigMap) oldCm := oldObj.(*apiv1.ConfigMap)
newCm := newObj.(*apiv1.ConfigMap) newCm := newObj.(*apiv1.ConfigMap)
if oldCm.ObjectMeta.ResourceVersion != newCm.ObjectMeta.ResourceVersion { if oldCm.ObjectMeta.ResourceVersion != newCm.ObjectMeta.ResourceVersion {
logger.Debug("Configmap changed",
zap.String("configmap_name", newCm.ObjectMeta.Name),
zap.String("configmap_namespace", newCm.ObjectMeta.Namespace))
funcs, err := getConfigmapRelatedFuncs(ctx, logger, &newCm.ObjectMeta, fissionClient) funcs, err := getConfigmapRelatedFuncs(ctx, logger, &newCm.ObjectMeta, fissionClient)
if err != nil { if err != nil {
logger.Error("Failed to get functions related to configmap", zap.String("configmap_name", newCm.ObjectMeta.Name), zap.String("configmap_namespace", newCm.ObjectMeta.Namespace)) logger.Error("Failed to get functions related to configmap", zap.String("configmap_name", newCm.ObjectMeta.Name), zap.String("configmap_namespace", newCm.ObjectMeta.Namespace))
} }
if len(funcs) == 0 {
return
}
logger.Debug("Configmap changed",
zap.String("configmap_name", newCm.ObjectMeta.Name),
zap.String("configmap_namespace", newCm.ObjectMeta.Namespace))
refreshPods(ctx, logger, funcs, types) refreshPods(ctx, logger, funcs, types)
} }
}, },
+8 -3
View File
@@ -57,13 +57,18 @@ func SecretEventHandlers(ctx context.Context, logger *zap.Logger, fissionClient
oldS := oldObj.(*apiv1.Secret) oldS := oldObj.(*apiv1.Secret)
newS := newObj.(*apiv1.Secret) newS := newObj.(*apiv1.Secret)
if oldS.ObjectMeta.ResourceVersion != newS.ObjectMeta.ResourceVersion { if oldS.ObjectMeta.ResourceVersion != newS.ObjectMeta.ResourceVersion {
logger.Debug("Secret changed",
zap.String("configmap_name", newS.ObjectMeta.Name),
zap.String("configmap_namespace", newS.ObjectMeta.Namespace))
funcs, err := getSecretRelatedFuncs(ctx, logger, &newS.ObjectMeta, fissionClient) funcs, err := getSecretRelatedFuncs(ctx, logger, &newS.ObjectMeta, fissionClient)
if err != nil { if err != nil {
logger.Error("Failed to get functions related to secret", zap.String("secret_name", newS.ObjectMeta.Name), zap.String("secret_namespace", newS.ObjectMeta.Namespace)) logger.Error("Failed to get functions related to secret", zap.String("secret_name", newS.ObjectMeta.Name), zap.String("secret_namespace", newS.ObjectMeta.Namespace))
} }
if len(funcs) == 0 {
return
}
logger.Debug("Secret changed",
zap.String("secret_name", newS.ObjectMeta.Name),
zap.String("secret_namespace", newS.ObjectMeta.Namespace))
refreshPods(ctx, logger, funcs, types) refreshPods(ctx, logger, funcs, types)
} }
}, },
@@ -281,10 +281,20 @@ func (deploy *NewDeploy) getDeploymentSpec(ctx context.Context, fn *fv1.Function
}, },
} }
// If custom runtime container name - default env name
mainContainerName := env.ObjectMeta.Name
if env.Spec.Runtime.Container != nil && env.Spec.Runtime.Container.Name != "" && env.Spec.Runtime.PodSpec != nil {
if util.DoesContainerExistInPodSpec(env.Spec.Runtime.Container.Name, env.Spec.Runtime.PodSpec) {
mainContainerName = env.Spec.Runtime.Container.Name
} else {
return nil, fmt.Errorf("runtime container %s not found in pod spec", env.Spec.Runtime.Container.Name)
}
}
// Order of merging is important here - first fetcher, then containers and lastly pod spec // Order of merging is important here - first fetcher, then containers and lastly pod spec
err = deploy.fetcherConfig.AddSpecializingFetcherToPodSpec( err = deploy.fetcherConfig.AddSpecializingFetcherToPodSpec(
&deployment.Spec.Template.Spec, &deployment.Spec.Template.Spec,
env.ObjectMeta.Name, mainContainerName,
fn, fn,
env, env,
) )
+9 -7
View File
@@ -304,16 +304,18 @@ func (gp *GenericPool) choosePod(ctx context.Context, newLabels map[string]strin
// Relabel. If the pod already got picked and // Relabel. If the pod already got picked and
// modified, this should fail; in that case just // modified, this should fail; in that case just
// retry. // retry.
labelPatch, _ := json.Marshal(newLabels)
// Append executor instance id to pod annotations to // Append executor instance id to pod annotations to
// indicate this pod is managed by this executor. // indicate this pod is managed by this executor.
annotations := gp.getDeployAnnotations(gp.env) annotations := gp.getDeployAnnotations(gp.env)
annotationPatch, _ := json.Marshal(annotations) patch := map[string]interface{}{
"metadata": map[string]interface{}{
patch := fmt.Sprintf(`{"metadata":{"annotations":%v, "labels":%v}}`, string(annotationPatch), string(labelPatch)) "annotations": annotations,
logger.Info("relabel pod", zap.String("pod", patch)) "labels": newLabels,
newPod, err := gp.kubernetesClient.CoreV1().Pods(chosenPod.Namespace).Patch(ctx, chosenPod.Name, k8sTypes.StrategicMergePatchType, []byte(patch), metav1.PatchOptions{}) },
}
patchBytes, _ := json.Marshal(patch)
logger.Info("relabel pod", zap.String("pod", string((patchBytes))))
newPod, err := gp.kubernetesClient.CoreV1().Pods(chosenPod.Namespace).Patch(ctx, chosenPod.Name, k8sTypes.StrategicMergePatchType, patchBytes, metav1.PatchOptions{})
if err != nil && errors.Is(err, context.Canceled) { if err != nil && errors.Is(err, context.Canceled) {
// ending retry loop when the request canceled // ending retry loop when the request canceled
gp.readyPodQueue.Done(key) gp.readyPodQueue.Done(key)
@@ -189,8 +189,18 @@ func (gp *GenericPool) genDeploymentSpec(env *fv1.Environment) (*appsv1.Deployme
Template: pod, Template: pod,
} }
// If custom runtime container name - default env name
mainContainerName := env.ObjectMeta.Name
if env.Spec.Runtime.Container != nil && env.Spec.Runtime.Container.Name != "" && env.Spec.Runtime.PodSpec != nil {
if util.DoesContainerExistInPodSpec(env.Spec.Runtime.Container.Name, env.Spec.Runtime.PodSpec) {
mainContainerName = env.Spec.Runtime.Container.Name
} else {
return nil, fmt.Errorf("runtime container %s not found in pod spec", env.Spec.Runtime.Container.Name)
}
}
// Order of merging is important here - first fetcher, then containers and lastly pod spec // Order of merging is important here - first fetcher, then containers and lastly pod spec
err = gp.fetcherConfig.AddFetcherToPodSpec(&deploymentSpec.Template.Spec, env.ObjectMeta.Name) err = gp.fetcherConfig.AddFetcherToPodSpec(&deploymentSpec.Template.Spec, mainContainerName)
if err != nil { if err != nil {
return nil, err return nil, err
} }
+1 -1
View File
@@ -548,7 +548,7 @@ func (gpm *GenericPoolManager) service() {
pool, ok := gpm.pools[key] pool, ok := gpm.pools[key]
if !ok { if !ok {
gpm.logger.Error("Could not find pool", zap.String("environment", env.ObjectMeta.Name), zap.String("namespace", env.ObjectMeta.Namespace)) gpm.logger.Error("Could not find pool", zap.String("environment", env.ObjectMeta.Name), zap.String("namespace", env.ObjectMeta.Namespace))
return continue
} }
delete(gpm.pools, key) delete(gpm.pools, key)
if pool != nil { if pool != nil {
@@ -84,9 +84,9 @@ func NewPoolPodController(ctx context.Context, logger *zap.Logger,
envListerSynced: make(map[string]k8sCache.InformerSynced, 0), envListerSynced: make(map[string]k8sCache.InformerSynced, 0),
podLister: make(map[string]corelisters.PodLister), podLister: make(map[string]corelisters.PodLister),
podListerSynced: make(map[string]k8sCache.InformerSynced), podListerSynced: make(map[string]k8sCache.InformerSynced),
envCreateUpdateQueue: workqueue.NewTypedRateLimitingQueueWithConfig[string](workqueue.DefaultTypedControllerRateLimiter[string](), workqueue.TypedRateLimitingQueueConfig[string]{Name: "EnvAddUpdateQueue"}), envCreateUpdateQueue: workqueue.NewTypedRateLimitingQueueWithConfig(workqueue.DefaultTypedControllerRateLimiter[string](), workqueue.TypedRateLimitingQueueConfig[string]{Name: "EnvAddUpdateQueue"}),
envDeleteQueue: workqueue.NewTypedRateLimitingQueueWithConfig[*fv1.Environment](workqueue.DefaultTypedControllerRateLimiter[*fv1.Environment](), workqueue.TypedRateLimitingQueueConfig[*fv1.Environment]{Name: "EnvDeleteQueue"}), envDeleteQueue: workqueue.NewTypedRateLimitingQueueWithConfig(workqueue.DefaultTypedControllerRateLimiter[*fv1.Environment](), workqueue.TypedRateLimitingQueueConfig[*fv1.Environment]{Name: "EnvDeleteQueue"}),
spCleanupPodQueue: workqueue.NewTypedRateLimitingQueueWithConfig[string](workqueue.DefaultTypedControllerRateLimiter[string](), workqueue.TypedRateLimitingQueueConfig[string]{Name: "SpecializedPodCleanupQueue"}), spCleanupPodQueue: workqueue.NewTypedRateLimitingQueueWithConfig(workqueue.DefaultTypedControllerRateLimiter[string](), workqueue.TypedRateLimitingQueueConfig[string]{Name: "SpecializedPodCleanupQueue"}),
} }
if p.enableIstio { if p.enableIstio {
for _, factory := range finformerFactory { for _, factory := range finformerFactory {
@@ -33,7 +33,9 @@ func (gp *GenericPool) setupReadyPodController() error {
// avoid concurrent access to gp.deployment // avoid concurrent access to gp.deployment
gp.lock.Lock() gp.lock.Lock()
defer gp.lock.Unlock() defer gp.lock.Unlock()
gp.readyPodQueue = workqueue.TypedNewDelayingQueue[string]() gp.readyPodQueue = workqueue.NewTypedDelayingQueueWithConfig(workqueue.TypedDelayingQueueConfig[string]{
Name: "readyPodQueue",
})
informerFactory, err := utils.GetInformerFactoryByReadyPod(gp.kubernetesClient, gp.fnNamespace, gp.deployment.Spec.Selector) informerFactory, err := utils.GetInformerFactoryByReadyPod(gp.kubernetesClient, gp.fnNamespace, gp.deployment.Spec.Selector)
if err != nil { if err != nil {
return err return err
+10
View File
@@ -168,3 +168,13 @@ func CreateDumpFile(logger *zap.Logger) (*os.File, error) {
return os.Create(fmt.Sprintf("%s/%s-%d.txt", dumpPath, dumpFileName, time.Now().Unix())) return os.Create(fmt.Sprintf("%s/%s-%d.txt", dumpPath, dumpFileName, time.Now().Unix()))
} }
// DoesContainerExistInPodSpec checks if the container with the given name exists in the pod spec
func DoesContainerExistInPodSpec(containerName string, podSpec *apiv1.PodSpec) bool {
for _, container := range podSpec.Containers {
if container.Name == containerName {
return true
}
}
return false
}
+1 -1
View File
@@ -69,7 +69,7 @@ func MakeFetcherConfig(sharedMountPath string) (*Config, error) {
fetcherImage := os.Getenv("FETCHER_IMAGE") fetcherImage := os.Getenv("FETCHER_IMAGE")
if len(fetcherImage) == 0 { if len(fetcherImage) == 0 {
fetcherImage = "fission/fetcher" fetcherImage = "ghcr.io/fission/fetcher"
} }
fetcherImagePullPolicy := os.Getenv("FETCHER_IMAGE_PULL_POLICY") fetcherImagePullPolicy := os.Getenv("FETCHER_IMAGE_PULL_POLICY")
+42 -56
View File
@@ -29,7 +29,6 @@ import (
"time" "time"
"github.com/google/uuid" "github.com/google/uuid"
"github.com/mholt/archiver/v3"
"github.com/pkg/errors" "github.com/pkg/errors"
"go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp"
"go.uber.org/zap" "go.uber.org/zap"
@@ -253,15 +252,14 @@ func (fetcher *Fetcher) SpecializeHandler(w http.ResponseWriter, r *http.Request
func (fetcher *Fetcher) Fetch(ctx context.Context, pkg *fv1.Package, req FunctionFetchRequest) (int, error) { func (fetcher *Fetcher) Fetch(ctx context.Context, pkg *fv1.Package, req FunctionFetchRequest) (int, error) {
logger := otelUtils.LoggerWithTraceID(ctx, fetcher.logger) logger := otelUtils.LoggerWithTraceID(ctx, fetcher.logger)
// check that the requested filename is not an empty string and error out if so storePath, err := utils.SanitizeFilePath(filepath.Join(fetcher.sharedVolumePath, req.Filename), fetcher.sharedVolumePath)
if len(req.Filename) == 0 { if err != nil {
e := "fetch request received for an empty file name" logger.Error(err.Error(), zap.String("filename", req.Filename))
logger.Error(e, zap.Any("request", req)) return http.StatusBadRequest, errors.New(fmt.Sprintf("%s, request: %v", err, req))
return http.StatusBadRequest, errors.New(fmt.Sprintf("%s, request: %v", e, req))
} }
// verify first if the file already exists. // verify first if the file already exists.
if _, err := os.Stat(filepath.Join(fetcher.sharedVolumePath, req.Filename)); err == nil { if _, err := os.Stat(storePath); err == nil {
logger.Info("requested file already exists at shared volume - skipping fetch", logger.Info("requested file already exists at shared volume - skipping fetch",
zap.String("requested_file", req.Filename), zap.String("requested_file", req.Filename),
zap.String("shared_volume_path", fetcher.sharedVolumePath)) zap.String("shared_volume_path", fetcher.sharedVolumePath))
@@ -269,8 +267,11 @@ func (fetcher *Fetcher) Fetch(ctx context.Context, pkg *fv1.Package, req Functio
return http.StatusOK, nil return http.StatusOK, nil
} }
tmpFile := req.Filename + ".tmp" tmpPath, err := utils.SanitizeFilePath(storePath+".tmp", fetcher.sharedVolumePath)
tmpPath := filepath.Join(fetcher.sharedVolumePath, tmpFile) if err != nil {
logger.Error(err.Error(), zap.String("filename", req.Filename))
return http.StatusBadRequest, errors.New(fmt.Sprintf("%s, request: %v", err, req))
}
if req.FetchType == fv1.FETCH_URL { if req.FetchType == fv1.FETCH_URL {
otelUtils.SpanTrackEvent(ctx, "fetch_url", otelUtils.MapToAttributes(map[string]string{ otelUtils.SpanTrackEvent(ctx, "fetch_url", otelUtils.MapToAttributes(map[string]string{
@@ -350,10 +351,10 @@ func (fetcher *Fetcher) Fetch(ctx context.Context, pkg *fv1.Package, req Functio
} }
// checking if file is a zip // checking if file is a zip
if match, _ := utils.IsZip(tmpPath); match && !req.KeepArchive { if match, _ := utils.IsZip(ctx, tmpPath); match && !req.KeepArchive {
// unarchive tmp file to a tmp unarchive path // unarchive tmp file to a tmp unarchive path
tmpUnarchivePath := filepath.Join(fetcher.sharedVolumePath, uuid.NewString()) tmpUnarchivePath := filepath.Join(fetcher.sharedVolumePath, uuid.NewString())
err := fetcher.unarchive(tmpPath, tmpUnarchivePath) err := utils.Unarchive(ctx, tmpPath, tmpUnarchivePath)
if err != nil { if err != nil {
logger.Error("error unarchive", logger.Error("error unarchive",
zap.Error(err), zap.Error(err),
@@ -366,18 +367,17 @@ func (fetcher *Fetcher) Fetch(ctx context.Context, pkg *fv1.Package, req Functio
} }
// move tmp file to requested filename // move tmp file to requested filename
renamePath := filepath.Join(fetcher.sharedVolumePath, req.Filename) err = fetcher.rename(tmpPath, storePath)
err := fetcher.rename(tmpPath, renamePath)
if err != nil { if err != nil {
logger.Error("error renaming file", logger.Error("error renaming file",
zap.Error(err), zap.Error(err),
zap.String("original_path", tmpPath), zap.String("original_path", tmpPath),
zap.String("rename_path", renamePath)) zap.String("rename_path", storePath))
return http.StatusInternalServerError, err return http.StatusInternalServerError, err
} }
otelUtils.SpanTrackEvent(ctx, "packageFetched", otelUtils.GetAttributesForPackage(pkg)...) otelUtils.SpanTrackEvent(ctx, "packageFetched", otelUtils.GetAttributesForPackage(pkg)...)
logger.Info("successfully placed", zap.String("location", renamePath)) logger.Info("successfully placed", zap.String("location", storePath))
return http.StatusOK, nil return http.StatusOK, nil
} }
@@ -406,8 +406,12 @@ func (fetcher *Fetcher) FetchSecretsAndCfgMaps(ctx context.Context, secrets []fv
return httpCode, errors.New(e) return httpCode, errors.New(e)
} }
secretPath := filepath.Join(secret.Namespace, secret.Name) secretDir, err := utils.SanitizeFilePath(filepath.Join(fetcher.sharedSecretPath, secret.Namespace, secret.Name), fetcher.sharedSecretPath)
secretDir := filepath.Join(fetcher.sharedSecretPath, secretPath) if err != nil {
logger.Error(err.Error(), zap.String("directory", secretDir), zap.String("secret_name", secret.Name), zap.String("secret_namespace", secret.Namespace))
return http.StatusBadRequest, errors.New(fmt.Sprintf("%s, request: %v", err, secret))
}
err = os.MkdirAll(secretDir, os.ModeDir|0750) err = os.MkdirAll(secretDir, os.ModeDir|0750)
if err != nil { if err != nil {
e := "failed to create directory for secret" e := "failed to create directory for secret"
@@ -454,8 +458,13 @@ func (fetcher *Fetcher) FetchSecretsAndCfgMaps(ctx context.Context, secrets []fv
return httpCode, errors.New(e) return httpCode, errors.New(e)
} }
configPath := filepath.Join(config.Namespace, config.Name) configDir, err := utils.SanitizeFilePath(filepath.Join(fetcher.sharedConfigPath, config.Namespace, config.Name), fetcher.sharedConfigPath)
configDir := filepath.Join(fetcher.sharedConfigPath, configPath) if err != nil {
logger.Error(err.Error(), zap.String("directory", configDir), zap.String("config_map_name", config.Name), zap.String("config_map_namespace", config.Namespace))
return http.StatusBadRequest, errors.New(fmt.Sprintf("%s, request: %v", err,
config))
}
err = os.MkdirAll(configDir, os.ModeDir|0750) err = os.MkdirAll(configDir, os.ModeDir|0750)
if err != nil { if err != nil {
e := "failed to create directory for configmap" e := "failed to create directory for configmap"
@@ -519,11 +528,21 @@ func (fetcher *Fetcher) UploadHandler(w http.ResponseWriter, r *http.Request) {
http.Error(w, err.Error(), http.StatusBadRequest) http.Error(w, err.Error(), http.StatusBadRequest)
return return
} }
logger.Info("fetcher received upload request", zap.Any("request", req)) logger.Info("fetcher received upload request", zap.Any("request", req))
zipFilename := req.Filename + ".zip" srcFilepath, err := utils.SanitizeFilePath(filepath.Join(fetcher.sharedVolumePath, req.Filename), fetcher.sharedVolumePath)
srcFilepath := filepath.Join(fetcher.sharedVolumePath, req.Filename) if err != nil {
dstFilepath := filepath.Join(fetcher.sharedVolumePath, zipFilename) logger.Error("error sanitizing file path", zap.Error(err))
http.Error(w, fmt.Sprintf("%s: %v", err, req.Filename), http.StatusBadRequest)
return
}
dstFilepath, err := utils.SanitizeFilePath(filepath.Join(fetcher.sharedVolumePath, req.Filename+".zip"), fetcher.sharedVolumePath)
if err != nil {
logger.Error("error sanitizing file path", zap.Error(err))
http.Error(w, fmt.Sprintf("%s: %v", err, req.Filename), http.StatusBadRequest)
return
}
defer func() { defer func() {
errC := utils.DeleteOldPackages(srcFilepath, "DEPLOY_PKG") errC := utils.DeleteOldPackages(srcFilepath, "DEPLOY_PKG")
@@ -534,7 +553,7 @@ func (fetcher *Fetcher) UploadHandler(w http.ResponseWriter, r *http.Request) {
}() }()
if req.ArchivePackage { if req.ArchivePackage {
err = fetcher.archive(srcFilepath, dstFilepath) err = utils.Archive(ctx, srcFilepath, dstFilepath)
if err != nil { if err != nil {
e := "error archiving zip file" e := "error archiving zip file"
logger.Error(e, zap.Error(err), zap.String("source", srcFilepath), zap.String("destination", dstFilepath)) logger.Error(e, zap.Error(err), zap.String("source", srcFilepath), zap.String("destination", dstFilepath))
@@ -603,39 +622,6 @@ func (fetcher *Fetcher) rename(src string, dst string) error {
return nil return nil
} }
// archive zips the contents of directory at src into a new zip file
// at dst (note that the contents are zipped, not the directory itself).
func (fetcher *Fetcher) archive(src string, dst string) error {
var files []string
target, err := os.Stat(src)
if err != nil {
return errors.Wrap(err, "failed to zip file")
}
if target.IsDir() {
// list all
fs, _ := os.ReadDir(src)
for _, f := range fs {
files = append(files, filepath.Join(src, f.Name()))
}
} else {
files = append(files, src)
}
zip := archiver.NewZip()
defer zip.Close()
return zip.Archive(files, dst)
}
// unarchive is a function that unzips a zip file to destination
func (fetcher *Fetcher) unarchive(src string, dst string) error {
zip := archiver.NewZip()
defer zip.Close()
err := zip.Unarchive(src, dst)
if err != nil {
return fmt.Errorf("failed to unzip file: %w", err)
}
return nil
}
// getPkgInformation gets package information from k8s api server. // getPkgInformation gets package information from k8s api server.
func (fetcher *Fetcher) getPkgInformation(ctx context.Context, req FunctionFetchRequest) (pkg *fv1.Package, err error) { func (fetcher *Fetcher) getPkgInformation(ctx context.Context, req FunctionFetchRequest) (pkg *fv1.Package, err error) {
logger := otelUtils.LoggerWithTraceID(ctx, fetcher.logger) logger := otelUtils.LoggerWithTraceID(ctx, fetcher.logger)
@@ -266,7 +266,7 @@ func (u Cli) Int64(key string) int64 {
func (u Cli) Int64Slice(key string) []int64 { func (u Cli) Int64Slice(key string) []int64 {
v, _ := u.c.Flags().GetIntSlice(key) v, _ := u.c.Flags().GetIntSlice(key)
vals := make([]int64, len(v)) vals := make([]int64, 0, len(v))
for _, i := range v { for _, i := range v {
vals = append(vals, int64(i)) vals = append(vals, int64(i))
} }
+1 -1
View File
@@ -36,7 +36,7 @@ func (opts *CheckSubCommand) do(input cli.Input) error {
userProvidedNS, _, err := opts.GetResourceNamespace(input, flagkey.Namespace) userProvidedNS, _, err := opts.GetResourceNamespace(input, flagkey.Namespace)
if err != nil { if err != nil {
return fmt.Errorf("error retrieving user provided namespace information: %w", err) return fmt.Errorf("error retrieving user provided namespace: %w", err)
} }
if input.IsSet(flagkey.PreCheckOnly) { if input.IsSet(flagkey.PreCheckOnly) {
+29 -14
View File
@@ -64,16 +64,6 @@ func (opts *CreateSubCommand) complete(input cli.Input) error {
// run write the resource to a spec file or create a fission CRD with remote fission server. // run write the resource to a spec file or create a fission CRD with remote fission server.
// It also prints warning/error if necessary. // It also prints warning/error if necessary.
func (opts *CreateSubCommand) run(input cli.Input) (err error) { func (opts *CreateSubCommand) run(input cli.Input) (err error) {
m := opts.env.ObjectMeta
envList, err := opts.Client().FissionClientSet.CoreV1().Environments(m.Namespace).List(input.Context(), metav1.ListOptions{})
if err != nil {
return err
} else if len(envList.Items) > 0 {
console.Verbose(2, "%d environment(s) are present in the %s namespace. "+
"These environments are not isolated from each other; use separate namespaces if you need isolation.",
len(envList.Items), m.Namespace)
}
userDefinedNS, currentNS, err := opts.GetResourceNamespace(input, flagkey.NamespaceEnvironment) userDefinedNS, currentNS, err := opts.GetResourceNamespace(input, flagkey.NamespaceEnvironment)
if err != nil { if err != nil {
@@ -82,6 +72,15 @@ func (opts *CreateSubCommand) run(input cli.Input) (err error) {
// we use user provided NS in spec. While creating actual record we use the current context's NS. // we use user provided NS in spec. While creating actual record we use the current context's NS.
opts.env.ObjectMeta.Namespace = userDefinedNS opts.env.ObjectMeta.Namespace = userDefinedNS
envList, err := opts.Client().FissionClientSet.CoreV1().Environments(opts.env.ObjectMeta.Namespace).List(input.Context(), metav1.ListOptions{})
if err != nil {
return err
} else if len(envList.Items) > 0 {
console.Verbose(2, "%d environment(s) are present in the %s namespace. "+
"These environments are not isolated from each other; use separate namespaces if you need isolation.",
len(envList.Items), opts.env.ObjectMeta.Namespace)
}
// if we're writing a spec, don't call the API // if we're writing a spec, don't call the API
// save to spec file or display the spec to console // save to spec file or display the spec to console
if input.Bool(flagkey.SpecDry) { if input.Bool(flagkey.SpecDry) {
@@ -99,7 +98,7 @@ func (opts *CreateSubCommand) run(input cli.Input) (err error) {
return fv1.AggregateValidationErrors("Environment", err) return fv1.AggregateValidationErrors("Environment", err)
} }
specFile := fmt.Sprintf("env-%v.yaml", m.Name) specFile := fmt.Sprintf("env-%v.yaml", opts.env.ObjectMeta.Name)
err = spec.SpecSave(*opts.env, specFile, false) err = spec.SpecSave(*opts.env, specFile, false)
if err != nil { if err != nil {
return errors.Wrap(err, "error saving environment spec") return errors.Wrap(err, "error saving environment spec")
@@ -114,7 +113,7 @@ func (opts *CreateSubCommand) run(input cli.Input) (err error) {
return errors.Wrap(err, "error creating resource") return errors.Wrap(err, "error creating resource")
} }
fmt.Printf("environment '%v' created\n", m.Name) fmt.Printf("environment '%v' created\n", opts.env.ObjectMeta.Name)
return nil return nil
} }
@@ -181,14 +180,30 @@ func createEnvironmentFromCmd(input cli.Input) (*fv1.Environment, error) {
Runtime: fv1.Runtime{ Runtime: fv1.Runtime{
Image: envImg, Image: envImg,
Container: &apiv1.Container{ Container: &apiv1.Container{
Env: runtimeEnvList, Name: envName,
Env: runtimeEnvList,
},
PodSpec: &apiv1.PodSpec{
Containers: []apiv1.Container{
{
Name: envName,
},
},
}, },
}, },
Builder: fv1.Builder{ Builder: fv1.Builder{
Image: envBuilderImg, Image: envBuilderImg,
Command: envBuildCmd, Command: envBuildCmd,
Container: &apiv1.Container{ Container: &apiv1.Container{
Env: builderEnvList, Name: fv1.BuilderContainerName,
Env: builderEnvList,
},
PodSpec: &apiv1.PodSpec{
Containers: []apiv1.Container{
{
Name: fv1.BuilderContainerName,
},
},
}, },
}, },
Poolsize: poolsize, Poolsize: poolsize,
+1 -4
View File
@@ -59,13 +59,10 @@ func (opts *InfoSubCommand) complete(input cli.Input) (err error) {
func (opts *InfoSubCommand) run(input cli.Input) error { func (opts *InfoSubCommand) run(input cli.Input) error {
pkg, err := opts.Client().FissionClientSet.CoreV1().Packages(opts.namespace).Get(input.Context(), opts.name, metav1.GetOptions{}) pkg, err := opts.Client().FissionClientSet.CoreV1().Packages(opts.namespace).Get(input.Context(), opts.name, metav1.GetOptions{})
if err != nil {
return err
}
if err != nil { if err != nil {
return errors.Wrapf(err, "error finding package %s", opts.name) return errors.Wrapf(err, "error finding package %s", opts.name)
} }
pkgutil.PrintPackageSummary(os.Stdout, pkg) pkgutil.PrintPackageSummary(os.Stdout, pkg)
return nil return nil
} }
+4 -4
View File
@@ -185,7 +185,7 @@ func CreateArchive(client cmd.Client, input cli.Input, includeFiles []string, no
return &archive, nil return &archive, nil
} }
archivePath, err := makeArchiveFile("", includeFiles, noZip) archivePath, err := makeArchiveFile(input.Context(), "", includeFiles, noZip)
if err != nil { if err != nil {
return nil, err return nil, err
} }
@@ -200,7 +200,7 @@ func CreateArchive(client cmd.Client, input cli.Input, includeFiles []string, no
// returned as-is with no zipping. (This is used for compatibility // returned as-is with no zipping. (This is used for compatibility
// with v1 envs.) noZip is IGNORED if there is more than one input // with v1 envs.) noZip is IGNORED if there is more than one input
// file. // file.
func makeArchiveFile(archiveNameHint string, archiveInput []string, noZip bool) (string, error) { func makeArchiveFile(ctx context.Context, archiveNameHint string, archiveInput []string, noZip bool) (string, error) {
// Unique name for the archive // Unique name for the archive
archiveFileName := archiveName(archiveNameHint, archiveInput) + ".zip" archiveFileName := archiveName(archiveNameHint, archiveInput) + ".zip"
@@ -219,7 +219,7 @@ func makeArchiveFile(archiveNameHint string, archiveInput []string, noZip bool)
} }
// if it's an existing zip file OR we're not supposed to zip it, don't do anything // if it's an existing zip file OR we're not supposed to zip it, don't do anything
if match, _ := utils.IsZip(files[0]); match || noZip { if match, _ := utils.IsZip(ctx, files[0]); match || noZip {
return files[0], nil return files[0], nil
} }
} }
@@ -230,7 +230,7 @@ func makeArchiveFile(archiveNameHint string, archiveInput []string, noZip bool)
return "", errors.Wrap(err, "error create temporary archive directory") return "", errors.Wrap(err, "error create temporary archive directory")
} }
archivePath, err := utils.MakeZipArchive(filepath.Join(tmpDir, archiveFileName), archiveInput...) archivePath, err := utils.MakeZipArchiveWithGlobs(ctx, filepath.Join(tmpDir, archiveFileName), archiveInput...)
if err != nil { if err != nil {
return "", errors.Wrap(err, "create archive file") return "", errors.Wrap(err, "create archive file")
} }
+1 -4
View File
@@ -58,10 +58,7 @@ func (opts *RebuildSubCommand) complete(input cli.Input) (err error) {
func (opts *RebuildSubCommand) run(input cli.Input) error { func (opts *RebuildSubCommand) run(input cli.Input) error {
pkg, err := opts.Client().FissionClientSet.CoreV1().Packages(opts.namespace).Get(input.Context(), opts.name, metav1.GetOptions{}) pkg, err := opts.Client().FissionClientSet.CoreV1().Packages(opts.namespace).Get(input.Context(), opts.name, metav1.GetOptions{})
if err != nil { if err != nil {
return err return errors.Wrapf(err, "package %s not found", opts.name)
}
if err != nil {
return errors.Wrap(err, "find package")
} }
if pkg.Status.BuildStatus != fv1.BuildStatusFailed { if pkg.Status.BuildStatus != fv1.BuildStatusFailed {
+34 -2
View File
@@ -165,12 +165,19 @@ func DownloadURL(fileUrl string) (io.ReadCloser, error) {
func DownloadStrorageURL(ctx context.Context, client cmd.Client, fileUrl string) (io.ReadCloser, error) { func DownloadStrorageURL(ctx context.Context, client cmd.Client, fileUrl string) (io.ReadCloser, error) {
var resp *http.Response var resp *http.Response
storagesvcURL, err := util.GetStorageURL(ctx, client) var err error
valid, err := validArchiveURL(fileUrl)
if err != nil { if err != nil {
return nil, err return nil, err
} }
if strings.HasPrefix(fileUrl, storagesvcURL.String()+"/v1/archive?id=") { if valid {
storagesvcURL, err := util.GetStorageURL(ctx, client)
if err != nil {
return nil, err
}
url, err := url.Parse(fileUrl) url, err := url.Parse(fileUrl)
if err != nil { if err != nil {
return nil, err return nil, err
@@ -229,3 +236,28 @@ func PrintPackageSummary(writer io.Writer, pkg *fv1.Package) {
fmt.Fprintf(w, "%v\n%v", "Build Logs:", buildlog) fmt.Fprintf(w, "%v\n%v", "Build Logs:", buildlog)
w.Flush() w.Flush()
} }
// validArchiveURL checks if the given URL is a valid archive URL
func validArchiveURL(urlStr string) (bool, error) {
// Parse the URL string into a URL object
parsedURL, err := url.Parse(urlStr)
if err != nil {
return false, fmt.Errorf("failed to parse URL: %v", err)
}
// Check if the path starts with /v1/archive
if !strings.HasPrefix(parsedURL.Path, "/v1/archive") {
return false, nil
}
// Get query parameters
queryParams := parsedURL.Query()
// Check if 'id' parameter exists
if queryParams.Get("id") == "" {
return false, nil
}
// URL matches all criteria
return true, nil
}
@@ -32,3 +32,35 @@ func TestPrintPackageSummary(t *testing.T) {
t.Errorf("PrintPackageBuildLog() = %v, want %v", gotWriter, expected) t.Errorf("PrintPackageBuildLog() = %v, want %v", gotWriter, expected)
} }
} }
func TestValidArchiveURL(t *testing.T) {
tests := []struct {
name string
url string
expected bool
}{
{
name: "Valid Archive URL",
url: "http://storagesvc.fission/v1/archive?id=/fission/fission-functions/Fc4c15f47-bb49-47c5-b382-526a6539841d",
expected: true,
},
{
name: "Invalid Archive URL",
url: "https://raw.githubusercontent.com/imaginery/training/refs/heads/fission/hello-go?token=ABCD",
expected: false,
},
}
for _, tt := range tests {
t.Run(tt.name, func(t *testing.T) {
got, err := validArchiveURL(tt.url)
if err != nil {
t.Errorf("got error %v", err)
}
if got != tt.expected {
t.Errorf("expected %t got %t", got, tt.expected)
}
})
}
}
+4 -7
View File
@@ -27,7 +27,6 @@ import (
"github.com/fsnotify/fsnotify" "github.com/fsnotify/fsnotify"
"github.com/go-git/go-git/v5" "github.com/go-git/go-git/v5"
"github.com/mholt/archiver/v3"
"github.com/pkg/errors" "github.com/pkg/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -358,7 +357,7 @@ func applyArchives(input cli.Input, fclient cmd.Client, specDir string, fr *Fiss
// create archives locally and calculate checksums // create archives locally and calculate checksums
for _, aus := range fr.ArchiveUploadSpecs { for _, aus := range fr.ArchiveUploadSpecs {
ar, err := localArchiveFromSpec(specDir, &aus) ar, err := localArchiveFromSpec(input.Context(), specDir, &aus)
if err != nil { if err != nil {
return err return err
} }
@@ -501,7 +500,7 @@ func applyResources(input cli.Input, fclient cmd.Client, specDir string, fr *Fis
// localArchiveFromSpec creates an archive on the local filesystem from the given spec, // localArchiveFromSpec creates an archive on the local filesystem from the given spec,
// and returns its path and checksum. // and returns its path and checksum.
func localArchiveFromSpec(specDir string, aus *spectypes.ArchiveUploadSpec) (*fv1.Archive, error) { func localArchiveFromSpec(ctx context.Context, specDir string, aus *spectypes.ArchiveUploadSpec) (*fv1.Archive, error) {
// get root dir // get root dir
var rootDir string var rootDir string
@@ -518,7 +517,7 @@ func localArchiveFromSpec(specDir string, aus *spectypes.ArchiveUploadSpec) (*fv
files := make([]string, 0) files := make([]string, 0)
// checking if file is a zip // checking if file is a zip
if match, _ := utils.IsZip(aus.IncludeGlobs[0]); match && len(aus.IncludeGlobs) == 1 { if match, _ := utils.IsZip(ctx, aus.IncludeGlobs[0]); match && len(aus.IncludeGlobs) == 1 {
files = append(files, aus.IncludeGlobs[0]) files = append(files, aus.IncludeGlobs[0])
} else { } else {
for _, relativeGlob := range aus.IncludeGlobs { for _, relativeGlob := range aus.IncludeGlobs {
@@ -560,9 +559,7 @@ func localArchiveFromSpec(specDir string, aus *spectypes.ArchiveUploadSpec) (*fv
} }
archiveFileName = archiveFile.Name() archiveFileName = archiveFile.Name()
// This instance is required to allow overwriting and not changing DefaultZip _, err = utils.MakeZipArchiveWithGlobs(ctx, archiveFileName, files...)
zipOverwrite := archiver.Zip{OverwriteExisting: true}
err = zipOverwrite.Archive(files, archiveFileName)
if err != nil { if err != nil {
return nil, err return nil, err
} }
+1 -1
View File
@@ -176,7 +176,7 @@ func (opts *DestroySubCommand) insertNSToResource(input cli.Input, fr *FissionRe
return result.ErrorOrNil() return result.ErrorOrNil()
} }
func deleteResources(ctx context.Context, fclient cmd.Client, fr *FissionResources, forceDelete bool) error { func deleteResources(ctx context.Context, fclient cmd.Client, fr *FissionResources, _ bool) error {
var err error var err error
+6
View File
@@ -30,6 +30,7 @@ import (
"sigs.k8s.io/yaml" "sigs.k8s.io/yaml"
fv1 "github.com/fission/fission/pkg/apis/core/v1" fv1 "github.com/fission/fission/pkg/apis/core/v1"
executorUtil "github.com/fission/fission/pkg/executor/util"
"github.com/fission/fission/pkg/fission-cli/cliwrapper/cli" "github.com/fission/fission/pkg/fission-cli/cliwrapper/cli"
"github.com/fission/fission/pkg/fission-cli/cmd" "github.com/fission/fission/pkg/fission-cli/cmd"
"github.com/fission/fission/pkg/fission-cli/cmd/spec/types" "github.com/fission/fission/pkg/fission-cli/cmd/spec/types"
@@ -489,6 +490,11 @@ func (fr *FissionResources) Validate(input cli.Input, client cmd.Client) ([]stri
environments[fmt.Sprintf("%s:%s", e.ObjectMeta.Name, e.ObjectMeta.Namespace)] = struct{}{} environments[fmt.Sprintf("%s:%s", e.ObjectMeta.Name, e.ObjectMeta.Namespace)] = struct{}{}
if ((e.Spec.Runtime.Container != nil) && (e.Spec.Runtime.PodSpec != nil)) || ((e.Spec.Builder.Container != nil) && (e.Spec.Builder.PodSpec != nil)) { if ((e.Spec.Runtime.Container != nil) && (e.Spec.Runtime.PodSpec != nil)) || ((e.Spec.Builder.Container != nil) && (e.Spec.Builder.PodSpec != nil)) {
warnings = append(warnings, "You have provided both - container spec and pod spec and while merging the pod spec will take precedence.") warnings = append(warnings, "You have provided both - container spec and pod spec and while merging the pod spec will take precedence.")
if e.Spec.Runtime.Container.Name != "" && e.Spec.Runtime.PodSpec != nil {
if !executorUtil.DoesContainerExistInPodSpec(e.Spec.Runtime.Container.Name, e.Spec.Runtime.PodSpec) {
result = multierror.Append(result, fmt.Errorf("runtime container %s does not exist in the pod spec", e.Spec.Runtime.Container.Name))
}
}
} }
// Unlike CLI can change the environment version silently, // Unlike CLI can change the environment version silently,
// we have to warn the user to modify spec file when this takes place. // we have to warn the user to modify spec file when this takes place.
+1 -1
View File
@@ -142,7 +142,7 @@ func (opts *DumpSubCommand) do(input cli.Input) error {
if !nozip { if !nozip {
defer os.RemoveAll(tempDir) defer os.RemoveAll(tempDir)
path := filepath.Join(outputDir, fmt.Sprintf("%v.zip", dumpName)) path := filepath.Join(outputDir, fmt.Sprintf("%v.zip", dumpName))
_, err := utils.MakeZipArchive(path, tempDir) _, err := utils.MakeZipArchiveWithGlobs(input.Context(), path, tempDir)
if err != nil { if err != nil {
fmt.Printf("Error creating archive for dump files: %v", err) fmt.Printf("Error creating archive for dump files: %v", err)
return err return err
+1 -1
View File
@@ -91,7 +91,7 @@ func (opts *CreateSubCommand) complete(input cli.Input) (err error) {
return err return err
} }
if !exists { if !exists {
console.Warn(fmt.Sprintf("TimeTrigger '%v' references unknown Function '%v', please create it before applying spec", console.Warn(fmt.Sprintf("TimeTrigger '%s' references unknown Function '%s', please create it before applying spec",
name, fnName)) name, fnName))
} }
} }
@@ -19,13 +19,13 @@ limitations under the License.
package v1 package v1
import ( import (
v1 "github.com/fission/fission/pkg/apis/core/v1" corev1 "github.com/fission/fission/pkg/apis/core/v1"
) )
// ArchiveApplyConfiguration represents a declarative configuration of the Archive type for use // ArchiveApplyConfiguration represents a declarative configuration of the Archive type for use
// with apply. // with apply.
type ArchiveApplyConfiguration struct { type ArchiveApplyConfiguration struct {
Type *v1.ArchiveType `json:"type,omitempty"` Type *corev1.ArchiveType `json:"type,omitempty"`
Literal []byte `json:"literal,omitempty"` Literal []byte `json:"literal,omitempty"`
URL *string `json:"url,omitempty"` URL *string `json:"url,omitempty"`
Checksum *ChecksumApplyConfiguration `json:"checksum,omitempty"` Checksum *ChecksumApplyConfiguration `json:"checksum,omitempty"`
@@ -40,7 +40,7 @@ func Archive() *ArchiveApplyConfiguration {
// WithType sets the Type field in the declarative configuration to the given value // WithType sets the Type field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the Type field is set to the value of the last call. // If called multiple times, the Type field is set to the value of the last call.
func (b *ArchiveApplyConfiguration) WithType(value v1.ArchiveType) *ArchiveApplyConfiguration { func (b *ArchiveApplyConfiguration) WithType(value corev1.ArchiveType) *ArchiveApplyConfiguration {
b.Type = &value b.Type = &value
return b return b
} }
@@ -19,16 +19,16 @@ limitations under the License.
package v1 package v1
import ( import (
v1 "k8s.io/api/core/v1" corev1 "k8s.io/api/core/v1"
) )
// BuilderApplyConfiguration represents a declarative configuration of the Builder type for use // BuilderApplyConfiguration represents a declarative configuration of the Builder type for use
// with apply. // with apply.
type BuilderApplyConfiguration struct { type BuilderApplyConfiguration struct {
Image *string `json:"image,omitempty"` Image *string `json:"image,omitempty"`
Command *string `json:"command,omitempty"` Command *string `json:"command,omitempty"`
Container *v1.Container `json:"container,omitempty"` Container *corev1.Container `json:"container,omitempty"`
PodSpec *v1.PodSpec `json:"podspec,omitempty"` PodSpec *corev1.PodSpec `json:"podspec,omitempty"`
} }
// BuilderApplyConfiguration constructs a declarative configuration of the Builder type for use with // BuilderApplyConfiguration constructs a declarative configuration of the Builder type for use with
@@ -56,7 +56,7 @@ func (b *BuilderApplyConfiguration) WithCommand(value string) *BuilderApplyConfi
// WithContainer sets the Container field in the declarative configuration to the given value // WithContainer sets the Container field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the Container field is set to the value of the last call. // If called multiple times, the Container field is set to the value of the last call.
func (b *BuilderApplyConfiguration) WithContainer(value v1.Container) *BuilderApplyConfiguration { func (b *BuilderApplyConfiguration) WithContainer(value corev1.Container) *BuilderApplyConfiguration {
b.Container = &value b.Container = &value
return b return b
} }
@@ -64,7 +64,7 @@ func (b *BuilderApplyConfiguration) WithContainer(value v1.Container) *BuilderAp
// WithPodSpec sets the PodSpec field in the declarative configuration to the given value // WithPodSpec sets the PodSpec field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the PodSpec field is set to the value of the last call. // If called multiple times, the PodSpec field is set to the value of the last call.
func (b *BuilderApplyConfiguration) WithPodSpec(value v1.PodSpec) *BuilderApplyConfiguration { func (b *BuilderApplyConfiguration) WithPodSpec(value corev1.PodSpec) *BuilderApplyConfiguration {
b.PodSpec = &value b.PodSpec = &value
return b return b
} }
@@ -19,18 +19,18 @@ limitations under the License.
package v1 package v1
import ( import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" apismetav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
v1 "k8s.io/client-go/applyconfigurations/meta/v1" metav1 "k8s.io/client-go/applyconfigurations/meta/v1"
) )
// CanaryConfigApplyConfiguration represents a declarative configuration of the CanaryConfig type for use // CanaryConfigApplyConfiguration represents a declarative configuration of the CanaryConfig type for use
// with apply. // with apply.
type CanaryConfigApplyConfiguration struct { type CanaryConfigApplyConfiguration struct {
v1.TypeMetaApplyConfiguration `json:",inline"` metav1.TypeMetaApplyConfiguration `json:",inline"`
*v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` *metav1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"`
Spec *CanaryConfigSpecApplyConfiguration `json:"spec,omitempty"` Spec *CanaryConfigSpecApplyConfiguration `json:"spec,omitempty"`
Status *CanaryConfigStatusApplyConfiguration `json:"status,omitempty"` Status *CanaryConfigStatusApplyConfiguration `json:"status,omitempty"`
} }
// CanaryConfig constructs a declarative configuration of the CanaryConfig type for use with // CanaryConfig constructs a declarative configuration of the CanaryConfig type for use with
@@ -48,7 +48,7 @@ func CanaryConfig(name, namespace string) *CanaryConfigApplyConfiguration {
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the Kind field is set to the value of the last call. // If called multiple times, the Kind field is set to the value of the last call.
func (b *CanaryConfigApplyConfiguration) WithKind(value string) *CanaryConfigApplyConfiguration { func (b *CanaryConfigApplyConfiguration) WithKind(value string) *CanaryConfigApplyConfiguration {
b.Kind = &value b.TypeMetaApplyConfiguration.Kind = &value
return b return b
} }
@@ -56,7 +56,7 @@ func (b *CanaryConfigApplyConfiguration) WithKind(value string) *CanaryConfigApp
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the APIVersion field is set to the value of the last call. // If called multiple times, the APIVersion field is set to the value of the last call.
func (b *CanaryConfigApplyConfiguration) WithAPIVersion(value string) *CanaryConfigApplyConfiguration { func (b *CanaryConfigApplyConfiguration) WithAPIVersion(value string) *CanaryConfigApplyConfiguration {
b.APIVersion = &value b.TypeMetaApplyConfiguration.APIVersion = &value
return b return b
} }
@@ -65,7 +65,7 @@ func (b *CanaryConfigApplyConfiguration) WithAPIVersion(value string) *CanaryCon
// If called multiple times, the Name field is set to the value of the last call. // If called multiple times, the Name field is set to the value of the last call.
func (b *CanaryConfigApplyConfiguration) WithName(value string) *CanaryConfigApplyConfiguration { func (b *CanaryConfigApplyConfiguration) WithName(value string) *CanaryConfigApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Name = &value b.ObjectMetaApplyConfiguration.Name = &value
return b return b
} }
@@ -74,7 +74,7 @@ func (b *CanaryConfigApplyConfiguration) WithName(value string) *CanaryConfigApp
// If called multiple times, the GenerateName field is set to the value of the last call. // If called multiple times, the GenerateName field is set to the value of the last call.
func (b *CanaryConfigApplyConfiguration) WithGenerateName(value string) *CanaryConfigApplyConfiguration { func (b *CanaryConfigApplyConfiguration) WithGenerateName(value string) *CanaryConfigApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.GenerateName = &value b.ObjectMetaApplyConfiguration.GenerateName = &value
return b return b
} }
@@ -83,7 +83,7 @@ func (b *CanaryConfigApplyConfiguration) WithGenerateName(value string) *CanaryC
// If called multiple times, the Namespace field is set to the value of the last call. // If called multiple times, the Namespace field is set to the value of the last call.
func (b *CanaryConfigApplyConfiguration) WithNamespace(value string) *CanaryConfigApplyConfiguration { func (b *CanaryConfigApplyConfiguration) WithNamespace(value string) *CanaryConfigApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Namespace = &value b.ObjectMetaApplyConfiguration.Namespace = &value
return b return b
} }
@@ -92,7 +92,7 @@ func (b *CanaryConfigApplyConfiguration) WithNamespace(value string) *CanaryConf
// If called multiple times, the UID field is set to the value of the last call. // If called multiple times, the UID field is set to the value of the last call.
func (b *CanaryConfigApplyConfiguration) WithUID(value types.UID) *CanaryConfigApplyConfiguration { func (b *CanaryConfigApplyConfiguration) WithUID(value types.UID) *CanaryConfigApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.UID = &value b.ObjectMetaApplyConfiguration.UID = &value
return b return b
} }
@@ -101,7 +101,7 @@ func (b *CanaryConfigApplyConfiguration) WithUID(value types.UID) *CanaryConfigA
// If called multiple times, the ResourceVersion field is set to the value of the last call. // If called multiple times, the ResourceVersion field is set to the value of the last call.
func (b *CanaryConfigApplyConfiguration) WithResourceVersion(value string) *CanaryConfigApplyConfiguration { func (b *CanaryConfigApplyConfiguration) WithResourceVersion(value string) *CanaryConfigApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.ResourceVersion = &value b.ObjectMetaApplyConfiguration.ResourceVersion = &value
return b return b
} }
@@ -110,25 +110,25 @@ func (b *CanaryConfigApplyConfiguration) WithResourceVersion(value string) *Cana
// If called multiple times, the Generation field is set to the value of the last call. // If called multiple times, the Generation field is set to the value of the last call.
func (b *CanaryConfigApplyConfiguration) WithGeneration(value int64) *CanaryConfigApplyConfiguration { func (b *CanaryConfigApplyConfiguration) WithGeneration(value int64) *CanaryConfigApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Generation = &value b.ObjectMetaApplyConfiguration.Generation = &value
return b return b
} }
// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value // WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the CreationTimestamp field is set to the value of the last call. // If called multiple times, the CreationTimestamp field is set to the value of the last call.
func (b *CanaryConfigApplyConfiguration) WithCreationTimestamp(value metav1.Time) *CanaryConfigApplyConfiguration { func (b *CanaryConfigApplyConfiguration) WithCreationTimestamp(value apismetav1.Time) *CanaryConfigApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.CreationTimestamp = &value b.ObjectMetaApplyConfiguration.CreationTimestamp = &value
return b return b
} }
// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value // WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the DeletionTimestamp field is set to the value of the last call. // If called multiple times, the DeletionTimestamp field is set to the value of the last call.
func (b *CanaryConfigApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *CanaryConfigApplyConfiguration { func (b *CanaryConfigApplyConfiguration) WithDeletionTimestamp(value apismetav1.Time) *CanaryConfigApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.DeletionTimestamp = &value b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value
return b return b
} }
@@ -137,7 +137,7 @@ func (b *CanaryConfigApplyConfiguration) WithDeletionTimestamp(value metav1.Time
// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. // If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call.
func (b *CanaryConfigApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *CanaryConfigApplyConfiguration { func (b *CanaryConfigApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *CanaryConfigApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.DeletionGracePeriodSeconds = &value b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value
return b return b
} }
@@ -147,11 +147,11 @@ func (b *CanaryConfigApplyConfiguration) WithDeletionGracePeriodSeconds(value in
// overwriting an existing map entries in Labels field with the same key. // overwriting an existing map entries in Labels field with the same key.
func (b *CanaryConfigApplyConfiguration) WithLabels(entries map[string]string) *CanaryConfigApplyConfiguration { func (b *CanaryConfigApplyConfiguration) WithLabels(entries map[string]string) *CanaryConfigApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
if b.Labels == nil && len(entries) > 0 { if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 {
b.Labels = make(map[string]string, len(entries)) b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries))
} }
for k, v := range entries { for k, v := range entries {
b.Labels[k] = v b.ObjectMetaApplyConfiguration.Labels[k] = v
} }
return b return b
} }
@@ -162,11 +162,11 @@ func (b *CanaryConfigApplyConfiguration) WithLabels(entries map[string]string) *
// overwriting an existing map entries in Annotations field with the same key. // overwriting an existing map entries in Annotations field with the same key.
func (b *CanaryConfigApplyConfiguration) WithAnnotations(entries map[string]string) *CanaryConfigApplyConfiguration { func (b *CanaryConfigApplyConfiguration) WithAnnotations(entries map[string]string) *CanaryConfigApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
if b.Annotations == nil && len(entries) > 0 { if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 {
b.Annotations = make(map[string]string, len(entries)) b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries))
} }
for k, v := range entries { for k, v := range entries {
b.Annotations[k] = v b.ObjectMetaApplyConfiguration.Annotations[k] = v
} }
return b return b
} }
@@ -174,13 +174,13 @@ func (b *CanaryConfigApplyConfiguration) WithAnnotations(entries map[string]stri
// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration // WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration
// and returns the receiver, so that objects can be build by chaining "With" function invocations. // and returns the receiver, so that objects can be build by chaining "With" function invocations.
// If called multiple times, values provided by each call will be appended to the OwnerReferences field. // If called multiple times, values provided by each call will be appended to the OwnerReferences field.
func (b *CanaryConfigApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *CanaryConfigApplyConfiguration { func (b *CanaryConfigApplyConfiguration) WithOwnerReferences(values ...*metav1.OwnerReferenceApplyConfiguration) *CanaryConfigApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
for i := range values { for i := range values {
if values[i] == nil { if values[i] == nil {
panic("nil value passed to WithOwnerReferences") panic("nil value passed to WithOwnerReferences")
} }
b.OwnerReferences = append(b.OwnerReferences, *values[i]) b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i])
} }
return b return b
} }
@@ -191,14 +191,14 @@ func (b *CanaryConfigApplyConfiguration) WithOwnerReferences(values ...*v1.Owner
func (b *CanaryConfigApplyConfiguration) WithFinalizers(values ...string) *CanaryConfigApplyConfiguration { func (b *CanaryConfigApplyConfiguration) WithFinalizers(values ...string) *CanaryConfigApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
for i := range values { for i := range values {
b.Finalizers = append(b.Finalizers, values[i]) b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i])
} }
return b return b
} }
func (b *CanaryConfigApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { func (b *CanaryConfigApplyConfiguration) ensureObjectMetaApplyConfigurationExists() {
if b.ObjectMetaApplyConfiguration == nil { if b.ObjectMetaApplyConfiguration == nil {
b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} b.ObjectMetaApplyConfiguration = &metav1.ObjectMetaApplyConfiguration{}
} }
} }
@@ -221,5 +221,5 @@ func (b *CanaryConfigApplyConfiguration) WithStatus(value *CanaryConfigStatusApp
// GetName retrieves the value of the Name field in the declarative configuration. // GetName retrieves the value of the Name field in the declarative configuration.
func (b *CanaryConfigApplyConfiguration) GetName() *string { func (b *CanaryConfigApplyConfiguration) GetName() *string {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
return b.Name return b.ObjectMetaApplyConfiguration.Name
} }
@@ -19,19 +19,19 @@ limitations under the License.
package v1 package v1
import ( import (
v1 "github.com/fission/fission/pkg/apis/core/v1" corev1 "github.com/fission/fission/pkg/apis/core/v1"
) )
// CanaryConfigSpecApplyConfiguration represents a declarative configuration of the CanaryConfigSpec type for use // CanaryConfigSpecApplyConfiguration represents a declarative configuration of the CanaryConfigSpec type for use
// with apply. // with apply.
type CanaryConfigSpecApplyConfiguration struct { type CanaryConfigSpecApplyConfiguration struct {
Trigger *string `json:"trigger,omitempty"` Trigger *string `json:"trigger,omitempty"`
NewFunction *string `json:"newfunction,omitempty"` NewFunction *string `json:"newfunction,omitempty"`
OldFunction *string `json:"oldfunction,omitempty"` OldFunction *string `json:"oldfunction,omitempty"`
WeightIncrement *int `json:"weightincrement,omitempty"` WeightIncrement *int `json:"weightincrement,omitempty"`
WeightIncrementDuration *string `json:"duration,omitempty"` WeightIncrementDuration *string `json:"duration,omitempty"`
FailureThreshold *int `json:"failurethreshold,omitempty"` FailureThreshold *int `json:"failurethreshold,omitempty"`
FailureType *v1.FailureType `json:"failureType,omitempty"` FailureType *corev1.FailureType `json:"failureType,omitempty"`
} }
// CanaryConfigSpecApplyConfiguration constructs a declarative configuration of the CanaryConfigSpec type for use with // CanaryConfigSpecApplyConfiguration constructs a declarative configuration of the CanaryConfigSpec type for use with
@@ -91,7 +91,7 @@ func (b *CanaryConfigSpecApplyConfiguration) WithFailureThreshold(value int) *Ca
// WithFailureType sets the FailureType field in the declarative configuration to the given value // WithFailureType sets the FailureType field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the FailureType field is set to the value of the last call. // If called multiple times, the FailureType field is set to the value of the last call.
func (b *CanaryConfigSpecApplyConfiguration) WithFailureType(value v1.FailureType) *CanaryConfigSpecApplyConfiguration { func (b *CanaryConfigSpecApplyConfiguration) WithFailureType(value corev1.FailureType) *CanaryConfigSpecApplyConfiguration {
b.FailureType = &value b.FailureType = &value
return b return b
} }
@@ -19,14 +19,14 @@ limitations under the License.
package v1 package v1
import ( import (
v1 "github.com/fission/fission/pkg/apis/core/v1" corev1 "github.com/fission/fission/pkg/apis/core/v1"
) )
// ChecksumApplyConfiguration represents a declarative configuration of the Checksum type for use // ChecksumApplyConfiguration represents a declarative configuration of the Checksum type for use
// with apply. // with apply.
type ChecksumApplyConfiguration struct { type ChecksumApplyConfiguration struct {
Type *v1.ChecksumType `json:"type,omitempty"` Type *corev1.ChecksumType `json:"type,omitempty"`
Sum *string `json:"sum,omitempty"` Sum *string `json:"sum,omitempty"`
} }
// ChecksumApplyConfiguration constructs a declarative configuration of the Checksum type for use with // ChecksumApplyConfiguration constructs a declarative configuration of the Checksum type for use with
@@ -38,7 +38,7 @@ func Checksum() *ChecksumApplyConfiguration {
// WithType sets the Type field in the declarative configuration to the given value // WithType sets the Type field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the Type field is set to the value of the last call. // If called multiple times, the Type field is set to the value of the last call.
func (b *ChecksumApplyConfiguration) WithType(value v1.ChecksumType) *ChecksumApplyConfiguration { func (b *ChecksumApplyConfiguration) WithType(value corev1.ChecksumType) *ChecksumApplyConfiguration {
b.Type = &value b.Type = &value
return b return b
} }
@@ -19,17 +19,17 @@ limitations under the License.
package v1 package v1
import ( import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" apismetav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
v1 "k8s.io/client-go/applyconfigurations/meta/v1" metav1 "k8s.io/client-go/applyconfigurations/meta/v1"
) )
// EnvironmentApplyConfiguration represents a declarative configuration of the Environment type for use // EnvironmentApplyConfiguration represents a declarative configuration of the Environment type for use
// with apply. // with apply.
type EnvironmentApplyConfiguration struct { type EnvironmentApplyConfiguration struct {
v1.TypeMetaApplyConfiguration `json:",inline"` metav1.TypeMetaApplyConfiguration `json:",inline"`
*v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` *metav1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"`
Spec *EnvironmentSpecApplyConfiguration `json:"spec,omitempty"` Spec *EnvironmentSpecApplyConfiguration `json:"spec,omitempty"`
} }
// Environment constructs a declarative configuration of the Environment type for use with // Environment constructs a declarative configuration of the Environment type for use with
@@ -47,7 +47,7 @@ func Environment(name, namespace string) *EnvironmentApplyConfiguration {
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the Kind field is set to the value of the last call. // If called multiple times, the Kind field is set to the value of the last call.
func (b *EnvironmentApplyConfiguration) WithKind(value string) *EnvironmentApplyConfiguration { func (b *EnvironmentApplyConfiguration) WithKind(value string) *EnvironmentApplyConfiguration {
b.Kind = &value b.TypeMetaApplyConfiguration.Kind = &value
return b return b
} }
@@ -55,7 +55,7 @@ func (b *EnvironmentApplyConfiguration) WithKind(value string) *EnvironmentApply
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the APIVersion field is set to the value of the last call. // If called multiple times, the APIVersion field is set to the value of the last call.
func (b *EnvironmentApplyConfiguration) WithAPIVersion(value string) *EnvironmentApplyConfiguration { func (b *EnvironmentApplyConfiguration) WithAPIVersion(value string) *EnvironmentApplyConfiguration {
b.APIVersion = &value b.TypeMetaApplyConfiguration.APIVersion = &value
return b return b
} }
@@ -64,7 +64,7 @@ func (b *EnvironmentApplyConfiguration) WithAPIVersion(value string) *Environmen
// If called multiple times, the Name field is set to the value of the last call. // If called multiple times, the Name field is set to the value of the last call.
func (b *EnvironmentApplyConfiguration) WithName(value string) *EnvironmentApplyConfiguration { func (b *EnvironmentApplyConfiguration) WithName(value string) *EnvironmentApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Name = &value b.ObjectMetaApplyConfiguration.Name = &value
return b return b
} }
@@ -73,7 +73,7 @@ func (b *EnvironmentApplyConfiguration) WithName(value string) *EnvironmentApply
// If called multiple times, the GenerateName field is set to the value of the last call. // If called multiple times, the GenerateName field is set to the value of the last call.
func (b *EnvironmentApplyConfiguration) WithGenerateName(value string) *EnvironmentApplyConfiguration { func (b *EnvironmentApplyConfiguration) WithGenerateName(value string) *EnvironmentApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.GenerateName = &value b.ObjectMetaApplyConfiguration.GenerateName = &value
return b return b
} }
@@ -82,7 +82,7 @@ func (b *EnvironmentApplyConfiguration) WithGenerateName(value string) *Environm
// If called multiple times, the Namespace field is set to the value of the last call. // If called multiple times, the Namespace field is set to the value of the last call.
func (b *EnvironmentApplyConfiguration) WithNamespace(value string) *EnvironmentApplyConfiguration { func (b *EnvironmentApplyConfiguration) WithNamespace(value string) *EnvironmentApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Namespace = &value b.ObjectMetaApplyConfiguration.Namespace = &value
return b return b
} }
@@ -91,7 +91,7 @@ func (b *EnvironmentApplyConfiguration) WithNamespace(value string) *Environment
// If called multiple times, the UID field is set to the value of the last call. // If called multiple times, the UID field is set to the value of the last call.
func (b *EnvironmentApplyConfiguration) WithUID(value types.UID) *EnvironmentApplyConfiguration { func (b *EnvironmentApplyConfiguration) WithUID(value types.UID) *EnvironmentApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.UID = &value b.ObjectMetaApplyConfiguration.UID = &value
return b return b
} }
@@ -100,7 +100,7 @@ func (b *EnvironmentApplyConfiguration) WithUID(value types.UID) *EnvironmentApp
// If called multiple times, the ResourceVersion field is set to the value of the last call. // If called multiple times, the ResourceVersion field is set to the value of the last call.
func (b *EnvironmentApplyConfiguration) WithResourceVersion(value string) *EnvironmentApplyConfiguration { func (b *EnvironmentApplyConfiguration) WithResourceVersion(value string) *EnvironmentApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.ResourceVersion = &value b.ObjectMetaApplyConfiguration.ResourceVersion = &value
return b return b
} }
@@ -109,25 +109,25 @@ func (b *EnvironmentApplyConfiguration) WithResourceVersion(value string) *Envir
// If called multiple times, the Generation field is set to the value of the last call. // If called multiple times, the Generation field is set to the value of the last call.
func (b *EnvironmentApplyConfiguration) WithGeneration(value int64) *EnvironmentApplyConfiguration { func (b *EnvironmentApplyConfiguration) WithGeneration(value int64) *EnvironmentApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Generation = &value b.ObjectMetaApplyConfiguration.Generation = &value
return b return b
} }
// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value // WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the CreationTimestamp field is set to the value of the last call. // If called multiple times, the CreationTimestamp field is set to the value of the last call.
func (b *EnvironmentApplyConfiguration) WithCreationTimestamp(value metav1.Time) *EnvironmentApplyConfiguration { func (b *EnvironmentApplyConfiguration) WithCreationTimestamp(value apismetav1.Time) *EnvironmentApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.CreationTimestamp = &value b.ObjectMetaApplyConfiguration.CreationTimestamp = &value
return b return b
} }
// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value // WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the DeletionTimestamp field is set to the value of the last call. // If called multiple times, the DeletionTimestamp field is set to the value of the last call.
func (b *EnvironmentApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *EnvironmentApplyConfiguration { func (b *EnvironmentApplyConfiguration) WithDeletionTimestamp(value apismetav1.Time) *EnvironmentApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.DeletionTimestamp = &value b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value
return b return b
} }
@@ -136,7 +136,7 @@ func (b *EnvironmentApplyConfiguration) WithDeletionTimestamp(value metav1.Time)
// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. // If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call.
func (b *EnvironmentApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *EnvironmentApplyConfiguration { func (b *EnvironmentApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *EnvironmentApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.DeletionGracePeriodSeconds = &value b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value
return b return b
} }
@@ -146,11 +146,11 @@ func (b *EnvironmentApplyConfiguration) WithDeletionGracePeriodSeconds(value int
// overwriting an existing map entries in Labels field with the same key. // overwriting an existing map entries in Labels field with the same key.
func (b *EnvironmentApplyConfiguration) WithLabels(entries map[string]string) *EnvironmentApplyConfiguration { func (b *EnvironmentApplyConfiguration) WithLabels(entries map[string]string) *EnvironmentApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
if b.Labels == nil && len(entries) > 0 { if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 {
b.Labels = make(map[string]string, len(entries)) b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries))
} }
for k, v := range entries { for k, v := range entries {
b.Labels[k] = v b.ObjectMetaApplyConfiguration.Labels[k] = v
} }
return b return b
} }
@@ -161,11 +161,11 @@ func (b *EnvironmentApplyConfiguration) WithLabels(entries map[string]string) *E
// overwriting an existing map entries in Annotations field with the same key. // overwriting an existing map entries in Annotations field with the same key.
func (b *EnvironmentApplyConfiguration) WithAnnotations(entries map[string]string) *EnvironmentApplyConfiguration { func (b *EnvironmentApplyConfiguration) WithAnnotations(entries map[string]string) *EnvironmentApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
if b.Annotations == nil && len(entries) > 0 { if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 {
b.Annotations = make(map[string]string, len(entries)) b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries))
} }
for k, v := range entries { for k, v := range entries {
b.Annotations[k] = v b.ObjectMetaApplyConfiguration.Annotations[k] = v
} }
return b return b
} }
@@ -173,13 +173,13 @@ func (b *EnvironmentApplyConfiguration) WithAnnotations(entries map[string]strin
// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration // WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration
// and returns the receiver, so that objects can be build by chaining "With" function invocations. // and returns the receiver, so that objects can be build by chaining "With" function invocations.
// If called multiple times, values provided by each call will be appended to the OwnerReferences field. // If called multiple times, values provided by each call will be appended to the OwnerReferences field.
func (b *EnvironmentApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *EnvironmentApplyConfiguration { func (b *EnvironmentApplyConfiguration) WithOwnerReferences(values ...*metav1.OwnerReferenceApplyConfiguration) *EnvironmentApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
for i := range values { for i := range values {
if values[i] == nil { if values[i] == nil {
panic("nil value passed to WithOwnerReferences") panic("nil value passed to WithOwnerReferences")
} }
b.OwnerReferences = append(b.OwnerReferences, *values[i]) b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i])
} }
return b return b
} }
@@ -190,14 +190,14 @@ func (b *EnvironmentApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerR
func (b *EnvironmentApplyConfiguration) WithFinalizers(values ...string) *EnvironmentApplyConfiguration { func (b *EnvironmentApplyConfiguration) WithFinalizers(values ...string) *EnvironmentApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
for i := range values { for i := range values {
b.Finalizers = append(b.Finalizers, values[i]) b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i])
} }
return b return b
} }
func (b *EnvironmentApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { func (b *EnvironmentApplyConfiguration) ensureObjectMetaApplyConfigurationExists() {
if b.ObjectMetaApplyConfiguration == nil { if b.ObjectMetaApplyConfiguration == nil {
b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} b.ObjectMetaApplyConfiguration = &metav1.ObjectMetaApplyConfiguration{}
} }
} }
@@ -212,5 +212,5 @@ func (b *EnvironmentApplyConfiguration) WithSpec(value *EnvironmentSpecApplyConf
// GetName retrieves the value of the Name field in the declarative configuration. // GetName retrieves the value of the Name field in the declarative configuration.
func (b *EnvironmentApplyConfiguration) GetName() *string { func (b *EnvironmentApplyConfiguration) GetName() *string {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
return b.Name return b.ObjectMetaApplyConfiguration.Name
} }
@@ -19,14 +19,14 @@ limitations under the License.
package v1 package v1
import ( import (
v1 "github.com/fission/fission/pkg/apis/core/v1" corev1 "github.com/fission/fission/pkg/apis/core/v1"
v2 "k8s.io/api/autoscaling/v2" v2 "k8s.io/api/autoscaling/v2"
) )
// ExecutionStrategyApplyConfiguration represents a declarative configuration of the ExecutionStrategy type for use // ExecutionStrategyApplyConfiguration represents a declarative configuration of the ExecutionStrategy type for use
// with apply. // with apply.
type ExecutionStrategyApplyConfiguration struct { type ExecutionStrategyApplyConfiguration struct {
ExecutorType *v1.ExecutorType `json:"ExecutorType,omitempty"` ExecutorType *corev1.ExecutorType `json:"ExecutorType,omitempty"`
MinScale *int `json:"MinScale,omitempty"` MinScale *int `json:"MinScale,omitempty"`
MaxScale *int `json:"MaxScale,omitempty"` MaxScale *int `json:"MaxScale,omitempty"`
TargetCPUPercent *int `json:"TargetCPUPercent,omitempty"` TargetCPUPercent *int `json:"TargetCPUPercent,omitempty"`
@@ -44,7 +44,7 @@ func ExecutionStrategy() *ExecutionStrategyApplyConfiguration {
// WithExecutorType sets the ExecutorType field in the declarative configuration to the given value // WithExecutorType sets the ExecutorType field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the ExecutorType field is set to the value of the last call. // If called multiple times, the ExecutorType field is set to the value of the last call.
func (b *ExecutionStrategyApplyConfiguration) WithExecutorType(value v1.ExecutorType) *ExecutionStrategyApplyConfiguration { func (b *ExecutionStrategyApplyConfiguration) WithExecutorType(value corev1.ExecutorType) *ExecutionStrategyApplyConfiguration {
b.ExecutorType = &value b.ExecutorType = &value
return b return b
} }
@@ -19,17 +19,17 @@ limitations under the License.
package v1 package v1
import ( import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" apismetav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
v1 "k8s.io/client-go/applyconfigurations/meta/v1" metav1 "k8s.io/client-go/applyconfigurations/meta/v1"
) )
// FunctionApplyConfiguration represents a declarative configuration of the Function type for use // FunctionApplyConfiguration represents a declarative configuration of the Function type for use
// with apply. // with apply.
type FunctionApplyConfiguration struct { type FunctionApplyConfiguration struct {
v1.TypeMetaApplyConfiguration `json:",inline"` metav1.TypeMetaApplyConfiguration `json:",inline"`
*v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` *metav1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"`
Spec *FunctionSpecApplyConfiguration `json:"spec,omitempty"` Spec *FunctionSpecApplyConfiguration `json:"spec,omitempty"`
} }
// Function constructs a declarative configuration of the Function type for use with // Function constructs a declarative configuration of the Function type for use with
@@ -47,7 +47,7 @@ func Function(name, namespace string) *FunctionApplyConfiguration {
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the Kind field is set to the value of the last call. // If called multiple times, the Kind field is set to the value of the last call.
func (b *FunctionApplyConfiguration) WithKind(value string) *FunctionApplyConfiguration { func (b *FunctionApplyConfiguration) WithKind(value string) *FunctionApplyConfiguration {
b.Kind = &value b.TypeMetaApplyConfiguration.Kind = &value
return b return b
} }
@@ -55,7 +55,7 @@ func (b *FunctionApplyConfiguration) WithKind(value string) *FunctionApplyConfig
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the APIVersion field is set to the value of the last call. // If called multiple times, the APIVersion field is set to the value of the last call.
func (b *FunctionApplyConfiguration) WithAPIVersion(value string) *FunctionApplyConfiguration { func (b *FunctionApplyConfiguration) WithAPIVersion(value string) *FunctionApplyConfiguration {
b.APIVersion = &value b.TypeMetaApplyConfiguration.APIVersion = &value
return b return b
} }
@@ -64,7 +64,7 @@ func (b *FunctionApplyConfiguration) WithAPIVersion(value string) *FunctionApply
// If called multiple times, the Name field is set to the value of the last call. // If called multiple times, the Name field is set to the value of the last call.
func (b *FunctionApplyConfiguration) WithName(value string) *FunctionApplyConfiguration { func (b *FunctionApplyConfiguration) WithName(value string) *FunctionApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Name = &value b.ObjectMetaApplyConfiguration.Name = &value
return b return b
} }
@@ -73,7 +73,7 @@ func (b *FunctionApplyConfiguration) WithName(value string) *FunctionApplyConfig
// If called multiple times, the GenerateName field is set to the value of the last call. // If called multiple times, the GenerateName field is set to the value of the last call.
func (b *FunctionApplyConfiguration) WithGenerateName(value string) *FunctionApplyConfiguration { func (b *FunctionApplyConfiguration) WithGenerateName(value string) *FunctionApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.GenerateName = &value b.ObjectMetaApplyConfiguration.GenerateName = &value
return b return b
} }
@@ -82,7 +82,7 @@ func (b *FunctionApplyConfiguration) WithGenerateName(value string) *FunctionApp
// If called multiple times, the Namespace field is set to the value of the last call. // If called multiple times, the Namespace field is set to the value of the last call.
func (b *FunctionApplyConfiguration) WithNamespace(value string) *FunctionApplyConfiguration { func (b *FunctionApplyConfiguration) WithNamespace(value string) *FunctionApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Namespace = &value b.ObjectMetaApplyConfiguration.Namespace = &value
return b return b
} }
@@ -91,7 +91,7 @@ func (b *FunctionApplyConfiguration) WithNamespace(value string) *FunctionApplyC
// If called multiple times, the UID field is set to the value of the last call. // If called multiple times, the UID field is set to the value of the last call.
func (b *FunctionApplyConfiguration) WithUID(value types.UID) *FunctionApplyConfiguration { func (b *FunctionApplyConfiguration) WithUID(value types.UID) *FunctionApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.UID = &value b.ObjectMetaApplyConfiguration.UID = &value
return b return b
} }
@@ -100,7 +100,7 @@ func (b *FunctionApplyConfiguration) WithUID(value types.UID) *FunctionApplyConf
// If called multiple times, the ResourceVersion field is set to the value of the last call. // If called multiple times, the ResourceVersion field is set to the value of the last call.
func (b *FunctionApplyConfiguration) WithResourceVersion(value string) *FunctionApplyConfiguration { func (b *FunctionApplyConfiguration) WithResourceVersion(value string) *FunctionApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.ResourceVersion = &value b.ObjectMetaApplyConfiguration.ResourceVersion = &value
return b return b
} }
@@ -109,25 +109,25 @@ func (b *FunctionApplyConfiguration) WithResourceVersion(value string) *Function
// If called multiple times, the Generation field is set to the value of the last call. // If called multiple times, the Generation field is set to the value of the last call.
func (b *FunctionApplyConfiguration) WithGeneration(value int64) *FunctionApplyConfiguration { func (b *FunctionApplyConfiguration) WithGeneration(value int64) *FunctionApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Generation = &value b.ObjectMetaApplyConfiguration.Generation = &value
return b return b
} }
// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value // WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the CreationTimestamp field is set to the value of the last call. // If called multiple times, the CreationTimestamp field is set to the value of the last call.
func (b *FunctionApplyConfiguration) WithCreationTimestamp(value metav1.Time) *FunctionApplyConfiguration { func (b *FunctionApplyConfiguration) WithCreationTimestamp(value apismetav1.Time) *FunctionApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.CreationTimestamp = &value b.ObjectMetaApplyConfiguration.CreationTimestamp = &value
return b return b
} }
// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value // WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the DeletionTimestamp field is set to the value of the last call. // If called multiple times, the DeletionTimestamp field is set to the value of the last call.
func (b *FunctionApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *FunctionApplyConfiguration { func (b *FunctionApplyConfiguration) WithDeletionTimestamp(value apismetav1.Time) *FunctionApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.DeletionTimestamp = &value b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value
return b return b
} }
@@ -136,7 +136,7 @@ func (b *FunctionApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *F
// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. // If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call.
func (b *FunctionApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *FunctionApplyConfiguration { func (b *FunctionApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *FunctionApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.DeletionGracePeriodSeconds = &value b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value
return b return b
} }
@@ -146,11 +146,11 @@ func (b *FunctionApplyConfiguration) WithDeletionGracePeriodSeconds(value int64)
// overwriting an existing map entries in Labels field with the same key. // overwriting an existing map entries in Labels field with the same key.
func (b *FunctionApplyConfiguration) WithLabels(entries map[string]string) *FunctionApplyConfiguration { func (b *FunctionApplyConfiguration) WithLabels(entries map[string]string) *FunctionApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
if b.Labels == nil && len(entries) > 0 { if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 {
b.Labels = make(map[string]string, len(entries)) b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries))
} }
for k, v := range entries { for k, v := range entries {
b.Labels[k] = v b.ObjectMetaApplyConfiguration.Labels[k] = v
} }
return b return b
} }
@@ -161,11 +161,11 @@ func (b *FunctionApplyConfiguration) WithLabels(entries map[string]string) *Func
// overwriting an existing map entries in Annotations field with the same key. // overwriting an existing map entries in Annotations field with the same key.
func (b *FunctionApplyConfiguration) WithAnnotations(entries map[string]string) *FunctionApplyConfiguration { func (b *FunctionApplyConfiguration) WithAnnotations(entries map[string]string) *FunctionApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
if b.Annotations == nil && len(entries) > 0 { if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 {
b.Annotations = make(map[string]string, len(entries)) b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries))
} }
for k, v := range entries { for k, v := range entries {
b.Annotations[k] = v b.ObjectMetaApplyConfiguration.Annotations[k] = v
} }
return b return b
} }
@@ -173,13 +173,13 @@ func (b *FunctionApplyConfiguration) WithAnnotations(entries map[string]string)
// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration // WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration
// and returns the receiver, so that objects can be build by chaining "With" function invocations. // and returns the receiver, so that objects can be build by chaining "With" function invocations.
// If called multiple times, values provided by each call will be appended to the OwnerReferences field. // If called multiple times, values provided by each call will be appended to the OwnerReferences field.
func (b *FunctionApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *FunctionApplyConfiguration { func (b *FunctionApplyConfiguration) WithOwnerReferences(values ...*metav1.OwnerReferenceApplyConfiguration) *FunctionApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
for i := range values { for i := range values {
if values[i] == nil { if values[i] == nil {
panic("nil value passed to WithOwnerReferences") panic("nil value passed to WithOwnerReferences")
} }
b.OwnerReferences = append(b.OwnerReferences, *values[i]) b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i])
} }
return b return b
} }
@@ -190,14 +190,14 @@ func (b *FunctionApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerRefe
func (b *FunctionApplyConfiguration) WithFinalizers(values ...string) *FunctionApplyConfiguration { func (b *FunctionApplyConfiguration) WithFinalizers(values ...string) *FunctionApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
for i := range values { for i := range values {
b.Finalizers = append(b.Finalizers, values[i]) b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i])
} }
return b return b
} }
func (b *FunctionApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { func (b *FunctionApplyConfiguration) ensureObjectMetaApplyConfigurationExists() {
if b.ObjectMetaApplyConfiguration == nil { if b.ObjectMetaApplyConfiguration == nil {
b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} b.ObjectMetaApplyConfiguration = &metav1.ObjectMetaApplyConfiguration{}
} }
} }
@@ -212,5 +212,5 @@ func (b *FunctionApplyConfiguration) WithSpec(value *FunctionSpecApplyConfigurat
// GetName retrieves the value of the Name field in the declarative configuration. // GetName retrieves the value of the Name field in the declarative configuration.
func (b *FunctionApplyConfiguration) GetName() *string { func (b *FunctionApplyConfiguration) GetName() *string {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
return b.Name return b.ObjectMetaApplyConfiguration.Name
} }
@@ -19,15 +19,15 @@ limitations under the License.
package v1 package v1
import ( import (
v1 "github.com/fission/fission/pkg/apis/core/v1" corev1 "github.com/fission/fission/pkg/apis/core/v1"
) )
// FunctionReferenceApplyConfiguration represents a declarative configuration of the FunctionReference type for use // FunctionReferenceApplyConfiguration represents a declarative configuration of the FunctionReference type for use
// with apply. // with apply.
type FunctionReferenceApplyConfiguration struct { type FunctionReferenceApplyConfiguration struct {
Type *v1.FunctionReferenceType `json:"type,omitempty"` Type *corev1.FunctionReferenceType `json:"type,omitempty"`
Name *string `json:"name,omitempty"` Name *string `json:"name,omitempty"`
FunctionWeights map[string]int `json:"functionweights,omitempty"` FunctionWeights map[string]int `json:"functionweights,omitempty"`
} }
// FunctionReferenceApplyConfiguration constructs a declarative configuration of the FunctionReference type for use with // FunctionReferenceApplyConfiguration constructs a declarative configuration of the FunctionReference type for use with
@@ -39,7 +39,7 @@ func FunctionReference() *FunctionReferenceApplyConfiguration {
// WithType sets the Type field in the declarative configuration to the given value // WithType sets the Type field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the Type field is set to the value of the last call. // If called multiple times, the Type field is set to the value of the last call.
func (b *FunctionReferenceApplyConfiguration) WithType(value v1.FunctionReferenceType) *FunctionReferenceApplyConfiguration { func (b *FunctionReferenceApplyConfiguration) WithType(value corev1.FunctionReferenceType) *FunctionReferenceApplyConfiguration {
b.Type = &value b.Type = &value
return b return b
} }
@@ -19,17 +19,17 @@ limitations under the License.
package v1 package v1
import ( import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" apismetav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
v1 "k8s.io/client-go/applyconfigurations/meta/v1" metav1 "k8s.io/client-go/applyconfigurations/meta/v1"
) )
// HTTPTriggerApplyConfiguration represents a declarative configuration of the HTTPTrigger type for use // HTTPTriggerApplyConfiguration represents a declarative configuration of the HTTPTrigger type for use
// with apply. // with apply.
type HTTPTriggerApplyConfiguration struct { type HTTPTriggerApplyConfiguration struct {
v1.TypeMetaApplyConfiguration `json:",inline"` metav1.TypeMetaApplyConfiguration `json:",inline"`
*v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` *metav1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"`
Spec *HTTPTriggerSpecApplyConfiguration `json:"spec,omitempty"` Spec *HTTPTriggerSpecApplyConfiguration `json:"spec,omitempty"`
} }
// HTTPTrigger constructs a declarative configuration of the HTTPTrigger type for use with // HTTPTrigger constructs a declarative configuration of the HTTPTrigger type for use with
@@ -47,7 +47,7 @@ func HTTPTrigger(name, namespace string) *HTTPTriggerApplyConfiguration {
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the Kind field is set to the value of the last call. // If called multiple times, the Kind field is set to the value of the last call.
func (b *HTTPTriggerApplyConfiguration) WithKind(value string) *HTTPTriggerApplyConfiguration { func (b *HTTPTriggerApplyConfiguration) WithKind(value string) *HTTPTriggerApplyConfiguration {
b.Kind = &value b.TypeMetaApplyConfiguration.Kind = &value
return b return b
} }
@@ -55,7 +55,7 @@ func (b *HTTPTriggerApplyConfiguration) WithKind(value string) *HTTPTriggerApply
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the APIVersion field is set to the value of the last call. // If called multiple times, the APIVersion field is set to the value of the last call.
func (b *HTTPTriggerApplyConfiguration) WithAPIVersion(value string) *HTTPTriggerApplyConfiguration { func (b *HTTPTriggerApplyConfiguration) WithAPIVersion(value string) *HTTPTriggerApplyConfiguration {
b.APIVersion = &value b.TypeMetaApplyConfiguration.APIVersion = &value
return b return b
} }
@@ -64,7 +64,7 @@ func (b *HTTPTriggerApplyConfiguration) WithAPIVersion(value string) *HTTPTrigge
// If called multiple times, the Name field is set to the value of the last call. // If called multiple times, the Name field is set to the value of the last call.
func (b *HTTPTriggerApplyConfiguration) WithName(value string) *HTTPTriggerApplyConfiguration { func (b *HTTPTriggerApplyConfiguration) WithName(value string) *HTTPTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Name = &value b.ObjectMetaApplyConfiguration.Name = &value
return b return b
} }
@@ -73,7 +73,7 @@ func (b *HTTPTriggerApplyConfiguration) WithName(value string) *HTTPTriggerApply
// If called multiple times, the GenerateName field is set to the value of the last call. // If called multiple times, the GenerateName field is set to the value of the last call.
func (b *HTTPTriggerApplyConfiguration) WithGenerateName(value string) *HTTPTriggerApplyConfiguration { func (b *HTTPTriggerApplyConfiguration) WithGenerateName(value string) *HTTPTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.GenerateName = &value b.ObjectMetaApplyConfiguration.GenerateName = &value
return b return b
} }
@@ -82,7 +82,7 @@ func (b *HTTPTriggerApplyConfiguration) WithGenerateName(value string) *HTTPTrig
// If called multiple times, the Namespace field is set to the value of the last call. // If called multiple times, the Namespace field is set to the value of the last call.
func (b *HTTPTriggerApplyConfiguration) WithNamespace(value string) *HTTPTriggerApplyConfiguration { func (b *HTTPTriggerApplyConfiguration) WithNamespace(value string) *HTTPTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Namespace = &value b.ObjectMetaApplyConfiguration.Namespace = &value
return b return b
} }
@@ -91,7 +91,7 @@ func (b *HTTPTriggerApplyConfiguration) WithNamespace(value string) *HTTPTrigger
// If called multiple times, the UID field is set to the value of the last call. // If called multiple times, the UID field is set to the value of the last call.
func (b *HTTPTriggerApplyConfiguration) WithUID(value types.UID) *HTTPTriggerApplyConfiguration { func (b *HTTPTriggerApplyConfiguration) WithUID(value types.UID) *HTTPTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.UID = &value b.ObjectMetaApplyConfiguration.UID = &value
return b return b
} }
@@ -100,7 +100,7 @@ func (b *HTTPTriggerApplyConfiguration) WithUID(value types.UID) *HTTPTriggerApp
// If called multiple times, the ResourceVersion field is set to the value of the last call. // If called multiple times, the ResourceVersion field is set to the value of the last call.
func (b *HTTPTriggerApplyConfiguration) WithResourceVersion(value string) *HTTPTriggerApplyConfiguration { func (b *HTTPTriggerApplyConfiguration) WithResourceVersion(value string) *HTTPTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.ResourceVersion = &value b.ObjectMetaApplyConfiguration.ResourceVersion = &value
return b return b
} }
@@ -109,25 +109,25 @@ func (b *HTTPTriggerApplyConfiguration) WithResourceVersion(value string) *HTTPT
// If called multiple times, the Generation field is set to the value of the last call. // If called multiple times, the Generation field is set to the value of the last call.
func (b *HTTPTriggerApplyConfiguration) WithGeneration(value int64) *HTTPTriggerApplyConfiguration { func (b *HTTPTriggerApplyConfiguration) WithGeneration(value int64) *HTTPTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Generation = &value b.ObjectMetaApplyConfiguration.Generation = &value
return b return b
} }
// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value // WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the CreationTimestamp field is set to the value of the last call. // If called multiple times, the CreationTimestamp field is set to the value of the last call.
func (b *HTTPTriggerApplyConfiguration) WithCreationTimestamp(value metav1.Time) *HTTPTriggerApplyConfiguration { func (b *HTTPTriggerApplyConfiguration) WithCreationTimestamp(value apismetav1.Time) *HTTPTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.CreationTimestamp = &value b.ObjectMetaApplyConfiguration.CreationTimestamp = &value
return b return b
} }
// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value // WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the DeletionTimestamp field is set to the value of the last call. // If called multiple times, the DeletionTimestamp field is set to the value of the last call.
func (b *HTTPTriggerApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *HTTPTriggerApplyConfiguration { func (b *HTTPTriggerApplyConfiguration) WithDeletionTimestamp(value apismetav1.Time) *HTTPTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.DeletionTimestamp = &value b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value
return b return b
} }
@@ -136,7 +136,7 @@ func (b *HTTPTriggerApplyConfiguration) WithDeletionTimestamp(value metav1.Time)
// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. // If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call.
func (b *HTTPTriggerApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *HTTPTriggerApplyConfiguration { func (b *HTTPTriggerApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *HTTPTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.DeletionGracePeriodSeconds = &value b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value
return b return b
} }
@@ -146,11 +146,11 @@ func (b *HTTPTriggerApplyConfiguration) WithDeletionGracePeriodSeconds(value int
// overwriting an existing map entries in Labels field with the same key. // overwriting an existing map entries in Labels field with the same key.
func (b *HTTPTriggerApplyConfiguration) WithLabels(entries map[string]string) *HTTPTriggerApplyConfiguration { func (b *HTTPTriggerApplyConfiguration) WithLabels(entries map[string]string) *HTTPTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
if b.Labels == nil && len(entries) > 0 { if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 {
b.Labels = make(map[string]string, len(entries)) b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries))
} }
for k, v := range entries { for k, v := range entries {
b.Labels[k] = v b.ObjectMetaApplyConfiguration.Labels[k] = v
} }
return b return b
} }
@@ -161,11 +161,11 @@ func (b *HTTPTriggerApplyConfiguration) WithLabels(entries map[string]string) *H
// overwriting an existing map entries in Annotations field with the same key. // overwriting an existing map entries in Annotations field with the same key.
func (b *HTTPTriggerApplyConfiguration) WithAnnotations(entries map[string]string) *HTTPTriggerApplyConfiguration { func (b *HTTPTriggerApplyConfiguration) WithAnnotations(entries map[string]string) *HTTPTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
if b.Annotations == nil && len(entries) > 0 { if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 {
b.Annotations = make(map[string]string, len(entries)) b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries))
} }
for k, v := range entries { for k, v := range entries {
b.Annotations[k] = v b.ObjectMetaApplyConfiguration.Annotations[k] = v
} }
return b return b
} }
@@ -173,13 +173,13 @@ func (b *HTTPTriggerApplyConfiguration) WithAnnotations(entries map[string]strin
// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration // WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration
// and returns the receiver, so that objects can be build by chaining "With" function invocations. // and returns the receiver, so that objects can be build by chaining "With" function invocations.
// If called multiple times, values provided by each call will be appended to the OwnerReferences field. // If called multiple times, values provided by each call will be appended to the OwnerReferences field.
func (b *HTTPTriggerApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *HTTPTriggerApplyConfiguration { func (b *HTTPTriggerApplyConfiguration) WithOwnerReferences(values ...*metav1.OwnerReferenceApplyConfiguration) *HTTPTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
for i := range values { for i := range values {
if values[i] == nil { if values[i] == nil {
panic("nil value passed to WithOwnerReferences") panic("nil value passed to WithOwnerReferences")
} }
b.OwnerReferences = append(b.OwnerReferences, *values[i]) b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i])
} }
return b return b
} }
@@ -190,14 +190,14 @@ func (b *HTTPTriggerApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerR
func (b *HTTPTriggerApplyConfiguration) WithFinalizers(values ...string) *HTTPTriggerApplyConfiguration { func (b *HTTPTriggerApplyConfiguration) WithFinalizers(values ...string) *HTTPTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
for i := range values { for i := range values {
b.Finalizers = append(b.Finalizers, values[i]) b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i])
} }
return b return b
} }
func (b *HTTPTriggerApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { func (b *HTTPTriggerApplyConfiguration) ensureObjectMetaApplyConfigurationExists() {
if b.ObjectMetaApplyConfiguration == nil { if b.ObjectMetaApplyConfiguration == nil {
b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} b.ObjectMetaApplyConfiguration = &metav1.ObjectMetaApplyConfiguration{}
} }
} }
@@ -212,5 +212,5 @@ func (b *HTTPTriggerApplyConfiguration) WithSpec(value *HTTPTriggerSpecApplyConf
// GetName retrieves the value of the Name field in the declarative configuration. // GetName retrieves the value of the Name field in the declarative configuration.
func (b *HTTPTriggerApplyConfiguration) GetName() *string { func (b *HTTPTriggerApplyConfiguration) GetName() *string {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
return b.Name return b.ObjectMetaApplyConfiguration.Name
} }
@@ -19,17 +19,17 @@ limitations under the License.
package v1 package v1
import ( import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" apismetav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
v1 "k8s.io/client-go/applyconfigurations/meta/v1" metav1 "k8s.io/client-go/applyconfigurations/meta/v1"
) )
// KubernetesWatchTriggerApplyConfiguration represents a declarative configuration of the KubernetesWatchTrigger type for use // KubernetesWatchTriggerApplyConfiguration represents a declarative configuration of the KubernetesWatchTrigger type for use
// with apply. // with apply.
type KubernetesWatchTriggerApplyConfiguration struct { type KubernetesWatchTriggerApplyConfiguration struct {
v1.TypeMetaApplyConfiguration `json:",inline"` metav1.TypeMetaApplyConfiguration `json:",inline"`
*v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` *metav1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"`
Spec *KubernetesWatchTriggerSpecApplyConfiguration `json:"spec,omitempty"` Spec *KubernetesWatchTriggerSpecApplyConfiguration `json:"spec,omitempty"`
} }
// KubernetesWatchTrigger constructs a declarative configuration of the KubernetesWatchTrigger type for use with // KubernetesWatchTrigger constructs a declarative configuration of the KubernetesWatchTrigger type for use with
@@ -47,7 +47,7 @@ func KubernetesWatchTrigger(name, namespace string) *KubernetesWatchTriggerApply
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the Kind field is set to the value of the last call. // If called multiple times, the Kind field is set to the value of the last call.
func (b *KubernetesWatchTriggerApplyConfiguration) WithKind(value string) *KubernetesWatchTriggerApplyConfiguration { func (b *KubernetesWatchTriggerApplyConfiguration) WithKind(value string) *KubernetesWatchTriggerApplyConfiguration {
b.Kind = &value b.TypeMetaApplyConfiguration.Kind = &value
return b return b
} }
@@ -55,7 +55,7 @@ func (b *KubernetesWatchTriggerApplyConfiguration) WithKind(value string) *Kuber
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the APIVersion field is set to the value of the last call. // If called multiple times, the APIVersion field is set to the value of the last call.
func (b *KubernetesWatchTriggerApplyConfiguration) WithAPIVersion(value string) *KubernetesWatchTriggerApplyConfiguration { func (b *KubernetesWatchTriggerApplyConfiguration) WithAPIVersion(value string) *KubernetesWatchTriggerApplyConfiguration {
b.APIVersion = &value b.TypeMetaApplyConfiguration.APIVersion = &value
return b return b
} }
@@ -64,7 +64,7 @@ func (b *KubernetesWatchTriggerApplyConfiguration) WithAPIVersion(value string)
// If called multiple times, the Name field is set to the value of the last call. // If called multiple times, the Name field is set to the value of the last call.
func (b *KubernetesWatchTriggerApplyConfiguration) WithName(value string) *KubernetesWatchTriggerApplyConfiguration { func (b *KubernetesWatchTriggerApplyConfiguration) WithName(value string) *KubernetesWatchTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Name = &value b.ObjectMetaApplyConfiguration.Name = &value
return b return b
} }
@@ -73,7 +73,7 @@ func (b *KubernetesWatchTriggerApplyConfiguration) WithName(value string) *Kuber
// If called multiple times, the GenerateName field is set to the value of the last call. // If called multiple times, the GenerateName field is set to the value of the last call.
func (b *KubernetesWatchTriggerApplyConfiguration) WithGenerateName(value string) *KubernetesWatchTriggerApplyConfiguration { func (b *KubernetesWatchTriggerApplyConfiguration) WithGenerateName(value string) *KubernetesWatchTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.GenerateName = &value b.ObjectMetaApplyConfiguration.GenerateName = &value
return b return b
} }
@@ -82,7 +82,7 @@ func (b *KubernetesWatchTriggerApplyConfiguration) WithGenerateName(value string
// If called multiple times, the Namespace field is set to the value of the last call. // If called multiple times, the Namespace field is set to the value of the last call.
func (b *KubernetesWatchTriggerApplyConfiguration) WithNamespace(value string) *KubernetesWatchTriggerApplyConfiguration { func (b *KubernetesWatchTriggerApplyConfiguration) WithNamespace(value string) *KubernetesWatchTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Namespace = &value b.ObjectMetaApplyConfiguration.Namespace = &value
return b return b
} }
@@ -91,7 +91,7 @@ func (b *KubernetesWatchTriggerApplyConfiguration) WithNamespace(value string) *
// If called multiple times, the UID field is set to the value of the last call. // If called multiple times, the UID field is set to the value of the last call.
func (b *KubernetesWatchTriggerApplyConfiguration) WithUID(value types.UID) *KubernetesWatchTriggerApplyConfiguration { func (b *KubernetesWatchTriggerApplyConfiguration) WithUID(value types.UID) *KubernetesWatchTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.UID = &value b.ObjectMetaApplyConfiguration.UID = &value
return b return b
} }
@@ -100,7 +100,7 @@ func (b *KubernetesWatchTriggerApplyConfiguration) WithUID(value types.UID) *Kub
// If called multiple times, the ResourceVersion field is set to the value of the last call. // If called multiple times, the ResourceVersion field is set to the value of the last call.
func (b *KubernetesWatchTriggerApplyConfiguration) WithResourceVersion(value string) *KubernetesWatchTriggerApplyConfiguration { func (b *KubernetesWatchTriggerApplyConfiguration) WithResourceVersion(value string) *KubernetesWatchTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.ResourceVersion = &value b.ObjectMetaApplyConfiguration.ResourceVersion = &value
return b return b
} }
@@ -109,25 +109,25 @@ func (b *KubernetesWatchTriggerApplyConfiguration) WithResourceVersion(value str
// If called multiple times, the Generation field is set to the value of the last call. // If called multiple times, the Generation field is set to the value of the last call.
func (b *KubernetesWatchTriggerApplyConfiguration) WithGeneration(value int64) *KubernetesWatchTriggerApplyConfiguration { func (b *KubernetesWatchTriggerApplyConfiguration) WithGeneration(value int64) *KubernetesWatchTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Generation = &value b.ObjectMetaApplyConfiguration.Generation = &value
return b return b
} }
// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value // WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the CreationTimestamp field is set to the value of the last call. // If called multiple times, the CreationTimestamp field is set to the value of the last call.
func (b *KubernetesWatchTriggerApplyConfiguration) WithCreationTimestamp(value metav1.Time) *KubernetesWatchTriggerApplyConfiguration { func (b *KubernetesWatchTriggerApplyConfiguration) WithCreationTimestamp(value apismetav1.Time) *KubernetesWatchTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.CreationTimestamp = &value b.ObjectMetaApplyConfiguration.CreationTimestamp = &value
return b return b
} }
// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value // WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the DeletionTimestamp field is set to the value of the last call. // If called multiple times, the DeletionTimestamp field is set to the value of the last call.
func (b *KubernetesWatchTriggerApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *KubernetesWatchTriggerApplyConfiguration { func (b *KubernetesWatchTriggerApplyConfiguration) WithDeletionTimestamp(value apismetav1.Time) *KubernetesWatchTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.DeletionTimestamp = &value b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value
return b return b
} }
@@ -136,7 +136,7 @@ func (b *KubernetesWatchTriggerApplyConfiguration) WithDeletionTimestamp(value m
// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. // If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call.
func (b *KubernetesWatchTriggerApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *KubernetesWatchTriggerApplyConfiguration { func (b *KubernetesWatchTriggerApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *KubernetesWatchTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.DeletionGracePeriodSeconds = &value b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value
return b return b
} }
@@ -146,11 +146,11 @@ func (b *KubernetesWatchTriggerApplyConfiguration) WithDeletionGracePeriodSecond
// overwriting an existing map entries in Labels field with the same key. // overwriting an existing map entries in Labels field with the same key.
func (b *KubernetesWatchTriggerApplyConfiguration) WithLabels(entries map[string]string) *KubernetesWatchTriggerApplyConfiguration { func (b *KubernetesWatchTriggerApplyConfiguration) WithLabels(entries map[string]string) *KubernetesWatchTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
if b.Labels == nil && len(entries) > 0 { if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 {
b.Labels = make(map[string]string, len(entries)) b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries))
} }
for k, v := range entries { for k, v := range entries {
b.Labels[k] = v b.ObjectMetaApplyConfiguration.Labels[k] = v
} }
return b return b
} }
@@ -161,11 +161,11 @@ func (b *KubernetesWatchTriggerApplyConfiguration) WithLabels(entries map[string
// overwriting an existing map entries in Annotations field with the same key. // overwriting an existing map entries in Annotations field with the same key.
func (b *KubernetesWatchTriggerApplyConfiguration) WithAnnotations(entries map[string]string) *KubernetesWatchTriggerApplyConfiguration { func (b *KubernetesWatchTriggerApplyConfiguration) WithAnnotations(entries map[string]string) *KubernetesWatchTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
if b.Annotations == nil && len(entries) > 0 { if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 {
b.Annotations = make(map[string]string, len(entries)) b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries))
} }
for k, v := range entries { for k, v := range entries {
b.Annotations[k] = v b.ObjectMetaApplyConfiguration.Annotations[k] = v
} }
return b return b
} }
@@ -173,13 +173,13 @@ func (b *KubernetesWatchTriggerApplyConfiguration) WithAnnotations(entries map[s
// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration // WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration
// and returns the receiver, so that objects can be build by chaining "With" function invocations. // and returns the receiver, so that objects can be build by chaining "With" function invocations.
// If called multiple times, values provided by each call will be appended to the OwnerReferences field. // If called multiple times, values provided by each call will be appended to the OwnerReferences field.
func (b *KubernetesWatchTriggerApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *KubernetesWatchTriggerApplyConfiguration { func (b *KubernetesWatchTriggerApplyConfiguration) WithOwnerReferences(values ...*metav1.OwnerReferenceApplyConfiguration) *KubernetesWatchTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
for i := range values { for i := range values {
if values[i] == nil { if values[i] == nil {
panic("nil value passed to WithOwnerReferences") panic("nil value passed to WithOwnerReferences")
} }
b.OwnerReferences = append(b.OwnerReferences, *values[i]) b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i])
} }
return b return b
} }
@@ -190,14 +190,14 @@ func (b *KubernetesWatchTriggerApplyConfiguration) WithOwnerReferences(values ..
func (b *KubernetesWatchTriggerApplyConfiguration) WithFinalizers(values ...string) *KubernetesWatchTriggerApplyConfiguration { func (b *KubernetesWatchTriggerApplyConfiguration) WithFinalizers(values ...string) *KubernetesWatchTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
for i := range values { for i := range values {
b.Finalizers = append(b.Finalizers, values[i]) b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i])
} }
return b return b
} }
func (b *KubernetesWatchTriggerApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { func (b *KubernetesWatchTriggerApplyConfiguration) ensureObjectMetaApplyConfigurationExists() {
if b.ObjectMetaApplyConfiguration == nil { if b.ObjectMetaApplyConfiguration == nil {
b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} b.ObjectMetaApplyConfiguration = &metav1.ObjectMetaApplyConfiguration{}
} }
} }
@@ -212,5 +212,5 @@ func (b *KubernetesWatchTriggerApplyConfiguration) WithSpec(value *KubernetesWat
// GetName retrieves the value of the Name field in the declarative configuration. // GetName retrieves the value of the Name field in the declarative configuration.
func (b *KubernetesWatchTriggerApplyConfiguration) GetName() *string { func (b *KubernetesWatchTriggerApplyConfiguration) GetName() *string {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
return b.Name return b.ObjectMetaApplyConfiguration.Name
} }
@@ -19,17 +19,17 @@ limitations under the License.
package v1 package v1
import ( import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" apismetav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
v1 "k8s.io/client-go/applyconfigurations/meta/v1" metav1 "k8s.io/client-go/applyconfigurations/meta/v1"
) )
// MessageQueueTriggerApplyConfiguration represents a declarative configuration of the MessageQueueTrigger type for use // MessageQueueTriggerApplyConfiguration represents a declarative configuration of the MessageQueueTrigger type for use
// with apply. // with apply.
type MessageQueueTriggerApplyConfiguration struct { type MessageQueueTriggerApplyConfiguration struct {
v1.TypeMetaApplyConfiguration `json:",inline"` metav1.TypeMetaApplyConfiguration `json:",inline"`
*v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` *metav1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"`
Spec *MessageQueueTriggerSpecApplyConfiguration `json:"spec,omitempty"` Spec *MessageQueueTriggerSpecApplyConfiguration `json:"spec,omitempty"`
} }
// MessageQueueTrigger constructs a declarative configuration of the MessageQueueTrigger type for use with // MessageQueueTrigger constructs a declarative configuration of the MessageQueueTrigger type for use with
@@ -47,7 +47,7 @@ func MessageQueueTrigger(name, namespace string) *MessageQueueTriggerApplyConfig
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the Kind field is set to the value of the last call. // If called multiple times, the Kind field is set to the value of the last call.
func (b *MessageQueueTriggerApplyConfiguration) WithKind(value string) *MessageQueueTriggerApplyConfiguration { func (b *MessageQueueTriggerApplyConfiguration) WithKind(value string) *MessageQueueTriggerApplyConfiguration {
b.Kind = &value b.TypeMetaApplyConfiguration.Kind = &value
return b return b
} }
@@ -55,7 +55,7 @@ func (b *MessageQueueTriggerApplyConfiguration) WithKind(value string) *MessageQ
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the APIVersion field is set to the value of the last call. // If called multiple times, the APIVersion field is set to the value of the last call.
func (b *MessageQueueTriggerApplyConfiguration) WithAPIVersion(value string) *MessageQueueTriggerApplyConfiguration { func (b *MessageQueueTriggerApplyConfiguration) WithAPIVersion(value string) *MessageQueueTriggerApplyConfiguration {
b.APIVersion = &value b.TypeMetaApplyConfiguration.APIVersion = &value
return b return b
} }
@@ -64,7 +64,7 @@ func (b *MessageQueueTriggerApplyConfiguration) WithAPIVersion(value string) *Me
// If called multiple times, the Name field is set to the value of the last call. // If called multiple times, the Name field is set to the value of the last call.
func (b *MessageQueueTriggerApplyConfiguration) WithName(value string) *MessageQueueTriggerApplyConfiguration { func (b *MessageQueueTriggerApplyConfiguration) WithName(value string) *MessageQueueTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Name = &value b.ObjectMetaApplyConfiguration.Name = &value
return b return b
} }
@@ -73,7 +73,7 @@ func (b *MessageQueueTriggerApplyConfiguration) WithName(value string) *MessageQ
// If called multiple times, the GenerateName field is set to the value of the last call. // If called multiple times, the GenerateName field is set to the value of the last call.
func (b *MessageQueueTriggerApplyConfiguration) WithGenerateName(value string) *MessageQueueTriggerApplyConfiguration { func (b *MessageQueueTriggerApplyConfiguration) WithGenerateName(value string) *MessageQueueTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.GenerateName = &value b.ObjectMetaApplyConfiguration.GenerateName = &value
return b return b
} }
@@ -82,7 +82,7 @@ func (b *MessageQueueTriggerApplyConfiguration) WithGenerateName(value string) *
// If called multiple times, the Namespace field is set to the value of the last call. // If called multiple times, the Namespace field is set to the value of the last call.
func (b *MessageQueueTriggerApplyConfiguration) WithNamespace(value string) *MessageQueueTriggerApplyConfiguration { func (b *MessageQueueTriggerApplyConfiguration) WithNamespace(value string) *MessageQueueTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Namespace = &value b.ObjectMetaApplyConfiguration.Namespace = &value
return b return b
} }
@@ -91,7 +91,7 @@ func (b *MessageQueueTriggerApplyConfiguration) WithNamespace(value string) *Mes
// If called multiple times, the UID field is set to the value of the last call. // If called multiple times, the UID field is set to the value of the last call.
func (b *MessageQueueTriggerApplyConfiguration) WithUID(value types.UID) *MessageQueueTriggerApplyConfiguration { func (b *MessageQueueTriggerApplyConfiguration) WithUID(value types.UID) *MessageQueueTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.UID = &value b.ObjectMetaApplyConfiguration.UID = &value
return b return b
} }
@@ -100,7 +100,7 @@ func (b *MessageQueueTriggerApplyConfiguration) WithUID(value types.UID) *Messag
// If called multiple times, the ResourceVersion field is set to the value of the last call. // If called multiple times, the ResourceVersion field is set to the value of the last call.
func (b *MessageQueueTriggerApplyConfiguration) WithResourceVersion(value string) *MessageQueueTriggerApplyConfiguration { func (b *MessageQueueTriggerApplyConfiguration) WithResourceVersion(value string) *MessageQueueTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.ResourceVersion = &value b.ObjectMetaApplyConfiguration.ResourceVersion = &value
return b return b
} }
@@ -109,25 +109,25 @@ func (b *MessageQueueTriggerApplyConfiguration) WithResourceVersion(value string
// If called multiple times, the Generation field is set to the value of the last call. // If called multiple times, the Generation field is set to the value of the last call.
func (b *MessageQueueTriggerApplyConfiguration) WithGeneration(value int64) *MessageQueueTriggerApplyConfiguration { func (b *MessageQueueTriggerApplyConfiguration) WithGeneration(value int64) *MessageQueueTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Generation = &value b.ObjectMetaApplyConfiguration.Generation = &value
return b return b
} }
// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value // WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the CreationTimestamp field is set to the value of the last call. // If called multiple times, the CreationTimestamp field is set to the value of the last call.
func (b *MessageQueueTriggerApplyConfiguration) WithCreationTimestamp(value metav1.Time) *MessageQueueTriggerApplyConfiguration { func (b *MessageQueueTriggerApplyConfiguration) WithCreationTimestamp(value apismetav1.Time) *MessageQueueTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.CreationTimestamp = &value b.ObjectMetaApplyConfiguration.CreationTimestamp = &value
return b return b
} }
// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value // WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the DeletionTimestamp field is set to the value of the last call. // If called multiple times, the DeletionTimestamp field is set to the value of the last call.
func (b *MessageQueueTriggerApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *MessageQueueTriggerApplyConfiguration { func (b *MessageQueueTriggerApplyConfiguration) WithDeletionTimestamp(value apismetav1.Time) *MessageQueueTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.DeletionTimestamp = &value b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value
return b return b
} }
@@ -136,7 +136,7 @@ func (b *MessageQueueTriggerApplyConfiguration) WithDeletionTimestamp(value meta
// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. // If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call.
func (b *MessageQueueTriggerApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *MessageQueueTriggerApplyConfiguration { func (b *MessageQueueTriggerApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *MessageQueueTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.DeletionGracePeriodSeconds = &value b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value
return b return b
} }
@@ -146,11 +146,11 @@ func (b *MessageQueueTriggerApplyConfiguration) WithDeletionGracePeriodSeconds(v
// overwriting an existing map entries in Labels field with the same key. // overwriting an existing map entries in Labels field with the same key.
func (b *MessageQueueTriggerApplyConfiguration) WithLabels(entries map[string]string) *MessageQueueTriggerApplyConfiguration { func (b *MessageQueueTriggerApplyConfiguration) WithLabels(entries map[string]string) *MessageQueueTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
if b.Labels == nil && len(entries) > 0 { if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 {
b.Labels = make(map[string]string, len(entries)) b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries))
} }
for k, v := range entries { for k, v := range entries {
b.Labels[k] = v b.ObjectMetaApplyConfiguration.Labels[k] = v
} }
return b return b
} }
@@ -161,11 +161,11 @@ func (b *MessageQueueTriggerApplyConfiguration) WithLabels(entries map[string]st
// overwriting an existing map entries in Annotations field with the same key. // overwriting an existing map entries in Annotations field with the same key.
func (b *MessageQueueTriggerApplyConfiguration) WithAnnotations(entries map[string]string) *MessageQueueTriggerApplyConfiguration { func (b *MessageQueueTriggerApplyConfiguration) WithAnnotations(entries map[string]string) *MessageQueueTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
if b.Annotations == nil && len(entries) > 0 { if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 {
b.Annotations = make(map[string]string, len(entries)) b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries))
} }
for k, v := range entries { for k, v := range entries {
b.Annotations[k] = v b.ObjectMetaApplyConfiguration.Annotations[k] = v
} }
return b return b
} }
@@ -173,13 +173,13 @@ func (b *MessageQueueTriggerApplyConfiguration) WithAnnotations(entries map[stri
// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration // WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration
// and returns the receiver, so that objects can be build by chaining "With" function invocations. // and returns the receiver, so that objects can be build by chaining "With" function invocations.
// If called multiple times, values provided by each call will be appended to the OwnerReferences field. // If called multiple times, values provided by each call will be appended to the OwnerReferences field.
func (b *MessageQueueTriggerApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *MessageQueueTriggerApplyConfiguration { func (b *MessageQueueTriggerApplyConfiguration) WithOwnerReferences(values ...*metav1.OwnerReferenceApplyConfiguration) *MessageQueueTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
for i := range values { for i := range values {
if values[i] == nil { if values[i] == nil {
panic("nil value passed to WithOwnerReferences") panic("nil value passed to WithOwnerReferences")
} }
b.OwnerReferences = append(b.OwnerReferences, *values[i]) b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i])
} }
return b return b
} }
@@ -190,14 +190,14 @@ func (b *MessageQueueTriggerApplyConfiguration) WithOwnerReferences(values ...*v
func (b *MessageQueueTriggerApplyConfiguration) WithFinalizers(values ...string) *MessageQueueTriggerApplyConfiguration { func (b *MessageQueueTriggerApplyConfiguration) WithFinalizers(values ...string) *MessageQueueTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
for i := range values { for i := range values {
b.Finalizers = append(b.Finalizers, values[i]) b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i])
} }
return b return b
} }
func (b *MessageQueueTriggerApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { func (b *MessageQueueTriggerApplyConfiguration) ensureObjectMetaApplyConfigurationExists() {
if b.ObjectMetaApplyConfiguration == nil { if b.ObjectMetaApplyConfiguration == nil {
b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} b.ObjectMetaApplyConfiguration = &metav1.ObjectMetaApplyConfiguration{}
} }
} }
@@ -212,5 +212,5 @@ func (b *MessageQueueTriggerApplyConfiguration) WithSpec(value *MessageQueueTrig
// GetName retrieves the value of the Name field in the declarative configuration. // GetName retrieves the value of the Name field in the declarative configuration.
func (b *MessageQueueTriggerApplyConfiguration) GetName() *string { func (b *MessageQueueTriggerApplyConfiguration) GetName() *string {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
return b.Name return b.ObjectMetaApplyConfiguration.Name
} }
@@ -19,18 +19,18 @@ limitations under the License.
package v1 package v1
import ( import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" apismetav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
v1 "k8s.io/client-go/applyconfigurations/meta/v1" metav1 "k8s.io/client-go/applyconfigurations/meta/v1"
) )
// PackageApplyConfiguration represents a declarative configuration of the Package type for use // PackageApplyConfiguration represents a declarative configuration of the Package type for use
// with apply. // with apply.
type PackageApplyConfiguration struct { type PackageApplyConfiguration struct {
v1.TypeMetaApplyConfiguration `json:",inline"` metav1.TypeMetaApplyConfiguration `json:",inline"`
*v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` *metav1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"`
Spec *PackageSpecApplyConfiguration `json:"spec,omitempty"` Spec *PackageSpecApplyConfiguration `json:"spec,omitempty"`
Status *PackageStatusApplyConfiguration `json:"status,omitempty"` Status *PackageStatusApplyConfiguration `json:"status,omitempty"`
} }
// Package constructs a declarative configuration of the Package type for use with // Package constructs a declarative configuration of the Package type for use with
@@ -48,7 +48,7 @@ func Package(name, namespace string) *PackageApplyConfiguration {
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the Kind field is set to the value of the last call. // If called multiple times, the Kind field is set to the value of the last call.
func (b *PackageApplyConfiguration) WithKind(value string) *PackageApplyConfiguration { func (b *PackageApplyConfiguration) WithKind(value string) *PackageApplyConfiguration {
b.Kind = &value b.TypeMetaApplyConfiguration.Kind = &value
return b return b
} }
@@ -56,7 +56,7 @@ func (b *PackageApplyConfiguration) WithKind(value string) *PackageApplyConfigur
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the APIVersion field is set to the value of the last call. // If called multiple times, the APIVersion field is set to the value of the last call.
func (b *PackageApplyConfiguration) WithAPIVersion(value string) *PackageApplyConfiguration { func (b *PackageApplyConfiguration) WithAPIVersion(value string) *PackageApplyConfiguration {
b.APIVersion = &value b.TypeMetaApplyConfiguration.APIVersion = &value
return b return b
} }
@@ -65,7 +65,7 @@ func (b *PackageApplyConfiguration) WithAPIVersion(value string) *PackageApplyCo
// If called multiple times, the Name field is set to the value of the last call. // If called multiple times, the Name field is set to the value of the last call.
func (b *PackageApplyConfiguration) WithName(value string) *PackageApplyConfiguration { func (b *PackageApplyConfiguration) WithName(value string) *PackageApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Name = &value b.ObjectMetaApplyConfiguration.Name = &value
return b return b
} }
@@ -74,7 +74,7 @@ func (b *PackageApplyConfiguration) WithName(value string) *PackageApplyConfigur
// If called multiple times, the GenerateName field is set to the value of the last call. // If called multiple times, the GenerateName field is set to the value of the last call.
func (b *PackageApplyConfiguration) WithGenerateName(value string) *PackageApplyConfiguration { func (b *PackageApplyConfiguration) WithGenerateName(value string) *PackageApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.GenerateName = &value b.ObjectMetaApplyConfiguration.GenerateName = &value
return b return b
} }
@@ -83,7 +83,7 @@ func (b *PackageApplyConfiguration) WithGenerateName(value string) *PackageApply
// If called multiple times, the Namespace field is set to the value of the last call. // If called multiple times, the Namespace field is set to the value of the last call.
func (b *PackageApplyConfiguration) WithNamespace(value string) *PackageApplyConfiguration { func (b *PackageApplyConfiguration) WithNamespace(value string) *PackageApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Namespace = &value b.ObjectMetaApplyConfiguration.Namespace = &value
return b return b
} }
@@ -92,7 +92,7 @@ func (b *PackageApplyConfiguration) WithNamespace(value string) *PackageApplyCon
// If called multiple times, the UID field is set to the value of the last call. // If called multiple times, the UID field is set to the value of the last call.
func (b *PackageApplyConfiguration) WithUID(value types.UID) *PackageApplyConfiguration { func (b *PackageApplyConfiguration) WithUID(value types.UID) *PackageApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.UID = &value b.ObjectMetaApplyConfiguration.UID = &value
return b return b
} }
@@ -101,7 +101,7 @@ func (b *PackageApplyConfiguration) WithUID(value types.UID) *PackageApplyConfig
// If called multiple times, the ResourceVersion field is set to the value of the last call. // If called multiple times, the ResourceVersion field is set to the value of the last call.
func (b *PackageApplyConfiguration) WithResourceVersion(value string) *PackageApplyConfiguration { func (b *PackageApplyConfiguration) WithResourceVersion(value string) *PackageApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.ResourceVersion = &value b.ObjectMetaApplyConfiguration.ResourceVersion = &value
return b return b
} }
@@ -110,25 +110,25 @@ func (b *PackageApplyConfiguration) WithResourceVersion(value string) *PackageAp
// If called multiple times, the Generation field is set to the value of the last call. // If called multiple times, the Generation field is set to the value of the last call.
func (b *PackageApplyConfiguration) WithGeneration(value int64) *PackageApplyConfiguration { func (b *PackageApplyConfiguration) WithGeneration(value int64) *PackageApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Generation = &value b.ObjectMetaApplyConfiguration.Generation = &value
return b return b
} }
// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value // WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the CreationTimestamp field is set to the value of the last call. // If called multiple times, the CreationTimestamp field is set to the value of the last call.
func (b *PackageApplyConfiguration) WithCreationTimestamp(value metav1.Time) *PackageApplyConfiguration { func (b *PackageApplyConfiguration) WithCreationTimestamp(value apismetav1.Time) *PackageApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.CreationTimestamp = &value b.ObjectMetaApplyConfiguration.CreationTimestamp = &value
return b return b
} }
// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value // WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the DeletionTimestamp field is set to the value of the last call. // If called multiple times, the DeletionTimestamp field is set to the value of the last call.
func (b *PackageApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *PackageApplyConfiguration { func (b *PackageApplyConfiguration) WithDeletionTimestamp(value apismetav1.Time) *PackageApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.DeletionTimestamp = &value b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value
return b return b
} }
@@ -137,7 +137,7 @@ func (b *PackageApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *Pa
// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. // If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call.
func (b *PackageApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *PackageApplyConfiguration { func (b *PackageApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *PackageApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.DeletionGracePeriodSeconds = &value b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value
return b return b
} }
@@ -147,11 +147,11 @@ func (b *PackageApplyConfiguration) WithDeletionGracePeriodSeconds(value int64)
// overwriting an existing map entries in Labels field with the same key. // overwriting an existing map entries in Labels field with the same key.
func (b *PackageApplyConfiguration) WithLabels(entries map[string]string) *PackageApplyConfiguration { func (b *PackageApplyConfiguration) WithLabels(entries map[string]string) *PackageApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
if b.Labels == nil && len(entries) > 0 { if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 {
b.Labels = make(map[string]string, len(entries)) b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries))
} }
for k, v := range entries { for k, v := range entries {
b.Labels[k] = v b.ObjectMetaApplyConfiguration.Labels[k] = v
} }
return b return b
} }
@@ -162,11 +162,11 @@ func (b *PackageApplyConfiguration) WithLabels(entries map[string]string) *Packa
// overwriting an existing map entries in Annotations field with the same key. // overwriting an existing map entries in Annotations field with the same key.
func (b *PackageApplyConfiguration) WithAnnotations(entries map[string]string) *PackageApplyConfiguration { func (b *PackageApplyConfiguration) WithAnnotations(entries map[string]string) *PackageApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
if b.Annotations == nil && len(entries) > 0 { if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 {
b.Annotations = make(map[string]string, len(entries)) b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries))
} }
for k, v := range entries { for k, v := range entries {
b.Annotations[k] = v b.ObjectMetaApplyConfiguration.Annotations[k] = v
} }
return b return b
} }
@@ -174,13 +174,13 @@ func (b *PackageApplyConfiguration) WithAnnotations(entries map[string]string) *
// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration // WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration
// and returns the receiver, so that objects can be build by chaining "With" function invocations. // and returns the receiver, so that objects can be build by chaining "With" function invocations.
// If called multiple times, values provided by each call will be appended to the OwnerReferences field. // If called multiple times, values provided by each call will be appended to the OwnerReferences field.
func (b *PackageApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *PackageApplyConfiguration { func (b *PackageApplyConfiguration) WithOwnerReferences(values ...*metav1.OwnerReferenceApplyConfiguration) *PackageApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
for i := range values { for i := range values {
if values[i] == nil { if values[i] == nil {
panic("nil value passed to WithOwnerReferences") panic("nil value passed to WithOwnerReferences")
} }
b.OwnerReferences = append(b.OwnerReferences, *values[i]) b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i])
} }
return b return b
} }
@@ -191,14 +191,14 @@ func (b *PackageApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerRefer
func (b *PackageApplyConfiguration) WithFinalizers(values ...string) *PackageApplyConfiguration { func (b *PackageApplyConfiguration) WithFinalizers(values ...string) *PackageApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
for i := range values { for i := range values {
b.Finalizers = append(b.Finalizers, values[i]) b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i])
} }
return b return b
} }
func (b *PackageApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { func (b *PackageApplyConfiguration) ensureObjectMetaApplyConfigurationExists() {
if b.ObjectMetaApplyConfiguration == nil { if b.ObjectMetaApplyConfiguration == nil {
b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} b.ObjectMetaApplyConfiguration = &metav1.ObjectMetaApplyConfiguration{}
} }
} }
@@ -221,5 +221,5 @@ func (b *PackageApplyConfiguration) WithStatus(value *PackageStatusApplyConfigur
// GetName retrieves the value of the Name field in the declarative configuration. // GetName retrieves the value of the Name field in the declarative configuration.
func (b *PackageApplyConfiguration) GetName() *string { func (b *PackageApplyConfiguration) GetName() *string {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
return b.Name return b.ObjectMetaApplyConfiguration.Name
} }
@@ -19,16 +19,16 @@ limitations under the License.
package v1 package v1
import ( import (
v1 "github.com/fission/fission/pkg/apis/core/v1" corev1 "github.com/fission/fission/pkg/apis/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
) )
// PackageStatusApplyConfiguration represents a declarative configuration of the PackageStatus type for use // PackageStatusApplyConfiguration represents a declarative configuration of the PackageStatus type for use
// with apply. // with apply.
type PackageStatusApplyConfiguration struct { type PackageStatusApplyConfiguration struct {
BuildStatus *v1.BuildStatus `json:"buildstatus,omitempty"` BuildStatus *corev1.BuildStatus `json:"buildstatus,omitempty"`
BuildLog *string `json:"buildlog,omitempty"` BuildLog *string `json:"buildlog,omitempty"`
LastUpdateTimestamp *metav1.Time `json:"lastUpdateTimestamp,omitempty"` LastUpdateTimestamp *metav1.Time `json:"lastUpdateTimestamp,omitempty"`
} }
// PackageStatusApplyConfiguration constructs a declarative configuration of the PackageStatus type for use with // PackageStatusApplyConfiguration constructs a declarative configuration of the PackageStatus type for use with
@@ -40,7 +40,7 @@ func PackageStatus() *PackageStatusApplyConfiguration {
// WithBuildStatus sets the BuildStatus field in the declarative configuration to the given value // WithBuildStatus sets the BuildStatus field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the BuildStatus field is set to the value of the last call. // If called multiple times, the BuildStatus field is set to the value of the last call.
func (b *PackageStatusApplyConfiguration) WithBuildStatus(value v1.BuildStatus) *PackageStatusApplyConfiguration { func (b *PackageStatusApplyConfiguration) WithBuildStatus(value corev1.BuildStatus) *PackageStatusApplyConfiguration {
b.BuildStatus = &value b.BuildStatus = &value
return b return b
} }
@@ -19,15 +19,15 @@ limitations under the License.
package v1 package v1
import ( import (
v1 "k8s.io/api/core/v1" corev1 "k8s.io/api/core/v1"
) )
// RuntimeApplyConfiguration represents a declarative configuration of the Runtime type for use // RuntimeApplyConfiguration represents a declarative configuration of the Runtime type for use
// with apply. // with apply.
type RuntimeApplyConfiguration struct { type RuntimeApplyConfiguration struct {
Image *string `json:"image,omitempty"` Image *string `json:"image,omitempty"`
Container *v1.Container `json:"container,omitempty"` Container *corev1.Container `json:"container,omitempty"`
PodSpec *v1.PodSpec `json:"podspec,omitempty"` PodSpec *corev1.PodSpec `json:"podspec,omitempty"`
} }
// RuntimeApplyConfiguration constructs a declarative configuration of the Runtime type for use with // RuntimeApplyConfiguration constructs a declarative configuration of the Runtime type for use with
@@ -47,7 +47,7 @@ func (b *RuntimeApplyConfiguration) WithImage(value string) *RuntimeApplyConfigu
// WithContainer sets the Container field in the declarative configuration to the given value // WithContainer sets the Container field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the Container field is set to the value of the last call. // If called multiple times, the Container field is set to the value of the last call.
func (b *RuntimeApplyConfiguration) WithContainer(value v1.Container) *RuntimeApplyConfiguration { func (b *RuntimeApplyConfiguration) WithContainer(value corev1.Container) *RuntimeApplyConfiguration {
b.Container = &value b.Container = &value
return b return b
} }
@@ -55,7 +55,7 @@ func (b *RuntimeApplyConfiguration) WithContainer(value v1.Container) *RuntimeAp
// WithPodSpec sets the PodSpec field in the declarative configuration to the given value // WithPodSpec sets the PodSpec field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the PodSpec field is set to the value of the last call. // If called multiple times, the PodSpec field is set to the value of the last call.
func (b *RuntimeApplyConfiguration) WithPodSpec(value v1.PodSpec) *RuntimeApplyConfiguration { func (b *RuntimeApplyConfiguration) WithPodSpec(value corev1.PodSpec) *RuntimeApplyConfiguration {
b.PodSpec = &value b.PodSpec = &value
return b return b
} }
@@ -19,17 +19,17 @@ limitations under the License.
package v1 package v1
import ( import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" apismetav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
v1 "k8s.io/client-go/applyconfigurations/meta/v1" metav1 "k8s.io/client-go/applyconfigurations/meta/v1"
) )
// TimeTriggerApplyConfiguration represents a declarative configuration of the TimeTrigger type for use // TimeTriggerApplyConfiguration represents a declarative configuration of the TimeTrigger type for use
// with apply. // with apply.
type TimeTriggerApplyConfiguration struct { type TimeTriggerApplyConfiguration struct {
v1.TypeMetaApplyConfiguration `json:",inline"` metav1.TypeMetaApplyConfiguration `json:",inline"`
*v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"` *metav1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"`
Spec *TimeTriggerSpecApplyConfiguration `json:"spec,omitempty"` Spec *TimeTriggerSpecApplyConfiguration `json:"spec,omitempty"`
} }
// TimeTrigger constructs a declarative configuration of the TimeTrigger type for use with // TimeTrigger constructs a declarative configuration of the TimeTrigger type for use with
@@ -47,7 +47,7 @@ func TimeTrigger(name, namespace string) *TimeTriggerApplyConfiguration {
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the Kind field is set to the value of the last call. // If called multiple times, the Kind field is set to the value of the last call.
func (b *TimeTriggerApplyConfiguration) WithKind(value string) *TimeTriggerApplyConfiguration { func (b *TimeTriggerApplyConfiguration) WithKind(value string) *TimeTriggerApplyConfiguration {
b.Kind = &value b.TypeMetaApplyConfiguration.Kind = &value
return b return b
} }
@@ -55,7 +55,7 @@ func (b *TimeTriggerApplyConfiguration) WithKind(value string) *TimeTriggerApply
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the APIVersion field is set to the value of the last call. // If called multiple times, the APIVersion field is set to the value of the last call.
func (b *TimeTriggerApplyConfiguration) WithAPIVersion(value string) *TimeTriggerApplyConfiguration { func (b *TimeTriggerApplyConfiguration) WithAPIVersion(value string) *TimeTriggerApplyConfiguration {
b.APIVersion = &value b.TypeMetaApplyConfiguration.APIVersion = &value
return b return b
} }
@@ -64,7 +64,7 @@ func (b *TimeTriggerApplyConfiguration) WithAPIVersion(value string) *TimeTrigge
// If called multiple times, the Name field is set to the value of the last call. // If called multiple times, the Name field is set to the value of the last call.
func (b *TimeTriggerApplyConfiguration) WithName(value string) *TimeTriggerApplyConfiguration { func (b *TimeTriggerApplyConfiguration) WithName(value string) *TimeTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Name = &value b.ObjectMetaApplyConfiguration.Name = &value
return b return b
} }
@@ -73,7 +73,7 @@ func (b *TimeTriggerApplyConfiguration) WithName(value string) *TimeTriggerApply
// If called multiple times, the GenerateName field is set to the value of the last call. // If called multiple times, the GenerateName field is set to the value of the last call.
func (b *TimeTriggerApplyConfiguration) WithGenerateName(value string) *TimeTriggerApplyConfiguration { func (b *TimeTriggerApplyConfiguration) WithGenerateName(value string) *TimeTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.GenerateName = &value b.ObjectMetaApplyConfiguration.GenerateName = &value
return b return b
} }
@@ -82,7 +82,7 @@ func (b *TimeTriggerApplyConfiguration) WithGenerateName(value string) *TimeTrig
// If called multiple times, the Namespace field is set to the value of the last call. // If called multiple times, the Namespace field is set to the value of the last call.
func (b *TimeTriggerApplyConfiguration) WithNamespace(value string) *TimeTriggerApplyConfiguration { func (b *TimeTriggerApplyConfiguration) WithNamespace(value string) *TimeTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Namespace = &value b.ObjectMetaApplyConfiguration.Namespace = &value
return b return b
} }
@@ -91,7 +91,7 @@ func (b *TimeTriggerApplyConfiguration) WithNamespace(value string) *TimeTrigger
// If called multiple times, the UID field is set to the value of the last call. // If called multiple times, the UID field is set to the value of the last call.
func (b *TimeTriggerApplyConfiguration) WithUID(value types.UID) *TimeTriggerApplyConfiguration { func (b *TimeTriggerApplyConfiguration) WithUID(value types.UID) *TimeTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.UID = &value b.ObjectMetaApplyConfiguration.UID = &value
return b return b
} }
@@ -100,7 +100,7 @@ func (b *TimeTriggerApplyConfiguration) WithUID(value types.UID) *TimeTriggerApp
// If called multiple times, the ResourceVersion field is set to the value of the last call. // If called multiple times, the ResourceVersion field is set to the value of the last call.
func (b *TimeTriggerApplyConfiguration) WithResourceVersion(value string) *TimeTriggerApplyConfiguration { func (b *TimeTriggerApplyConfiguration) WithResourceVersion(value string) *TimeTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.ResourceVersion = &value b.ObjectMetaApplyConfiguration.ResourceVersion = &value
return b return b
} }
@@ -109,25 +109,25 @@ func (b *TimeTriggerApplyConfiguration) WithResourceVersion(value string) *TimeT
// If called multiple times, the Generation field is set to the value of the last call. // If called multiple times, the Generation field is set to the value of the last call.
func (b *TimeTriggerApplyConfiguration) WithGeneration(value int64) *TimeTriggerApplyConfiguration { func (b *TimeTriggerApplyConfiguration) WithGeneration(value int64) *TimeTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.Generation = &value b.ObjectMetaApplyConfiguration.Generation = &value
return b return b
} }
// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value // WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the CreationTimestamp field is set to the value of the last call. // If called multiple times, the CreationTimestamp field is set to the value of the last call.
func (b *TimeTriggerApplyConfiguration) WithCreationTimestamp(value metav1.Time) *TimeTriggerApplyConfiguration { func (b *TimeTriggerApplyConfiguration) WithCreationTimestamp(value apismetav1.Time) *TimeTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.CreationTimestamp = &value b.ObjectMetaApplyConfiguration.CreationTimestamp = &value
return b return b
} }
// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value // WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the DeletionTimestamp field is set to the value of the last call. // If called multiple times, the DeletionTimestamp field is set to the value of the last call.
func (b *TimeTriggerApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *TimeTriggerApplyConfiguration { func (b *TimeTriggerApplyConfiguration) WithDeletionTimestamp(value apismetav1.Time) *TimeTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.DeletionTimestamp = &value b.ObjectMetaApplyConfiguration.DeletionTimestamp = &value
return b return b
} }
@@ -136,7 +136,7 @@ func (b *TimeTriggerApplyConfiguration) WithDeletionTimestamp(value metav1.Time)
// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call. // If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call.
func (b *TimeTriggerApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *TimeTriggerApplyConfiguration { func (b *TimeTriggerApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *TimeTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
b.DeletionGracePeriodSeconds = &value b.ObjectMetaApplyConfiguration.DeletionGracePeriodSeconds = &value
return b return b
} }
@@ -146,11 +146,11 @@ func (b *TimeTriggerApplyConfiguration) WithDeletionGracePeriodSeconds(value int
// overwriting an existing map entries in Labels field with the same key. // overwriting an existing map entries in Labels field with the same key.
func (b *TimeTriggerApplyConfiguration) WithLabels(entries map[string]string) *TimeTriggerApplyConfiguration { func (b *TimeTriggerApplyConfiguration) WithLabels(entries map[string]string) *TimeTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
if b.Labels == nil && len(entries) > 0 { if b.ObjectMetaApplyConfiguration.Labels == nil && len(entries) > 0 {
b.Labels = make(map[string]string, len(entries)) b.ObjectMetaApplyConfiguration.Labels = make(map[string]string, len(entries))
} }
for k, v := range entries { for k, v := range entries {
b.Labels[k] = v b.ObjectMetaApplyConfiguration.Labels[k] = v
} }
return b return b
} }
@@ -161,11 +161,11 @@ func (b *TimeTriggerApplyConfiguration) WithLabels(entries map[string]string) *T
// overwriting an existing map entries in Annotations field with the same key. // overwriting an existing map entries in Annotations field with the same key.
func (b *TimeTriggerApplyConfiguration) WithAnnotations(entries map[string]string) *TimeTriggerApplyConfiguration { func (b *TimeTriggerApplyConfiguration) WithAnnotations(entries map[string]string) *TimeTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
if b.Annotations == nil && len(entries) > 0 { if b.ObjectMetaApplyConfiguration.Annotations == nil && len(entries) > 0 {
b.Annotations = make(map[string]string, len(entries)) b.ObjectMetaApplyConfiguration.Annotations = make(map[string]string, len(entries))
} }
for k, v := range entries { for k, v := range entries {
b.Annotations[k] = v b.ObjectMetaApplyConfiguration.Annotations[k] = v
} }
return b return b
} }
@@ -173,13 +173,13 @@ func (b *TimeTriggerApplyConfiguration) WithAnnotations(entries map[string]strin
// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration // WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration
// and returns the receiver, so that objects can be build by chaining "With" function invocations. // and returns the receiver, so that objects can be build by chaining "With" function invocations.
// If called multiple times, values provided by each call will be appended to the OwnerReferences field. // If called multiple times, values provided by each call will be appended to the OwnerReferences field.
func (b *TimeTriggerApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *TimeTriggerApplyConfiguration { func (b *TimeTriggerApplyConfiguration) WithOwnerReferences(values ...*metav1.OwnerReferenceApplyConfiguration) *TimeTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
for i := range values { for i := range values {
if values[i] == nil { if values[i] == nil {
panic("nil value passed to WithOwnerReferences") panic("nil value passed to WithOwnerReferences")
} }
b.OwnerReferences = append(b.OwnerReferences, *values[i]) b.ObjectMetaApplyConfiguration.OwnerReferences = append(b.ObjectMetaApplyConfiguration.OwnerReferences, *values[i])
} }
return b return b
} }
@@ -190,14 +190,14 @@ func (b *TimeTriggerApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerR
func (b *TimeTriggerApplyConfiguration) WithFinalizers(values ...string) *TimeTriggerApplyConfiguration { func (b *TimeTriggerApplyConfiguration) WithFinalizers(values ...string) *TimeTriggerApplyConfiguration {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
for i := range values { for i := range values {
b.Finalizers = append(b.Finalizers, values[i]) b.ObjectMetaApplyConfiguration.Finalizers = append(b.ObjectMetaApplyConfiguration.Finalizers, values[i])
} }
return b return b
} }
func (b *TimeTriggerApplyConfiguration) ensureObjectMetaApplyConfigurationExists() { func (b *TimeTriggerApplyConfiguration) ensureObjectMetaApplyConfigurationExists() {
if b.ObjectMetaApplyConfiguration == nil { if b.ObjectMetaApplyConfiguration == nil {
b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{} b.ObjectMetaApplyConfiguration = &metav1.ObjectMetaApplyConfiguration{}
} }
} }
@@ -212,5 +212,5 @@ func (b *TimeTriggerApplyConfiguration) WithSpec(value *TimeTriggerSpecApplyConf
// GetName retrieves the value of the Name field in the declarative configuration. // GetName retrieves the value of the Name field in the declarative configuration.
func (b *TimeTriggerApplyConfiguration) GetName() *string { func (b *TimeTriggerApplyConfiguration) GetName() *string {
b.ensureObjectMetaApplyConfigurationExists() b.ensureObjectMetaApplyConfigurationExists()
return b.Name return b.ObjectMetaApplyConfiguration.Name
} }
@@ -50,7 +50,7 @@ func (b *TimeTriggerSpecApplyConfiguration) WithCron(value string) *TimeTriggerS
// If called multiple times, the Type field is set to the value of the last call. // If called multiple times, the Type field is set to the value of the last call.
func (b *TimeTriggerSpecApplyConfiguration) WithType(value corev1.FunctionReferenceType) *TimeTriggerSpecApplyConfiguration { func (b *TimeTriggerSpecApplyConfiguration) WithType(value corev1.FunctionReferenceType) *TimeTriggerSpecApplyConfiguration {
b.ensureFunctionReferenceApplyConfigurationExists() b.ensureFunctionReferenceApplyConfigurationExists()
b.Type = &value b.FunctionReferenceApplyConfiguration.Type = &value
return b return b
} }
@@ -59,7 +59,7 @@ func (b *TimeTriggerSpecApplyConfiguration) WithType(value corev1.FunctionRefere
// If called multiple times, the Name field is set to the value of the last call. // If called multiple times, the Name field is set to the value of the last call.
func (b *TimeTriggerSpecApplyConfiguration) WithName(value string) *TimeTriggerSpecApplyConfiguration { func (b *TimeTriggerSpecApplyConfiguration) WithName(value string) *TimeTriggerSpecApplyConfiguration {
b.ensureFunctionReferenceApplyConfigurationExists() b.ensureFunctionReferenceApplyConfigurationExists()
b.Name = &value b.FunctionReferenceApplyConfiguration.Name = &value
return b return b
} }
@@ -69,11 +69,11 @@ func (b *TimeTriggerSpecApplyConfiguration) WithName(value string) *TimeTriggerS
// overwriting an existing map entries in FunctionWeights field with the same key. // overwriting an existing map entries in FunctionWeights field with the same key.
func (b *TimeTriggerSpecApplyConfiguration) WithFunctionWeights(entries map[string]int) *TimeTriggerSpecApplyConfiguration { func (b *TimeTriggerSpecApplyConfiguration) WithFunctionWeights(entries map[string]int) *TimeTriggerSpecApplyConfiguration {
b.ensureFunctionReferenceApplyConfigurationExists() b.ensureFunctionReferenceApplyConfigurationExists()
if b.FunctionWeights == nil && len(entries) > 0 { if b.FunctionReferenceApplyConfiguration.FunctionWeights == nil && len(entries) > 0 {
b.FunctionWeights = make(map[string]int, len(entries)) b.FunctionReferenceApplyConfiguration.FunctionWeights = make(map[string]int, len(entries))
} }
for k, v := range entries { for k, v := range entries {
b.FunctionWeights[k] = v b.FunctionReferenceApplyConfiguration.FunctionWeights[k] = v
} }
return b return b
} }
@@ -19,8 +19,8 @@ limitations under the License.
package internal package internal
import ( import (
"fmt" fmt "fmt"
"sync" sync "sync"
typed "sigs.k8s.io/structured-merge-diff/v4/typed" typed "sigs.k8s.io/structured-merge-diff/v4/typed"
) )
@@ -19,8 +19,8 @@ limitations under the License.
package versioned package versioned
import ( import (
"fmt" fmt "fmt"
"net/http" http "net/http"
corev1 "github.com/fission/fission/pkg/generated/clientset/versioned/typed/core/v1" corev1 "github.com/fission/fission/pkg/generated/clientset/versioned/typed/core/v1"
discovery "k8s.io/client-go/discovery" discovery "k8s.io/client-go/discovery"
@@ -19,10 +19,10 @@ limitations under the License.
package v1 package v1
import ( import (
"context" context "context"
v1 "github.com/fission/fission/pkg/apis/core/v1" corev1 "github.com/fission/fission/pkg/apis/core/v1"
corev1 "github.com/fission/fission/pkg/generated/applyconfiguration/core/v1" applyconfigurationcorev1 "github.com/fission/fission/pkg/generated/applyconfiguration/core/v1"
scheme "github.com/fission/fission/pkg/generated/clientset/versioned/scheme" scheme "github.com/fission/fission/pkg/generated/clientset/versioned/scheme"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
@@ -38,36 +38,37 @@ type CanaryConfigsGetter interface {
// CanaryConfigInterface has methods to work with CanaryConfig resources. // CanaryConfigInterface has methods to work with CanaryConfig resources.
type CanaryConfigInterface interface { type CanaryConfigInterface interface {
Create(ctx context.Context, _canaryConfig *v1.CanaryConfig, opts metav1.CreateOptions) (*v1.CanaryConfig, error) Create(ctx context.Context, _canaryConfig *corev1.CanaryConfig, opts metav1.CreateOptions) (*corev1.CanaryConfig, error)
Update(ctx context.Context, _canaryConfig *v1.CanaryConfig, opts metav1.UpdateOptions) (*v1.CanaryConfig, error) Update(ctx context.Context, _canaryConfig *corev1.CanaryConfig, opts metav1.UpdateOptions) (*corev1.CanaryConfig, error)
// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus(). // Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
UpdateStatus(ctx context.Context, _canaryConfig *v1.CanaryConfig, opts metav1.UpdateOptions) (*v1.CanaryConfig, error) UpdateStatus(ctx context.Context, _canaryConfig *corev1.CanaryConfig, opts metav1.UpdateOptions) (*corev1.CanaryConfig, error)
Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error
DeleteCollection(ctx context.Context, opts metav1.DeleteOptions, listOpts metav1.ListOptions) error DeleteCollection(ctx context.Context, opts metav1.DeleteOptions, listOpts metav1.ListOptions) error
Get(ctx context.Context, name string, opts metav1.GetOptions) (*v1.CanaryConfig, error) Get(ctx context.Context, name string, opts metav1.GetOptions) (*corev1.CanaryConfig, error)
List(ctx context.Context, opts metav1.ListOptions) (*v1.CanaryConfigList, error) List(ctx context.Context, opts metav1.ListOptions) (*corev1.CanaryConfigList, error)
Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error)
Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.CanaryConfig, err error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *corev1.CanaryConfig, err error)
Apply(ctx context.Context, _canaryConfig *corev1.CanaryConfigApplyConfiguration, opts metav1.ApplyOptions) (result *v1.CanaryConfig, err error) Apply(ctx context.Context, _canaryConfig *applyconfigurationcorev1.CanaryConfigApplyConfiguration, opts metav1.ApplyOptions) (result *corev1.CanaryConfig, err error)
// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus(). // Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus().
ApplyStatus(ctx context.Context, _canaryConfig *corev1.CanaryConfigApplyConfiguration, opts metav1.ApplyOptions) (result *v1.CanaryConfig, err error) ApplyStatus(ctx context.Context, _canaryConfig *applyconfigurationcorev1.CanaryConfigApplyConfiguration, opts metav1.ApplyOptions) (result *corev1.CanaryConfig, err error)
CanaryConfigExpansion CanaryConfigExpansion
} }
// canaryConfigs implements CanaryConfigInterface // canaryConfigs implements CanaryConfigInterface
type canaryConfigs struct { type canaryConfigs struct {
*gentype.ClientWithListAndApply[*v1.CanaryConfig, *v1.CanaryConfigList, *corev1.CanaryConfigApplyConfiguration] *gentype.ClientWithListAndApply[*corev1.CanaryConfig, *corev1.CanaryConfigList, *applyconfigurationcorev1.CanaryConfigApplyConfiguration]
} }
// newCanaryConfigs returns a CanaryConfigs // newCanaryConfigs returns a CanaryConfigs
func newCanaryConfigs(c *CoreV1Client, namespace string) *canaryConfigs { func newCanaryConfigs(c *CoreV1Client, namespace string) *canaryConfigs {
return &canaryConfigs{ return &canaryConfigs{
gentype.NewClientWithListAndApply[*v1.CanaryConfig, *v1.CanaryConfigList, *corev1.CanaryConfigApplyConfiguration]( gentype.NewClientWithListAndApply[*corev1.CanaryConfig, *corev1.CanaryConfigList, *applyconfigurationcorev1.CanaryConfigApplyConfiguration](
"canaryconfigs", "canaryconfigs",
c.RESTClient(), c.RESTClient(),
scheme.ParameterCodec, scheme.ParameterCodec,
namespace, namespace,
func() *v1.CanaryConfig { return &v1.CanaryConfig{} }, func() *corev1.CanaryConfig { return &corev1.CanaryConfig{} },
func() *v1.CanaryConfigList { return &v1.CanaryConfigList{} }), func() *corev1.CanaryConfigList { return &corev1.CanaryConfigList{} },
),
} }
} }
@@ -19,10 +19,10 @@ limitations under the License.
package v1 package v1
import ( import (
"net/http" http "net/http"
v1 "github.com/fission/fission/pkg/apis/core/v1" corev1 "github.com/fission/fission/pkg/apis/core/v1"
"github.com/fission/fission/pkg/generated/clientset/versioned/scheme" scheme "github.com/fission/fission/pkg/generated/clientset/versioned/scheme"
rest "k8s.io/client-go/rest" rest "k8s.io/client-go/rest"
) )
@@ -120,10 +120,10 @@ func New(c rest.Interface) *CoreV1Client {
} }
func setConfigDefaults(config *rest.Config) error { func setConfigDefaults(config *rest.Config) error {
gv := v1.SchemeGroupVersion gv := corev1.SchemeGroupVersion
config.GroupVersion = &gv config.GroupVersion = &gv
config.APIPath = "/apis" config.APIPath = "/apis"
config.NegotiatedSerializer = scheme.Codecs.WithoutConversion() config.NegotiatedSerializer = rest.CodecFactoryForGeneratedClient(scheme.Scheme, scheme.Codecs).WithoutConversion()
if config.UserAgent == "" { if config.UserAgent == "" {
config.UserAgent = rest.DefaultKubernetesUserAgent() config.UserAgent = rest.DefaultKubernetesUserAgent()
@@ -19,10 +19,10 @@ limitations under the License.
package v1 package v1
import ( import (
"context" context "context"
v1 "github.com/fission/fission/pkg/apis/core/v1" corev1 "github.com/fission/fission/pkg/apis/core/v1"
corev1 "github.com/fission/fission/pkg/generated/applyconfiguration/core/v1" applyconfigurationcorev1 "github.com/fission/fission/pkg/generated/applyconfiguration/core/v1"
scheme "github.com/fission/fission/pkg/generated/clientset/versioned/scheme" scheme "github.com/fission/fission/pkg/generated/clientset/versioned/scheme"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
types "k8s.io/apimachinery/pkg/types" types "k8s.io/apimachinery/pkg/types"
@@ -38,32 +38,33 @@ type EnvironmentsGetter interface {
// EnvironmentInterface has methods to work with Environment resources. // EnvironmentInterface has methods to work with Environment resources.
type EnvironmentInterface interface { type EnvironmentInterface interface {
Create(ctx context.Context, _environment *v1.Environment, opts metav1.CreateOptions) (*v1.Environment, error) Create(ctx context.Context, _environment *corev1.Environment, opts metav1.CreateOptions) (*corev1.Environment, error)
Update(ctx context.Context, _environment *v1.Environment, opts metav1.UpdateOptions) (*v1.Environment, error) Update(ctx context.Context, _environment *corev1.Environment, opts metav1.UpdateOptions) (*corev1.Environment, error)
Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error Delete(ctx context.Context, name string, opts metav1.DeleteOptions) error
DeleteCollection(ctx context.Context, opts metav1.DeleteOptions, listOpts metav1.ListOptions) error DeleteCollection(ctx context.Context, opts metav1.DeleteOptions, listOpts metav1.ListOptions) error
Get(ctx context.Context, name string, opts metav1.GetOptions) (*v1.Environment, error) Get(ctx context.Context, name string, opts metav1.GetOptions) (*corev1.Environment, error)
List(ctx context.Context, opts metav1.ListOptions) (*v1.EnvironmentList, error) List(ctx context.Context, opts metav1.ListOptions) (*corev1.EnvironmentList, error)
Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error) Watch(ctx context.Context, opts metav1.ListOptions) (watch.Interface, error)
Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *v1.Environment, err error) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts metav1.PatchOptions, subresources ...string) (result *corev1.Environment, err error)
Apply(ctx context.Context, _environment *corev1.EnvironmentApplyConfiguration, opts metav1.ApplyOptions) (result *v1.Environment, err error) Apply(ctx context.Context, _environment *applyconfigurationcorev1.EnvironmentApplyConfiguration, opts metav1.ApplyOptions) (result *corev1.Environment, err error)
EnvironmentExpansion EnvironmentExpansion
} }
// environments implements EnvironmentInterface // environments implements EnvironmentInterface
type environments struct { type environments struct {
*gentype.ClientWithListAndApply[*v1.Environment, *v1.EnvironmentList, *corev1.EnvironmentApplyConfiguration] *gentype.ClientWithListAndApply[*corev1.Environment, *corev1.EnvironmentList, *applyconfigurationcorev1.EnvironmentApplyConfiguration]
} }
// newEnvironments returns a Environments // newEnvironments returns a Environments
func newEnvironments(c *CoreV1Client, namespace string) *environments { func newEnvironments(c *CoreV1Client, namespace string) *environments {
return &environments{ return &environments{
gentype.NewClientWithListAndApply[*v1.Environment, *v1.EnvironmentList, *corev1.EnvironmentApplyConfiguration]( gentype.NewClientWithListAndApply[*corev1.Environment, *corev1.EnvironmentList, *applyconfigurationcorev1.EnvironmentApplyConfiguration](
"environments", "environments",
c.RESTClient(), c.RESTClient(),
scheme.ParameterCodec, scheme.ParameterCodec,
namespace, namespace,
func() *v1.Environment { return &v1.Environment{} }, func() *corev1.Environment { return &corev1.Environment{} },
func() *v1.EnvironmentList { return &v1.EnvironmentList{} }), func() *corev1.EnvironmentList { return &corev1.EnvironmentList{} },
),
} }
} }

Some files were not shown because too many files have changed in this diff Show More