Merge pull request #2 from ysoftdevs/feature/token-requestor

Update dependencies
This commit is contained in:
salatamartin
2022-06-07 10:20:04 +02:00
committed by GitHub
12 changed files with 1569 additions and 66 deletions

View File

@@ -1,7 +1,6 @@
---
name: Bug Report
about: Report a bug encountered while working with this Gardener extension
labels: kind/bug
---
@@ -14,13 +13,11 @@ If multiple identifiers make sense you can also state the commands multiple time
/area auto-scaling
...
"/area" identifiers: audit-logging|auto-scaling|backup|certification|control-plane-migration|control-plane|cost|delivery|dev-productivity|disaster-recovery|documentation|high-availability|logging|metering|monitoring|networking|open-source|operations|ops-productivity|os|performance|quality|robustness|scalability|security|storage|testing|usability|user-management
"/area" identifiers: audit-logging|auto-scaling|backup|certification|control-plane-migration|control-plane|cost|delivery|dev-productivity|disaster-recovery|documentation|high-availability|logging|metering|monitoring|networking|open-source|ops-productivity|os|performance|quality|robustness|scalability|security|storage|testing|usability|user-management
"/kind" identifiers: api-change|bug|cleanup|discussion|enhancement|epic|impediment|poc|post-mortem|question|regression|task|technical-debt|test
"/priority" identifiers: normal|critical|blocker
-->
/area TODO
/kind bug
/priority normal
**What happened**:

View File

@@ -1,7 +1,6 @@
---
name: Enhancement Request
about: Suggest an enhancement for this extension
labels: kind/enhancement
---
@@ -14,13 +13,11 @@ If multiple identifiers make sense you can also state the commands multiple time
/area auto-scaling
...
"/area" identifiers: audit-logging|auto-scaling|backup|certification|control-plane-migration|control-plane|cost|delivery|dev-productivity|disaster-recovery|documentation|high-availability|logging|metering|monitoring|networking|open-source|operations|ops-productivity|os|performance|quality|robustness|scalability|security|storage|testing|usability|user-management
"/area" identifiers: audit-logging|auto-scaling|backup|certification|control-plane-migration|control-plane|cost|delivery|dev-productivity|disaster-recovery|documentation|high-availability|logging|metering|monitoring|networking|open-source|ops-productivity|os|performance|quality|robustness|scalability|security|storage|testing|usability|user-management
"/kind" identifiers: api-change|bug|cleanup|discussion|enhancement|epic|impediment|poc|post-mortem|question|regression|task|technical-debt|test
"/priority" identifiers: normal|critical|blocker
-->
/area TODO
/kind enhancement
/priority normal
**What would you like to be added**:

View File

@@ -2,7 +2,6 @@
name: Flaking Test
about: Report flaky tests or jobs in Gardener CI
title: "[Flaky Test] FLAKING TEST/SUITE"
labels: kind/flake
---
@@ -17,13 +16,11 @@ If multiple identifiers make sense you can also state the commands multiple time
/area auto-scaling
...
"/area" identifiers: audit-logging|auto-scaling|backup|certification|control-plane-migration|control-plane|cost|delivery|dev-productivity|disaster-recovery|documentation|high-availability|logging|metering|monitoring|networking|open-source|operations|ops-productivity|os|performance|quality|robustness|scalability|security|storage|testing|usability|user-management
"/area" identifiers: audit-logging|auto-scaling|backup|certification|control-plane-migration|control-plane|cost|delivery|dev-productivity|disaster-recovery|documentation|high-availability|logging|metering|monitoring|networking|open-source|ops-productivity|os|performance|quality|robustness|scalability|security|storage|testing|usability|user-management
"/kind" identifiers: api-change|bug|cleanup|discussion|enhancement|epic|impediment|poc|post-mortem|question|regression|task|technical-debt|test
"/priority" identifiers: normal|critical|blocker
-->
/area testing
/kind flake
/priority normal
**Which test(s)/suite(s) are flaking**:

View File

@@ -1,7 +1,6 @@
---
name: Support Request
about: Support request or question relating to this extension
labels: kind/question
---
@@ -10,5 +9,5 @@ STOP -- PLEASE READ!
GitHub is not the right place for support requests.
If you're looking for help, please post your question on the [Kubernetes Slack](http://slack.k8s.io/) ([#gardener](https://kubernetes.slack.com/messages/gardener) channel) or join our [weekly meetings](https://github.com/gardener/documentation/blob/master/CONTRIBUTING.md#weekly-meeting).
If you're looking for help, please post your question on the [Kubernetes Slack](http://slack.k8s.io/) ([#gardener](https://kubernetes.slack.com/messages/gardener) channel) or join our [bi-weekly meetings](https://gardener.cloud/docs/contribute/#bi-weekly-meetings).
-->

View File

@@ -9,13 +9,11 @@ If multiple identifiers make sense you can also state the commands multiple time
"/area" identifiers: audit-logging|auto-scaling|backup|certification|control-plane-migration|control-plane|cost|delivery|dev-productivity|disaster-recovery|documentation|high-availability|logging|metering|monitoring|networking|open-source|ops-productivity|os|performance|quality|robustness|scalability|security|storage|testing|usability|user-management
"/kind" identifiers: api-change|bug|cleanup|discussion|enhancement|epic|impediment|poc|post-mortem|question|regression|task|technical-debt|test
"/priority" identifiers: normal|critical|blocker
For Gardener Enhancement Proposals (GEPs), please check the following [documentation](https://github.com/gardener/gardener/tree/master/docs/proposals/README.md) before submitting this pull request.
-->
/area TODO
/kind TODO
/priority normal
**What this PR does / why we need it**:

1
.gitignore vendored
View File

@@ -5,6 +5,7 @@
/local
**/dev
/bin
./vendor
*.coverprofile
*.html

View File

@@ -1,12 +1,12 @@
############# builder
FROM eu.gcr.io/gardener-project/3rd/golang:1.15.5 AS builder
FROM golang:1.17.10 AS builder
WORKDIR /go/src/github.com/gardener/gardener-extension-shoot-fleet-agent
WORKDIR /go/src/github.com/ysoftdevs/gardener-extension-shoot-fleet-agent
COPY . .
RUN make install
RUN make vendor install
############# gardener-extension-shoot-fleet-agent
FROM eu.gcr.io/gardener-project/3rd/alpine:3.12.3 AS gardener-extension-shoot-fleet-agent
FROM alpine:3.15.4 AS gardener-extension-shoot-fleet-agent
COPY charts /charts
COPY --from=builder /go/bin/gardener-extension-shoot-fleet-agent /gardener-extension-shoot-fleet-agent

View File

@@ -19,7 +19,7 @@ IMAGE_PREFIX := $(REGISTRY)/gardener-extension
REPO_ROOT := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
HACK_DIR := $(REPO_ROOT)/hack
VERSION := $(shell cat "$(REPO_ROOT)/VERSION")
LD_FLAGS := "-w -X github.com/javamachr/$(EXTENSION_PREFIX)-$(NAME)/pkg/version.Version=$(IMAGE_TAG)"
LD_FLAGS := "-w -X github.com/ysoftdevs/$(EXTENSION_PREFIX)-$(NAME)/pkg/version.Version=$(IMAGE_TAG)"
LEADER_ELECTION := false
IGNORE_OPERATION_ANNOTATION := true
@@ -44,7 +44,7 @@ start:
.PHONY: install
install:
@LD_FLAGS="-w -X github.com/gardener/$(EXTENSION_PREFIX)-$(NAME)/pkg/version.Version=$(VERSION)" \
@LD_FLAGS="-w -X github.com/ysoftdevs/$(EXTENSION_PREFIX)-$(NAME)/pkg/version.Version=$(VERSION)" \
$(REPO_ROOT)/vendor/github.com/gardener/gardener/hack/install.sh ./...
.PHONY: docker-login
@@ -59,6 +59,23 @@ docker-images:
docker-push:
@docker push $(IMAGE_PREFIX)-$(NAME):$(VERSION)
#######################################################
# Rules related to Containerd image build and release #
#######################################################
.PHONY: containerd-login
containerd-login:
@echo "$(DOCKER_PASS)" | nerdctl login -u "$(DOCKER_USER)" --password-stdin
.PHONY: containerd-images
containerd-images:
@nerdctl build -t $(IMAGE_PREFIX)-$(NAME):$(VERSION) -f Dockerfile --target $(EXTENSION_PREFIX)-$(NAME) .
@nerdctl build -t $(IMAGE_PREFIX)-$(NAME):latest -f Dockerfile --target $(EXTENSION_PREFIX)-$(NAME) .
.PHONY: containerd-push
containerd-push:
@nerdctl push $(IMAGE_PREFIX)-$(NAME):$(VERSION)
#####################################################################
# Rules for verification, formatting, linting, testing and cleaning #
#####################################################################
@@ -71,6 +88,13 @@ install-requirements:
@go install -mod=vendor $(REPO_ROOT)/vendor/github.com/onsi/ginkgo/ginkgo
@$(REPO_ROOT)/vendor/github.com/gardener/gardener/hack/install-requirements.sh
.PHONY: vendor
vendor:
@GO111MODULE=on go mod vendor
@chmod +x $(REPO_ROOT)/vendor/github.com/gardener/gardener/hack/*
@chmod +x $(REPO_ROOT)/vendor/github.com/gardener/gardener/hack/.ci/*
@$(REPO_ROOT)/hack/update-github-templates.sh
.PHONY: revendor
revendor:
@GO111MODULE=on go mod vendor

View File

@@ -16,18 +16,19 @@ package main
import (
"github.com/javamachr/gardener-extension-shoot-fleet-agent/cmd/gardener-extension-shoot-fleet-agent/app"
"os"
controllercmd "github.com/gardener/gardener/extensions/pkg/controller/cmd"
"github.com/gardener/gardener/extensions/pkg/log"
"github.com/gardener/gardener/pkg/logger"
runtimelog "sigs.k8s.io/controller-runtime/pkg/log"
"sigs.k8s.io/controller-runtime/pkg/manager/signals"
)
func main() {
runtimelog.SetLogger(log.ZapLogger(false))
runtimelog.SetLogger(logger.ZapLogger(false))
ctx := signals.SetupSignalHandler()
if err := app.NewServiceControllerCommand().ExecuteContext(ctx); err != nil {
controllercmd.LogErrAndExit(err, "error executing the main controller command")
runtimelog.Log.Error(err, "error executing the main controller command")
os.Exit(1)
}
}

170
go.mod
View File

@@ -1,46 +1,144 @@
module github.com/javamachr/gardener-extension-shoot-fleet-agent
go 1.15
go 1.17
require (
github.com/ahmetb/gen-crd-api-reference-docs v0.2.0
github.com/gardener/etcd-druid v0.3.0 // indirect
github.com/gardener/gardener v1.15.1-0.20210115062544-6dc08568692a
github.com/go-logr/logr v0.3.0
github.com/gobuffalo/packr/v2 v2.8.1
github.com/golang/mock v1.4.4-0.20200731163441-8734ec565a4d
github.com/karrick/godirwalk v1.16.1 // indirect
github.com/nwaples/rardecode v1.1.0 // indirect
github.com/onsi/ginkgo v1.14.1
github.com/onsi/gomega v1.10.2 // indirect
github.com/pierrec/lz4 v2.5.2+incompatible // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/rancher/fleet/pkg/apis v0.0.0-20200909045814-3675caaa7070
github.com/rogpeppe/go-internal v1.7.0 // indirect
github.com/sirupsen/logrus v1.7.0 // indirect
github.com/spf13/cobra v1.1.1
github.com/ahmetb/gen-crd-api-reference-docs v0.3.0
github.com/gardener/gardener v1.47.1
github.com/go-logr/logr v1.2.3
github.com/gobuffalo/packr/v2 v2.8.3
github.com/golang/mock v1.6.0
github.com/onsi/ginkgo v1.16.5
github.com/rancher/fleet/pkg/apis v0.0.0-20220601092642-d45a36738d27
github.com/spf13/cobra v1.4.0
github.com/spf13/pflag v1.0.5
github.com/ulikunitz/xz v0.5.7 // indirect
golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad // indirect
golang.org/x/sync v0.0.0-20201207232520-09787c993a3a // indirect
golang.org/x/sys v0.0.0-20210123111255-9b0068b26619 // indirect
golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf // indirect
golang.org/x/tools v0.1.0 // indirect
k8s.io/api v0.19.6
k8s.io/apimachinery v0.19.6
k8s.io/api v0.24.0
k8s.io/apimachinery v0.24.0
k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible
k8s.io/code-generator v0.19.6
k8s.io/component-base v0.19.6
k8s.io/utils v0.0.0-20200912215256-4140de9c8800 // indirect
sigs.k8s.io/controller-runtime v0.7.1
k8s.io/code-generator v0.24.0
k8s.io/component-base v0.24.0
sigs.k8s.io/controller-runtime v0.11.2
)
require (
github.com/BurntSushi/toml v0.3.1 // indirect
github.com/Masterminds/goutils v1.1.1 // indirect
github.com/Masterminds/semver v1.5.0 // indirect
github.com/Masterminds/sprig v2.22.0+incompatible // indirect
github.com/PuerkitoBio/purell v1.1.1 // indirect
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/bronze1man/yaml2json v0.0.0-20211227013850-8972abeaea25 // indirect
github.com/cespare/xxhash/v2 v2.1.2 // indirect
github.com/cyphar/filepath-securejoin v0.2.2 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/emicklei/go-restful v2.9.6+incompatible // indirect
github.com/evanphx/json-patch v4.12.0+incompatible // indirect
github.com/fatih/color v1.13.0 // indirect
github.com/fsnotify/fsnotify v1.5.1 // indirect
github.com/gardener/etcd-druid v0.8.0 // indirect
github.com/gardener/external-dns-management v0.7.18 // indirect
github.com/gardener/hvpa-controller/api v0.5.0 // indirect
github.com/ghodss/yaml v1.0.0 // indirect
github.com/go-logr/zapr v1.2.0 // indirect
github.com/go-openapi/jsonpointer v0.19.5 // indirect
github.com/go-openapi/jsonreference v0.19.5 // indirect
github.com/go-openapi/swag v0.19.14 // indirect
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 // indirect
github.com/gobuffalo/flect v0.2.3 // indirect
github.com/gobuffalo/logger v1.0.6 // indirect
github.com/gobuffalo/packd v1.0.1 // indirect
github.com/gobwas/glob v0.2.3 // indirect
github.com/gogo/protobuf v1.3.2 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/protobuf v1.5.2 // indirect
github.com/google/go-cmp v0.5.7 // indirect
github.com/google/gofuzz v1.1.0 // indirect
github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38 // indirect
github.com/google/uuid v1.1.2 // indirect
github.com/googleapis/gnostic v0.5.5 // indirect
github.com/hashicorp/errwrap v1.0.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/huandu/xstrings v1.3.2 // indirect
github.com/imdario/mergo v0.3.12 // indirect
github.com/inconshreveable/mousetrap v1.0.0 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
github.com/karrick/godirwalk v1.16.1 // indirect
github.com/kubernetes-csi/external-snapshotter/v2 v2.1.4 // indirect
github.com/mailru/easyjson v0.7.6 // indirect
github.com/markbates/errx v1.1.0 // indirect
github.com/markbates/oncer v1.0.0 // indirect
github.com/markbates/safe v1.0.1 // indirect
github.com/mattn/go-colorable v0.1.12 // indirect
github.com/mattn/go-isatty v0.0.14 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/reflectwalk v1.0.2 // indirect
github.com/moby/spdystream v0.2.0 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/nxadm/tail v1.4.8 // indirect
github.com/onsi/ginkgo/v2 v2.1.4 // indirect
github.com/pkg/errors v0.9.1 // indirect
github.com/prometheus/client_golang v1.12.1 // indirect
github.com/prometheus/client_model v0.2.0 // indirect
github.com/prometheus/common v0.32.1 // indirect
github.com/prometheus/procfs v0.7.3 // indirect
github.com/rancher/wrangler v0.6.2-0.20200829053106-7e1dd4260224 // indirect
github.com/rogpeppe/go-internal v1.8.0 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/sirupsen/logrus v1.8.1 // indirect
github.com/spf13/afero v1.8.2 // indirect
go.uber.org/atomic v1.7.0 // indirect
go.uber.org/multierr v1.6.0 // indirect
go.uber.org/zap v1.21.0 // indirect
golang.org/x/crypto v0.0.0-20220516162934-403b01795ae8 // indirect
golang.org/x/mod v0.6.0-dev.0.20220106191415-9b9b3d81d5e3 // indirect
golang.org/x/net v0.0.0-20220412020605-290c469a71a5 // indirect
golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 // indirect
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect
golang.org/x/sys v0.0.0-20220412211240-33da011f77ad // indirect
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
golang.org/x/text v0.3.7 // indirect
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 // indirect
golang.org/x/tools v0.1.10 // indirect
golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect
gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/protobuf v1.28.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
istio.io/api v0.0.0-20220304035241-8c47cbbea144 // indirect
istio.io/client-go v1.12.5 // indirect
istio.io/gogo-genproto v0.0.0-20210113155706-4daf5697332f // indirect
k8s.io/apiextensions-apiserver v0.24.0 // indirect
k8s.io/apiserver v0.24.0 // indirect
k8s.io/autoscaler/vertical-pod-autoscaler v0.10.0 // indirect
k8s.io/gengo v0.0.0-20211129171323-c02415ce4185 // indirect
k8s.io/helm v2.16.1+incompatible // indirect
k8s.io/klog v1.0.0 // indirect
k8s.io/klog/v2 v2.60.1 // indirect
k8s.io/kube-aggregator v0.23.3 // indirect
k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 // indirect
k8s.io/metrics v0.23.3 // indirect
k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9 // indirect
sigs.k8s.io/cli-utils v0.16.0 // indirect
sigs.k8s.io/controller-runtime/tools/setup-envtest v0.0.0-20220513175748-3f265c36d7bf // indirect
sigs.k8s.io/controller-tools v0.8.0 // indirect
sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2 // indirect
sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect
sigs.k8s.io/yaml v1.3.0 // indirect
)
replace (
k8s.io/api => k8s.io/api v0.19.6
k8s.io/apimachinery => k8s.io/apimachinery v0.19.6
k8s.io/apiserver => k8s.io/apiserver v0.19.6
k8s.io/client-go => k8s.io/client-go v0.19.6
k8s.io/code-generator => k8s.io/code-generator v0.19.6
k8s.io/component-base => k8s.io/component-base v0.19.6
k8s.io/helm => k8s.io/helm v2.13.1+incompatible
k8s.io/api => k8s.io/api v0.23.5
k8s.io/apiextensions-apiserver => k8s.io/apiextensions-apiserver v0.23.5
k8s.io/apimachinery => k8s.io/apimachinery v0.23.5
k8s.io/apiserver => k8s.io/apiserver v0.23.5
k8s.io/client-go => k8s.io/client-go v0.23.5
k8s.io/code-generator => k8s.io/code-generator v0.23.5
k8s.io/component-base => k8s.io/component-base v0.23.5
)

1388
go.sum Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -31,10 +31,11 @@ import (
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/serializer"
"k8s.io/client-go/rest"
"k8s.io/client-go/util/retry"
"sigs.k8s.io/controller-runtime/pkg/client"
"sigs.k8s.io/controller-runtime/pkg/log"
gardencorev1beta1helper "github.com/gardener/gardener/pkg/apis/core/v1beta1/helper"
"github.com/gardener/gardener/extensions/pkg/controller"
"github.com/gardener/gardener/extensions/pkg/controller/extension"
"github.com/javamachr/gardener-extension-shoot-fleet-agent/pkg/controller/config"
@@ -250,9 +251,11 @@ func prepareLabels(cluster *extensions.Cluster, serviceConfig projConfig.Project
}
func (a *actuator) updateStatus(ctx context.Context, ex *extensionsv1alpha1.Extension) error {
return controller.TryUpdateStatus(ctx, retry.DefaultBackoff, a.client, ex, func() error {
return nil
})
statusUpdater := controller.NewStatusUpdater(a.logger)
statusUpdater.InjectClient(a.client)
operationType := gardencorev1beta1helper.ComputeOperationType(ex.ObjectMeta, ex.Status.LastOperation)
err := statusUpdater.Success(ctx, ex, operationType, "Successfully reconciled Extension")
return err
}
func (a *actuator) getFleetManager(cluster *extensions.Cluster) *FleetManager {