Skip to content

Commit

Permalink
chore: update dependencies and libraries (#349)
Browse files Browse the repository at this point in the history
* update dependencies and libraries

Signed-off-by: Dejan Zele Pejchev <[email protected]>

* update github workflow dependencies

Signed-off-by: Dejan Zele Pejchev <[email protected]>

---------

Signed-off-by: Dejan Zele Pejchev <[email protected]>
  • Loading branch information
dejanzele authored Mar 5, 2025
1 parent 0e782f2 commit 29cba26
Show file tree
Hide file tree
Showing 43 changed files with 1,724 additions and 728 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ jobs:
id: buildx
uses: docker/setup-buildx-action@v3

- uses: goreleaser/goreleaser-action@v5
- uses: "goreleaser/goreleaser-action@v6"
with:
distribution: goreleaser
version: v1.22.1
version: "~> v2.7"
args: build --snapshot --clean
env:
DOCKER_REPO: "gresearch"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,10 @@ jobs:
echo "GORELEASER_PREVIOUS_TAG=$previous_tag" >> $GITHUB_ENV
- name: Run GoReleaser
uses: goreleaser/goreleaser-action@v5
uses: goreleaser/goreleaser-action@v6
with:
distribution: goreleaser
version: v1.26.2
version: "~> v2.7"
args: "-f ./.goreleaser.yaml release --clean"
env:
FULL_RELEASE: true
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release_rc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,11 +66,11 @@ jobs:
password: "${{ secrets.DOCKERHUB_PASS }}"

- name: "Run GoReleaser"
uses: "goreleaser/goreleaser-action@v5"
uses: "goreleaser/goreleaser-action@v6"
with:
distribution: "goreleaser"
version: v1.21.1
args: "-f ./.goreleaser.yaml release --snapshot --skip-sbom --skip-sign --clean"
version: "~> v2.7"
args: "-f ./.goreleaser.yaml release --snapshot --skip sbom,sign --clean"
env:
DOCKER_REPO: "gresearch"
GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
Expand Down
4 changes: 3 additions & 1 deletion .goreleaser.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
project_name: armada-operator

version: 2

snapshot:
name_template: "{{ .FullCommit }}"
version_template: "{{ .FullCommit }}"

dist: "dist"

Expand Down
16 changes: 8 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ goreleaser-build: goreleaser ## Build using GoReleaser

.PHONY: goreleaser-snapshot
goreleaser-snapshot: goreleaser ## Build a snapshot release using GoReleaser
$(GORELEASER) release --skip-publish --skip-sign --skip-sbom --clean --snapshot
$(GORELEASER) release --clean --skip sbom,sign --snapshot

##@ Run

Expand Down Expand Up @@ -368,14 +368,14 @@ GORELEASER ?= $(LOCALBIN_TOOLING)/goreleaser
CRD_REF_DOCS ?= $(LOCALBIN_TOOLING)/crd-ref-docs
GOLANGCI_LINT ?= $(LOCALBIN_TOOLING)/golangci-lint

KUSTOMIZE_VERSION ?= v5.5.0
KUSTOMIZE_VERSION ?= v5.6.0
KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh"
.PHONY: kustomize
kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary.
$(KUSTOMIZE): $(LOCALBIN_TOOLING)
test -s $(KUSTOMIZE) || { curl -Ss $(KUSTOMIZE_INSTALL_SCRIPT) | bash -s -- $(subst v,,$(KUSTOMIZE_VERSION)) $(LOCALBIN_TOOLING); }

CONTROLLER_TOOLS_VERSION ?= v0.16.1
CONTROLLER_TOOLS_VERSION ?= v0.17.2
.PHONY: controller-gen
controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary.
$(CONTROLLER_GEN): $(LOCALBIN)
Expand All @@ -398,31 +398,31 @@ mockgen: $(MOCKGEN) ## Download mockgen locally if necessary.
$(MOCKGEN): $(LOCALBIN_TOOLING)
test -s $(MOCKGEN) || GOBIN=$(LOCALBIN_TOOLING) go install github.com/golang/mock/mockgen@$(MOCKGEN_VERSION)

KIND_VERSION ?= v0.24.0
KIND_VERSION ?= v0.27.0
.PHONY: kind
kind: $(KIND) ## Download kind locally if necessary.
$(KIND): $(LOCALBIN_TOOLING)
test -s $(KIND) || GOBIN=$(LOCALBIN_TOOLING) go install sigs.k8s.io/kind@$(KIND_VERSION)

HELMIFY_VERSION ?= v0.4.14
HELMIFY_VERSION ?= v0.4.17
.PHONY: helmify
helmify: $(HELMIFY) ## Download helmify locally if necessary.
$(HELMIFY): $(LOCALBIN_TOOLING)
test -s $(HELMIFY) || GOBIN=$(LOCALBIN_TOOLING) go install github.com/arttor/helmify/cmd/helmify@$(HELMIFY_VERSION)

GORELEASER_VERSION ?= v2.3.2
GORELEASER_VERSION ?= v2.7.0
.PHONY: goreleaser
goreleaser: $(GORELEASER) ## Download GoReleaser locally if necessary.
$(GORELEASER): $(LOCALBIN_TOOLING)
test -s $(GORELEASER) || GOBIN=$(LOCALBIN_TOOLING) go install github.com/goreleaser/goreleaser@$(GORELEASER_VERSION)
test -s $(GORELEASER) || GOBIN=$(LOCALBIN_TOOLING) go install github.com/goreleaser/goreleaser/v2@$(GORELEASER_VERSION)

CRD_REF_DOCS_VERSION ?= v0.1.0
.PHONY: crd-ref-docs
crd-ref-docs: $(CRD_REF_DOCS) ## Download crd-ref-docs locally if necessary.
$(CRD_REF_DOCS): $(LOCALBIN_TOOLING)
test -s $(CRD_REF_DOCS) || GOBIN=$(LOCALBIN_TOOLING) go install github.com/elastic/crd-ref-docs@$(CRD_REF_DOCS_VERSION)

GOLANGCI_LINT_VERSION ?= v1.61.0
GOLANGCI_LINT_VERSION ?= v1.64.6
.PHONY: golangci-lint
golangci-lint: $(GOLANGCI_LINT) ## Download golangci-lint locally if necessary.
$(GOLANGCI_LINT): $(LOCALBIN_TOOLING)
Expand Down
46 changes: 25 additions & 21 deletions api/install/v1alpha1/armadaserver_webhook.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ limitations under the License.
package v1alpha1

import (
"context"
"fmt"
"time"

corev1 "k8s.io/api/core/v1"
Expand All @@ -25,30 +27,39 @@ import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/utils/ptr"
ctrl "sigs.k8s.io/controller-runtime"
logf "sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/webhook"
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
)

// log is for logging in this package.
var armadaServerLog = logf.Log.WithName("armada-server-resource")

func (r *ArmadaServer) SetupWebhookWithManager(mgr ctrl.Manager) error {
return ctrl.NewWebhookManagedBy(mgr).
For(r).
WithDefaulter(&ArmadaServerDefaulter{}).
WithValidator(&ArmadaServerValidator{}).
Complete()
}

// TODO(user): EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN!

//+kubebuilder:webhook:path=/mutate-install-armadaproject-io-v1alpha1-armadaserver,mutating=true,failurePolicy=fail,sideEffects=None,groups=install.armadaproject.io,resources=armadaservers,verbs=create;update,versions=v1alpha1,name=armadaserver.kb.io,admissionReviewVersions=v1

var _ webhook.Defaulter = &ArmadaServer{}
var _ webhook.CustomDefaulter = &ArmadaServerDefaulter{}

type ArmadaServerDefaulter struct{}

// Default implements webhook.Defaulter so a webhook will be registered for the type
func (r *ArmadaServer) Default() {
armadaServerLog.Info("default", "name", r.Name)
func (d *ArmadaServerDefaulter) Default(ctx context.Context, obj runtime.Object) error {
armadaServer, ok := obj.(*ArmadaServer)
if !ok {
return fmt.Errorf("expected an ArmadaServer object in webhook but got %T", obj)
}

// Set default values
d.applyDefaults(armadaServer)
return nil
}

func (d *ArmadaServerDefaulter) applyDefaults(r *ArmadaServer) {
// image
if r.Spec.Image.Repository == "" {
r.Spec.Image.Repository = "gresearch/armada-server"
Expand Down Expand Up @@ -91,28 +102,21 @@ func (r *ArmadaServer) Default() {
// TODO(user): change verbs to "verbs=create;update;delete" if you want to enable deletion validation.
//+kubebuilder:webhook:path=/validate-install-armadaproject-io-v1alpha1-armadaserver,mutating=true,failurePolicy=fail,sideEffects=None,groups=install.armadaproject.io,resources=armadaservers,verbs=create;update,versions=v1alpha1,name=varmadaserver.kb.io,admissionReviewVersions=v1

var _ webhook.Validator = &ArmadaServer{}
var _ webhook.CustomValidator = &ArmadaServerValidator{}

// ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (r *ArmadaServer) ValidateCreate() (admission.Warnings, error) {
armadaServerLog.Info("validate create", "name", r.Name)
type ArmadaServerValidator struct{}

func (v ArmadaServerValidator) ValidateCreate(ctx context.Context, obj runtime.Object) (warnings admission.Warnings, err error) {
// TODO(user): fill in your validation logic upon object creation.
return nil, nil
}

// ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
func (r *ArmadaServer) ValidateUpdate(old runtime.Object) (admission.Warnings, error) {
armadaServerLog.Info("validate update", "name", r.Name)

// TODO(user): fill in your validation logic upon object update.
func (v ArmadaServerValidator) ValidateUpdate(ctx context.Context, oldObj, newObj runtime.Object) (warnings admission.Warnings, err error) {
// TODO(user): fill in your validation logic upon object creation.
return nil, nil
}

// ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (r *ArmadaServer) ValidateDelete() (admission.Warnings, error) {
armadaServerLog.Info("validate delete", "name", r.Name)

// TODO(user): fill in your validation logic upon object deletion.
func (v ArmadaServerValidator) ValidateDelete(ctx context.Context, obj runtime.Object) (warnings admission.Warnings, err error) {
// TODO(user): fill in your validation logic upon object creation.
return nil, nil
}
22 changes: 19 additions & 3 deletions api/install/v1alpha1/binoculars_webhook.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,12 @@ limitations under the License.
package v1alpha1

import (
"context"
"fmt"
"time"

"k8s.io/apimachinery/pkg/runtime"

"k8s.io/utils/ptr"

corev1 "k8s.io/api/core/v1"
Expand All @@ -31,19 +35,31 @@ import (
func (r *Binoculars) SetupWebhookWithManager(mgr ctrl.Manager) error {
return ctrl.NewWebhookManagedBy(mgr).
For(r).
WithDefaulter(&BinocularsDefaulter{}).
Complete()
}

// TODO(user): EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN!

//+kubebuilder:webhook:path=/mutate-install-armadaproject-io-v1alpha1-binoculars,mutating=true,failurePolicy=fail,sideEffects=None,groups=install.armadaproject.io,resources=binoculars,verbs=create;update,versions=v1alpha1,name=mbinoculars.kb.io,admissionReviewVersions=v1

var _ webhook.Defaulter = &Binoculars{}
var _ webhook.CustomDefaulter = &BinocularsDefaulter{}

type BinocularsDefaulter struct{}

// Default implements webhook.Defaulter so a webhook will be registered for the type
func (r *Binoculars) Default() {
executorlog.Info("default", "name", r.Name)
func (d *BinocularsDefaulter) Default(ctx context.Context, obj runtime.Object) error {
binoculars, ok := obj.(*Binoculars)
if !ok {
return fmt.Errorf("expected a Binoculars object in webhook but got %T", obj)
}

// Set default values
d.applyDefaults(binoculars)
return nil
}

func (d *BinocularsDefaulter) applyDefaults(r *Binoculars) {
// image
if r.Spec.Image.Repository == "" {
r.Spec.Image.Repository = "gresearch/armada-binoculars"
Expand Down
47 changes: 24 additions & 23 deletions api/install/v1alpha1/eventingester_webhook.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,35 +17,46 @@ limitations under the License.
package v1alpha1

import (
"context"
"fmt"

corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/utils/ptr"
ctrl "sigs.k8s.io/controller-runtime"
logf "sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/webhook"
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
)

// log is for logging in this package.
var eventingesterlog = logf.Log.WithName("eventingester-resource")

func (r *EventIngester) SetupWebhookWithManager(mgr ctrl.Manager) error {
return ctrl.NewWebhookManagedBy(mgr).
For(r).
WithDefaulter(&EventIngesterDefaulter{}).
WithValidator(&EventIngesterValidator{}).
Complete()
}

// TODO(user): EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN!

//+kubebuilder:webhook:path=/mutate-install-armadaproject-io-v1alpha1-eventingester,mutating=true,failurePolicy=fail,sideEffects=None,groups=install.armadaproject.io,resources=eventingesters,verbs=create;update,versions=v1alpha1,name=meventingester.kb.io,admissionReviewVersions=v1

var _ webhook.Defaulter = &EventIngester{}
var _ webhook.CustomDefaulter = &EventIngesterDefaulter{}

type EventIngesterDefaulter struct{}

func (d *EventIngesterDefaulter) Default(ctx context.Context, obj runtime.Object) error {
eventIngester, ok := obj.(*EventIngester)
if !ok {
return fmt.Errorf("expected an EventIngester object in webhook but got %T", obj)
}

// Default implements webhook.Defaulter so a webhook will be registered for the type
func (r *EventIngester) Default() {
eventingesterlog.Info("default", "name", r.Name)
// Set default values
d.applyDefaults(eventIngester)
return nil
}

func (d *EventIngesterDefaulter) applyDefaults(r *EventIngester) {
// image
if r.Spec.Image.Repository == "" {
r.Spec.Image.Repository = "gresearch/armada-event-ingester"
Expand Down Expand Up @@ -81,28 +92,18 @@ func (r *EventIngester) Default() {
// TODO(user): change verbs to "verbs=create;update;delete" if you want to enable deletion validation.
//+kubebuilder:webhook:path=/validate-install-armadaproject-io-v1alpha1-eventingester,mutating=false,failurePolicy=fail,sideEffects=None,groups=install.armadaproject.io,resources=eventingesters,verbs=create;update,versions=v1alpha1,name=veventingester.kb.io,admissionReviewVersions=v1

var _ webhook.Validator = &EventIngester{}
var _ webhook.CustomValidator = &EventIngesterValidator{}

// ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (r *EventIngester) ValidateCreate() (admission.Warnings, error) {
eventingesterlog.Info("validate create", "name", r.Name)
type EventIngesterValidator struct{}

// TODO(user): fill in your validation logic upon object creation.
func (v EventIngesterValidator) ValidateCreate(ctx context.Context, obj runtime.Object) (warnings admission.Warnings, err error) {
return nil, nil
}

// ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
func (r *EventIngester) ValidateUpdate(old runtime.Object) (admission.Warnings, error) {
eventingesterlog.Info("validate update", "name", r.Name)

// TODO(user): fill in your validation logic upon object update.
func (v EventIngesterValidator) ValidateUpdate(ctx context.Context, oldObj, newObj runtime.Object) (warnings admission.Warnings, err error) {
return nil, nil
}

// ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (r *EventIngester) ValidateDelete() (admission.Warnings, error) {
eventingesterlog.Info("validate delete", "name", r.Name)

// TODO(user): fill in your validation logic upon object deletion.
func (v EventIngesterValidator) ValidateDelete(ctx context.Context, obj runtime.Object) (warnings admission.Warnings, err error) {
return nil, nil
}
Loading

0 comments on commit 29cba26

Please sign in to comment.