diff --git a/go.mod b/go.mod index 9ca98ab1d5..00739ccea3 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,7 @@ require ( github.com/cli/go-gh/v2 v2.13.0 github.com/go-logr/zapr v1.3.0 github.com/google/go-cmp v0.7.0 - github.com/konflux-ci/tekton-kueue v0.3.1 + github.com/konflux-ci/tekton-kueue v0.4.0 github.com/manifestival/client-go-client v0.6.0 github.com/manifestival/manifestival v0.7.2 github.com/markbates/inflect v1.0.4 @@ -25,7 +25,7 @@ require ( github.com/tektoncd/pruner v0.4.1 github.com/tektoncd/triggers v0.36.0 go.uber.org/zap v1.28.0 - golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90 + golang.org/x/exp v0.0.0-20260718201538-764159d718ef golang.org/x/mod v0.39.0 golang.org/x/sync v0.22.0 gomodules.xyz/jsonpatch/v2 v2.5.0 @@ -298,8 +298,8 @@ require ( golang.org/x/time v0.15.0 // indirect golang.org/x/tools v0.48.0 // indirect google.golang.org/api v0.280.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20260715232425-e75dac1f907d // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260715232425-e75dac1f907d // indirect google.golang.org/grpc v1.82.1 // indirect google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af // indirect gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect diff --git a/go.sum b/go.sum index faacf31302..44d498e271 100644 --- a/go.sum +++ b/go.sum @@ -690,8 +690,8 @@ github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8/go.mod h1:K1liHPHnj73 github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= github.com/google/pprof v0.0.0-20250403155104-27863c87afa6/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA= -github.com/google/pprof v0.0.0-20260402051712-545e8a4df936 h1:EwtI+Al+DeppwYX2oXJCETMO23COyaKGP6fHVpkpWpg= -github.com/google/pprof v0.0.0-20260402051712-545e8a4df936/go.mod h1:MxpfABSjhmINe3F1It9d+8exIHFvUqtLIRCdOGNXqiI= +github.com/google/pprof v0.0.0-20260709232956-b9395ee17fa0 h1:du0WGc8xSKq/++e0cglxhS/mXVqsR7+c7jLEi5Vqduw= +github.com/google/pprof v0.0.0-20260709232956-b9395ee17fa0/go.mod h1:MxpfABSjhmINe3F1It9d+8exIHFvUqtLIRCdOGNXqiI= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/s2a-go v0.1.9 h1:LGD7gtMgezd8a/Xak7mEWL0PjoTQFvpRudN895yqKW0= github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM= @@ -841,8 +841,8 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.18.7 h1:aUyZsS4kH3QTKurYhAOwAHxllVPnOthb3vPfnF1Ehjw= github.com/klauspost/compress v1.18.7/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ= -github.com/konflux-ci/tekton-kueue v0.3.1 h1:QaK7u7kVJXPHpP4X+aJ8b6m47gy2yiNBQyI6MV1UY0s= -github.com/konflux-ci/tekton-kueue v0.3.1/go.mod h1:5k6DNmxgcJfhVhHG8iIC0vOeU4xL1GLWQ9tMSp9jE3E= +github.com/konflux-ci/tekton-kueue v0.4.0 h1:2F74CrSWzkiOEc5JENrlyou3A27LRynah7C1NpBzZ0g= +github.com/konflux-ci/tekton-kueue v0.4.0/go.mod h1:T5h4eY3q1/c30MwkFGuxkKGMu/hcxoHByQnhxKjag0c= 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.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= @@ -997,8 +997,8 @@ github.com/onsi/ginkgo/v2 v2.22.1/go.mod h1:S6aTpoRsSq2cZOd+pssHAlKW/Q/jZt6cPrPl github.com/onsi/ginkgo/v2 v2.23.3/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= github.com/onsi/ginkgo/v2 v2.25.1/go.mod h1:ppTWQ1dh9KM/F1XgpeRqelR+zHVwV81DGRSDnFxK7Sk= github.com/onsi/ginkgo/v2 v2.27.2/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo= -github.com/onsi/ginkgo/v2 v2.28.0 h1:Rrf+lVLmtlBIKv6KrIGJCjyY8N36vDVcutbGJkyqjJc= -github.com/onsi/ginkgo/v2 v2.28.0/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo= +github.com/onsi/ginkgo/v2 v2.28.1 h1:S4hj+HbZp40fNKuLUQOYLDgZLwNUVn19N3Atb98NCyI= +github.com/onsi/ginkgo/v2 v2.28.1/go.mod h1:CLtbVInNckU3/+gC8LzkGUb9oF+e8W8TdUsxPwvdOgE= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= @@ -1488,8 +1488,8 @@ golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EH golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20220909182711-5c715a9e8561/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= -golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90 h1:jiDhWWeC7jfWqR9c/uplMOqJ0sbNlNWv0UkzE0vX1MA= -golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90/go.mod h1:xE1HEv6b+1SCZ5/uscMRjUBKtIxworgEcEi+/n9NQDQ= +golang.org/x/exp v0.0.0-20260718201538-764159d718ef h1:LkZ48HFgy/TvhTI0bcWkjgFkgLyKUwcTbDjS0DUjw+A= +golang.org/x/exp v0.0.0-20260718201538-764159d718ef/go.mod h1:EdfpwwqSu+0Li0mzskwHU6FWDV3t9Q+RZDo3QMUtL3Q= 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/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -2091,10 +2091,10 @@ google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ6 google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/genproto v0.0.0-20260319201613-d00831a3d3e7 h1:XzmzkmB14QhVhgnawEVsOn6OFsnpyxNPRY9QV01dNB0= google.golang.org/genproto v0.0.0-20260319201613-d00831a3d3e7/go.mod h1:L43LFes82YgSonw6iTXTxXUX1OlULt4AQtkik4ULL/I= -google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa h1:Kjn0N0tCrDgiAFW+lGO4JZ3ck44CehvJQMAwj9QF0G8= -google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa/go.mod h1:q4lMZS6kskjT5HvCPrnnypcDPVJqT/f4nfxmkE7gryY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa h1:mZHHdPZl0dbGHCflZgAq/Q468DWVFcU2whhB2KAo8fk= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/genproto/googleapis/api v0.0.0-20260715232425-e75dac1f907d h1:QwnJwPte4XXAkhPu26LTDIahnsMSUV0kK8HkxbC+Pc4= +google.golang.org/genproto/googleapis/api v0.0.0-20260715232425-e75dac1f907d/go.mod h1:WRrQ7/7N19PypuT0fxLOL5Lq0waoiRri4FbtHDEKrGE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260715232425-e75dac1f907d h1:Jkpk39hlTZOIp3RbfvNX9R8Hv+Sw0X89nlU/xFOErsc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260715232425-e75dac1f907d/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= 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.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= diff --git a/vendor/github.com/konflux-ci/tekton-kueue/pkg/common/common_utils.go b/vendor/github.com/konflux-ci/tekton-kueue/pkg/common/common_utils.go index b611d51d19..8820b1a3bd 100644 --- a/vendor/github.com/konflux-ci/tekton-kueue/pkg/common/common_utils.go +++ b/vendor/github.com/konflux-ci/tekton-kueue/pkg/common/common_utils.go @@ -1,17 +1,24 @@ package common import ( - "errors" + "fmt" "os" + "strings" ) +// namespaceFile is the path to the Kubernetes service account namespace file. const namespaceFile = "/var/run/secrets/kubernetes.io/serviceaccount/namespace" +// GetCurrentNamespace reads the namespace from the mounted service account token. +// This is used by the ConfigMapReconciler to scope its watch to the deployment namespace. func GetCurrentNamespace() (string, error) { - bytes, err := os.ReadFile(namespaceFile) + return readNamespace(namespaceFile) +} + +func readNamespace(path string) (string, error) { + bytes, err := os.ReadFile(path) if err != nil { - return "", errors.New("not able to read namespace file: " + namespaceFile) + return "", fmt.Errorf("not able to read namespace file %s: %w", path, err) } - namespace := string(bytes) - return namespace, nil + return strings.TrimSpace(string(bytes)), nil } diff --git a/vendor/github.com/konflux-ci/tekton-kueue/pkg/common/constants.go b/vendor/github.com/konflux-ci/tekton-kueue/pkg/common/constants.go index 1e0869112f..d2f9b75873 100644 --- a/vendor/github.com/konflux-ci/tekton-kueue/pkg/common/constants.go +++ b/vendor/github.com/konflux-ci/tekton-kueue/pkg/common/constants.go @@ -14,11 +14,22 @@ See the License for the specific language governing permissions and limitations under the License. */ +// Package common provides shared constants and utilities used across the +// controller, webhook, and mutate packages. package common const ( + // ManagedByMultiKueueLabel is set on PipelineRuns when multiKueue is enabled, + // telling Kueue to dispatch the workload to a remote worker cluster. ManagedByMultiKueueLabel = "kueue.x-k8s.io/multikueue" - QueueLabel = "kueue.x-k8s.io/queue-name" - ConfigKey = "config.yaml" - ConfigMapName = "tekton-kueue-config" + + // QueueLabel is the standard Kueue label used to assign workloads to a LocalQueue. + QueueLabel = "kueue.x-k8s.io/queue-name" + + // ConfigKey is the key within the tekton-kueue-config ConfigMap that holds + // the YAML configuration. + ConfigKey = "config.yaml" + + // ConfigMapName is the name of the ConfigMap that configures the webhook. + ConfigMapName = "tekton-kueue-config" ) diff --git a/vendor/github.com/konflux-ci/tekton-kueue/pkg/config/config_type.go b/vendor/github.com/konflux-ci/tekton-kueue/pkg/config/config_type.go index 740eab1ff7..3dda3e3609 100644 --- a/vendor/github.com/konflux-ci/tekton-kueue/pkg/config/config_type.go +++ b/vendor/github.com/konflux-ci/tekton-kueue/pkg/config/config_type.go @@ -17,12 +17,26 @@ See the License for the specific language governing permissions and limitations under the License. */ +// Config defines the webhook behavior, loaded from the tekton-kueue-config +// ConfigMap under the "config.yaml" key. type Config struct { - QueueName string `json:"queueName,omitempty"` - MultiKueueOverride bool `json:"multiKueueOverride,omitempty"` - CEL CEL `json:"cel,omitempty"` + // QueueName is the Kueue LocalQueue that PipelineRuns are assigned to. + // This is set as the "kueue.x-k8s.io/queue-name" label on each PipelineRun. + QueueName string `json:"queueName,omitempty"` + + // MultiKueueOverride, when true, sets the PipelineRun's managedBy field + // to "kueue.x-k8s.io/multikueue", enabling Kueue to dispatch the + // PipelineRun to a remote worker cluster. + MultiKueueOverride bool `json:"multiKueueOverride,omitempty"` + + // CEL contains optional CEL expressions for dynamic PipelineRun mutation. + CEL CEL `json:"cel,omitempty"` } +// CEL holds a list of CEL expressions that are evaluated against each +// PipelineRun during webhook admission. Expressions can set annotations, +// labels, or resource requests based on PipelineRun properties. +// See the internal/cel package for available functions and variables. type CEL struct { Expressions []string `json:"expressions,omitempty"` } diff --git a/vendor/modules.txt b/vendor/modules.txt index 7db11b67e0..6b4a7ae5ca 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -848,8 +848,8 @@ github.com/klauspost/compress/internal/le github.com/klauspost/compress/internal/snapref github.com/klauspost/compress/zstd github.com/klauspost/compress/zstd/internal/xxhash -# github.com/konflux-ci/tekton-kueue v0.3.1 -## explicit; go 1.25.3 +# github.com/konflux-ci/tekton-kueue v0.4.0 +## explicit; go 1.26.4 github.com/konflux-ci/tekton-kueue/pkg/common github.com/konflux-ci/tekton-kueue/pkg/config # github.com/lestrrat-go/blackmagic v1.0.4 @@ -1830,7 +1830,7 @@ golang.org/x/crypto/scrypt golang.org/x/crypto/ssh golang.org/x/crypto/ssh/internal/bcrypt_pbkdf golang.org/x/crypto/ssh/terminal -# golang.org/x/exp v0.0.0-20260312153236-7ab1446f8b90 +# golang.org/x/exp v0.0.0-20260718201538-764159d718ef ## explicit; go 1.25.0 golang.org/x/exp/slices # golang.org/x/mod v0.39.0 @@ -1945,13 +1945,13 @@ google.golang.org/api/internal/third_party/uritemplates google.golang.org/api/option google.golang.org/api/option/internaloption google.golang.org/api/transport/http -# google.golang.org/genproto/googleapis/api v0.0.0-20260526163538-3dc84a4a5aaa +# google.golang.org/genproto/googleapis/api v0.0.0-20260715232425-e75dac1f907d ## explicit; go 1.25.0 google.golang.org/genproto/googleapis/api google.golang.org/genproto/googleapis/api/annotations google.golang.org/genproto/googleapis/api/expr/v1alpha1 google.golang.org/genproto/googleapis/api/httpbody -# google.golang.org/genproto/googleapis/rpc v0.0.0-20260526163538-3dc84a4a5aaa +# google.golang.org/genproto/googleapis/rpc v0.0.0-20260715232425-e75dac1f907d ## explicit; go 1.25.0 google.golang.org/genproto/googleapis/rpc/code google.golang.org/genproto/googleapis/rpc/errdetails