diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 9a986f6..602c9a5 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,14 +1,14 @@ -{ - "postStartCommand": "bash .devcontainer/test-on-create.sh", - "customizations": { - "vscode": { - "extensions": ["redhat.vscode-yaml", - "ms-kubernetes-tools.vscode-kubernetes-tools", - "golang.Go", - "mhutchie.git-graph", - "766b.go-outliner", "m4ns0ur.base64" - ] - - } - } +{ + "postStartCommand": "bash .devcontainer/test-on-create.sh", + "customizations": { + "vscode": { + "extensions": ["redhat.vscode-yaml", + "ms-kubernetes-tools.vscode-kubernetes-tools", + "golang.Go", + "mhutchie.git-graph", + "766b.go-outliner", "m4ns0ur.base64" + ] + + } + } } \ No newline at end of file diff --git a/.devcontainer/test-on-create.sh b/.devcontainer/test-on-create.sh index 0913a28..9d0abc4 100644 --- a/.devcontainer/test-on-create.sh +++ b/.devcontainer/test-on-create.sh @@ -1,3 +1,4 @@ + #!/bin/bash set -u @@ -5,7 +6,7 @@ set -e set -x KUBERNETES_VERSION=v1.26.1 -GO_VERSION=1.17.8 +GO_VERSION=1.21.7 OPERATOR_SDK_VERSION=v1.19.x CERT_MANAGER_VERSION=v1.12.6 @@ -155,3 +156,4 @@ echo "alias kubens='kubectl config set-context --current --namespace ' " >> ~/.b echo "alias kge='kubectl get events --sort-by=.metadata.creationTimestamp' " >> ~/.bashrc echo "done" + diff --git a/.github/workflows/adcs-sim-image.yml b/.github/workflows/adcs-sim-image.yml new file mode 100644 index 0000000..f96ce15 --- /dev/null +++ b/.github/workflows/adcs-sim-image.yml @@ -0,0 +1,37 @@ +name: Publish ADCS Simulator Docker image on Release + +on: + release: + types: [published] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + + - name: Get the version from tag + id: get_version + run: echo ::set-env name=VERSION::${GITHUB_REF#refs/tags/} + env: + ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' + COMMIT: 'variableContent' + BUILD_TIME: 'variableContent' + PROJECT: 'github.com/nokia/adcs-sim/adcs-sim' + #COMMIT?=$(shell git rev-parse --short HEAD) + #BUILD_TIME?=$(shell date -u '+%Y-%m-%d_%H:%M:%S') + #PROJECT?=github.com/nokia/adcs-sim/adcs-sim + + + - name: Publish to Registry + uses: elgohr/Publish-Docker-Github-Action@master + env: + ACTIONS_ALLOW_UNSECURE_COMMANDS: 'true' + with: + name: djkormo/adcs-sim + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + buildargs: VERSION,COMMIT,BUILD_TIME,PROJECT + tags: "latest,${{ env.VERSION }}" + dockerfile: ./test/Dockerfile + diff --git a/.github/workflows/adcs-simulator.yaml b/.github/workflows/adcs-simulator.yaml index 338126f..05b25d6 100644 --- a/.github/workflows/adcs-simulator.yaml +++ b/.github/workflows/adcs-simulator.yaml @@ -1,76 +1,76 @@ -name: adcs-simulator pipeline - -on: - push: - paths: - - 'test/adcs-sim/**.go' - - 'test/**.go' - - 'test/Dockerfile' - - -jobs: - - buildDocker: - runs-on: ubuntu-latest - env: - APP_NAME: adcs-simulator - - steps: - - uses: actions/checkout@v2 - name: Checkout - with: - - ref: master - - - name: Docker meta - id: meta - uses: docker/metadata-action@v4 - - with: - # list of Docker images to use as base name for tags - images: | - djkormo/adcs-sim - # generate Docker tags based on the following events/attributes - tags: | - type=schedule - type=ref,event=branch - type=ref,event=pr - type=semver,pattern={{version}} - type=semver,pattern={{major}}.{{minor}} - type=semver,pattern={{major}} - type=sha - - - name: Login to DockerHub - if: github.event_name != 'pull_request' - - uses: docker/login-action@v2 - - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Build and push - - uses: docker/build-push-action@v3 - - with: - context: ./test - push: ${{ github.event_name != 'pull_request' }} - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - - - - name: Run Trivy vulnerability scanner - uses: aquasecurity/trivy-action@master - with: - - image-ref: djkormo/adcs-sim:master - - format: 'table' - exit-code: '1' - ignore-unfixed: true - vuln-type: 'os,library' - severity: 'CRITICAL,HIGH' - skip-dirs: /usr/local/bin/ca - - +name: adcs-simulator pipeline + +on: + push: + paths: + - 'test/adcs-sim/**.go' + - 'test/**.go' + - 'test/Dockerfile' + + +jobs: + + buildDocker: + runs-on: ubuntu-latest + env: + APP_NAME: adcs-simulator + + steps: + - uses: actions/checkout@v2 + name: Checkout + with: + + ref: master + + - name: Docker meta + id: meta + uses: docker/metadata-action@v4 + + with: + # list of Docker images to use as base name for tags + images: | + djkormo/adcs-sim + # generate Docker tags based on the following events/attributes + tags: | + type=schedule + type=ref,event=branch + type=ref,event=pr + type=semver,pattern={{version}} + type=semver,pattern={{major}}.{{minor}} + type=semver,pattern={{major}} + type=sha + + - name: Login to DockerHub + if: github.event_name != 'pull_request' + + uses: docker/login-action@v2 + + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build and push + + uses: docker/build-push-action@v3 + + with: + context: ./test + push: ${{ github.event_name != 'pull_request' }} + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + + - name: Run Trivy vulnerability scanner + uses: aquasecurity/trivy-action@master + with: + + image-ref: djkormo/adcs-sim:master + + format: 'table' + exit-code: '1' + ignore-unfixed: true + vuln-type: 'os,library' + severity: 'CRITICAL,HIGH' + skip-dirs: /usr/local/bin/ca + + diff --git a/Dockerfile b/Dockerfile index 4b0bd90..f089e22 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,18 +1,19 @@ # Build the manager binary -FROM golang:1.17 as builder +FROM golang:1.21 as builder + + +ARG VERSION +ARG COMMIT +ARG BUILD_TIME +ARG PROJECT WORKDIR /workspace -#ENV http_proxy=http://defraprx-fihelprx.glb.nsn-net.net:8080 -#ENV https_proxy=http://defraprx-fihelprx.glb.nsn-net.net:8080 -#ENV HTTP_PROXY=http://defraprx-fihelprx.glb.nsn-net.net:8080 -#ENV HTTPS_PROXY=http://defraprx-fihelprx.glb.nsn-net.net:8080 + # Copy the Go Modules manifests COPY go.mod go.mod COPY go.sum go.sum -# fix for CVE -#RUN go get golang.org/x/crypto # cache deps before building and copying source so that we don't need to re-download as much # and so that source changes don't invalidate our downloaded layer @@ -26,9 +27,14 @@ COPY controllers/ controllers/ COPY issuers/ issuers/ COPY adcs/ adcs/ COPY healthcheck/ healthcheck/ - +COPY version/ version/ # Build -RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -a -o manager main.go +#RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -a -o manager main.go + +RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build \ + -ldflags "-s -w -X ${PROJECT}/version.Release=${VERSION} \ + -X ${PROJECT}/version.Commit=${COMMIT} -X ${PROJECT}/version.BuildTime=${BUILD_TIME}" \ + -o manager main.go # Use distroless as minimal base image to package the manager binary # Refer to https://github.com/GoogleContainerTools/distroless for more details diff --git a/Makefile b/Makefile index 88f4bdb..e8a594d 100644 --- a/Makefile +++ b/Makefile @@ -1,311 +1,269 @@ - -dpl ?= deploy.env -include $(dpl) -export $(shell sed 's/=.*//' $(dpl)) -# VERSION defines the project version for the bundle. -# Update this value when you upgrade the version of your project. -# To re-generate a bundle for another specific version without changing the standard setup, you can: -# - use the VERSION as arg of the bundle target (e.g make bundle VERSION=0.0.2) -# - use environment variables to overwrite this value (e.g export VERSION=0.0.2) -VERSION ?= 0.0.1 - -COMMIT?=$(shell git rev-parse --short HEAD) -BUILD_TIME?=$(shell date -u '+%Y-%m-%d_%H:%M:%S') - -PROJECT?=github.com/nokia/adcs-issuer - -# CHANNELS define the bundle channels used in the bundle. -# Add a new line here if you would like to change its default config. (E.g CHANNELS = "candidate,fast,stable") -# To re-generate a bundle for other specific channels without changing the standard setup, you can: -# - use the CHANNELS as arg of the bundle target (e.g make bundle CHANNELS=candidate,fast,stable) -# - use environment variables to overwrite this value (e.g export CHANNELS="candidate,fast,stable") -ifneq ($(origin CHANNELS), undefined) -BUNDLE_CHANNELS := --channels=$(CHANNELS) -endif - -# DEFAULT_CHANNEL defines the default channel used in the bundle. -# Add a new line here if you would like to change its default config. (E.g DEFAULT_CHANNEL = "stable") -# To re-generate a bundle for any other default channel without changing the default setup, you can: -# - use the DEFAULT_CHANNEL as arg of the bundle target (e.g make bundle DEFAULT_CHANNEL=stable) -# - use environment variables to overwrite this value (e.g export DEFAULT_CHANNEL="stable") -ifneq ($(origin DEFAULT_CHANNEL), undefined) -BUNDLE_DEFAULT_CHANNEL := --default-channel=$(DEFAULT_CHANNEL) -endif -BUNDLE_METADATA_OPTS ?= $(BUNDLE_CHANNELS) $(BUNDLE_DEFAULT_CHANNEL) - -# IMAGE_TAG_BASE defines the docker.io namespace and part of the image name for remote images. -# This variable is used to construct full image tags for bundle and catalog images. -# -# For example, running 'make bundle-build bundle-push catalog-build catalog-push' will build and push both -# djkormo.github.io/go-project-operator-bundle:$VERSION and djkormo.github.io/go-project-operator-catalog:$VERSION. -IMAGE_TAG_BASE ?= docker.io/djkormo/adcs-issuer - -# BUNDLE_IMG defines the image:tag used for the bundle. -# You can use it as an arg. (E.g make bundle-build BUNDLE_IMG=/:) -BUNDLE_IMG ?= $(IMAGE_TAG_BASE)-bundle:v$(VERSION) - -# BUNDLE_GEN_FLAGS are the flags passed to the operator-sdk generate bundle command -BUNDLE_GEN_FLAGS ?= -q --overwrite --version $(VERSION) $(BUNDLE_METADATA_OPTS) - -# USE_IMAGE_DIGESTS defines if images are resolved via tags or digests -# You can enable this value if you would like to use SHA Based Digests -# To enable set flag to true -USE_IMAGE_DIGESTS ?= false -ifeq ($(USE_IMAGE_DIGESTS), true) - BUNDLE_GEN_FLAGS += --use-image-digests -endif - -# Image URL to use all building/pushing image targets -IMG ?= controller:latest -# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary. -ENVTEST_K8S_VERSION = 1.23 - -# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set) -ifeq (,$(shell go env GOBIN)) -GOBIN=$(shell go env GOPATH)/bin -else -GOBIN=$(shell go env GOBIN) -endif - -# Setting SHELL to bash allows bash commands to be executed by recipes. -# This is a requirement for 'setup-envtest.sh' in the test target. -# Options are set to exit when a recipe line exits non-zero or a piped command fails. -SHELL = /usr/bin/env bash -o pipefail -.SHELLFLAGS = -ec - -.PHONY: all -all: build - -##@ General - -# The help target prints out all targets with their descriptions organized -# beneath their categories. The categories are represented by '##@' and the -# target descriptions by '##'. The awk commands is responsible for reading the -# entire set of makefiles included in this invocation, looking for lines of the -# file as xyz: ## something, and then pretty-format the target and help. Then, -# if there's a line with ##@ something, that gets pretty-printed as a category. -# More info on the usage of ANSI control characters for terminal formatting: -# https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters -# More info on the awk command: -# http://linuxcommand.org/lc3_adv_awk.php - -.PHONY: help -help: ## Display this help. - @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST) - -##@ Development - -.PHONY: manifests -manifests: controller-gen ## Generate WebhookConfiguration, ClusterRole and CustomResourceDefinition objects. - $(CONTROLLER_GEN) rbac:roleName=manager-role crd webhook paths="./..." output:crd:artifacts:config=config/crd/bases - -.PHONY: generate -generate: controller-gen ## Generate code containing DeepCopy, DeepCopyInto, and DeepCopyObject method implementations. - $(CONTROLLER_GEN) object:headerFile="hack/boilerplate.go.txt" paths="./..." - -.PHONY: fmt -fmt: ## Run go fmt against code. - go fmt ./... - -.PHONY: vet -vet: ## Run go vet against code. - go vet ./... - -.PHONY: test -test: manifests generate fmt vet envtest ## Run tests. - KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(ENVTEST_K8S_VERSION) -p path)" go test ./... -coverprofile cover.out - -.PHONY clean: - go clean - -##@ Build - -.PHONY: build -build: clean generate - go fmt vet ## Build manager binary. - go build -o bin/manager main.go - -.PHONY: run -run: manifests generate fmt vet ## Run a controller from your host. - go run ./main.go - - -##@ Deployment - -ifndef ignore-not-found - ignore-not-found = false -endif - -.PHONY: install -install: manifests kustomize ## Install CRDs into the K8s cluster specified in ~/.kube/config. - $(KUSTOMIZE) build config/crd | kubectl apply -f - - -.PHONY: uninstall -uninstall: manifests kustomize ## Uninstall CRDs from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion. - $(KUSTOMIZE) build config/crd | kubectl delete --ignore-not-found=$(ignore-not-found) -f - - -.PHONY: deploy -deploy: manifests kustomize ## Deploy controller to the K8s cluster specified in ~/.kube/config. - cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG} - $(KUSTOMIZE) build config/default | kubectl apply -f - - -.PHONY: undeploy -undeploy: ## Undeploy controller from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion. - $(KUSTOMIZE) build config/default | kubectl delete --ignore-not-found=$(ignore-not-found) -f - - -CONTROLLER_GEN = $(shell pwd)/bin/controller-gen -.PHONY: controller-gen -controller-gen: ## Download controller-gen locally if necessary. - $(call go-get-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen@v0.8.0) - -KUSTOMIZE = $(shell pwd)/bin/kustomize -.PHONY: kustomize -kustomize: ## Download kustomize locally if necessary. - $(call go-get-tool,$(KUSTOMIZE),sigs.k8s.io/kustomize/kustomize/v3@v3.8.7) - -ENVTEST = $(shell pwd)/bin/setup-envtest -.PHONY: envtest -envtest: ## Download envtest-setup locally if necessary. - $(call go-get-tool,$(ENVTEST),sigs.k8s.io/controller-runtime/tools/setup-envtest@latest) - -# go-get-tool will 'go get' any package $2 and install it to $1. -PROJECT_DIR := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST)))) -define go-get-tool -@[ -f $(1) ] || { \ -set -e ;\ -TMP_DIR=$$(mktemp -d) ;\ -cd $$TMP_DIR ;\ -go mod init tmp ;\ -echo "Downloading $(2)" ;\ -GOBIN=$(PROJECT_DIR)/bin go get $(2) ;\ -rm -rf $$TMP_DIR ;\ -} -endef - -.PHONY: bundle -bundle: manifests kustomize ## Generate bundle manifests and metadata, then validate generated files. - operator-sdk generate kustomize manifests -q - cd config/manager && $(KUSTOMIZE) edit set image controller=$(IMG) - $(KUSTOMIZE) build config/manifests | operator-sdk generate bundle $(BUNDLE_GEN_FLAGS) - operator-sdk bundle validate ./bundle - -.PHONY: bundle-build -bundle-build: ## Build the bundle image. - docker build -f bundle.Dockerfile -t $(BUNDLE_IMG) . - -.PHONY: bundle-push -bundle-push: ## Push the bundle image. - $(MAKE) docker-push IMG=$(BUNDLE_IMG) - -.PHONY: opm -OPM = ./bin/opm -opm: ## Download opm locally if necessary. -ifeq (,$(wildcard $(OPM))) -ifeq (,$(shell which opm 2>/dev/null)) - @{ \ - set -e ;\ - mkdir -p $(dir $(OPM)) ;\ - OS=$(shell go env GOOS) && ARCH=$(shell go env GOARCH) && \ - curl -sSLo $(OPM) https://github.com/operator-framework/operator-registry/releases/download/v1.19.1/$${OS}-$${ARCH}-opm ;\ - chmod +x $(OPM) ;\ - } -else -OPM = $(shell which opm) -endif -endif - -# A comma-separated list of bundle images (e.g. make catalog-build BUNDLE_IMGS=example.com/operator-bundle:v0.1.0,example.com/operator-bundle:v0.2.0). -# These images MUST exist in a registry and be pull-able. -BUNDLE_IMGS ?= $(BUNDLE_IMG) - -# The image tag given to the resulting catalog image (e.g. make catalog-build CATALOG_IMG=example.com/operator-catalog:v0.2.0). -CATALOG_IMG ?= $(IMAGE_TAG_BASE)-catalog:v$(VERSION) - -# Set CATALOG_BASE_IMG to an existing catalog image tag to add $BUNDLE_IMGS to that image. -ifneq ($(origin CATALOG_BASE_IMG), undefined) -FROM_INDEX_OPT := --from-index $(CATALOG_BASE_IMG) -endif - -# Build a catalog image by adding bundle images to an empty catalog using the operator package manager tool, 'opm'. -# This recipe invokes 'opm' in 'semver' bundle add mode. For more information on add modes, see: -# https://github.com/operator-framework/community-operators/blob/7f1438c/docs/packaging-operator.md#updating-your-existing-operator -.PHONY: catalog-build -catalog-build: opm ## Build a catalog image. - $(OPM) index add --container-tool docker --mode semver --tag $(CATALOG_IMG) --bundles $(BUNDLE_IMGS) $(FROM_INDEX_OPT) - -# Push the catalog image. -.PHONY: catalog-push -catalog-push: ## Push a catalog image. - $(MAKE) docker-push IMG=$(CATALOG_IMG) - -.PHONY: dry-run -dry-run: manifests - cd config/manager - $(KUSTOMIZE) build config/default > all-manifests.yaml - -.PHONY: helmify -HELMIFY = $(shell pwd)/bin/helmify -helmify: - $(call go-get-tool,$(HELMIFY),github.com/arttor/helmify/cmd/helmify@v0.3.10) -helm: manifests kustomize helmify - $(KUSTOMIZE) build config/default | $(HELMIFY) - -# Build ADCS simulator -sim: - go build -o bin/adcs-sim test/adcs-sim/main.go - -sim-install: sim - cp bin/adcs-sim /usr/local/bin - mkdir -p /usr/local/adcs-sim - cp -R test/adcs-sim/ca test/adcs-sim/templates /usr/local/adcs-sim - - - -.PHONY: operator-build -operator-build: - go clean - go fmt ## Build manager binary. - go vet - CGO_ENABLED=0 GOOS=${GOOS} GOARCH=${GOARCH} go build \ - -ldflags "-s -w -X ${PROJECT}/version.Release=${VERSION} \ - -X ${PROJECT}/version.Commit=${COMMIT} -X ${PROJECT}/version.BuildTime=${BUILD_TIME}" \ - -o ${APP_NAME} - - - -.PHONY: docker-build -docker-build: ## Build docker image with the manager. - DOCKER_BUILDKIT=1 docker build -t $(APP_NAME) . --progress=plain - -.PHONY: docker-push -docker-push: ## Push docker image with the manager. - docker push $(APP_NAME) - -# Docker publish -publish: repo-login publish-latest publish-version ## Publish the `{version}` ans `latest` tagged containers to ECR - -publish-latest: tag-latest ## Publish the `latest` taged container to ECR - @echo 'publish latest to $(DOCKER_REPO)' - docker push $(DOCKER_REPO)/$(APP_NAME):latest - -publish-version: tag-version ## Publish the `{version}` taged container to ECR - @echo 'publish $(VERSION) to $(DOCKER_REPO)' - docker push $(DOCKER_REPO)/$(APP_NAME):$(VERSION) - -# Docker tagging -tag: tag-latest tag-version ## Generate container tags for the `{version}` ans `latest` tags - -tag-latest: ## Generate container `{version}` tag - @echo 'create tag latest' - docker tag $(APP_NAME) $(DOCKER_REPO)/$(APP_NAME):latest - -tag-version: ## Generate container `latest` tag - @echo 'create tag $(VERSION)' - docker tag $(APP_NAME) $(DOCKER_REPO)/$(APP_NAME):$(VERSION) - - - -inspect: ## Generate container `latest` tag - @echo 'inspect $(APP_NAME)' - docker history $(APP_NAME) - docker inspect $(APP_NAME) \ No newline at end of file + + +dpl ?= deploy.env +include $(dpl) +export $(shell sed 's/=.*//' $(dpl)) + +# Image URL to use all building/pushing image targets +IMG ?= controller:latest +# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary. +ENVTEST_K8S_VERSION = 1.29.0 + +COMMIT?=$(shell git rev-parse --short HEAD) +BUILD_TIME?=$(shell date -u '+%Y-%m-%d_%H:%M:%S') + +PROJECT?=github.com/nokia/adcs-issuer + +# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set) +ifeq (,$(shell go env GOBIN)) +GOBIN=$(shell go env GOPATH)/bin +else +GOBIN=$(shell go env GOBIN) +endif + +# CONTAINER_TOOL defines the container tool to be used for building images. +# Be aware that the target commands are only tested with Docker which is +# scaffolded by default. However, you might want to replace it to use other +# tools. (i.e. podman) +CONTAINER_TOOL ?= docker + +# Setting SHELL to bash allows bash commands to be executed by recipes. +# Options are set to exit when a recipe line exits non-zero or a piped command fails. +SHELL = /usr/bin/env bash -o pipefail +.SHELLFLAGS = -ec + +.PHONY: all +all: build + +##@ General + +# The help target prints out all targets with their descriptions organized +# beneath their categories. The categories are represented by '##@' and the +# target descriptions by '##'. The awk command is responsible for reading the +# entire set of makefiles included in this invocation, looking for lines of the +# file as xyz: ## something, and then pretty-format the target and help. Then, +# if there's a line with ##@ something, that gets pretty-printed as a category. +# More info on the usage of ANSI control characters for terminal formatting: +# https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters +# More info on the awk command: +# http://linuxcommand.org/lc3_adv_awk.php + +.PHONY: help +help: ## Display this help. + @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST) + +##@ Development + +.PHONY: manifests +manifests: controller-gen ## Generate WebhookConfiguration, ClusterRole and CustomResourceDefinition objects. + $(CONTROLLER_GEN) rbac:roleName=manager-role crd webhook paths="./..." output:crd:artifacts:config=config/crd/bases + +.PHONY: generate +generate: controller-gen ## Generate code containing DeepCopy, DeepCopyInto, and DeepCopyObject method implementations. + $(CONTROLLER_GEN) object:headerFile="hack/boilerplate.go.txt" paths="./..." + +.PHONY: fmt +fmt: ## Run go fmt against code. + go fmt ./... + +.PHONY: vet +vet: ## Run go vet against code. + go vet ./... + +.PHONY: test +test: manifests generate fmt vet envtest ## Run tests. + KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(ENVTEST_K8S_VERSION) --bin-dir $(LOCALBIN) -p path)" go test $$(go list ./... | grep -v /e2e) -coverprofile cover.out + +# Utilize Kind or modify the e2e tests to load the image locally, enabling compatibility with other vendors. +.PHONY: test-e2e # Run the e2e tests against a Kind k8s instance that is spun up. +test-e2e: + go test ./test/e2e/ -v -ginkgo.v + +.PHONY: lint +lint: golangci-lint ## Run golangci-lint linter & yamllint + $(GOLANGCI_LINT) run + +.PHONY: lint-fix +lint-fix: golangci-lint ## Run golangci-lint linter and perform fixes + $(GOLANGCI_LINT) run --fix + +##@ Build + +.PHONY: build +build: manifests generate fmt vet ## Build manager binary. +# go build -o bin/manager cmd/main.go + CGO_ENABLED=0 GOOS=${GOOS} GOARCH=${GOARCH} go build \ + -ldflags "-s -w -X ${PROJECT}/version.Release=${VERSION} \ + -X ${PROJECT}/version.Commit=${COMMIT} -X ${PROJECT}/version.BuildTime=${BUILD_TIME}" \ + -o bin/manager main.go + +.PHONY: run +run: manifests generate fmt vet build ## Run a controller from your host. + go run -ldflags "-s -w -X ${PROJECT}/version.Release=${VERSION} \ + -X ${PROJECT}/version.Commit=${COMMIT} -X ${PROJECT}/version.BuildTime=${BUILD_TIME}" ./main.go + +# If you wish to build the manager image targeting other platforms you can use the --platform flag. +# (i.e. docker build --platform linux/arm64). However, you must enable docker buildKit for it. +# More info: https://docs.docker.com/develop/develop-images/build_enhancements/ +.PHONY: docker-build +docker-build: ## Build docker image with the manager. + $(CONTAINER_TOOL) build -t $(APP_NAME) . --progress=plain --build-arg VERSION=${VERSION} --build-arg COMMIT=${COMMIT} --build-arg BUILD_TIME=${BUILD_TIME} --build-arg PROJECT=${PROJECT} + + +.PHONY: docker-build-nc +docker-build-nc: ## Build docker image with the manager. + $(CONTAINER_TOOL) build --no-cache -t $(APP_NAME) . --progress=plain --build-arg VERSION=${VERSION} --build-arg COMMIT=${COMMIT} --build-arg BUILD_TIME=${BUILD_TIME} --build-arg PROJECT=${PROJECT} + + +# Docker publish +.PHONY: docker-publish +docker-publish: docker-repo-login docker-publish-latest docker-publish-version ## Publish the `{version}` ans `latest` tagged containers to ECR + +.PHONY: docker-publish-latest +docker-publish-latest: docker-tag-latest ## Publish the `latest` taged container to ECR + @echo 'publish latest to $(DOCKER_REPO)' + $(CONTAINER_TOOL) push $(DOCKER_REPO)/$(APP_NAME):latest + +.PHONY: docker-publish-version +docker-publish-version: docker-tag-version ## Publish the `{version}` taged container to ECR + @echo 'publish $(VERSION) to $(DOCKER_REPO)' + $(CONTAINER_TOOL) push $(DOCKER_REPO)/$(APP_NAME):$(VERSION) + +# Docker tagging +.PHONY: docker-tag +docker-tag: docker-tag-latest docker-tag-version ## Generate container tags for the `{version}` ans `latest` tags + +.PHONY: docker-tag-latest +docker-tag-latest: ## Generate container `{version}` tag + @echo 'create tag latest' + $(CONTAINER_TOOL) tag $(APP_NAME) $(DOCKER_REPO)/$(APP_NAME):latest + +.PHONY: docker-tag-versaion +docker-tag-version: ## Generate container `latest` tag + @echo 'create tag $(VERSION)' + $(CONTAINER_TOOL) tag $(APP_NAME) $(DOCKER_REPO)/$(APP_NAME):$(VERSION) + + +.PHONY: docker-inspect +docker-inspect: ## Generate container `latest` tag + @echo 'inspect $(APP_NAME)' + $(CONTAINER_TOOL) history $(APP_NAME) + $(CONTAINER_TOOL) inspect $(APP_NAME) + + +.PHONY: docker-push +docker-push: ## Push docker image with the manager. + $(CONTAINER_TOOL) push ${IMG} + + +.PHONY: docker-repo-login +docker-repo-login: ## Login to repo + $(CONTAINER_TOOL) login + +.PHONY: docker-system-prune +docker-system-prune: ## Prune images + $(CONTAINER_TOOL) system prune + +# PLATFORMS defines the target platforms for the manager image be built to provide support to multiple +# architectures. (i.e. make docker-buildx IMG=myregistry/mypoperator:0.0.1). To use this option you need to: +# - be able to use docker buildx. More info: https://docs.docker.com/build/buildx/ +# - have enabled BuildKit. More info: https://docs.docker.com/develop/develop-images/build_enhancements/ +# - be able to push the image to your registry (i.e. if you do not set a valid value via IMG=> then the export will fail) +# To adequately provide solutions that are compatible with multiple platforms, you should consider using this option. +PLATFORMS ?= linux/arm64,linux/amd64,linux/s390x,linux/ppc64le +.PHONY: docker-buildx +docker-buildx: ## Build and push docker image for the manager for cross-platform support + # copy existing Dockerfile and insert --platform=${BUILDPLATFORM} into Dockerfile.cross, and preserve the original Dockerfile + sed -e '1 s/\(^FROM\)/FROM --platform=\$$\{BUILDPLATFORM\}/; t' -e ' 1,// s//FROM --platform=\$$\{BUILDPLATFORM\}/' Dockerfile > Dockerfile.cross + - $(CONTAINER_TOOL) buildx create --name project-v3-builder + $(CONTAINER_TOOL) buildx use project-v3-builder + - $(CONTAINER_TOOL) buildx build --push --platform=$(PLATFORMS) --tag ${IMG} -f Dockerfile.cross . + - $(CONTAINER_TOOL) buildx rm project-v3-builder + rm Dockerfile.cross + +.PHONY: build-installer +build-installer: manifests generate kustomize ## Generate a consolidated YAML with CRDs and deployment. + mkdir -p dist + @if [ -d "config/crd" ]; then \ + $(KUSTOMIZE) build config/crd > dist/install.yaml; \ + fi + echo "---" >> dist/install.yaml # Add a document separator before appending + cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG} + $(KUSTOMIZE) build config/default >> dist/install.yaml + +##@ Deployment + +ifndef ignore-not-found + ignore-not-found = false +endif + +.PHONY: install +install: manifests kustomize ## Install CRDs into the K8s cluster specified in ~/.kube/config. + $(KUSTOMIZE) build config/crd | $(KUBECTL) apply -f - + +.PHONY: uninstall +uninstall: manifests kustomize ## Uninstall CRDs from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion. + $(KUSTOMIZE) build config/crd | $(KUBECTL) delete --ignore-not-found=$(ignore-not-found) -f - + +.PHONY: deploy +deploy: manifests kustomize ## Deploy controller to the K8s cluster specified in ~/.kube/config. + cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG} + $(KUSTOMIZE) build config/default | $(KUBECTL) apply -f - + +.PHONY: undeploy +undeploy: kustomize ## Undeploy controller from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion. + $(KUSTOMIZE) build config/default | $(KUBECTL) delete --ignore-not-found=$(ignore-not-found) -f - + +##@ Dependencies + +## Location to install dependencies to +LOCALBIN ?= $(shell pwd)/bin +$(LOCALBIN): + mkdir -p $(LOCALBIN) + +## Tool Binaries +KUBECTL ?= kubectl +KUSTOMIZE ?= $(LOCALBIN)/kustomize-$(KUSTOMIZE_VERSION) +CONTROLLER_GEN ?= $(LOCALBIN)/controller-gen-$(CONTROLLER_TOOLS_VERSION) +ENVTEST ?= $(LOCALBIN)/setup-envtest-$(ENVTEST_VERSION) +GOLANGCI_LINT = $(LOCALBIN)/golangci-lint-$(GOLANGCI_LINT_VERSION) + +## Tool Versions +KUSTOMIZE_VERSION ?= v5.3.0 +CONTROLLER_TOOLS_VERSION ?= v0.14.0 +ENVTEST_VERSION ?= latest +GOLANGCI_LINT_VERSION ?= v1.54.2 + +.PHONY: kustomize +kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary. +$(KUSTOMIZE): $(LOCALBIN) + $(call go-install-tool,$(KUSTOMIZE),sigs.k8s.io/kustomize/kustomize/v5,$(KUSTOMIZE_VERSION)) + +.PHONY: controller-gen +controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary. +$(CONTROLLER_GEN): $(LOCALBIN) + $(call go-install-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen,$(CONTROLLER_TOOLS_VERSION)) + +.PHONY: envtest +envtest: $(ENVTEST) ## Download setup-envtest locally if necessary. +$(ENVTEST): $(LOCALBIN) + $(call go-install-tool,$(ENVTEST),sigs.k8s.io/controller-runtime/tools/setup-envtest,$(ENVTEST_VERSION)) + +.PHONY: golangci-lint +golangci-lint: $(GOLANGCI_LINT) ## Download golangci-lint locally if necessary. +$(GOLANGCI_LINT): $(LOCALBIN) + $(call go-install-tool,$(GOLANGCI_LINT),github.com/golangci/golangci-lint/cmd/golangci-lint,${GOLANGCI_LINT_VERSION}) + +# go-install-tool will 'go install' any package with custom target and name of binary, if it doesn't exist +# $1 - target path with name of binary (ideally with version) +# $2 - package url which can be installed +# $3 - specific version of package +define go-install-tool +@[ -f $(1) ] || { \ +set -e; \ +package=$(2)@$(3) ;\ +echo "Downloading $${package}" ;\ +GOBIN=$(LOCALBIN) go install $${package} ;\ +mv "$$(echo "$(1)" | sed "s/-$(3)$$//")" $(1) ;\ +} +endef diff --git a/Makefile_old b/Makefile_old new file mode 100644 index 0000000..5ec2dca --- /dev/null +++ b/Makefile_old @@ -0,0 +1,311 @@ + +dpl ?= deploy.env +include $(dpl) +export $(shell sed 's/=.*//' $(dpl)) +# VERSION defines the project version for the bundle. +# Update this value when you upgrade the version of your project. +# To re-generate a bundle for another specific version without changing the standard setup, you can: +# - use the VERSION as arg of the bundle target (e.g make bundle VERSION=0.0.2) +# - use environment variables to overwrite this value (e.g export VERSION=0.0.2) +VERSION ?= 0.0.1 + +COMMIT?=$(shell git rev-parse --short HEAD) +BUILD_TIME?=$(shell date -u '+%Y-%m-%d_%H:%M:%S') + +PROJECT?=github.com/nokia/adcs-issuer + +# CHANNELS define the bundle channels used in the bundle. +# Add a new line here if you would like to change its default config. (E.g CHANNELS = "candidate,fast,stable") +# To re-generate a bundle for other specific channels without changing the standard setup, you can: +# - use the CHANNELS as arg of the bundle target (e.g make bundle CHANNELS=candidate,fast,stable) +# - use environment variables to overwrite this value (e.g export CHANNELS="candidate,fast,stable") +ifneq ($(origin CHANNELS), undefined) +BUNDLE_CHANNELS := --channels=$(CHANNELS) +endif + +# DEFAULT_CHANNEL defines the default channel used in the bundle. +# Add a new line here if you would like to change its default config. (E.g DEFAULT_CHANNEL = "stable") +# To re-generate a bundle for any other default channel without changing the default setup, you can: +# - use the DEFAULT_CHANNEL as arg of the bundle target (e.g make bundle DEFAULT_CHANNEL=stable) +# - use environment variables to overwrite this value (e.g export DEFAULT_CHANNEL="stable") +ifneq ($(origin DEFAULT_CHANNEL), undefined) +BUNDLE_DEFAULT_CHANNEL := --default-channel=$(DEFAULT_CHANNEL) +endif +BUNDLE_METADATA_OPTS ?= $(BUNDLE_CHANNELS) $(BUNDLE_DEFAULT_CHANNEL) + +# IMAGE_TAG_BASE defines the docker.io namespace and part of the image name for remote images. +# This variable is used to construct full image tags for bundle and catalog images. +# +# For example, running 'make bundle-build bundle-push catalog-build catalog-push' will build and push both +# djkormo.github.io/go-project-operator-bundle:$VERSION and djkormo.github.io/go-project-operator-catalog:$VERSION. +IMAGE_TAG_BASE ?= docker.io/djkormo/adcs-issuer + +# BUNDLE_IMG defines the image:tag used for the bundle. +# You can use it as an arg. (E.g make bundle-build BUNDLE_IMG=/:) +BUNDLE_IMG ?= $(IMAGE_TAG_BASE)-bundle:v$(VERSION) + +# BUNDLE_GEN_FLAGS are the flags passed to the operator-sdk generate bundle command +BUNDLE_GEN_FLAGS ?= -q --overwrite --version $(VERSION) $(BUNDLE_METADATA_OPTS) + +# USE_IMAGE_DIGESTS defines if images are resolved via tags or digests +# You can enable this value if you would like to use SHA Based Digests +# To enable set flag to true +USE_IMAGE_DIGESTS ?= false +ifeq ($(USE_IMAGE_DIGESTS), true) + BUNDLE_GEN_FLAGS += --use-image-digests +endif + +# Image URL to use all building/pushing image targets +IMG ?= controller:latest +# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary. +ENVTEST_K8S_VERSION = 1.23 + +# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set) +ifeq (,$(shell go env GOBIN)) +GOBIN=$(shell go env GOPATH)/bin +else +GOBIN=$(shell go env GOBIN) +endif + +# Setting SHELL to bash allows bash commands to be executed by recipes. +# This is a requirement for 'setup-envtest.sh' in the test target. +# Options are set to exit when a recipe line exits non-zero or a piped command fails. +SHELL = /usr/bin/env bash -o pipefail +.SHELLFLAGS = -ec + +.PHONY: all +all: build + +##@ General + +# The help target prints out all targets with their descriptions organized +# beneath their categories. The categories are represented by '##@' and the +# target descriptions by '##'. The awk commands is responsible for reading the +# entire set of makefiles included in this invocation, looking for lines of the +# file as xyz: ## something, and then pretty-format the target and help. Then, +# if there's a line with ##@ something, that gets pretty-printed as a category. +# More info on the usage of ANSI control characters for terminal formatting: +# https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters +# More info on the awk command: +# http://linuxcommand.org/lc3_adv_awk.php + +.PHONY: help +help: ## Display this help. + @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make \033[36m\033[0m\n"} /^[a-zA-Z_0-9-]+:.*?##/ { printf " \033[36m%-15s\033[0m %s\n", $$1, $$2 } /^##@/ { printf "\n\033[1m%s\033[0m\n", substr($$0, 5) } ' $(MAKEFILE_LIST) + +##@ Development + +.PHONY: manifests +manifests: controller-gen ## Generate WebhookConfiguration, ClusterRole and CustomResourceDefinition objects. + $(CONTROLLER_GEN) rbac:roleName=manager-role crd webhook paths="./..." output:crd:artifacts:config=config/crd/bases + +.PHONY: generate +generate: controller-gen ## Generate code containing DeepCopy, DeepCopyInto, and DeepCopyObject method implementations. + $(CONTROLLER_GEN) object:headerFile="hack/boilerplate.go.txt" paths="./..." + +.PHONY: fmt +fmt: ## Run go fmt against code. + go fmt ./... + +.PHONY: vet +vet: ## Run go vet against code. + go vet ./... + +.PHONY: test +test: manifests generate fmt vet envtest ## Run tests. + KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(ENVTEST_K8S_VERSION) -p path)" go test ./... -coverprofile cover.out + +.PHONY clean: + go clean + +##@ Build + +.PHONY: build +build: clean generate + go fmt vet ## Build manager binary. + go build -o bin/manager main.go + +.PHONY: run +run: manifests generate fmt vet ## Run a controller from your host. + go run ./main.go + + +##@ Deployment + +ifndef ignore-not-found + ignore-not-found = false +endif + +.PHONY: install +install: manifests kustomize ## Install CRDs into the K8s cluster specified in ~/.kube/config. + $(KUSTOMIZE) build config/crd | kubectl apply -f - + +.PHONY: uninstall +uninstall: manifests kustomize ## Uninstall CRDs from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion. + $(KUSTOMIZE) build config/crd | kubectl delete --ignore-not-found=$(ignore-not-found) -f - + +.PHONY: deploy +deploy: manifests kustomize ## Deploy controller to the K8s cluster specified in ~/.kube/config. + cd config/manager && $(KUSTOMIZE) edit set image controller=${IMG} + $(KUSTOMIZE) build config/default | kubectl apply -f - + +.PHONY: undeploy +undeploy: ## Undeploy controller from the K8s cluster specified in ~/.kube/config. Call with ignore-not-found=true to ignore resource not found errors during deletion. + $(KUSTOMIZE) build config/default | kubectl delete --ignore-not-found=$(ignore-not-found) -f - + +CONTROLLER_GEN = $(shell pwd)/bin/controller-gen +.PHONY: controller-gen +controller-gen: ## Download controller-gen locally if necessary. + $(call go-get-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen@v0.14.0) + +KUSTOMIZE = $(shell pwd)/bin/kustomize +.PHONY: kustomize +kustomize: ## Download kustomize locally if necessary. + $(call go-get-tool,$(KUSTOMIZE),sigs.k8s.io/kustomize/kustomize/v3@v3.8.7) + +ENVTEST = $(shell pwd)/bin/setup-envtest +.PHONY: envtest +envtest: ## Download envtest-setup locally if necessary. + $(call go-get-tool,$(ENVTEST),sigs.k8s.io/controller-runtime/tools/setup-envtest@latest) + +# go-get-tool will 'go get' any package $2 and install it to $1. +PROJECT_DIR := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST)))) +define go-get-tool +@[ -f $(1) ] || { \ +set -e ;\ +TMP_DIR=$$(mktemp -d) ;\ +cd $$TMP_DIR ;\ +go mod init tmp ;\ +echo "Downloading $(2)" ;\ +GOBIN=$(PROJECT_DIR)/bin go get $(2) ;\ +rm -rf $$TMP_DIR ;\ +} +endef + +.PHONY: bundle +bundle: manifests kustomize ## Generate bundle manifests and metadata, then validate generated files. + operator-sdk generate kustomize manifests -q + cd config/manager && $(KUSTOMIZE) edit set image controller=$(IMG) + $(KUSTOMIZE) build config/manifests | operator-sdk generate bundle $(BUNDLE_GEN_FLAGS) + operator-sdk bundle validate ./bundle + +.PHONY: bundle-build +bundle-build: ## Build the bundle image. + docker build -f bundle.Dockerfile -t $(BUNDLE_IMG) . + +.PHONY: bundle-push +bundle-push: ## Push the bundle image. + $(MAKE) docker-push IMG=$(BUNDLE_IMG) + +.PHONY: opm +OPM = ./bin/opm +opm: ## Download opm locally if necessary. +ifeq (,$(wildcard $(OPM))) +ifeq (,$(shell which opm 2>/dev/null)) + @{ \ + set -e ;\ + mkdir -p $(dir $(OPM)) ;\ + OS=$(shell go env GOOS) && ARCH=$(shell go env GOARCH) && \ + curl -sSLo $(OPM) https://github.com/operator-framework/operator-registry/releases/download/v1.19.1/$${OS}-$${ARCH}-opm ;\ + chmod +x $(OPM) ;\ + } +else +OPM = $(shell which opm) +endif +endif + +# A comma-separated list of bundle images (e.g. make catalog-build BUNDLE_IMGS=example.com/operator-bundle:v0.1.0,example.com/operator-bundle:v0.2.0). +# These images MUST exist in a registry and be pull-able. +BUNDLE_IMGS ?= $(BUNDLE_IMG) + +# The image tag given to the resulting catalog image (e.g. make catalog-build CATALOG_IMG=example.com/operator-catalog:v0.2.0). +CATALOG_IMG ?= $(IMAGE_TAG_BASE)-catalog:v$(VERSION) + +# Set CATALOG_BASE_IMG to an existing catalog image tag to add $BUNDLE_IMGS to that image. +ifneq ($(origin CATALOG_BASE_IMG), undefined) +FROM_INDEX_OPT := --from-index $(CATALOG_BASE_IMG) +endif + +# Build a catalog image by adding bundle images to an empty catalog using the operator package manager tool, 'opm'. +# This recipe invokes 'opm' in 'semver' bundle add mode. For more information on add modes, see: +# https://github.com/operator-framework/community-operators/blob/7f1438c/docs/packaging-operator.md#updating-your-existing-operator +.PHONY: catalog-build +catalog-build: opm ## Build a catalog image. + $(OPM) index add --container-tool docker --mode semver --tag $(CATALOG_IMG) --bundles $(BUNDLE_IMGS) $(FROM_INDEX_OPT) + +# Push the catalog image. +.PHONY: catalog-push +catalog-push: ## Push a catalog image. + $(MAKE) docker-push IMG=$(CATALOG_IMG) + +.PHONY: dry-run +dry-run: manifests + cd config/manager + $(KUSTOMIZE) build config/default > all-manifests.yaml + +.PHONY: helmify +HELMIFY = $(shell pwd)/bin/helmify +helmify: + $(call go-get-tool,$(HELMIFY),github.com/arttor/helmify/cmd/helmify@v0.3.10) +helm: manifests kustomize helmify + $(KUSTOMIZE) build config/default | $(HELMIFY) + +# Build ADCS simulator +sim: + go build -o bin/adcs-sim test/adcs-sim/main.go + +sim-install: sim + cp bin/adcs-sim /usr/local/bin + mkdir -p /usr/local/adcs-sim + cp -R test/adcs-sim/ca test/adcs-sim/templates /usr/local/adcs-sim + + + +.PHONY: operator-build +operator-build: + go clean + go fmt ## Build manager binary. + go vet + CGO_ENABLED=0 GOOS=${GOOS} GOARCH=${GOARCH} go build \ + -ldflags "-s -w -X ${PROJECT}/version.Release=${VERSION} \ + -X ${PROJECT}/version.Commit=${COMMIT} -X ${PROJECT}/version.BuildTime=${BUILD_TIME}" \ + -o ${APP_NAME} + + + +.PHONY: docker-build +docker-build: ## Build docker image with the manager. + DOCKER_BUILDKIT=1 docker build -t $(APP_NAME) . --progress=plain + +.PHONY: docker-push +docker-push: ## Push docker image with the manager. + docker push $(APP_NAME) + +# Docker publish +publish: repo-login publish-latest publish-version ## Publish the `{version}` ans `latest` tagged containers to ECR + +publish-latest: tag-latest ## Publish the `latest` taged container to ECR + @echo 'publish latest to $(DOCKER_REPO)' + docker push $(DOCKER_REPO)/$(APP_NAME):latest + +publish-version: tag-version ## Publish the `{version}` taged container to ECR + @echo 'publish $(VERSION) to $(DOCKER_REPO)' + docker push $(DOCKER_REPO)/$(APP_NAME):$(VERSION) + +# Docker tagging +tag: tag-latest tag-version ## Generate container tags for the `{version}` ans `latest` tags + +tag-latest: ## Generate container `{version}` tag + @echo 'create tag latest' + docker tag $(APP_NAME) $(DOCKER_REPO)/$(APP_NAME):latest + +tag-version: ## Generate container `latest` tag + @echo 'create tag $(VERSION)' + docker tag $(APP_NAME) $(DOCKER_REPO)/$(APP_NAME):$(VERSION) + + + +inspect: ## Generate container `latest` tag + @echo 'inspect $(APP_NAME)' + docker history $(APP_NAME) + docker inspect $(APP_NAME) \ No newline at end of file diff --git a/all-manifests.yaml b/all-manifests.yaml deleted file mode 100644 index 6d9e65e..0000000 --- a/all-manifests.yaml +++ /dev/null @@ -1,661 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - labels: - control-plane: controller-manager - name: cert-manager ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.8.0 - creationTimestamp: null - name: adcsissuers.adcs.certmanager.csf.nokia.com -spec: - group: adcs.certmanager.csf.nokia.com - names: - kind: AdcsIssuer - listKind: AdcsIssuerList - plural: adcsissuers - singular: adcsissuer - scope: Namespaced - versions: - - name: v1 - schema: - openAPIV3Schema: - description: AdcsIssuer is the Schema for the adcsissuers API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: AdcsIssuerSpec defines the desired state of AdcsIssuer - properties: - caBundle: - description: CABundle is a PEM encoded TLS certifiate to use to verify connections to the ADCS server. - format: byte - type: string - credentialsRef: - description: CredentialsRef is a reference to a Secret containing the username and password for the ADCS server. The secret must contain two keys, 'username' and 'password'. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - retryInterval: - description: How often to retry in case of communication errors (in time.ParseDuration() format) Default 1 hour. - type: string - statusCheckInterval: - description: How often to check for request status in the server (in time.ParseDuration() format) Default 6 hours. - type: string - templateName: - description: Which ADCS Template should this issuer use Defaults to the what is specified in main.go or as an cli option. - type: string - url: - description: URL is the base URL for the ADCS instance - type: string - required: - - credentialsRef - - url - type: object - status: - description: AdcsIssuerStatus defines the observed state of AdcsIssuer - type: object - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.8.0 - creationTimestamp: null - name: adcsrequests.adcs.certmanager.csf.nokia.com -spec: - group: adcs.certmanager.csf.nokia.com - names: - kind: AdcsRequest - listKind: AdcsRequestList - plural: adcsrequests - singular: adcsrequest - scope: Namespaced - versions: - - additionalPrinterColumns: - - jsonPath: .status.state - name: State - type: string - name: v1 - schema: - openAPIV3Schema: - description: AdcsRequest is the Schema for the adcsrequests API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: AdcsRequestSpec defines the desired state of AdcsRequest - properties: - csr: - description: Certificate signing request bytes in PEM encoding. This will be used when finalizing the request. This field must be set on the request. - format: byte - type: string - issuerRef: - description: IssuerRef references a properly configured AdcsIssuer which should be used to serve this AdcsRequest. If the Issuer does not exist, processing will be retried. If the Issuer is not an 'ADCS' Issuer, an error will be returned and the ADCSRequest will be marked as failed. - properties: - group: - description: Group of the resource being referred to. - type: string - kind: - description: Kind of the resource being referred to. - type: string - name: - description: Name of the resource being referred to. - type: string - required: - - name - type: object - required: - - csr - - issuerRef - type: object - status: - description: AdcsRequestStatus defines the observed state of AdcsRequest - properties: - id: - description: ID of the Request assigned by the ADCS. This will initially be empty when the resource is first created. The ADCSRequest controller will populate this field when the Request is accepted by ADCS. This field will be immutable after it is initially set. - type: string - reason: - description: Reason optionally provides more information about a why the AdcsRequest is in the current state. - type: string - state: - description: State contains the current state of this ADCSRequest resource. States 'ready' and 'rejected' are 'final' - enum: - - pending - - ready - - errored - - rejected - type: string - type: object - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] ---- -apiVersion: apiextensions.k8s.io/v1 -kind: CustomResourceDefinition -metadata: - annotations: - controller-gen.kubebuilder.io/version: v0.8.0 - creationTimestamp: null - name: clusteradcsissuers.adcs.certmanager.csf.nokia.com -spec: - group: adcs.certmanager.csf.nokia.com - names: - kind: ClusterAdcsIssuer - listKind: ClusterAdcsIssuerList - plural: clusteradcsissuers - singular: clusteradcsissuer - scope: Cluster - versions: - - name: v1 - schema: - openAPIV3Schema: - description: ClusterAdcsIssuer is the Schema for the clusteradcsissuers API - properties: - apiVersion: - description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' - type: string - kind: - description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' - type: string - metadata: - type: object - spec: - description: ClusterAdcsIssuerSpec defines the desired state of ClusterAdcsIssuer - properties: - caBundle: - description: CABundle is a PEM encoded TLS certifiate to use to verify connections to the ADCS server. - format: byte - type: string - credentialsRef: - description: CredentialsRef is a reference to a Secret containing the username and password for the ADCS server. The secret must contain two keys, 'username' and 'password'. - properties: - name: - description: Name of the referent. - type: string - required: - - name - type: object - retryInterval: - description: How often to retry in case of communication errors (in time.ParseDuration() format) Default 1 hour. - type: string - statusCheckInterval: - description: How often to check for request status in the server (in time.ParseDuration() format) Default 6 hours. - type: string - templateName: - description: Which ADCS Template should this issuer use Defaults to the what is specified in main.go or as an cli option. - type: string - url: - description: URL is the base URL for the ADCS instance - type: string - required: - - credentialsRef - - url - type: object - status: - description: ClusterAdcsIssuerStatus defines the observed state of ClusterAdcsIssuer - type: object - type: object - served: true - storage: true - subresources: - status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: adcs-issuer-leader-election-role - namespace: cert-manager -rules: -- apiGroups: - - "" - resources: - - configmaps - verbs: - - get - - list - - watch - - create - - update - - patch - - delete -- apiGroups: - - "" - resources: - - configmaps/status - verbs: - - get - - update - - patch -- apiGroups: - - "" - resources: - - events - verbs: - - create -- apiGroups: - - coordination.k8s.io - resources: - - leases - verbs: - - get - - update - - create ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: adcs-issuer-cert-manager-controller-approve:adcs-certmanager-csf-nokia-com -rules: -- apiGroups: - - cert-manager.io - resourceNames: - - adcsissuers.adcs.certmanager.csf.nokia.com/* - - clusteradcsissuers.adcs.certmanager.csf.nokia.com/* - resources: - - signers - verbs: - - approve ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - creationTimestamp: null - name: adcs-issuer-manager-role -rules: -- apiGroups: - - "" - resources: - - events - verbs: - - create - - patch -- apiGroups: - - "" - resources: - - secrets - verbs: - - get - - list - - watch -- apiGroups: - - adcs.certmanager.csf.nokia.com - resources: - - adcsissuers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - adcs.certmanager.csf.nokia.com - resources: - - adcsissuers/status - verbs: - - get - - patch - - update -- apiGroups: - - adcs.certmanager.csf.nokia.com - resources: - - adcsrequests - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - adcs.certmanager.csf.nokia.com - resources: - - adcsrequests/status - verbs: - - get - - patch - - update -- apiGroups: - - adcs.certmanager.csf.nokia.com - resources: - - clusteradcsissuers - verbs: - - create - - delete - - get - - list - - patch - - update - - watch -- apiGroups: - - adcs.certmanager.csf.nokia.com - resources: - - clusteradcsissuers/status - verbs: - - get - - patch - - update -- apiGroups: - - cert-manager.io - resources: - - certificaterequests - verbs: - - get - - list - - patch - - update - - watch -- apiGroups: - - cert-manager.io - resources: - - certificaterequests/finalizers - - certificaterequests/status - - certificates/finalizers - verbs: - - get - - patch - - update ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: adcs-issuer-proxy-role -rules: -- apiGroups: - - authentication.k8s.io - resources: - - tokenreviews - verbs: - - create -- apiGroups: - - authorization.k8s.io - resources: - - subjectaccessreviews - verbs: - - create ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: adcs-issuer-leader-election-rolebinding - namespace: cert-manager -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: adcs-issuer-leader-election-role -subjects: -- kind: ServiceAccount - name: default - namespace: cert-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: adcs-issuer-cert-manager-controller-approve:adcs-certmanager-csf-nokia-com -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: adcs-issuer-cert-manager-controller-approve:adcs-certmanager-csf-nokia-com -subjects: -- kind: ServiceAccount - name: cert-manager - namespace: cert-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: adcs-issuer-manager-rolebinding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: adcs-issuer-manager-role -subjects: -- kind: ServiceAccount - name: default - namespace: cert-manager ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: adcs-issuer-proxy-rolebinding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: adcs-issuer-proxy-role -subjects: -- kind: ServiceAccount - name: default - namespace: cert-manager ---- -apiVersion: v1 -kind: Service -metadata: - annotations: - prometheus.io/port: "8443" - prometheus.io/scheme: https - prometheus.io/scrape: "true" - labels: - control-plane: controller-manager - name: adcs-issuer-controller-manager-metrics-service - namespace: cert-manager -spec: - ports: - - name: https - port: 8443 - targetPort: https - selector: - control-plane: controller-manager ---- -apiVersion: v1 -kind: Service -metadata: - name: adcs-issuer-webhook-service - namespace: cert-manager -spec: - ports: - - port: 443 - targetPort: 9443 - selector: - control-plane: controller-manager ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - labels: - control-plane: controller-manager - name: adcs-issuer-controller-manager - namespace: cert-manager -spec: - replicas: 1 - selector: - matchLabels: - control-plane: controller-manager - template: - metadata: - labels: - control-plane: controller-manager - spec: - containers: - - args: - - --enable-leader-election - command: - - /manager - image: djkormo/adcs-issuer:dev - name: manager - ports: - - containerPort: 9443 - name: webhook-server - protocol: TCP - resources: - limits: - cpu: 100m - memory: 500Mi - requests: - cpu: 100m - memory: 100Mi - volumeMounts: - - mountPath: /tmp/k8s-webhook-server/serving-certs - name: cert - readOnly: true - terminationGracePeriodSeconds: 10 - volumes: - - name: cert - secret: - defaultMode: 420 - secretName: webhook-server-cert ---- -apiVersion: cert-manager.io/v1 -kind: Certificate -metadata: - name: adcs-issuer-serving-cert - namespace: cert-manager -spec: - commonName: $(SERVICE_NAME).$(SERVICE_NAMESPACE).svc - dnsNames: - - $(SERVICE_NAME).$(SERVICE_NAMESPACE).svc.cluster.local - issuerRef: - kind: ClusterIssuer - name: selfsigned - secretName: webhook-server-cert ---- -apiVersion: admissionregistration.k8s.io/v1 -kind: MutatingWebhookConfiguration -metadata: - creationTimestamp: null - name: adcs-issuer-mutating-webhook-configuration -webhooks: -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: adcs-issuer-webhook-service - namespace: cert-manager - path: /mutate-adcs-certmanager-csf-nokia-com-v1-adcsissuer - failurePolicy: Fail - name: adcsissuer-mutation.adcs.certmanager.csf.nokia.com - rules: - - apiGroups: - - adcs.certmanager.csf.nokia.com - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - adcsissuer - sideEffects: None -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: adcs-issuer-webhook-service - namespace: cert-manager - path: /mutate-batch-certmanager-csf-nokia-com-v1-clusteradcsissuer - failurePolicy: Fail - name: mclusteradcsissuer.kb.io - rules: - - apiGroups: - - batch.certmanager.csf.nokia.com - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - clusteradcsissuers - sideEffects: None ---- -apiVersion: admissionregistration.k8s.io/v1 -kind: ValidatingWebhookConfiguration -metadata: - creationTimestamp: null - name: adcs-issuer-validating-webhook-configuration -webhooks: -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: adcs-issuer-webhook-service - namespace: cert-manager - path: /validate-adcs-certmanager-csf-nokia-com-v1-adcsissuer - failurePolicy: Fail - name: adcsissuer-validation.adcs.certmanager.csf.nokia.com - rules: - - apiGroups: - - adcs.certmanager.csf.nokia.com - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - adcsissuer - sideEffects: None -- admissionReviewVersions: - - v1 - clientConfig: - service: - name: adcs-issuer-webhook-service - namespace: cert-manager - path: /validate-batch-certmanager-csf-nokia-com-v1-clusteradcsissuer - failurePolicy: Fail - name: vclusteradcsissuer.kb.io - rules: - - apiGroups: - - batch.certmanager.csf.nokia.com - apiVersions: - - v1 - operations: - - CREATE - - UPDATE - resources: - - clusteradcsissuers - sideEffects: None diff --git a/api/v1/adcsissuer_webhook.go b/api/v1/.adcsissuer_webhook.go similarity index 75% rename from api/v1/adcsissuer_webhook.go rename to api/v1/.adcsissuer_webhook.go index cda3a15..c8298b1 100644 --- a/api/v1/adcsissuer_webhook.go +++ b/api/v1/.adcsissuer_webhook.go @@ -14,8 +14,9 @@ import ( 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" - "github.com/jetstack/cert-manager/pkg/util/pki" + "github.com/cert-manager/cert-manager/pkg/util/pki" ) var log = logf.Log.WithName("adcsissuer-resource") @@ -47,39 +48,39 @@ func (r *AdcsIssuer) Default() { var _ webhook.Validator = &AdcsIssuer{} // ValidateCreate implements webhook.Validator so a webhook will be registered for the type -func (r *AdcsIssuer) ValidateCreate() error { +func (r *AdcsIssuer) ValidateCreate() (warnings admission.Warnings, err error) { log.Info("validate create", "name", r.Name) return r.validateAdcsIssuer() } // ValidateUpdate implements webhook.Validator so a webhook will be registered for the type -func (r *AdcsIssuer) ValidateUpdate(old runtime.Object) error { +func (r *AdcsIssuer) ValidateUpdate(old runtime.Object) (warnings admission.Warnings, err error) { log.Info("validate update", "name", r.Name) return r.validateAdcsIssuer() } // ValidateDelete implements webhook.Validator so a webhook will be registered for the type -func (r *AdcsIssuer) ValidateDelete() error { +func (r *AdcsIssuer) ValidateDelete() (warnings admission.Warnings, err error) { log.Info("validate delete", "name", r.Name) - return nil + return nil, nil } -func (r *AdcsIssuer) validateAdcsIssuer() error { +func (r *AdcsIssuer) validateAdcsIssuer() (warnings admission.Warnings, err error) { var allErrs field.ErrorList // Validate RetryInterval - _, err := time.ParseDuration(r.Spec.RetryInterval) - if err != nil { - allErrs = append(allErrs, field.Invalid(field.NewPath("spec").Child("retryInterval"), r.Spec.RetryInterval, err.Error())) + _, err_val := time.ParseDuration(r.Spec.RetryInterval) + if err_val != nil { + allErrs = append(allErrs, field.Invalid(field.NewPath("spec").Child("retryInterval"), r.Spec.RetryInterval, err_val.Error())) } // Validate Status Check Interval - _, err = time.ParseDuration(r.Spec.StatusCheckInterval) - if err != nil { - allErrs = append(allErrs, field.Invalid(field.NewPath("spec").Child("statusCheckInterval"), r.Spec.StatusCheckInterval, err.Error())) + _, err_val = time.ParseDuration(r.Spec.StatusCheckInterval) + if err_val != nil { + allErrs = append(allErrs, field.Invalid(field.NewPath("spec").Child("statusCheckInterval"), r.Spec.StatusCheckInterval, err_val.Error())) } // Validate URL. Must be valide http or https URL @@ -89,18 +90,18 @@ func (r *AdcsIssuer) validateAdcsIssuer() error { } // Validate CA Bundle. Must be a valid certificate PEM. - _, err = pki.DecodeX509CertificateBytes(r.Spec.CABundle) - if err != nil { - allErrs = append(allErrs, field.Invalid(field.NewPath("spec").Child("caBundle"), r.Spec.CABundle, err.Error())) + _, err_val = pki.DecodeX509CertificateBytes(r.Spec.CABundle) + if err_val != nil { + allErrs = append(allErrs, field.Invalid(field.NewPath("spec").Child("caBundle"), r.Spec.CABundle, err_val.Error())) } // TODO: Validate credentials secret name? if len(allErrs) == 0 { - return nil + return nil, nil } return apierrors.NewInvalid( schema.GroupKind{Group: "adcs.certmanager.csf.nokia.com", Kind: "AdcsIssuer"}, - r.Name, allErrs) + r.Name, allErrs), nil } diff --git a/api/v1/clusteradcsissuer_webhook.go b/api/v1/.clusteradcsissuer_webhook.go similarity index 79% rename from api/v1/clusteradcsissuer_webhook.go rename to api/v1/.clusteradcsissuer_webhook.go index 82abf51..deed2cd 100644 --- a/api/v1/clusteradcsissuer_webhook.go +++ b/api/v1/.clusteradcsissuer_webhook.go @@ -30,9 +30,12 @@ import ( logf "sigs.k8s.io/controller-runtime/pkg/log" "sigs.k8s.io/controller-runtime/pkg/webhook" - "github.com/jetstack/cert-manager/pkg/util/pki" + "github.com/cert-manager/cert-manager/pkg/util/pki" + "sigs.k8s.io/controller-runtime/pkg/webhook/admission" ) +type Warnings []string + // log is for logging in this package. var clusteradcsissuerlog = logf.Log.WithName("clusteradcsissuer-resource") @@ -66,39 +69,39 @@ func (r *ClusterAdcsIssuer) Default() { var _ webhook.Validator = &ClusterAdcsIssuer{} // ValidateCreate implements webhook.Validator so a webhook will be registered for the type -func (r *ClusterAdcsIssuer) ValidateCreate() error { +func (r *ClusterAdcsIssuer) ValidateCreate() (warnings admission.Warnings, err error) { clusteradcsissuerlog.Info("validate create", "name", r.Name) return r.validateClusterAdcsIssuer() } // ValidateUpdate implements webhook.Validator so a webhook will be registered for the type -func (r *ClusterAdcsIssuer) ValidateUpdate(old runtime.Object) error { +func (r *ClusterAdcsIssuer) ValidateUpdate(old runtime.Object) (warnings admission.Warnings, err error) { clusteradcsissuerlog.Info("validate update", "name", r.Name) return r.validateClusterAdcsIssuer() } // ValidateDelete implements webhook.Validator so a webhook will be registered for the type -func (r *ClusterAdcsIssuer) ValidateDelete() error { +func (r *ClusterAdcsIssuer) ValidateDelete() (warnings admission.Warnings, err error) { clusteradcsissuerlog.Info("validate delete", "name", r.Name) return r.validateClusterAdcsIssuer() } -func (r *ClusterAdcsIssuer) validateClusterAdcsIssuer() error { +func (r *ClusterAdcsIssuer) validateClusterAdcsIssuer() (warnings admission.Warnings, err error) { var allErrs field.ErrorList // Validate RetryInterval - _, err := time.ParseDuration(r.Spec.RetryInterval) - if err != nil { - allErrs = append(allErrs, field.Invalid(field.NewPath("spec").Child("retryInterval"), r.Spec.RetryInterval, err.Error())) + _, err_val := time.ParseDuration(r.Spec.RetryInterval) + if err_val != nil { + allErrs = append(allErrs, field.Invalid(field.NewPath("spec").Child("retryInterval"), r.Spec.RetryInterval, err_val.Error())) } // Validate Status Check Interval - _, err = time.ParseDuration(r.Spec.StatusCheckInterval) - if err != nil { - allErrs = append(allErrs, field.Invalid(field.NewPath("spec").Child("statusCheckInterval"), r.Spec.StatusCheckInterval, err.Error())) + _, err_val = time.ParseDuration(r.Spec.StatusCheckInterval) + if err_val != nil { + allErrs = append(allErrs, field.Invalid(field.NewPath("spec").Child("statusCheckInterval"), r.Spec.StatusCheckInterval, err_val.Error())) } // Validate URL. Must be valide http or https URL @@ -108,18 +111,18 @@ func (r *ClusterAdcsIssuer) validateClusterAdcsIssuer() error { } // Validate CA Bundle. Must be a valid certificate PEM. - _, err = pki.DecodeX509CertificateBytes(r.Spec.CABundle) - if err != nil { - allErrs = append(allErrs, field.Invalid(field.NewPath("spec").Child("caBundle"), r.Spec.CABundle, err.Error())) + _, err_val = pki.DecodeX509CertificateBytes(r.Spec.CABundle) + if err_val != nil { + allErrs = append(allErrs, field.Invalid(field.NewPath("spec").Child("caBundle"), r.Spec.CABundle, err_val.Error())) } // TODO: Validate credentials secret name? if len(allErrs) == 0 { - return nil + return nil, nil } return apierrors.NewInvalid( schema.GroupKind{Group: "adcs.certmanager.csf.nokia.com", Kind: "AdcsIssuer"}, - r.Name, allErrs) + r.Name, allErrs), nil } diff --git a/api/v1/adcsrequest_types.go b/api/v1/adcsrequest_types.go index b676b32..5a36596 100644 --- a/api/v1/adcsrequest_types.go +++ b/api/v1/adcsrequest_types.go @@ -18,7 +18,7 @@ package v1 import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - cmmeta "github.com/jetstack/cert-manager/pkg/apis/meta/v1" + cmmeta "github.com/cert-manager/cert-manager/pkg/apis/meta/v1" ) // EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN! diff --git a/api/v1/zz_generated.deepcopy.go b/api/v1/zz_generated.deepcopy.go index 960e99c..663391d 100644 --- a/api/v1/zz_generated.deepcopy.go +++ b/api/v1/zz_generated.deepcopy.go @@ -1,5 +1,4 @@ //go:build !ignore_autogenerated -// +build !ignore_autogenerated /* @@ -21,7 +20,7 @@ limitations under the License. package v1 import ( - "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. diff --git a/charts/adcs-issuer/Chart.yaml b/charts/adcs-issuer/Chart.yaml index 8b82341..c87ca8f 100644 --- a/charts/adcs-issuer/Chart.yaml +++ b/charts/adcs-issuer/Chart.yaml @@ -13,10 +13,10 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. # Versions are expected to follow Semantic Versioning (https://semver.org/) -version: 2.0.10 +version: 2.1.0 # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. Versions are not expected to # follow Semantic Versioning. They should reflect the version the application is using. # It is recommended to use it with quotes. -appVersion: "2.0.10" +appVersion: "2.1.0" diff --git a/charts/adcs-issuer/README.md b/charts/adcs-issuer/README.md index 406f34e..f7afd1d 100644 --- a/charts/adcs-issuer/README.md +++ b/charts/adcs-issuer/README.md @@ -1,16 +1,16 @@ -helm template adcs-issuer charts/adcs-issuer -n adcs-issuer --values charts/adcs-issuer/values.yaml - -helm template adcs-issuer charts/adcs-issuer -n adcs-issuer --values charts/adcs-issuer/values.yaml > adcs-issuer-all.yaml - -kubectl -n adcs-issuer apply -f adcs-issuer-all.yaml --dry-run=server - - -kubectl -n adcs-issuer get pod - -kubectl -n adcs-issuer logs deploy/adcs-issuer-controller-manager - -kubectl -n adcs-issuer logs deploy/adcs-sim-deployment - - -kubectl -n adcs-issuer delete -f adcs-issuer-all.yaml - +helm template adcs-issuer charts/adcs-issuer -n adcs-issuer --values charts/adcs-issuer/values.yaml + +helm template adcs-issuer charts/adcs-issuer -n adcs-issuer --values charts/adcs-issuer/values.yaml > adcs-issuer-all.yaml + +kubectl -n adcs-issuer apply -f adcs-issuer-all.yaml --dry-run=server + + +kubectl -n adcs-issuer get pod + +kubectl -n adcs-issuer logs deploy/adcs-issuer-controller-manager + +kubectl -n adcs-issuer logs deploy/adcs-sim-deployment + + +kubectl -n adcs-issuer delete -f adcs-issuer-all.yaml + diff --git a/charts/adcs-issuer/templates/deployment.yaml b/charts/adcs-issuer/templates/deployment.yaml index ccf5161..6a3e779 100644 --- a/charts/adcs-issuer/templates/deployment.yaml +++ b/charts/adcs-issuer/templates/deployment.yaml @@ -8,6 +8,9 @@ metadata: {{- include "chart.labels" . | nindent 4 }} spec: replicas: {{ .Values.controllerManager.replicas }} + strategy: + type: + Recreate selector: matchLabels: control-plane: controller-manager @@ -18,6 +21,12 @@ spec: control-plane: controller-manager {{- include "chart.selectorLabels" . | nindent 8 }} spec: + + topologySpreadConstraints: + - maxSkew: 1 + topologyKey: "topology.kubernetes.io/zone" + whenUnsatisfiable: ScheduleAnyway + containers: {{- if .Values.controllerManager.arguments }} - args: @@ -52,6 +61,25 @@ spec: name: webhook-server protocol: TCP resources: {{- toYaml .Values.controllerManager.manager.resources | nindent 10 }} + + {{- with .Values.controllerManager.manager.readinessProbe }} + readinessProbe: + {{- toYaml . | nindent 10 }} + {{- end }} + + + {{- with .Values.controllerManager.manager.livenessProbe }} + livenessProbe: + {{- toYaml . | nindent 10 }} + {{- end }} + securityContext: + allowPrivilegeEscalation: false + readOnlyRootFilesystem: true + capabilities: + drop: + - all + + volumeMounts: {{- if .Values.controllerManager.enabledWebHooks }} - mountPath: /tmp/k8s-webhook-server/serving-certs @@ -64,7 +92,9 @@ spec: subPath: ca-certificates.crt readOnly: true {{- end }} - terminationGracePeriodSeconds: + + terminationGracePeriodSeconds: 30 + securityContext: {{- toYaml .Values.controllerManager.securityContext | nindent 10 }} serviceAccountName: {{ .Values.controllerManager.rbac.serviceAccountName }} diff --git a/charts/adcs-issuer/templates/serviceaccount-rbac.yaml b/charts/adcs-issuer/templates/serviceaccount-rbac.yaml index 2fd6c11..c3dcdf4 100644 --- a/charts/adcs-issuer/templates/serviceaccount-rbac.yaml +++ b/charts/adcs-issuer/templates/serviceaccount-rbac.yaml @@ -4,7 +4,7 @@ kind: ServiceAccount metadata: labels: {{- include "chart.labels" . | nindent 4 }} - name: {{ .Values.controllerManager.rbac.serviceAccountName }} namespace: {{ .Release.Namespace }} + name: {{ .Values.controllerManager.rbac.serviceAccountName }} {{- end }} \ No newline at end of file diff --git a/charts/adcs-issuer/templates/simulator-certificate-secret.yaml b/charts/adcs-issuer/templates/simulator-certificate-secret.yaml index c9b942b..29fd688 100644 --- a/charts/adcs-issuer/templates/simulator-certificate-secret.yaml +++ b/charts/adcs-issuer/templates/simulator-certificate-secret.yaml @@ -1,14 +1,14 @@ -{{- if .Values.simulator.enabled }} - - - -apiVersion: v1 -kind: Secret -metadata: - name: {{.Values.simulator.secretCertificateName | default "adcs-sim-certificate-secret" }} - namespace: {{ .Release.Namespace }} -data: - root.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBdVNkWnBKbEo4NmZmY2FVTW1FVG5VakFUajRVVHB2OExRK2hpMXI2aDd6dEl4M1hqCnJGMk1FSnY0QzAxaENlbThTZFViWnJ3YldhUGlzZkdST2dIOUhGeXYzQ2JaTm5tMFBVaWs1SU1TbUFoZzBTeGYKdVIrdW9xVW9EL3l0NkFXZ0h0QXVTVGt5dzZZeWo1ZzZ0bHh4dGtsVFhqaFl5YTdTZVZIV1pjTXdPMERvTTdKbwpnY0pNSTh5Ulh3WHZRL0EwTUxSVHVNcUJaSUFjQmtiaVErTmN3bE9aM0hWeTgzbXNydkFvTFJ3WDY4UVpLMXd2Cit4Szh4bUVDM1R5ZjZ1b1FhZTN0cGEyVm9NQ1lwUjdRbVhud0cveG1oZnZxOVZURC8vdUVTR3N4QXFWeWI5U0wKaFJNZlNlTEkzeUh4SWxDZGhmRHBVVXhyeXpXanBLN2pFZWpHK3Z0UFl1dE1scmIvZzl5aWZJUHlXam9wZ1BBNgpRU1A2NTNPS2FCVG83K1hjc1R0WkVDSEZHRThIcmRwNXlpblN5WHcyYlBrMjNLVzlUVEY1TllWM2lBNU5BV0JBCjAzMVdJeXFxZFNIRjBIaXJkd3FjeWJrTWZzdXZaMnNRU1VJbXJkSEcrcHV0YjNDdWkySjdqNkRWOHUzTHBrdWUKU3dTOGF6YnE1NENPVmRBTVpKNDUwenlVeTNKWG9hV1NBanJtZUdGeHV3QnhIeTlNc2hOUnM3cm9sbzNkQ1VpUwpuRXhqdlNHQzloaE1qL0xIY0pNZDJmcCtHbEthc21YRmYwMkRhQlJxRzFDSXcrckNmL3Y3WXhSUVNRS0hQZEZaCkJaSnVvUXpjTVdMMHlKZ2VZLzl4OEZDc1pjZG0vRHVlVFRicTY2b1lxVnNoU1Q2bGxOdUV5QjQ5aEhjQ0F3RUEKQVFLQ0FnQnV0UnFpa28xblJROFRrbzZQVlZQRERzQURacHl6azNnVzZKS0F1SWQyMWNuVWlhYlNYelRxa1hlawp1bVcxV2E2ZHJ2Q3RZdmd2aHhCN09XZU9lYlh3Q1hPVmZSMFB0NEdQeXluZEFJcFRvVjdTYzJmZzl4S2lhWUlrCjNQN1c1dFl3MW1WMm50NjlvVmhHQjgzRFVFOGxvWDVacmZOWTFGRkEvUy9tdE9qWDVSMXlHOURsRlZvVlpiSGUKVVZ3WkVUMERpaTh0Sk5odFVUUndoRjJ5SGZaT3MxSWlRWSswQ1NLNWp4dFdyWitYOXk3ZGdFZW9Kakg5bysvawpmT1Zadnc2RmFDQmFtZ29Iam1FM0NjL01sTjUrdlZKSDlyTXNjYnlvQ0ttMTYzSG9sU2h4dVhLYTVTNG1MWlhSCjVTZWJUdnlCSStVK0dTV3k0YVd4U0dpNVFxZ0dVSkJYQkp4dllqbHpIMWo2S1l4Z1pkV0VpQjdjUFo3cGdHVVEKZG9zd3N6Wk1WR20rRkRaZHp6Tm94M2ZVa3BGaHFscUU3MWg4QTRSOTZLQW9GaDQrWTljNjFBNnFZZWpPZFIxcQpybEswOHpJUUdQN1gwZzBsQzdVZm92NW9ZNGdpUVFTYkFpekNqdUhqTXZhdnhEdGh1SUJFSGtQaTlPblVRcmJlCkZCcGhmaUt5SmIzc2lkbXYxSEk0SWJyN2h5dWxaenQwU3ROcGpOUklta1lFQWgzMkdmd2Evb3hnK2xNYTZad2EKRzZIanV3dStjY1RBU1RScHNyblA5S0drU1dNb1FkOVNJUzhwclhXZnRFS21IdW9TVkUwbFBmQ0VCQ3RLNnZydApXWFo2VjQ5TVFwRFFQNEtCc2pGT2U5R29CMnMxTnl4WVlrQXRZb1MwSjBaY0QzclFvUUtDQVFFQTdKV0dpU3llCm9hWVduTkluUXptbnVlbm9yYk0xNnlPVjBnRHVQeXhxK21td051ZkY2a3FOR3JIT1J5alFPRzkrZW1iS2ZqalYKWEloNWFtMnhmaUljaE4vZkxDZjRaMFl4R2I5alNxeVRMbW1KU3FLbXZqR1g4dUxXRTNkdy84ZEp5QVlTY1FFaQpIbkdzdG9FalMybXBkOVp1VGk5di95bEVGS01nUU5jRWJ2S3lOU3NqSC9FOENNSmpiR0RORUxWVUk2bWs5ejF2CmpYKy95TFNHT0JCTUkrMXp1dFdXU0cwWTlwMnFCVERHVlJNMXh2bFhJOHd6OWZ3eGtNME12c1BxVjBqRzJmMmsKZnZZNDlvcEVqc0ZZRlFtb0IzeEFUbmxTdEIyS2RDT213Y0c2YThLaTdFZmRHSHhoNndrU05Jd1dveVhzTFlyMQowMXl4QnRha3o5d2kyUUtDQVFFQXlGbE9nZlQ3ZWVsN2d4T01FdWl3U3AwTmZVbnVxMy96OTFaSE5RYzR5NU16CmlkdWQ3aCsxcFRET045MDVzRlZGa3NuN1Y2cDU3Uk5SSm9lenp3NkZidEJGOFlEbzRVZ0krSnA3Q1JFSjdiNlIKb09NZlRYT0xHdzRjVEJLWXhjS0NrTWl1VWFNVjlxRkJLQ3VWMmVDamx3M0twckJFdTVDQmdkTHBiRVNNdS9qdwpXbGcvUUF2R25XMlk3Vm02MTBmOWRMNkRDdmU4djZUbk9KUTV6aVRROE1tZkV3M0N2MmY2MURXKzVrRGNFbkFvCjR5VFRCamxjY2FIZXF4SWhDR1Vra2dkUTA5TlJ1SC9TUUl5MlB1V1NxdjBWeG1BWW03bnd5d2g0NHRtRmthMUwKRHlNcVVqbm50UGp4MlZFS1phbkN5T0FCWU0xRk11ZWkycS9yVWVPdnp3S0NBUUIyVGY5TXNTZFNKai9BZzhabQpjM3BRR1l2azhHelIvS1Y2c2tSeENzRWtINTJpbHh2OUlQS1dtcnRRRWpTdFEvTzNPWmVncnNMaTFzd0FVSUlsClZPRjJBSTBWQTVmUDdPVzR2bC9rZzQvRjhiaFp2aVFyajVrd09BWmREYWxQL2xRQzFpWjZvOXB2NXVBN0V6Q1gKRVd0UkpjVmJDNVd4dnV6d2RQSTMrazJaUFh1bjRyNVp4c1FDalZJeWErV2ZxVTA5MkNOS0QwcXRNMml2OExYOQphd2pvSG1GMDJFR2lUZ3ZocHMzU2NxVjYvWFF5MzVTWHJoRjl2SEw4dWN6WnlCWnpOMDFZek9GcEs2OG9lZFAyCm52Qnc5TGMxcHdoeE5YSUo1NHZJcjlzL29LU2NKbVJhUzBWZ2JUSjUyYnRrMDNpdWROUTVvZmR6ampKbi9RWEYKZTR0aEFvSUJBUUNtSDA3MmVQRFB6R1pxY0JuVVQvWmxWOFlvbmRYMWhEb0JXeHZkLzJmN2ZNbmVSQ2kybXJwZQpCNUxtUlZ3aE53TmlUSEpJNVlVRnE5Kzg2QWFTNkVLQmVOYVdBa0tYRWNqR2dpa0Vnb2xPQlpidzVZSStFVkZGCmxMU242eitic3NYYVVWd2hPdTNxT3hrd3Vyc2RGcVB1aXpQK2RPZjQ4a0JBS21iOEsvYlpvZmVCb2V5SUtYdDkKYTdQREVvVFhIczB0TVE2dFdHKzhKSHJJc2pjZ0UremZ5djVJcVQ5U3dGLzk5N2FiYXlwUGE0cXJsUXdZL0JVSAo3NlVYQ2dnejB0RzQ5N0h3Z2ljZnFYVG5xd1V1TCtNbVBvWUFvQXVuakV6NXZNT25yWitRQkRYWmpsbjRKaVZYCkxKZzBqbnJsZ3hhTXd4akJjRk14ZTFuUXBNK2xiZnFIQW9JQkFRQ0xpOEovazB6SmNDcnoxcTc0Ky92cnRpV24KbjVJRVlUdllmM0UyWXNqYXVWL2Z2UW5GbWs3eGFEYXNGQ0hIMzNTdzEwclpML29mZVJVK3ppZHhMVTJVRWtvOApuU3V6d3JKMUlDVlJQWjV2K3VLektYSFNBcnEzeFc0aXhBcGJZVHdTdzBuQkxXK01uR01WaDZRbDNJSGlQczM2Cit1bVF2Z2ZJSDlhcHdRdDE1R0ZIRisycllSVXRiZnBIVGFyYmd1Qk9SMnhDV01OUC9RMTFHZ1M0WVRPOEdUUVUKZ0FYWHkyOCtXV00zaGovMUpKZlV5Y3BkbXFiamRyeFpScDErSGFOYkQyT0Q5OHZVclBEeEx4eTVEVTE2R0ZyVgpyaWhObjl0U2NiRWtCR1dERWFHRTBFUVo3WTA2NnlBelJQY2VaMVphQVBGcVdpYVlTa2huMWlYRkdtR1YKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K - root.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUYxekNDQTcrZ0F3SUJBZ0lVS1BFM0tya2FUUENKS3FYS1k4cHR0bWoxNTJVd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1pERUxNQWtHQTFVRUJoTUNVRXd4RHpBTkJnTlZCQWdNQmxkaGNuTmhkekVQTUEwR0ExVUVCd3dHVFc5eQpaRzl5TVJBd0RnWURWUVFLREFkQlJFTlRVMGxOTVFzd0NRWURWUVFMREFKSlZERVVNQklHQTFVRUF3d0xaWGhoCmJYQnNaUzVqYjIwd0hoY05Nak14TWpNeE1USTFNalExV2hjTk16TXhNakk0TVRJMU1qUTFXakJrTVFzd0NRWUQKVlFRR0V3SlFUREVQTUEwR0ExVUVDQXdHVjJGeWMyRjNNUTh3RFFZRFZRUUhEQVpOYjNKa2IzSXhFREFPQmdOVgpCQW9NQjBGRVExTlRTVTB4Q3pBSkJnTlZCQXNNQWtsVU1SUXdFZ1lEVlFRRERBdGxlR0Z0Y0d4bExtTnZiVENDCkFpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVBBRENDQWdvQ2dnSUJBTGtuV2FTWlNmT24zM0dsREpoRTUxSXcKRTQrRkU2Yi9DMFBvWXRhK29lODdTTWQxNDZ4ZGpCQ2IrQXROWVFucHZFblZHMmE4RzFtajRySHhrVG9CL1J4YwpyOXdtMlRaNXREMUlwT1NERXBnSVlORXNYN2tmcnFLbEtBLzhyZWdGb0I3UUxrazVNc09tTW8rWU9yWmNjYlpKClUxNDRXTW11MG5sUjFtWERNRHRBNkRPeWFJSENUQ1BNa1Y4RjcwUHdOREMwVTdqS2dXU0FIQVpHNGtQalhNSlQKbWR4MWN2TjVySzd3S0MwY0YrdkVHU3RjTC9zU3ZNWmhBdDA4bitycUVHbnQ3YVd0bGFEQW1LVWUwSmw1OEJ2OApab1g3NnZWVXcvLzdoRWhyTVFLbGNtL1VpNFVUSDBuaXlOOGg4U0pRbllYdzZWRk1hOHMxbzZTdTR4SG94dnI3ClQyTHJUSmEyLzRQY29ueUQ4bG82S1lEd09rRWordWR6aW1nVTZPL2wzTEU3V1JBaHhSaFBCNjNhZWNvcDBzbDgKTm16NU50eWx2VTB4ZVRXRmQ0Z09UUUZnUU5OOVZpTXFxblVoeGRCNHEzY0tuTW01REg3THIyZHJFRWxDSnEzUgp4dnFiclc5d3JvdGllNCtnMWZMdHk2Wkxua3NFdkdzMjZ1ZUFqbFhRREdTZU9kTThsTXR5VjZHbGtnSTY1bmhoCmNic0FjUjh2VExJVFViTzY2SmFOM1FsSWtweE1ZNzBoZ3ZZWVRJL3l4M0NUSGRuNmZocFNtckpseFg5TmcyZ1UKYWh0UWlNUHF3bi83KzJNVVVFa0NoejNSV1FXU2JxRU0zREZpOU1pWUhtUC9jZkJRckdYSFp2dzduazAyNnV1cQpHS2xiSVVrK3BaVGJoTWdlUFlSM0FnTUJBQUdqZ1lBd2ZqQWRCZ05WSFE0RUZnUVVUS1pVQitFWFRWaVNuV2l2CjNYNGVSN3h0aXVFd0h3WURWUjBqQkJnd0ZvQVVUS1pVQitFWFRWaVNuV2l2M1g0ZVI3eHRpdUV3RHdZRFZSMFQKQVFIL0JBVXdBd0VCL3pBckJnTlZIUkVFSkRBaWdndGxlR0Z0Y0d4bExtTnZiWUlOS2k1bGVHRnRjR3hsTG1OdgpiWWNFQ2dBQUFUQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFjZDVncmV0aTQ0dWtqZ3hXU05vWUZzNkhaNjU5Ck9vc3R4S0xIMGpNRlNVUXh2dDV0cks5a2p3MjdoV1lnNUM3M1dJYzNYbGUvYnlQU3lrVFFzeHE5dGk5NnFlMFQKVTQraHNmZEZWZWtxbE44M2gzcFovTG9EOXlFbFgydnpGa0xhaXFuLzdHV2RmNm00NzJ6cGdYeDZvUGxQNkdUVgpuOXBicVBoYnV0TVNBanBvbXJSNVNpdWVQb3NWaVYxVWpQdjZRVXZLV3VTK0dPUDBIelkrS3UxeWZlejEvcFJwCjB0NUpUZ01OVW9ZU2tqQzRkU3lQQnk5SFFNeFI3T2lnM01OellldUM5MHNZdnY2R0o0bjlzcVF4Y2orYURjM2cKYkR4RlpWOVF1MTlXK3pDZ0xQMjVhcXNjM1I1MmMwZEViQnlaVkVqMnUzNlU3bzJzZ0VSUFZpdjNOdzlxY2ZaRQptVFovK1VROXl1WXJmOWFLYzBxU1U1cVZvdXp4MW5HOVRRYlgvNWdoWmdtd1VMUkxUaWcyb3dBaWJEMDVKVTBlCmF5blNDYm1FSmtkSVB4NWRyS3piYUI5UktKLy9qcmtwbVVTQ084QjlSalJWWm1tSUl0eGRuMjhweUR5N0E4SlgKWFl3QkZRSWZ0Q0IxV1BpeHhybGlUaVlyUW90S2dLNFQ3QS95dFRheUZNdGFNdkJxTTdvdWxqNXYzUG93Y2Zaagpoa2V6YU5Qc1J4NGNMU0cvOVBjMDJRMEVIQ2pMemw4UzhGOC9tMDZuall1OWtQZEc3N3VWMjVvdlNhTnluQm00CmpmMTdQNTJQNXpxUHdXUXNPTU91NTFPVERoeWFnRGgxcVZKYXlyNGs5c2tBcEl5WUVCVHNoQkJ1T3dyUC9ueEYKRjhTRE5uNXdqc1lwVUlzPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== - +{{- if .Values.simulator.enabled }} + + + +apiVersion: v1 +kind: Secret +metadata: + name: {{.Values.simulator.secretCertificateName | default "adcs-sim-certificate-secret" }} + namespace: {{ .Release.Namespace }} +data: + root.key: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlKS1FJQkFBS0NBZ0VBdVNkWnBKbEo4NmZmY2FVTW1FVG5VakFUajRVVHB2OExRK2hpMXI2aDd6dEl4M1hqCnJGMk1FSnY0QzAxaENlbThTZFViWnJ3YldhUGlzZkdST2dIOUhGeXYzQ2JaTm5tMFBVaWs1SU1TbUFoZzBTeGYKdVIrdW9xVW9EL3l0NkFXZ0h0QXVTVGt5dzZZeWo1ZzZ0bHh4dGtsVFhqaFl5YTdTZVZIV1pjTXdPMERvTTdKbwpnY0pNSTh5Ulh3WHZRL0EwTUxSVHVNcUJaSUFjQmtiaVErTmN3bE9aM0hWeTgzbXNydkFvTFJ3WDY4UVpLMXd2Cit4Szh4bUVDM1R5ZjZ1b1FhZTN0cGEyVm9NQ1lwUjdRbVhud0cveG1oZnZxOVZURC8vdUVTR3N4QXFWeWI5U0wKaFJNZlNlTEkzeUh4SWxDZGhmRHBVVXhyeXpXanBLN2pFZWpHK3Z0UFl1dE1scmIvZzl5aWZJUHlXam9wZ1BBNgpRU1A2NTNPS2FCVG83K1hjc1R0WkVDSEZHRThIcmRwNXlpblN5WHcyYlBrMjNLVzlUVEY1TllWM2lBNU5BV0JBCjAzMVdJeXFxZFNIRjBIaXJkd3FjeWJrTWZzdXZaMnNRU1VJbXJkSEcrcHV0YjNDdWkySjdqNkRWOHUzTHBrdWUKU3dTOGF6YnE1NENPVmRBTVpKNDUwenlVeTNKWG9hV1NBanJtZUdGeHV3QnhIeTlNc2hOUnM3cm9sbzNkQ1VpUwpuRXhqdlNHQzloaE1qL0xIY0pNZDJmcCtHbEthc21YRmYwMkRhQlJxRzFDSXcrckNmL3Y3WXhSUVNRS0hQZEZaCkJaSnVvUXpjTVdMMHlKZ2VZLzl4OEZDc1pjZG0vRHVlVFRicTY2b1lxVnNoU1Q2bGxOdUV5QjQ5aEhjQ0F3RUEKQVFLQ0FnQnV0UnFpa28xblJROFRrbzZQVlZQRERzQURacHl6azNnVzZKS0F1SWQyMWNuVWlhYlNYelRxa1hlawp1bVcxV2E2ZHJ2Q3RZdmd2aHhCN09XZU9lYlh3Q1hPVmZSMFB0NEdQeXluZEFJcFRvVjdTYzJmZzl4S2lhWUlrCjNQN1c1dFl3MW1WMm50NjlvVmhHQjgzRFVFOGxvWDVacmZOWTFGRkEvUy9tdE9qWDVSMXlHOURsRlZvVlpiSGUKVVZ3WkVUMERpaTh0Sk5odFVUUndoRjJ5SGZaT3MxSWlRWSswQ1NLNWp4dFdyWitYOXk3ZGdFZW9Kakg5bysvawpmT1Zadnc2RmFDQmFtZ29Iam1FM0NjL01sTjUrdlZKSDlyTXNjYnlvQ0ttMTYzSG9sU2h4dVhLYTVTNG1MWlhSCjVTZWJUdnlCSStVK0dTV3k0YVd4U0dpNVFxZ0dVSkJYQkp4dllqbHpIMWo2S1l4Z1pkV0VpQjdjUFo3cGdHVVEKZG9zd3N6Wk1WR20rRkRaZHp6Tm94M2ZVa3BGaHFscUU3MWg4QTRSOTZLQW9GaDQrWTljNjFBNnFZZWpPZFIxcQpybEswOHpJUUdQN1gwZzBsQzdVZm92NW9ZNGdpUVFTYkFpekNqdUhqTXZhdnhEdGh1SUJFSGtQaTlPblVRcmJlCkZCcGhmaUt5SmIzc2lkbXYxSEk0SWJyN2h5dWxaenQwU3ROcGpOUklta1lFQWgzMkdmd2Evb3hnK2xNYTZad2EKRzZIanV3dStjY1RBU1RScHNyblA5S0drU1dNb1FkOVNJUzhwclhXZnRFS21IdW9TVkUwbFBmQ0VCQ3RLNnZydApXWFo2VjQ5TVFwRFFQNEtCc2pGT2U5R29CMnMxTnl4WVlrQXRZb1MwSjBaY0QzclFvUUtDQVFFQTdKV0dpU3llCm9hWVduTkluUXptbnVlbm9yYk0xNnlPVjBnRHVQeXhxK21td051ZkY2a3FOR3JIT1J5alFPRzkrZW1iS2ZqalYKWEloNWFtMnhmaUljaE4vZkxDZjRaMFl4R2I5alNxeVRMbW1KU3FLbXZqR1g4dUxXRTNkdy84ZEp5QVlTY1FFaQpIbkdzdG9FalMybXBkOVp1VGk5di95bEVGS01nUU5jRWJ2S3lOU3NqSC9FOENNSmpiR0RORUxWVUk2bWs5ejF2CmpYKy95TFNHT0JCTUkrMXp1dFdXU0cwWTlwMnFCVERHVlJNMXh2bFhJOHd6OWZ3eGtNME12c1BxVjBqRzJmMmsKZnZZNDlvcEVqc0ZZRlFtb0IzeEFUbmxTdEIyS2RDT213Y0c2YThLaTdFZmRHSHhoNndrU05Jd1dveVhzTFlyMQowMXl4QnRha3o5d2kyUUtDQVFFQXlGbE9nZlQ3ZWVsN2d4T01FdWl3U3AwTmZVbnVxMy96OTFaSE5RYzR5NU16CmlkdWQ3aCsxcFRET045MDVzRlZGa3NuN1Y2cDU3Uk5SSm9lenp3NkZidEJGOFlEbzRVZ0krSnA3Q1JFSjdiNlIKb09NZlRYT0xHdzRjVEJLWXhjS0NrTWl1VWFNVjlxRkJLQ3VWMmVDamx3M0twckJFdTVDQmdkTHBiRVNNdS9qdwpXbGcvUUF2R25XMlk3Vm02MTBmOWRMNkRDdmU4djZUbk9KUTV6aVRROE1tZkV3M0N2MmY2MURXKzVrRGNFbkFvCjR5VFRCamxjY2FIZXF4SWhDR1Vra2dkUTA5TlJ1SC9TUUl5MlB1V1NxdjBWeG1BWW03bnd5d2g0NHRtRmthMUwKRHlNcVVqbm50UGp4MlZFS1phbkN5T0FCWU0xRk11ZWkycS9yVWVPdnp3S0NBUUIyVGY5TXNTZFNKai9BZzhabQpjM3BRR1l2azhHelIvS1Y2c2tSeENzRWtINTJpbHh2OUlQS1dtcnRRRWpTdFEvTzNPWmVncnNMaTFzd0FVSUlsClZPRjJBSTBWQTVmUDdPVzR2bC9rZzQvRjhiaFp2aVFyajVrd09BWmREYWxQL2xRQzFpWjZvOXB2NXVBN0V6Q1gKRVd0UkpjVmJDNVd4dnV6d2RQSTMrazJaUFh1bjRyNVp4c1FDalZJeWErV2ZxVTA5MkNOS0QwcXRNMml2OExYOQphd2pvSG1GMDJFR2lUZ3ZocHMzU2NxVjYvWFF5MzVTWHJoRjl2SEw4dWN6WnlCWnpOMDFZek9GcEs2OG9lZFAyCm52Qnc5TGMxcHdoeE5YSUo1NHZJcjlzL29LU2NKbVJhUzBWZ2JUSjUyYnRrMDNpdWROUTVvZmR6ampKbi9RWEYKZTR0aEFvSUJBUUNtSDA3MmVQRFB6R1pxY0JuVVQvWmxWOFlvbmRYMWhEb0JXeHZkLzJmN2ZNbmVSQ2kybXJwZQpCNUxtUlZ3aE53TmlUSEpJNVlVRnE5Kzg2QWFTNkVLQmVOYVdBa0tYRWNqR2dpa0Vnb2xPQlpidzVZSStFVkZGCmxMU242eitic3NYYVVWd2hPdTNxT3hrd3Vyc2RGcVB1aXpQK2RPZjQ4a0JBS21iOEsvYlpvZmVCb2V5SUtYdDkKYTdQREVvVFhIczB0TVE2dFdHKzhKSHJJc2pjZ0UremZ5djVJcVQ5U3dGLzk5N2FiYXlwUGE0cXJsUXdZL0JVSAo3NlVYQ2dnejB0RzQ5N0h3Z2ljZnFYVG5xd1V1TCtNbVBvWUFvQXVuakV6NXZNT25yWitRQkRYWmpsbjRKaVZYCkxKZzBqbnJsZ3hhTXd4akJjRk14ZTFuUXBNK2xiZnFIQW9JQkFRQ0xpOEovazB6SmNDcnoxcTc0Ky92cnRpV24KbjVJRVlUdllmM0UyWXNqYXVWL2Z2UW5GbWs3eGFEYXNGQ0hIMzNTdzEwclpML29mZVJVK3ppZHhMVTJVRWtvOApuU3V6d3JKMUlDVlJQWjV2K3VLektYSFNBcnEzeFc0aXhBcGJZVHdTdzBuQkxXK01uR01WaDZRbDNJSGlQczM2Cit1bVF2Z2ZJSDlhcHdRdDE1R0ZIRisycllSVXRiZnBIVGFyYmd1Qk9SMnhDV01OUC9RMTFHZ1M0WVRPOEdUUVUKZ0FYWHkyOCtXV00zaGovMUpKZlV5Y3BkbXFiamRyeFpScDErSGFOYkQyT0Q5OHZVclBEeEx4eTVEVTE2R0ZyVgpyaWhObjl0U2NiRWtCR1dERWFHRTBFUVo3WTA2NnlBelJQY2VaMVphQVBGcVdpYVlTa2huMWlYRkdtR1YKLS0tLS1FTkQgUlNBIFBSSVZBVEUgS0VZLS0tLS0K + root.pem: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUYxekNDQTcrZ0F3SUJBZ0lVS1BFM0tya2FUUENKS3FYS1k4cHR0bWoxNTJVd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1pERUxNQWtHQTFVRUJoTUNVRXd4RHpBTkJnTlZCQWdNQmxkaGNuTmhkekVQTUEwR0ExVUVCd3dHVFc5eQpaRzl5TVJBd0RnWURWUVFLREFkQlJFTlRVMGxOTVFzd0NRWURWUVFMREFKSlZERVVNQklHQTFVRUF3d0xaWGhoCmJYQnNaUzVqYjIwd0hoY05Nak14TWpNeE1USTFNalExV2hjTk16TXhNakk0TVRJMU1qUTFXakJrTVFzd0NRWUQKVlFRR0V3SlFUREVQTUEwR0ExVUVDQXdHVjJGeWMyRjNNUTh3RFFZRFZRUUhEQVpOYjNKa2IzSXhFREFPQmdOVgpCQW9NQjBGRVExTlRTVTB4Q3pBSkJnTlZCQXNNQWtsVU1SUXdFZ1lEVlFRRERBdGxlR0Z0Y0d4bExtTnZiVENDCkFpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVBBRENDQWdvQ2dnSUJBTGtuV2FTWlNmT24zM0dsREpoRTUxSXcKRTQrRkU2Yi9DMFBvWXRhK29lODdTTWQxNDZ4ZGpCQ2IrQXROWVFucHZFblZHMmE4RzFtajRySHhrVG9CL1J4YwpyOXdtMlRaNXREMUlwT1NERXBnSVlORXNYN2tmcnFLbEtBLzhyZWdGb0I3UUxrazVNc09tTW8rWU9yWmNjYlpKClUxNDRXTW11MG5sUjFtWERNRHRBNkRPeWFJSENUQ1BNa1Y4RjcwUHdOREMwVTdqS2dXU0FIQVpHNGtQalhNSlQKbWR4MWN2TjVySzd3S0MwY0YrdkVHU3RjTC9zU3ZNWmhBdDA4bitycUVHbnQ3YVd0bGFEQW1LVWUwSmw1OEJ2OApab1g3NnZWVXcvLzdoRWhyTVFLbGNtL1VpNFVUSDBuaXlOOGg4U0pRbllYdzZWRk1hOHMxbzZTdTR4SG94dnI3ClQyTHJUSmEyLzRQY29ueUQ4bG82S1lEd09rRWordWR6aW1nVTZPL2wzTEU3V1JBaHhSaFBCNjNhZWNvcDBzbDgKTm16NU50eWx2VTB4ZVRXRmQ0Z09UUUZnUU5OOVZpTXFxblVoeGRCNHEzY0tuTW01REg3THIyZHJFRWxDSnEzUgp4dnFiclc5d3JvdGllNCtnMWZMdHk2Wkxua3NFdkdzMjZ1ZUFqbFhRREdTZU9kTThsTXR5VjZHbGtnSTY1bmhoCmNic0FjUjh2VExJVFViTzY2SmFOM1FsSWtweE1ZNzBoZ3ZZWVRJL3l4M0NUSGRuNmZocFNtckpseFg5TmcyZ1UKYWh0UWlNUHF3bi83KzJNVVVFa0NoejNSV1FXU2JxRU0zREZpOU1pWUhtUC9jZkJRckdYSFp2dzduazAyNnV1cQpHS2xiSVVrK3BaVGJoTWdlUFlSM0FnTUJBQUdqZ1lBd2ZqQWRCZ05WSFE0RUZnUVVUS1pVQitFWFRWaVNuV2l2CjNYNGVSN3h0aXVFd0h3WURWUjBqQkJnd0ZvQVVUS1pVQitFWFRWaVNuV2l2M1g0ZVI3eHRpdUV3RHdZRFZSMFQKQVFIL0JBVXdBd0VCL3pBckJnTlZIUkVFSkRBaWdndGxlR0Z0Y0d4bExtTnZiWUlOS2k1bGVHRnRjR3hsTG1OdgpiWWNFQ2dBQUFUQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFjZDVncmV0aTQ0dWtqZ3hXU05vWUZzNkhaNjU5Ck9vc3R4S0xIMGpNRlNVUXh2dDV0cks5a2p3MjdoV1lnNUM3M1dJYzNYbGUvYnlQU3lrVFFzeHE5dGk5NnFlMFQKVTQraHNmZEZWZWtxbE44M2gzcFovTG9EOXlFbFgydnpGa0xhaXFuLzdHV2RmNm00NzJ6cGdYeDZvUGxQNkdUVgpuOXBicVBoYnV0TVNBanBvbXJSNVNpdWVQb3NWaVYxVWpQdjZRVXZLV3VTK0dPUDBIelkrS3UxeWZlejEvcFJwCjB0NUpUZ01OVW9ZU2tqQzRkU3lQQnk5SFFNeFI3T2lnM01OellldUM5MHNZdnY2R0o0bjlzcVF4Y2orYURjM2cKYkR4RlpWOVF1MTlXK3pDZ0xQMjVhcXNjM1I1MmMwZEViQnlaVkVqMnUzNlU3bzJzZ0VSUFZpdjNOdzlxY2ZaRQptVFovK1VROXl1WXJmOWFLYzBxU1U1cVZvdXp4MW5HOVRRYlgvNWdoWmdtd1VMUkxUaWcyb3dBaWJEMDVKVTBlCmF5blNDYm1FSmtkSVB4NWRyS3piYUI5UktKLy9qcmtwbVVTQ084QjlSalJWWm1tSUl0eGRuMjhweUR5N0E4SlgKWFl3QkZRSWZ0Q0IxV1BpeHhybGlUaVlyUW90S2dLNFQ3QS95dFRheUZNdGFNdkJxTTdvdWxqNXYzUG93Y2Zaagpoa2V6YU5Qc1J4NGNMU0cvOVBjMDJRMEVIQ2pMemw4UzhGOC9tMDZuall1OWtQZEc3N3VWMjVvdlNhTnluQm00CmpmMTdQNTJQNXpxUHdXUXNPTU91NTFPVERoeWFnRGgxcVZKYXlyNGs5c2tBcEl5WUVCVHNoQkJ1T3dyUC9ueEYKRjhTRE5uNXdqc1lwVUlzPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== + {{- end }} \ No newline at end of file diff --git a/charts/adcs-issuer/templates/simulator-clusterissuer.yaml b/charts/adcs-issuer/templates/simulator-clusterissuer.yaml index 9dc8d8f..744c07f 100644 --- a/charts/adcs-issuer/templates/simulator-clusterissuer.yaml +++ b/charts/adcs-issuer/templates/simulator-clusterissuer.yaml @@ -1,18 +1,18 @@ -{{- if .Values.simulator.enabled }} - - -apiVersion: adcs.certmanager.csf.nokia.com/v1 -kind: ClusterAdcsIssuer -metadata: - name: {{ .Values.simulator.clusterIssuserName | default "adcs-sim-adcsclusterissuer" }} -spec: - caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGMXpDQ0E3K2dBd0lCQWdJVUtQRTNLcmthVFBDSktxWEtZOHB0dG1qMTUyVXdEUVlKS29aSWh2Y05BUUVMDQpCUUF3WkRFTE1Ba0dBMVVFQmhNQ1VFd3hEekFOQmdOVkJBZ01CbGRoY25OaGR6RVBNQTBHQTFVRUJ3d0dUVzl5DQpaRzl5TVJBd0RnWURWUVFLREFkQlJFTlRVMGxOTVFzd0NRWURWUVFMREFKSlZERVVNQklHQTFVRUF3d0xaWGhoDQpiWEJzWlM1amIyMHdIaGNOTWpNeE1qTXhNVEkxTWpRMVdoY05Nek14TWpJNE1USTFNalExV2pCa01Rc3dDUVlEDQpWUVFHRXdKUVRERVBNQTBHQTFVRUNBd0dWMkZ5YzJGM01ROHdEUVlEVlFRSERBWk5iM0prYjNJeEVEQU9CZ05WDQpCQW9NQjBGRVExTlRTVTB4Q3pBSkJnTlZCQXNNQWtsVU1SUXdFZ1lEVlFRRERBdGxlR0Z0Y0d4bExtTnZiVENDDQpBaUl3RFFZSktvWklodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQUxrbldhU1pTZk9uMzNHbERKaEU1MUl3DQpFNCtGRTZiL0MwUG9ZdGErb2U4N1NNZDE0NnhkakJDYitBdE5ZUW5wdkVuVkcyYThHMW1qNHJIeGtUb0IvUnhjDQpyOXdtMlRaNXREMUlwT1NERXBnSVlORXNYN2tmcnFLbEtBLzhyZWdGb0I3UUxrazVNc09tTW8rWU9yWmNjYlpKDQpVMTQ0V01tdTBubFIxbVhETUR0QTZET3lhSUhDVENQTWtWOEY3MFB3TkRDMFU3aktnV1NBSEFaRzRrUGpYTUpUDQptZHgxY3ZONXJLN3dLQzBjRit2RUdTdGNML3NTdk1aaEF0MDhuK3JxRUdudDdhV3RsYURBbUtVZTBKbDU4QnY4DQpab1g3NnZWVXcvLzdoRWhyTVFLbGNtL1VpNFVUSDBuaXlOOGg4U0pRbllYdzZWRk1hOHMxbzZTdTR4SG94dnI3DQpUMkxyVEphMi80UGNvbnlEOGxvNktZRHdPa0VqK3VkemltZ1U2Ty9sM0xFN1dSQWh4UmhQQjYzYWVjb3Awc2w4DQpObXo1TnR5bHZVMHhlVFdGZDRnT1RRRmdRTk45VmlNcXFuVWh4ZEI0cTNjS25NbTVESDdMcjJkckVFbENKcTNSDQp4dnFiclc5d3JvdGllNCtnMWZMdHk2Wkxua3NFdkdzMjZ1ZUFqbFhRREdTZU9kTThsTXR5VjZHbGtnSTY1bmhoDQpjYnNBY1I4dlRMSVRVYk82NkphTjNRbElrcHhNWTcwaGd2WVlUSS95eDNDVEhkbjZmaHBTbXJKbHhYOU5nMmdVDQphaHRRaU1QcXduLzcrMk1VVUVrQ2h6M1JXUVdTYnFFTTNERmk5TWlZSG1QL2NmQlFyR1hIWnZ3N25rMDI2dXVxDQpHS2xiSVVrK3BaVGJoTWdlUFlSM0FnTUJBQUdqZ1lBd2ZqQWRCZ05WSFE0RUZnUVVUS1pVQitFWFRWaVNuV2l2DQozWDRlUjd4dGl1RXdId1lEVlIwakJCZ3dGb0FVVEtaVUIrRVhUVmlTbldpdjNYNGVSN3h0aXVFd0R3WURWUjBUDQpBUUgvQkFVd0F3RUIvekFyQmdOVkhSRUVKREFpZ2d0bGVHRnRjR3hsTG1OdmJZSU5LaTVsZUdGdGNHeGxMbU52DQpiWWNFQ2dBQUFUQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFjZDVncmV0aTQ0dWtqZ3hXU05vWUZzNkhaNjU5DQpPb3N0eEtMSDBqTUZTVVF4dnQ1dHJLOWtqdzI3aFdZZzVDNzNXSWMzWGxlL2J5UFN5a1RRc3hxOXRpOTZxZTBUDQpVNCtoc2ZkRlZla3FsTjgzaDNwWi9Mb0Q5eUVsWDJ2ekZrTGFpcW4vN0dXZGY2bTQ3MnpwZ1h4Nm9QbFA2R1RWDQpuOXBicVBoYnV0TVNBanBvbXJSNVNpdWVQb3NWaVYxVWpQdjZRVXZLV3VTK0dPUDBIelkrS3UxeWZlejEvcFJwDQowdDVKVGdNTlVvWVNrakM0ZFN5UEJ5OUhRTXhSN09pZzNNTnpZZXVDOTBzWXZ2NkdKNG45c3FReGNqK2FEYzNnDQpiRHhGWlY5UXUxOVcrekNnTFAyNWFxc2MzUjUyYzBkRWJCeVpWRWoydTM2VTdvMnNnRVJQVml2M053OXFjZlpFDQptVFovK1VROXl1WXJmOWFLYzBxU1U1cVZvdXp4MW5HOVRRYlgvNWdoWmdtd1VMUkxUaWcyb3dBaWJEMDVKVTBlDQpheW5TQ2JtRUprZElQeDVkckt6YmFCOVJLSi8vanJrcG1VU0NPOEI5UmpSVlptbUlJdHhkbjI4cHlEeTdBOEpYDQpYWXdCRlFJZnRDQjFXUGl4eHJsaVRpWXJRb3RLZ0s0VDdBL3l0VGF5Rk10YU12QnFNN291bGo1djNQb3djZlpqDQpoa2V6YU5Qc1J4NGNMU0cvOVBjMDJRMEVIQ2pMemw4UzhGOC9tMDZuall1OWtQZEc3N3VWMjVvdlNhTnluQm00DQpqZjE3UDUyUDV6cVB3V1FzT01PdTUxT1REaHlhZ0RoMXFWSmF5cjRrOXNrQXBJeVlFQlRzaEJCdU93clAvbnhGDQpGOFNETm41d2pzWXBVSXM9DQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t - credentialsRef: - name: {{ .Values.simulator.secretName | default "adcs-sim-secret" }} # secret with username and password - statusCheckInterval: 1m - retryInterval: 1m - url: https://{{ .Values.simulator.serviceName }}.{{ .Release.Namespace }}.svc:{{ .Values.simulator.servicePort }} # external host - templateName: BasicSSLWebServer # external template - - +{{- if .Values.simulator.enabled }} + + +apiVersion: adcs.certmanager.csf.nokia.com/v1 +kind: ClusterAdcsIssuer +metadata: + name: {{ .Values.simulator.clusterIssuserName | default "adcs-sim-adcsclusterissuer" }} +spec: + caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGMXpDQ0E3K2dBd0lCQWdJVUtQRTNLcmthVFBDSktxWEtZOHB0dG1qMTUyVXdEUVlKS29aSWh2Y05BUUVMDQpCUUF3WkRFTE1Ba0dBMVVFQmhNQ1VFd3hEekFOQmdOVkJBZ01CbGRoY25OaGR6RVBNQTBHQTFVRUJ3d0dUVzl5DQpaRzl5TVJBd0RnWURWUVFLREFkQlJFTlRVMGxOTVFzd0NRWURWUVFMREFKSlZERVVNQklHQTFVRUF3d0xaWGhoDQpiWEJzWlM1amIyMHdIaGNOTWpNeE1qTXhNVEkxTWpRMVdoY05Nek14TWpJNE1USTFNalExV2pCa01Rc3dDUVlEDQpWUVFHRXdKUVRERVBNQTBHQTFVRUNBd0dWMkZ5YzJGM01ROHdEUVlEVlFRSERBWk5iM0prYjNJeEVEQU9CZ05WDQpCQW9NQjBGRVExTlRTVTB4Q3pBSkJnTlZCQXNNQWtsVU1SUXdFZ1lEVlFRRERBdGxlR0Z0Y0d4bExtTnZiVENDDQpBaUl3RFFZSktvWklodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQUxrbldhU1pTZk9uMzNHbERKaEU1MUl3DQpFNCtGRTZiL0MwUG9ZdGErb2U4N1NNZDE0NnhkakJDYitBdE5ZUW5wdkVuVkcyYThHMW1qNHJIeGtUb0IvUnhjDQpyOXdtMlRaNXREMUlwT1NERXBnSVlORXNYN2tmcnFLbEtBLzhyZWdGb0I3UUxrazVNc09tTW8rWU9yWmNjYlpKDQpVMTQ0V01tdTBubFIxbVhETUR0QTZET3lhSUhDVENQTWtWOEY3MFB3TkRDMFU3aktnV1NBSEFaRzRrUGpYTUpUDQptZHgxY3ZONXJLN3dLQzBjRit2RUdTdGNML3NTdk1aaEF0MDhuK3JxRUdudDdhV3RsYURBbUtVZTBKbDU4QnY4DQpab1g3NnZWVXcvLzdoRWhyTVFLbGNtL1VpNFVUSDBuaXlOOGg4U0pRbllYdzZWRk1hOHMxbzZTdTR4SG94dnI3DQpUMkxyVEphMi80UGNvbnlEOGxvNktZRHdPa0VqK3VkemltZ1U2Ty9sM0xFN1dSQWh4UmhQQjYzYWVjb3Awc2w4DQpObXo1TnR5bHZVMHhlVFdGZDRnT1RRRmdRTk45VmlNcXFuVWh4ZEI0cTNjS25NbTVESDdMcjJkckVFbENKcTNSDQp4dnFiclc5d3JvdGllNCtnMWZMdHk2Wkxua3NFdkdzMjZ1ZUFqbFhRREdTZU9kTThsTXR5VjZHbGtnSTY1bmhoDQpjYnNBY1I4dlRMSVRVYk82NkphTjNRbElrcHhNWTcwaGd2WVlUSS95eDNDVEhkbjZmaHBTbXJKbHhYOU5nMmdVDQphaHRRaU1QcXduLzcrMk1VVUVrQ2h6M1JXUVdTYnFFTTNERmk5TWlZSG1QL2NmQlFyR1hIWnZ3N25rMDI2dXVxDQpHS2xiSVVrK3BaVGJoTWdlUFlSM0FnTUJBQUdqZ1lBd2ZqQWRCZ05WSFE0RUZnUVVUS1pVQitFWFRWaVNuV2l2DQozWDRlUjd4dGl1RXdId1lEVlIwakJCZ3dGb0FVVEtaVUIrRVhUVmlTbldpdjNYNGVSN3h0aXVFd0R3WURWUjBUDQpBUUgvQkFVd0F3RUIvekFyQmdOVkhSRUVKREFpZ2d0bGVHRnRjR3hsTG1OdmJZSU5LaTVsZUdGdGNHeGxMbU52DQpiWWNFQ2dBQUFUQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFjZDVncmV0aTQ0dWtqZ3hXU05vWUZzNkhaNjU5DQpPb3N0eEtMSDBqTUZTVVF4dnQ1dHJLOWtqdzI3aFdZZzVDNzNXSWMzWGxlL2J5UFN5a1RRc3hxOXRpOTZxZTBUDQpVNCtoc2ZkRlZla3FsTjgzaDNwWi9Mb0Q5eUVsWDJ2ekZrTGFpcW4vN0dXZGY2bTQ3MnpwZ1h4Nm9QbFA2R1RWDQpuOXBicVBoYnV0TVNBanBvbXJSNVNpdWVQb3NWaVYxVWpQdjZRVXZLV3VTK0dPUDBIelkrS3UxeWZlejEvcFJwDQowdDVKVGdNTlVvWVNrakM0ZFN5UEJ5OUhRTXhSN09pZzNNTnpZZXVDOTBzWXZ2NkdKNG45c3FReGNqK2FEYzNnDQpiRHhGWlY5UXUxOVcrekNnTFAyNWFxc2MzUjUyYzBkRWJCeVpWRWoydTM2VTdvMnNnRVJQVml2M053OXFjZlpFDQptVFovK1VROXl1WXJmOWFLYzBxU1U1cVZvdXp4MW5HOVRRYlgvNWdoWmdtd1VMUkxUaWcyb3dBaWJEMDVKVTBlDQpheW5TQ2JtRUprZElQeDVkckt6YmFCOVJLSi8vanJrcG1VU0NPOEI5UmpSVlptbUlJdHhkbjI4cHlEeTdBOEpYDQpYWXdCRlFJZnRDQjFXUGl4eHJsaVRpWXJRb3RLZ0s0VDdBL3l0VGF5Rk10YU12QnFNN291bGo1djNQb3djZlpqDQpoa2V6YU5Qc1J4NGNMU0cvOVBjMDJRMEVIQ2pMemw4UzhGOC9tMDZuall1OWtQZEc3N3VWMjVvdlNhTnluQm00DQpqZjE3UDUyUDV6cVB3V1FzT01PdTUxT1REaHlhZ0RoMXFWSmF5cjRrOXNrQXBJeVlFQlRzaEJCdU93clAvbnhGDQpGOFNETm41d2pzWXBVSXM9DQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t + credentialsRef: + name: {{ .Values.simulator.secretName | default "adcs-sim-secret" }} # secret with username and password + statusCheckInterval: 1m + retryInterval: 1m + url: https://{{ .Values.simulator.serviceName }}.{{ .Release.Namespace }}.svc:{{ .Values.simulator.servicePort }} # external host + templateName: BasicSSLWebServer # external template + + {{- end }} \ No newline at end of file diff --git a/charts/adcs-issuer/templates/simulator-deployment.yaml b/charts/adcs-issuer/templates/simulator-deployment.yaml index 49eeeef..8376ec4 100644 --- a/charts/adcs-issuer/templates/simulator-deployment.yaml +++ b/charts/adcs-issuer/templates/simulator-deployment.yaml @@ -1,106 +1,108 @@ -{{- if .Values.simulator.enabled }} -apiVersion: apps/v1 -kind: Deployment -metadata: - name: {{.Values.simulator.deploymentName | default "adcs-sim-deployment" }} - namespace: {{ .Release.Namespace }} -spec: - replicas: 1 - strategy: - type: - Recreate - selector: - matchLabels: - control-plane: adcs-sim - template: - metadata: - labels: - control-plane: adcs-sim - spec: - securityContext: - {{- toYaml .Values.simulator.podSecurityContext | nindent 8 }} - containers: - {{- if .Values.simulator.arguments }} - - args: - {{- range $key, $value := .Values.simulator.arguments }} - {{- if $value }} - - --{{ $key }}={{ $value }} - {{- else }} - - --{{ $key }} - {{- end }} - {{- end }} - {{- end }} - - command: - - /usr/local/adcs-sim/manager - image: {{ .Values.simulator.image.repository }}:{{ .Values.simulator.image.tag }} - imagePullPolicy: Always - env: - - - name: ENABLE_DEBUG - value: {{ .Values.simulator.environment.ENABLE_DEBUG |quote }} - - name: manager - volumeMounts: - - # emptydirs for storing csr and cert files - - name: csr - mountPath: "/usr/local/adcs-sim/ca" - - # ca cert - - name: config-pem - mountPath: "/usr/local/adcs-sim/ca/root.pem" - subPath: root.pem - readOnly: true - - # ca key - - name: config-key - mountPath: "/usr/local/adcs-sim/ca/root.key" - subPath: root.key - readOnly: true - - ports: - - containerPort: {{ .Values.simulator.containerPort | default 8443 }} # the same as --port=8443 in arguments - name: adcs-sim - protocol: TCP - - resources: {{- toYaml .Values.simulator.resources | nindent 10 }} - - securityContext: - {{- toYaml .Values.simulator.containerSecurityContext | nindent 10 }} - - {{- with .Values.livenessProbe }} - livenessProbe: - {{- toYaml . | nindent 10 }} - {{- end }} - - {{- with .Values.simulator.readinessProbe }} - readinessProbe: - {{- toYaml . | nindent 10 }} - {{- end }} - livenessProbe: - - {{- with .Values.simulator.livenessProbe }} - livenessProbe: - {{- toYaml . | nindent 10 }} - {{- end }} - - terminationGracePeriodSeconds: 10 - - - volumes: - - - name: csr - emptyDir: - sizeLimit: 50Mi - - - name: config-pem - secret: - secretName: {{.Values.simulator.secretCertificateName | default "adcs-sim-certificate-secret" }} # secret for storing ca cert - - - name: config-key - secret: - secretName: {{.Values.simulator.secretCertificateName | default "adcs-sim-certificate-secret" }} # secret for storing ca key - - +{{- if .Values.simulator.enabled }} +apiVersion: apps/v1 +kind: Deployment +metadata: + name: {{.Values.simulator.deploymentName | default "adcs-sim-deployment" }} + namespace: {{ .Release.Namespace }} +spec: + replicas: 1 + strategy: + type: + Recreate + selector: + matchLabels: + control-plane: adcs-sim + template: + metadata: + labels: + control-plane: adcs-sim + spec: + + topologySpreadConstraints: + - maxSkew: 1 + topologyKey: "topology.kubernetes.io/zone" + whenUnsatisfiable: ScheduleAnyway + + securityContext: + {{- toYaml .Values.simulator.podSecurityContext | nindent 8 }} + containers: + {{- if .Values.simulator.arguments }} + - args: + {{- range $key, $value := .Values.simulator.arguments }} + {{- if $value }} + - --{{ $key }}={{ $value }} + {{- else }} + - --{{ $key }} + {{- end }} + {{- end }} + {{- end }} + + command: + - /usr/local/adcs-sim/manager + image: {{ .Values.simulator.image.repository }}:{{ .Values.simulator.image.tag }} + imagePullPolicy: Always + env: + + - name: ENABLE_DEBUG + value: {{ .Values.simulator.environment.ENABLE_DEBUG |quote }} + + name: manager + volumeMounts: + + # emptydirs for storing csr and cert files + - name: csr + mountPath: "/usr/local/adcs-sim/ca" + + # ca cert + - name: config-pem + mountPath: "/usr/local/adcs-sim/ca/root.pem" + subPath: root.pem + readOnly: true + + # ca key + - name: config-key + mountPath: "/usr/local/adcs-sim/ca/root.key" + subPath: root.key + readOnly: true + + ports: + - containerPort: {{ .Values.simulator.containerPort | default 8443 }} # the same as --port=8443 in arguments + name: adcs-sim + protocol: TCP + + resources: {{- toYaml .Values.simulator.resources | nindent 10 }} + + securityContext: + {{- toYaml .Values.simulator.containerSecurityContext | nindent 10 }} + + + {{- with .Values.simulator.readinessProbe }} + readinessProbe: + {{- toYaml . | nindent 10 }} + {{- end }} + livenessProbe: + + {{- with .Values.simulator.livenessProbe }} + livenessProbe: + {{- toYaml . | nindent 10 }} + {{- end }} + + terminationGracePeriodSeconds: 10 + + + volumes: + + - name: csr + emptyDir: + sizeLimit: 50Mi + + - name: config-pem + secret: + secretName: {{.Values.simulator.secretCertificateName | default "adcs-sim-certificate-secret" }} # secret for storing ca cert + + - name: config-key + secret: + secretName: {{.Values.simulator.secretCertificateName | default "adcs-sim-certificate-secret" }} # secret for storing ca key + + {{- end }} \ No newline at end of file diff --git a/charts/adcs-issuer/templates/simulator-example-certificate.yaml b/charts/adcs-issuer/templates/simulator-example-certificate.yaml index 747195a..be06225 100644 --- a/charts/adcs-issuer/templates/simulator-example-certificate.yaml +++ b/charts/adcs-issuer/templates/simulator-example-certificate.yaml @@ -1,30 +1,30 @@ -{{- if .Values.simulator.exampleCertificate.enabled }} - - -apiVersion: cert-manager.io/v1 -kind: Certificate -metadata: - - name: {{ .Values.simulator.exampleCertificate.name | default "adcs-sim-certificate" }} - namespace: {{ .Release.Namespace }} -spec: - commonName: example.com - dnsNames: - - adcs1.example.com - - adcs2.example.com - - issuerRef: - group: adcs.certmanager.csf.nokia.com - kind: ClusterAdcsIssuer - name: {{ .Values.simulator.clusterIssuserName | default "adcs-sim-adcsclusterissuer" }} - - duration: 2160h # 90d - renewBefore: 360h # 15d - subject: - organizations: - - Your organization - - secretName: {{.Values.simulator.secretName | default "adcs-sim-secret" }} - - +{{- if .Values.simulator.exampleCertificate.enabled }} + + +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + + name: {{ .Values.simulator.exampleCertificate.name | default "adcs-sim-certificate" }} + namespace: {{ .Release.Namespace }} +spec: + commonName: example.com + dnsNames: + - adcs1.example.com + - adcs2.example.com + + issuerRef: + group: adcs.certmanager.csf.nokia.com + kind: ClusterAdcsIssuer + name: {{ .Values.simulator.clusterIssuserName | default "adcs-sim-adcsclusterissuer" }} + + duration: 2160h # 90d + renewBefore: 360h # 15d + subject: + organizations: + - Your organization + + secretName: {{.Values.simulator.secretName | default "adcs-sim-secret" }} + + {{- end }} \ No newline at end of file diff --git a/charts/adcs-issuer/templates/simulator-secret.yaml b/charts/adcs-issuer/templates/simulator-secret.yaml index 2de0e50..7adfc86 100644 --- a/charts/adcs-issuer/templates/simulator-secret.yaml +++ b/charts/adcs-issuer/templates/simulator-secret.yaml @@ -1,14 +1,14 @@ -{{- if .Values.simulator.enabled }} - - -apiVersion: v1 -kind: Secret -metadata: - name: {{.Values.simulator.secretName | default "adcs-sim-secret" }} - namespace: {{ .Release.Namespace }} -type: Opaque -data: - password: cGFzc3dvcmQ= # password - username: dXNlcm5hbWU= # username - +{{- if .Values.simulator.enabled }} + + +apiVersion: v1 +kind: Secret +metadata: + name: {{.Values.simulator.secretName | default "adcs-sim-secret" }} + namespace: {{ .Release.Namespace }} +type: Opaque +data: + password: cGFzc3dvcmQ= # password + username: dXNlcm5hbWU= # username + {{- end }} \ No newline at end of file diff --git a/charts/adcs-issuer/templates/simulator-service.yaml b/charts/adcs-issuer/templates/simulator-service.yaml index 4f2bd83..c8bc742 100644 --- a/charts/adcs-issuer/templates/simulator-service.yaml +++ b/charts/adcs-issuer/templates/simulator-service.yaml @@ -1,15 +1,15 @@ -{{- if .Values.simulator.enabled }} - -apiVersion: v1 -kind: Service -metadata: - name: {{.Values.simulator.serviceName | default "adcs-sim-service" }} - namespace: {{ .Release.Namespace }} -spec: - ports: - - port: {{ .Values.simulator.servicePort | default 8443 }} - targetPort: {{ .Values.simulator.containerPort | default 8443 }} - selector: - control-plane: adcs-sim - +{{- if .Values.simulator.enabled }} + +apiVersion: v1 +kind: Service +metadata: + name: {{.Values.simulator.serviceName | default "adcs-sim-service" }} + namespace: {{ .Release.Namespace }} +spec: + ports: + - port: {{ .Values.simulator.servicePort | default 8443 }} + targetPort: {{ .Values.simulator.containerPort | default 8443 }} + selector: + control-plane: adcs-sim + {{- end }} \ No newline at end of file diff --git a/charts/adcs-issuer/values.yaml b/charts/adcs-issuer/values.yaml index c7e9b08..50965dc 100644 --- a/charts/adcs-issuer/values.yaml +++ b/charts/adcs-issuer/values.yaml @@ -1,11 +1,14 @@ crd: install: true +# ADCS Issuer + controllerManager: + manager: image: repository: djkormo/adcs-issuer - tag: 2.0.9 + tag: 2.1.0 resources: limits: cpu: 100m @@ -14,6 +17,23 @@ controllerManager: cpu: 100m memory: 100Mi + livenessProbe: + httpGet: + path: /healthz + port: 8081 + scheme: HTTP + timeoutSeconds: 10 + periodSeconds: 10 + + readinessProbe: + httpGet: + path: /readyz + port: 8081 + scheme: HTTP + timeoutSeconds: 20 + periodSeconds: 20 + initialDelaySeconds: 10 + rbac: enabled: true serviceAccountName: adcs-issuer @@ -36,6 +56,7 @@ controllerManager: securityContext: runAsUser: 1000 + enabledWebHooks: false enabledCaCerts: false caCertsSecretName: ca-certificates @@ -46,12 +67,17 @@ metricsService: port: 8443 targetPort: https type: ClusterIP + webhookService: ports: - port: 443 targetPort: 9443 type: ClusterIP + + +# ADCS Simulator + simulator: enabled: true clusterIssuserName: adcs-sim-adcsclusterissuer diff --git a/config/crd/bases/adcs.certmanager.csf.nokia.com_adcsissuers.yaml b/config/crd/bases/adcs.certmanager.csf.nokia.com_adcsissuers.yaml index bd3fba5..1d6a0ae 100644 --- a/config/crd/bases/adcs.certmanager.csf.nokia.com_adcsissuers.yaml +++ b/config/crd/bases/adcs.certmanager.csf.nokia.com_adcsissuers.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.8.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: adcsissuers.adcs.certmanager.csf.nokia.com spec: group: adcs.certmanager.csf.nokia.com @@ -21,14 +20,19 @@ spec: description: AdcsIssuer is the Schema for the adcsissuers API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -36,14 +40,16 @@ spec: description: AdcsIssuerSpec defines the desired state of AdcsIssuer properties: caBundle: - description: CABundle is a PEM encoded TLS certifiate to use to verify - connections to the ADCS server. + description: |- + CABundle is a PEM encoded TLS certifiate to use to verify connections to + the ADCS server. format: byte type: string credentialsRef: - description: CredentialsRef is a reference to a Secret containing - the username and password for the ADCS server. The secret must contain - two keys, 'username' and 'password'. + description: |- + CredentialsRef is a reference to a Secret containing the username and + password for the ADCS server. + The secret must contain two keys, 'username' and 'password'. properties: name: description: Name of the referent. @@ -52,16 +58,19 @@ spec: - name type: object retryInterval: - description: How often to retry in case of communication errors (in - time.ParseDuration() format) Default 1 hour. + description: |- + How often to retry in case of communication errors (in time.ParseDuration() format) + Default 1 hour. type: string statusCheckInterval: - description: How often to check for request status in the server (in - time.ParseDuration() format) Default 6 hours. + description: |- + How often to check for request status in the server (in time.ParseDuration() format) + Default 6 hours. type: string templateName: - description: Which ADCS Template should this issuer use Defaults to - the what is specified in main.go or as an cli option. + description: |- + Which ADCS Template should this issuer use + Defaults to the what is specified in main.go or as an cli option. type: string url: description: URL is the base URL for the ADCS instance @@ -78,9 +87,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/config/crd/bases/adcs.certmanager.csf.nokia.com_adcsrequests.yaml b/config/crd/bases/adcs.certmanager.csf.nokia.com_adcsrequests.yaml index 02040de..054b88b 100644 --- a/config/crd/bases/adcs.certmanager.csf.nokia.com_adcsrequests.yaml +++ b/config/crd/bases/adcs.certmanager.csf.nokia.com_adcsrequests.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.8.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: adcsrequests.adcs.certmanager.csf.nokia.com spec: group: adcs.certmanager.csf.nokia.com @@ -25,14 +24,19 @@ spec: description: AdcsRequest is the Schema for the adcsrequests API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -40,17 +44,19 @@ spec: description: AdcsRequestSpec defines the desired state of AdcsRequest properties: csr: - description: Certificate signing request bytes in PEM encoding. This - will be used when finalizing the request. This field must be set - on the request. + description: |- + Certificate signing request bytes in PEM encoding. + This will be used when finalizing the request. + This field must be set on the request. format: byte type: string issuerRef: - description: IssuerRef references a properly configured AdcsIssuer - which should be used to serve this AdcsRequest. If the Issuer does - not exist, processing will be retried. If the Issuer is not an 'ADCS' - Issuer, an error will be returned and the ADCSRequest will be marked - as failed. + description: |- + IssuerRef references a properly configured AdcsIssuer which should + be used to serve this AdcsRequest. + If the Issuer does not exist, processing will be retried. + If the Issuer is not an 'ADCS' Issuer, an error will be returned and the + ADCSRequest will be marked as failed. properties: group: description: Group of the resource being referred to. @@ -72,18 +78,21 @@ spec: description: AdcsRequestStatus defines the observed state of AdcsRequest properties: id: - description: ID of the Request assigned by the ADCS. This will initially - be empty when the resource is first created. The ADCSRequest controller - will populate this field when the Request is accepted by ADCS. This - field will be immutable after it is initially set. + description: |- + ID of the Request assigned by the ADCS. + This will initially be empty when the resource is first created. + The ADCSRequest controller will populate this field when the Request is accepted by ADCS. + This field will be immutable after it is initially set. type: string reason: - description: Reason optionally provides more information about a why - the AdcsRequest is in the current state. + description: |- + Reason optionally provides more information about a why the AdcsRequest is in + the current state. type: string state: - description: State contains the current state of this ADCSRequest - resource. States 'ready' and 'rejected' are 'final' + description: |- + State contains the current state of this ADCSRequest resource. + States 'ready' and 'rejected' are 'final' enum: - pending - ready @@ -96,9 +105,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/config/crd/bases/adcs.certmanager.csf.nokia.com_clusteradcsissuers.yaml b/config/crd/bases/adcs.certmanager.csf.nokia.com_clusteradcsissuers.yaml index c0a0af0..6aeb3a0 100644 --- a/config/crd/bases/adcs.certmanager.csf.nokia.com_clusteradcsissuers.yaml +++ b/config/crd/bases/adcs.certmanager.csf.nokia.com_clusteradcsissuers.yaml @@ -3,8 +3,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.8.0 - creationTimestamp: null + controller-gen.kubebuilder.io/version: v0.14.0 name: clusteradcsissuers.adcs.certmanager.csf.nokia.com spec: group: adcs.certmanager.csf.nokia.com @@ -21,14 +20,19 @@ spec: description: ClusterAdcsIssuer is the Schema for the clusteradcsissuers API properties: apiVersion: - description: 'APIVersion defines the versioned schema of this representation - of an object. Servers should convert recognized schemas to the latest - internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' + description: |- + APIVersion defines the versioned schema of this representation of an object. + Servers should convert recognized schemas to the latest internal value, and + may reject unrecognized values. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources type: string kind: - description: 'Kind is a string value representing the REST resource this - object represents. Servers may infer this from the endpoint the client - submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' + description: |- + Kind is a string value representing the REST resource this object represents. + Servers may infer this from the endpoint the client submits requests to. + Cannot be updated. + In CamelCase. + More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds type: string metadata: type: object @@ -36,14 +40,16 @@ spec: description: ClusterAdcsIssuerSpec defines the desired state of ClusterAdcsIssuer properties: caBundle: - description: CABundle is a PEM encoded TLS certifiate to use to verify - connections to the ADCS server. + description: |- + CABundle is a PEM encoded TLS certifiate to use to verify connections to + the ADCS server. format: byte type: string credentialsRef: - description: CredentialsRef is a reference to a Secret containing - the username and password for the ADCS server. The secret must contain - two keys, 'username' and 'password'. + description: |- + CredentialsRef is a reference to a Secret containing the username and + password for the ADCS server. + The secret must contain two keys, 'username' and 'password'. properties: name: description: Name of the referent. @@ -52,16 +58,19 @@ spec: - name type: object retryInterval: - description: How often to retry in case of communication errors (in - time.ParseDuration() format) Default 1 hour. + description: |- + How often to retry in case of communication errors (in time.ParseDuration() format) + Default 1 hour. type: string statusCheckInterval: - description: How often to check for request status in the server (in - time.ParseDuration() format) Default 6 hours. + description: |- + How often to check for request status in the server (in time.ParseDuration() format) + Default 6 hours. type: string templateName: - description: Which ADCS Template should this issuer use Defaults to - the what is specified in main.go or as an cli option. + description: |- + Which ADCS Template should this issuer use + Defaults to the what is specified in main.go or as an cli option. type: string url: description: URL is the base URL for the ADCS instance @@ -78,9 +87,3 @@ spec: storage: true subresources: status: {} -status: - acceptedNames: - kind: "" - plural: "" - conditions: [] - storedVersions: [] diff --git a/config/rbac/role.yaml b/config/rbac/role.yaml index d10f210..e4ab9de 100644 --- a/config/rbac/role.yaml +++ b/config/rbac/role.yaml @@ -2,7 +2,6 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: - creationTimestamp: null name: manager-role rules: - apiGroups: diff --git a/config/webhook/manifests.yaml b/config/webhook/manifests.yaml index 23fc6c4..fa59e39 100644 --- a/config/webhook/manifests.yaml +++ b/config/webhook/manifests.yaml @@ -2,7 +2,6 @@ apiVersion: admissionregistration.k8s.io/v1 kind: MutatingWebhookConfiguration metadata: - creationTimestamp: null name: mutating-webhook-configuration webhooks: - admissionReviewVersions: @@ -49,7 +48,6 @@ webhooks: apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration metadata: - creationTimestamp: null name: validating-webhook-configuration webhooks: - admissionReviewVersions: diff --git a/controllers/suite_test.go b/controllers/.suite_test.go similarity index 97% rename from controllers/suite_test.go rename to controllers/.suite_test.go index bfa662b..b6f1893 100644 --- a/controllers/suite_test.go +++ b/controllers/.suite_test.go @@ -27,7 +27,7 @@ import ( "k8s.io/client-go/rest" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/envtest" - "sigs.k8s.io/controller-runtime/pkg/envtest/printer" + //"sigs.k8s.io/controller-runtime/pkg/envtest/printer" logf "sigs.k8s.io/controller-runtime/pkg/log" "sigs.k8s.io/controller-runtime/pkg/log/zap" // +kubebuilder:scaffold:imports diff --git a/controllers/adcsrequest_controller.go b/controllers/adcsrequest_controller.go index dce6623..8474e54 100644 --- a/controllers/adcsrequest_controller.go +++ b/controllers/adcsrequest_controller.go @@ -27,8 +27,8 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" - cmapi "github.com/jetstack/cert-manager/pkg/apis/certmanager/v1" - cmmeta "github.com/jetstack/cert-manager/pkg/apis/meta/v1" + cmapi "github.com/cert-manager/cert-manager/pkg/apis/certmanager/v1" + cmmeta "github.com/cert-manager/cert-manager/pkg/apis/meta/v1" api "github.com/nokia/adcs-issuer/api/v1" "github.com/nokia/adcs-issuer/issuers" diff --git a/controllers/certificaterequest_controller.go b/controllers/certificaterequest_controller.go index b54600c..63c16b9 100644 --- a/controllers/certificaterequest_controller.go +++ b/controllers/certificaterequest_controller.go @@ -23,9 +23,9 @@ import ( ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" - cmapiutil "github.com/jetstack/cert-manager/pkg/api/util" - cmapi "github.com/jetstack/cert-manager/pkg/apis/certmanager/v1" - cmmeta "github.com/jetstack/cert-manager/pkg/apis/meta/v1" + cmapiutil "github.com/cert-manager/cert-manager/pkg/api/util" + cmapi "github.com/cert-manager/cert-manager/pkg/apis/certmanager/v1" + cmmeta "github.com/cert-manager/cert-manager/pkg/apis/meta/v1" api "github.com/nokia/adcs-issuer/api/v1" core "k8s.io/api/core/v1" apimacherrors "k8s.io/apimachinery/pkg/api/errors" diff --git a/deploy.env b/deploy.env index 19338ed..ecd2627 100644 --- a/deploy.env +++ b/deploy.env @@ -1,3 +1,6 @@ -APP_NAME=adcs-issuer -DOCKER_REPO=djkormo -VERSION=2.0.9 +APP_NAME=adcs-issuer +DOCKER_REPO=djkormo +VERSION=2.1.0 + + + diff --git a/go.mod b/go.mod index 76a986d..090b16b 100644 --- a/go.mod +++ b/go.mod @@ -1,77 +1,95 @@ module github.com/nokia/adcs-issuer -go 1.17 +go 1.21 require ( github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 + github.com/cert-manager/cert-manager v1.14.3 github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa - github.com/go-logr/logr v1.2.0 - github.com/jetstack/cert-manager v1.7.1 + github.com/go-logr/logr v1.4.1 + github.com/jetstack/cert-manager v1.4.0-alpha.1 github.com/onsi/ginkgo v1.16.5 - github.com/onsi/gomega v1.17.0 - github.com/stretchr/testify v1.7.0 + github.com/onsi/gomega v1.29.0 + github.com/stretchr/testify v1.8.4 github.com/sykesm/zap-logfmt v0.0.4 - go.uber.org/zap v1.19.1 - k8s.io/api v0.23.1 - k8s.io/apimachinery v0.23.1 - k8s.io/client-go v0.23.1 + go.uber.org/zap v1.26.0 + k8s.io/api v0.29.0 + k8s.io/apimachinery v0.29.0 + k8s.io/client-go v0.29.0 k8s.io/klog v1.0.0 - k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b - sigs.k8s.io/controller-runtime v0.11.0 + k8s.io/utils v0.0.0-20240102154912-e7106e64919e + sigs.k8s.io/controller-runtime v0.16.3 ) require ( cloud.google.com/go v0.90.0 // indirect github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.1.1 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/evanphx/json-patch v4.12.0+incompatible // indirect - github.com/fsnotify/fsnotify v1.5.1 // indirect - github.com/go-logr/zapr v1.2.0 // indirect + github.com/blang/semver/v4 v4.0.0 // indirect + github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect + github.com/emicklei/go-restful/v3 v3.11.0 // indirect + github.com/evanphx/json-patch v5.7.0+incompatible // indirect + github.com/evanphx/json-patch/v5 v5.7.0 // indirect + github.com/fsnotify/fsnotify v1.7.0 // indirect + github.com/go-asn1-ber/asn1-ber v1.5.5 // indirect + github.com/go-ldap/ldap/v3 v3.4.6 // indirect + github.com/go-logr/zapr v1.3.0 // indirect + github.com/go-openapi/jsonpointer v0.20.2 // indirect + github.com/go-openapi/jsonreference v0.20.4 // indirect + github.com/go-openapi/swag v0.22.7 // 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.6 // indirect + github.com/golang/protobuf v1.5.3 // indirect + github.com/google/gnostic-models v0.6.8 // indirect + github.com/google/go-cmp v0.6.0 // indirect github.com/google/gofuzz v1.2.0 // indirect - github.com/google/uuid v1.3.0 // indirect + github.com/google/uuid v1.5.0 // indirect github.com/googleapis/gnostic v0.5.5 // indirect - github.com/imdario/mergo v0.3.12 // indirect + github.com/imdario/mergo v0.3.16 // indirect + github.com/inconshreveable/mousetrap v1.1.0 // indirect + github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect + github.com/mailru/easyjson v0.7.7 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect + github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/nxadm/tail v1.4.8 // indirect github.com/pkg/errors v0.9.1 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - github.com/prometheus/client_golang v1.11.1 // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.28.0 // indirect - github.com/prometheus/procfs v0.6.0 // indirect + github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect + github.com/prometheus/client_golang v1.18.0 // indirect + github.com/prometheus/client_model v0.5.0 // indirect + github.com/prometheus/common v0.45.0 // indirect + github.com/prometheus/procfs v0.12.0 // indirect + github.com/spf13/cobra v1.8.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - go.uber.org/atomic v1.7.0 // indirect - go.uber.org/multierr v1.6.0 // indirect + go.uber.org/atomic v1.10.0 // indirect + go.uber.org/multierr v1.11.0 // indirect golang.org/x/crypto v0.17.0 // indirect - golang.org/x/net v0.17.0 // indirect - golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f // indirect + golang.org/x/exp v0.0.0-20231226003508-02704c960a9b // indirect + golang.org/x/net v0.19.0 // indirect + golang.org/x/oauth2 v0.15.0 // indirect golang.org/x/sys v0.15.0 // indirect golang.org/x/term v0.15.0 // indirect golang.org/x/text v0.14.0 // indirect - golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect - gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/protobuf v1.27.1 // indirect + golang.org/x/time v0.5.0 // indirect + gomodules.xyz/jsonpatch/v2 v2.4.0 // indirect + google.golang.org/appengine v1.6.8 // indirect + google.golang.org/protobuf v1.32.0 // indirect gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // 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 // indirect - k8s.io/apiextensions-apiserver v0.23.1 // indirect - k8s.io/component-base v0.23.1 // indirect - k8s.io/klog/v2 v2.30.0 // indirect - k8s.io/kube-aggregator v0.23.1 // indirect - k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 // indirect - sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.0 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect + gopkg.in/yaml.v3 v3.0.1 // indirect + k8s.io/apiextensions-apiserver v0.29.0 // indirect + k8s.io/component-base v0.29.0 // indirect + k8s.io/klog/v2 v2.110.1 // indirect + k8s.io/kube-aggregator v0.29.0 // indirect + k8s.io/kube-openapi v0.0.0-20240103051144-eec4567ac022 // indirect + sigs.k8s.io/gateway-api v1.0.0 // indirect + sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect + sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect + sigs.k8s.io/yaml v1.4.0 // indirect ) diff --git a/go.sum b/go.sum index ac8c215..41ce843 100644 --- a/go.sum +++ b/go.sum @@ -1,5 +1,3 @@ -bazil.org/fuse v0.0.0-20160811212531-371fbbdaa898/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8= -bazil.org/fuse v0.0.0-20200407214033-5883e5a4b512/go.mod h1:FbcW6z/2VytnFDhZfumh8Ss8zxHE6qpMP5sHTRe0EaM= 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.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= @@ -8,6 +6,7 @@ cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxK 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.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw= cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= @@ -44,31 +43,32 @@ cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohl cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/azure-sdk-for-go v16.2.1+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/azure-sdk-for-go v56.2.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v46.3.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/Azure/go-autorest v10.8.1+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.6/go.mod h1:/FALq9T/kS7b5J5qsQ+RSTUdAmGFqi0vUdVNNx8q630= github.com/Azure/go-autorest/autorest v0.11.1/go.mod h1:JFgpikqFJ/MleTTxwepExTKnFUKKszPS8UavbQYUMuw= -github.com/Azure/go-autorest/autorest v0.11.12/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= +github.com/Azure/go-autorest/autorest v0.11.6/go.mod h1:V6p3pKZx1KKkJubbxnDWrzNhEIfOy/pTGasLqzHIPHs= github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= -github.com/Azure/go-autorest/autorest v0.11.19/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= +github.com/Azure/go-autorest/autorest/adal v0.8.2/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= github.com/Azure/go-autorest/autorest/adal v0.9.0/go.mod h1:/c022QCutn2P7uY+/oQWWNcK9YU+MH96NgK+jErpbcg= +github.com/Azure/go-autorest/autorest/adal v0.9.4/go.mod h1:/3SMAM86bP6wC9Ev35peQDUeqFZBMH07vvUOmg4z/fE= github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= -github.com/Azure/go-autorest/autorest/adal v0.9.14/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= +github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= +github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= github.com/Azure/go-autorest/autorest/mocks v0.4.0/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= github.com/Azure/go-autorest/autorest/to v0.4.0/go.mod h1:fE8iZBn7LQR7zH/9XU2NcPR4o9jEImooCeWJcYV/zLE= -github.com/Azure/go-autorest/autorest/validation v0.3.1/go.mod h1:yhLgjC0Wda5DYXl6JAsWyUe4KVNffhoDhG0zVzUMo3E= +github.com/Azure/go-autorest/autorest/validation v0.3.0/go.mod h1:yhLgjC0Wda5DYXl6JAsWyUe4KVNffhoDhG0zVzUMo3E= github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= @@ -78,299 +78,116 @@ github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 h1:mFRzDkZVAjdal+ github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358/go.mod h1:chxPXzSsl7ZWRAuOIE23GDNzjWuZquvFlgA8xmpunjU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= -github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/MakeNowJust/heredoc v0.0.0-20170808103936-bb23615498cd/go.mod h1:64YHyfSL2R96J44Nlwm39UHepQbyR5q10x7iYa1ks2E= -github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= -github.com/Masterminds/goutils v1.1.1/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= -github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= -github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= -github.com/Masterminds/sprig/v3 v3.2.2/go.mod h1:UoaO7Yp8KlPnJIYWTFkMaqPUYKTfGFPhxNuwnnxkKlk= -github.com/Masterminds/squirrel v1.5.0/go.mod h1:NNaOrjSoIDfDA40n7sr2tPNZRfjzjA400rg+riTZj10= -github.com/Masterminds/vcs v1.13.1/go.mod h1:N09YCmOQr6RLxC6UNHzuVwAdodYbbnycGHSmwVJjcKA= -github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA= -github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= -github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw= -github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= -github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0= -github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Microsoft/go-winio v0.4.17/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Microsoft/go-winio v0.5.1/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= -github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= -github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg= -github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ= -github.com/Microsoft/hcsshim v0.8.9/go.mod h1:5692vkUqntj1idxauYlpoINNKeqCiG6Sg38RRsjT5y8= -github.com/Microsoft/hcsshim v0.8.14/go.mod h1:NtVKoYxQuTLx6gEq0L96c9Ju4JbRJ4nY2ow3VK6a9Lg= -github.com/Microsoft/hcsshim v0.8.15/go.mod h1:x38A4YbHbdxJtc0sF6oIz+RG0npwSCAvn69iY6URG00= -github.com/Microsoft/hcsshim v0.8.16/go.mod h1:o5/SZqmR7x9JNKsW3pu+nqHm0MF8vbA+VxGOoXdC600= -github.com/Microsoft/hcsshim v0.8.21/go.mod h1:+w2gRZ5ReXQhFOrvSQeNfhrYB/dg3oDwTOcER2fw4I4= -github.com/Microsoft/hcsshim v0.8.23/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= -github.com/Microsoft/hcsshim v0.9.2/go.mod h1:7pLA8lDk46WKDWlVsENo92gC0XFa8rbKfyFRBqxEbCc= -github.com/Microsoft/hcsshim/test v0.0.0-20201218223536-d3e5debf77da/go.mod h1:5hlzMzRKMLyo42nCZ9oml8AdTlq/0cvIaBv6tK1RehU= -github.com/Microsoft/hcsshim/test v0.0.0-20210227013316-43a75bb4edd3/go.mod h1:mw7qgWloBUl75W/gVH3cQszUg1+gUITj7D6NY7ywVnY= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= -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/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= -github.com/Venafi/vcert/v4 v4.14.3/go.mod h1:IL+6LA8QRWZbmcMzIr/vRhf9Aa6XDM2cQO50caWevjA= +github.com/Venafi/vcert/v4 v4.13.1/go.mod h1:Z3sJFoAurFNXPpoSUSHq46aIeHLiGQEMDhprfxlpofQ= github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= -github.com/ahmetb/gen-crd-api-reference-docs v0.2.1-0.20201224172655-df869c1245d4/go.mod h1:TdjdkYhlOifCQWPs1UdTma97kQQMozf5h26hTuG70u8= -github.com/akamai/AkamaiOPEN-edgegrid-golang v1.1.1/go.mod h1:kX6YddBkXqqywAe8c9LyvgTCyFuZCTMF4cRPQhc3Fy8= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/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-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/alexflint/go-filemutex v0.0.0-20171022225611-72bdc8eae2ae/go.mod h1:CgnQgUtFrFz9mxFNtED3jI5tLDjKlOM+oUF/sTk6ps0= +github.com/alexbrainman/sspi v0.0.0-20210105120005-909beea2cc74/go.mod h1:cEWa1LVoE5KvSD9ONXsZrj0z6KqySlCCNKHlLzbqAt4= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20210826220005-b48c857c3a0e/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-metrics v0.3.0/go.mod h1:zXjbSimjXTd7vOpY8B0/2LpvNvDoXBuplAD+gJD3GYs= -github.com/armon/go-metrics v0.3.3/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= -github.com/aws/aws-sdk-go v1.15.11/go.mod h1:mFuSZ37Z9YOHbQEwBWztmVzqXrEkub65tZoCYDt7FT0= -github.com/aws/aws-sdk-go v1.25.37/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.30.27/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/aws/aws-sdk-go v1.34.9/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= -github.com/aws/aws-sdk-go v1.40.21/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= +github.com/aws/aws-sdk-go v1.34.30/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/beorn7/perks v0.0.0-20160804104726-4c0e84591b9a/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= -github.com/bits-and-blooms/bitset v1.2.0/go.mod h1:gIdJ4wp64HaoK2YrL1Q5/N7Y16edYb8uY+O0FJTyyDA= github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= -github.com/blang/semver v3.1.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/blang/semver v3.5.0+incompatible h1:CGxCgetQ64DKk7rdZ++Vfnb1+ogGNnB17OJKJXD2Cfs= github.com/blang/semver v3.5.0+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= -github.com/bshuster-repo/logrus-logstash-hook v0.4.1/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= -github.com/bshuster-repo/logrus-logstash-hook v1.0.0/go.mod h1:zsTqEiSzDgAa/8GZR7E1qaXrhYNDKBYy5/dWPTIflbk= -github.com/buger/jsonparser v0.0.0-20180808090653-f4dd9f5a6b44/go.mod h1:bbYlZJ7hK1yFx9hf58LP0zeX7UjIGs20ufpu3evjr+s= -github.com/bugsnag/bugsnag-go v0.0.0-20141110184014-b1d153021fcd/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= -github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= -github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= -github.com/cenkalti/backoff/v3 v3.0.0/go.mod h1:cIeZDE3IrqwwJl6VUwCN6trj1oXrTS4rc0ij+ULvLYs= -github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= +github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cert-manager/cert-manager v1.14.3 h1:u1TVd/bD4NnAFjttzOyZYV0iOcoMGGoNfrLvSdx7a70= +github.com/cert-manager/cert-manager v1.14.3/go.mod h1:pik7K6jXfgh++lfVJ/i1HzEnDluSUtTVLXSHikj8Lho= github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chai2010/gettext-go v0.0.0-20160711120539-c6fed771bfd5/go.mod h1:/iP1qXHoty45bqomnu2LM+VVyAEdWN+vtSHGlQgyxbw= -github.com/checkpoint-restore/go-criu/v4 v4.1.0/go.mod h1:xUQBLp4RLc5zJtWY++yjOoMoB5lihDt7fai+75m+rGw= -github.com/checkpoint-restore/go-criu/v5 v5.0.0/go.mod h1:cfwC0EG7HMUenopBsUf9d89JlCLQIfgVcNsNN0t6T2M= -github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= 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/cilium/ebpf v0.0.0-20200110133405-4032b1d8aae3/go.mod h1:MA5e5Lr8slmEg9bt0VpxxWqJlO4iwu3FBdHUzV7wQVg= -github.com/cilium/ebpf v0.0.0-20200702112145-1c8d4c9ef775/go.mod h1:7cR51M8ViRLIdUjrmSXlK9pkrsDlLHbO8jiB8X8JnOc= -github.com/cilium/ebpf v0.2.0/go.mod h1:To2CFviqOWL/M0gIMsvSMlqe7em/l1ALkX1PyjrX2Qs= -github.com/cilium/ebpf v0.4.0/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= -github.com/cilium/ebpf v0.6.2/go.mod h1:4tRaxcgiL706VnOzHOdBlY8IEAIdxINsQBcU4xJJXRs= -github.com/cilium/ebpf v0.7.0/go.mod h1:/oI2+1shJiTGAMgl6/RgJr36Eo1jzrRcAWbcXO2usCA= -github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= -github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cloudflare/cloudflare-go v0.20.0/go.mod h1:sPWL/lIC6biLEdyGZwBQ1rGQKF1FhM7N60fuNiFdYTI= +github.com/cloudflare/cloudflare-go v0.13.2/go.mod h1:27kfc1apuifUmJhp069y0+hwlKDg4bd8LWlu7oKeZvM= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= -github.com/containerd/aufs v0.0.0-20200908144142-dab0cbea06f4/go.mod h1:nukgQABAEopAHvB6j7cnP5zJ+/3aVcE7hCYqvIwAHyE= -github.com/containerd/aufs v0.0.0-20201003224125-76a6863f2989/go.mod h1:AkGGQs9NM2vtYHaUen+NljV0/baGCAPELGm2q9ZXpWU= -github.com/containerd/aufs v0.0.0-20210316121734-20793ff83c97/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= -github.com/containerd/aufs v1.0.0/go.mod h1:kL5kd6KM5TzQjR79jljyi4olc1Vrx6XBlcyj3gNv2PU= -github.com/containerd/btrfs v0.0.0-20201111183144-404b9149801e/go.mod h1:jg2QkJcsabfHugurUvvPhS3E08Oxiuh5W/g1ybB4e0E= -github.com/containerd/btrfs v0.0.0-20210316141732-918d888fb676/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= -github.com/containerd/btrfs v1.0.0/go.mod h1:zMcX3qkXTAi9GI50+0HOeuV8LU2ryCE/V2vG/ZBiTss= -github.com/containerd/cgroups v0.0.0-20190717030353-c4b9ac5c7601/go.mod h1:X9rLEHIqSf/wfK8NsPqxJmeZgW4pcfzdXITDrUSJ6uI= -github.com/containerd/cgroups v0.0.0-20190919134610-bf292b21730f/go.mod h1:OApqhQ4XNSNC13gXIwDjhOQxjWa/NxkwZXJ1EvqT0ko= -github.com/containerd/cgroups v0.0.0-20200531161412-0dbf7f05ba59/go.mod h1:pA0z1pT8KYB3TCXK/ocprsh7MAkoW8bZVzPdih9snmM= -github.com/containerd/cgroups v0.0.0-20200710171044-318312a37340/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= -github.com/containerd/cgroups v0.0.0-20200824123100-0b889c03f102/go.mod h1:s5q4SojHctfxANBDvMeIaIovkq29IP48TKAxnhYRxvo= -github.com/containerd/cgroups v0.0.0-20210114181951-8a68de567b68/go.mod h1:ZJeTFisyysqgcCdecO57Dj79RfL0LNeGiFUqLYQRYLE= -github.com/containerd/cgroups v1.0.1/go.mod h1:0SJrPIenamHDcZhEcJMNBB85rHcUsw4f25ZfBiPYRkU= -github.com/containerd/cgroups v1.0.2/go.mod h1:qpbpJ1jmlqsR9f2IyaLPsdkCdnt0rbDVqIDlhuu5tRY= -github.com/containerd/console v0.0.0-20180822173158-c12b1e7919c1/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= -github.com/containerd/console v0.0.0-20181022165439-0650fd9eeb50/go.mod h1:Tj/on1eG8kiEhd0+fhSDzsPAFESxzBBvdyEgyryXffw= -github.com/containerd/console v0.0.0-20191206165004-02ecf6a7291e/go.mod h1:8Pf4gM6VEbTNRIT26AyyU7hxdQU3MvAvxVI0sc00XBE= -github.com/containerd/console v1.0.1/go.mod h1:XUsP6YE/mKtz6bxc+I8UiKKTP04qjQL4qcS3XoQ5xkw= -github.com/containerd/console v1.0.2/go.mod h1:ytZPjGgY2oeTkAONYafi2kSj0aYggsf8acV1PGKCbzQ= -github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= -github.com/containerd/containerd v1.2.10/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.3.0-beta.2.0.20190828155532-0293cbd26c69/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.3.0/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.3.1-0.20191213020239-082f7e3aed57/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.3.2/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.3.4/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.4.0-beta.2.0.20200729163537-40b22ef07410/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.4.1/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.4.3/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.4.9/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/containerd/containerd v1.5.0-beta.1/go.mod h1:5HfvG1V2FsKesEGQ17k5/T7V960Tmcumvqn8Mc+pCYQ= -github.com/containerd/containerd v1.5.0-beta.3/go.mod h1:/wr9AVtEM7x9c+n0+stptlo/uBBoBORwEx6ardVcmKU= -github.com/containerd/containerd v1.5.0-beta.4/go.mod h1:GmdgZd2zA2GYIBZ0w09ZvgqEq8EfBp/m3lcVZIvPHhI= -github.com/containerd/containerd v1.5.0-rc.0/go.mod h1:V/IXoMqNGgBlabz3tHD2TWDoTJseu1FGOKuoA4nNb2s= -github.com/containerd/containerd v1.5.1/go.mod h1:0DOxVqwDy2iZvrZp2JUx/E+hS0UNTVn7dJnIOwtYR4g= -github.com/containerd/containerd v1.5.2/go.mod h1:0DOxVqwDy2iZvrZp2JUx/E+hS0UNTVn7dJnIOwtYR4g= -github.com/containerd/containerd v1.5.7/go.mod h1:gyvv6+ugqY25TiXxcZC3L5yOeYgEw0QMhscqVp1AR9c= -github.com/containerd/containerd v1.5.9/go.mod h1:fvQqCfadDGga5HZyn3j4+dx56qj2I9YwBrlSdalvJYQ= -github.com/containerd/continuity v0.0.0-20190426062206-aaeac12a7ffc/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containerd/continuity v0.0.0-20190815185530-f2a389ac0a02/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containerd/continuity v0.0.0-20191127005431-f65d91d395eb/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y= -github.com/containerd/continuity v0.0.0-20200709052629-daa8e1ccc0bc/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= -github.com/containerd/continuity v0.0.0-20200710164510-efbc4488d8fe/go.mod h1:cECdGN1O8G9bgKTlLhuPJimka6Xb/Gg7vYzCTNVxhvo= -github.com/containerd/continuity v0.0.0-20201208142359-180525291bb7/go.mod h1:kR3BEg7bDFaEddKm54WSmrol1fKWDU1nKYkgrcgZT7Y= -github.com/containerd/continuity v0.0.0-20210208174643-50096c924a4e/go.mod h1:EXlVlkqNba9rJe3j7w3Xa924itAMLgZH4UD/Q4PExuQ= -github.com/containerd/continuity v0.1.0/go.mod h1:ICJu0PwR54nI0yPEnJ6jcS+J7CZAUXrLh8lPo2knzsM= -github.com/containerd/continuity v0.2.2/go.mod h1:pWygW9u7LtS1o4N/Tn0FoCFDIXZ7rxcMX7HX1Dmibvk= -github.com/containerd/fifo v0.0.0-20180307165137-3d5202aec260/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= -github.com/containerd/fifo v0.0.0-20190226154929-a9fb20d87448/go.mod h1:ODA38xgv3Kuk8dQz2ZQXpnv/UZZUHUCL7pnLehbXgQI= -github.com/containerd/fifo v0.0.0-20200410184934-f15a3290365b/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= -github.com/containerd/fifo v0.0.0-20201026212402-0724c46b320c/go.mod h1:jPQ2IAeZRCYxpS/Cm1495vGFww6ecHmMk1YJH2Q5ln0= -github.com/containerd/fifo v0.0.0-20210316144830-115abcc95a1d/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= -github.com/containerd/fifo v1.0.0/go.mod h1:ocF/ME1SX5b1AOlWi9r677YJmCPSwwWnQ9O123vzpE4= -github.com/containerd/go-cni v1.0.1/go.mod h1:+vUpYxKvAF72G9i1WoDOiPGRtQpqsNW/ZHtSlv++smU= -github.com/containerd/go-cni v1.0.2/go.mod h1:nrNABBHzu0ZwCug9Ije8hL2xBCYh/pjfMb1aZGrrohk= -github.com/containerd/go-runc v0.0.0-20180907222934-5a6d9f37cfa3/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= -github.com/containerd/go-runc v0.0.0-20190911050354-e029b79d8cda/go.mod h1:IV7qH3hrUgRmyYrtgEeGWJfWbgcHL9CSRruz2Vqcph0= -github.com/containerd/go-runc v0.0.0-20200220073739-7016d3ce2328/go.mod h1:PpyHrqVs8FTi9vpyHwPwiNEGaACDxT/N/pLcvMSRA9g= -github.com/containerd/go-runc v0.0.0-20201020171139-16b287bc67d0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= -github.com/containerd/go-runc v1.0.0/go.mod h1:cNU0ZbCgCQVZK4lgG3P+9tn9/PaJNmoDXPpoJhDR+Ok= -github.com/containerd/imgcrypt v1.0.1/go.mod h1:mdd8cEPW7TPgNG4FpuP3sGBiQ7Yi/zak9TYCG3juvb0= -github.com/containerd/imgcrypt v1.0.4-0.20210301171431-0ae5c75f59ba/go.mod h1:6TNsg0ctmizkrOgXRNQjAPFWpMYRWuiB6dSF4Pfa5SA= -github.com/containerd/imgcrypt v1.1.1-0.20210312161619-7ed62a527887/go.mod h1:5AZJNI6sLHJljKuI9IHnw1pWqo/F0nGDOuR9zgTs7ow= -github.com/containerd/imgcrypt v1.1.1/go.mod h1:xpLnwiQmEUJPvQoAapeb2SNCxz7Xr6PJrXQb0Dpc4ms= -github.com/containerd/nri v0.0.0-20201007170849-eb1350a75164/go.mod h1:+2wGSDGFYfE5+So4M5syatU0N0f0LbWpuqyMi4/BE8c= -github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= -github.com/containerd/nri v0.1.0/go.mod h1:lmxnXF6oMkbqs39FiCt1s0R2HSMhcLel9vNL3m4AaeY= -github.com/containerd/stargz-snapshotter/estargz v0.4.1/go.mod h1:x7Q9dg9QYb4+ELgxmo4gBUeJB0tl5dqH1Sdz0nJU1QM= -github.com/containerd/ttrpc v0.0.0-20190828154514-0e0f228740de/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= -github.com/containerd/ttrpc v0.0.0-20190828172938-92c8520ef9f8/go.mod h1:PvCDdDGpgqzQIzDW1TphrGLssLDZp2GuS+X5DkEJB8o= -github.com/containerd/ttrpc v0.0.0-20191028202541-4f1b8fe65a5c/go.mod h1:LPm1u0xBw8r8NOKoOdNMeVHSawSsltak+Ihv+etqsE8= -github.com/containerd/ttrpc v1.0.1/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= -github.com/containerd/ttrpc v1.0.2/go.mod h1:UAxOpgT9ziI0gJrmKvgcZivgxOp8iFPSk8httJEt98Y= -github.com/containerd/ttrpc v1.1.0/go.mod h1:XX4ZTnoOId4HklF4edwc4DcqskFZuvXB1Evzy5KFQpQ= -github.com/containerd/typeurl v0.0.0-20180627222232-a93fcdb778cd/go.mod h1:Cm3kwCdlkCfMSHURc+r6fwoGH6/F1hH3S4sg0rLFWPc= -github.com/containerd/typeurl v0.0.0-20190911142611-5eb25027c9fd/go.mod h1:GeKYzf2pQcqv7tJ0AoCuuhtnqhva5LNU3U+OyKxxJpk= -github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg= -github.com/containerd/typeurl v1.0.2/go.mod h1:9trJWW2sRlGub4wZJRTW83VtbOLS6hwcDZXTn6oPz9s= -github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw= -github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y= -github.com/containerd/zfs v0.0.0-20210315114300-dde8f0fda960/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= -github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= -github.com/containerd/zfs v1.0.0/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY= -github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= -github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= -github.com/containernetworking/cni v0.8.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY= -github.com/containernetworking/plugins v0.8.6/go.mod h1:qnw5mN19D8fIwkqW7oHHYDHVlzhJpcY6TQxn/fUyDDM= -github.com/containernetworking/plugins v0.9.1/go.mod h1:xP/idU2ldlzN6m4p5LmGiwRDjeJr6FLK6vuiUwoH7P8= -github.com/containers/ocicrypt v1.0.1/go.mod h1:MeJDzk1RJHv89LjsH0Sp5KTY3ZYkjXO/C+bKAeWFIrc= -github.com/containers/ocicrypt v1.1.0/go.mod h1:b8AOe0YR67uU8OqfVNcznfFpAzu3rdgUV4GP9qXPfu4= -github.com/containers/ocicrypt v1.1.1/go.mod h1:Dm55fwWm1YZAjYRaJ94z2mfZikIyIN4B0oB3dj3jFxY= github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= -github.com/coreos/go-iptables v0.4.5/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= -github.com/coreos/go-iptables v0.5.0/go.mod h1:/mVI274lEDI2ns62jHCDnCyBF9Iwsmekav8Dbxlm1MU= github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20161114122254-48702e0da86b/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.0.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= -github.com/coreos/go-systemd/v22 v22.1.0/go.mod h1:xO0FLkIi5MaZafQlIrOotqXZ90ih+1atmu1JpKERPPk= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180108230652-97fdf19511ea/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpu/goacmedns v0.1.1/go.mod h1:MuaouqEhPAHxsbqjgnck5zeghuwBP1dLnPoobeGqugQ= +github.com/cpu/goacmedns v0.0.3/go.mod h1:4MipLkI+qScwqtVxcNO6okBhbgRrr7/tKXUSgSL0teQ= github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/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.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= -github.com/cyphar/filepath-securejoin v0.2.3/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= -github.com/d2g/dhcp4 v0.0.0-20170904100407-a1d1b6c41b1c/go.mod h1:Ct2BUK8SB0YC1SMSibvLzxjeJLnrYEVLULFNiHY9YfQ= -github.com/d2g/dhcp4client v1.0.0/go.mod h1:j0hNfjhrt2SxUOw55nL0ATM/z4Yt3t2Kd1mW34z5W5s= -github.com/d2g/dhcp4server v0.0.0-20181031114812-7d4a0a7f59a5/go.mod h1:Eo87+Kg/IX2hfWJfwxMzLyuSZyxSoAug2nGa1G2QAi8= -github.com/d2g/hardwareaddr v0.0.0-20190221164911-e7d9fbe030e4/go.mod h1:bMl4RjIciD2oAxI7DmWRx6gbeqrkoLqv3MV0vzNad+I= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= 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/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/daviddengcn/go-colortext v0.0.0-20160507010035-511bcaf42ccd/go.mod h1:dv4zxwHi5C/8AeI+4gX4dCWOIvNi7I6JCSX0HvlKPgE= -github.com/denisenkom/go-mssqldb v0.9.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= -github.com/denverdino/aliyungo v0.0.0-20190125010748-a747050bb1ba/go.mod h1:dV8lFg6daOBZbT6/BDGIz6Y3WFGn8juu6G+CQ6LHtl0= -github.com/dgrijalva/jwt-go v0.0.0-20170104182250-a601269ab70c/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/digitalocean/godo v1.65.0/go.mod h1:p7dOjjtSBqCTUksqtA5Fd3uaKs9kyTq2xcz76ulEJRU= -github.com/distribution/distribution/v3 v3.0.0-20210804104954-38ab4c606ee3/go.mod h1:gt38b7cvVKazi5XkHvINNytZXgTEntyhtyM3HQz46Nk= -github.com/dnaeon/go-vcr v1.0.1/go.mod h1:aBB1+wY4s93YsC3HHjMBMrwTj2R9FHDzUr9KyGc8n1E= -github.com/docker/cli v0.0.0-20191017083524-a8ff7f821017/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/cli v20.10.7+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/distribution v0.0.0-20190905152932-14b96e55d84c/go.mod h1:0+TTO4EOBfRPhZXAeF1Vu+W3hHZ8eLp8PgKVZlcvtFY= -github.com/docker/distribution v2.7.1-0.20190205005809-0d3efadf0154+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/digitalocean/godo v1.44.0/go.mod h1:p7dOjjtSBqCTUksqtA5Fd3uaKs9kyTq2xcz76ulEJRU= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v1.4.2-0.20190924003213-a8608b5b67c7/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v1.4.2-0.20200319182547-c7ad2b866182/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v17.12.0-ce-rc1.0.20200618181300-9dc6525e6118+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v17.12.1-ce+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= -github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= -github.com/docker/go-events v0.0.0-20170721190031-9461782956ad/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= -github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= -github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI= -github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/libtrust v0.0.0-20150114040149-fa567046d9b1/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful v2.9.5+incompatible h1:spTtZBk5DYEvbxMVutUuTyh1Ao2r4iyvLdACqsl/Ljk= github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= +github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= @@ -378,63 +195,69 @@ github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5y github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ= github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v4.11.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v5.7.0+incompatible h1:vgGkfT/9f8zE6tvSCe74nfpAVDQ2tG6yudJd8LBksgI= +github.com/evanphx/json-patch v5.7.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch/v5 v5.7.0 h1:nJqP7uwL84RJInrohHfW0Fx3awjbm8qZeFv0nW9SYGc= +github.com/evanphx/json-patch/v5 v5.7.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ= github.com/exponent-io/jsonpath v0.0.0-20151013193312-d6023ce2651d/go.mod h1:ZZMPRZwes7CROmyNKgQzC3XPs6L/G2EJLHddWejkmf4= github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/frankban/quicktest v1.10.0/go.mod h1:ui7WezCLWMWxVWr1GETZY3smRy0G4KWq9vcPtJmFl7Y= -github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= +github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= +github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa h1:RDBNVkRviHZtvDvId8XSGPu3rmpmSe+wKRcEWNgsfWU= github.com/fullsailor/pkcs7 v0.0.0-20190404230743-d7302db945fa/go.mod h1:KnogPXtdwXqoenmZCw6S+25EAm2MkxbG0deNDu4cbSA= -github.com/fvbommel/sortorder v1.0.1/go.mod h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0= -github.com/garyburd/redigo v0.0.0-20150301180006-535138d7bcd7/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= -github.com/go-asn1-ber/asn1-ber v1.3.1/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= -github.com/go-errors/errors v1.0.1/go.mod h1:f4zRHt4oKfwPJE5k8C9vpYG+aDHdBFUsgrm6/TyX73Q= +github.com/go-asn1-ber/asn1-ber v1.5.5 h1:MNHlNMBDgEKD4TcKr36vQN68BA00aDfjIt3/bD50WnA= +github.com/go-asn1-ber/asn1-ber v1.5.5/go.mod h1:hEBeB/ic+5LoWskz+yKT7vGhhPYkProFKoKdwZRWMe0= 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-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-ini/ini v1.25.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.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-ldap/ldap/v3 v3.1.3/go.mod h1:3rbOH3jRS2u6jg2rJnKAMLE/xQyCKIveG2Sa/Cohzb8= -github.com/go-ldap/ldap/v3 v3.1.10/go.mod h1:5Zun81jBTabRaI8lzN7E1JjyEl1g6zI6u9pd8luAK4Q= +github.com/go-ldap/ldap v3.0.2+incompatible h1:kD5HQcAzlQ7yrhfn+h+MSABeAy/jAJhvIJ/QDllP44g= +github.com/go-ldap/ldap v3.0.2+incompatible/go.mod h1:qfd9rJvER9Q0/D/Sqn1DfHRoBp40uXYvFoEVrNEPqRc= +github.com/go-ldap/ldap/v3 v3.4.6 h1:ert95MdbiG7aWo/oPYp9btL3KJlMPKnP58r09rI8T+A= +github.com/go-ldap/ldap/v3 v3.4.6/go.mod h1:IGMQANNtxpsOzj7uUAMjpGBaOVTC4DYyIy8VsTdxmtc= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v0.2.1-0.20200730175230-ee2de8da5be6/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-logr/logr v0.3.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/zapr v0.1.0/go.mod h1:tabnROwaDl0UNxkVeFRbY8bwB37GwRv0P8lg6aAiEnk= +github.com/go-logr/zapr v0.1.1/go.mod h1:tabnROwaDl0UNxkVeFRbY8bwB37GwRv0P8lg6aAiEnk= github.com/go-logr/zapr v0.2.0/go.mod h1:qhKdvif7YF5GI9NWEpyxTSSBdGmzkNguibrdCNVPunU= github.com/go-logr/zapr v1.2.0 h1:n4JnPI1T3Qq1SFEi/F8rwLrZERp2bso19PJZDB9dayk= github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= +github.com/go-logr/zapr v1.3.0 h1:XGdV8XW8zdwFiwOA2Dryh1gj2KRQyOOoNmBy4EplIcQ= +github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg= github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI= github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= @@ -449,12 +272,16 @@ github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwds github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.20.2 h1:mQc3nmndL8ZBzStEo3JYF8wzmeWffDH4VbXz58sAx6Q= +github.com/go-openapi/jsonpointer v0.20.2/go.mod h1:bHen+N0u1KEO3YlmqOjTT9Adn1RfD91Ar825/PuiRVs= github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= +github.com/go-openapi/jsonreference v0.20.4 h1:bKlDxQxQJgwpUSgOENiMPzCTBVuc7vTdXSSgNeAhojU= +github.com/go-openapi/jsonreference v0.20.4/go.mod h1:5pZJyJP2MnYCpoeoMAql78cCHauHj0V9Lhc506VOpw4= github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= @@ -468,7 +295,6 @@ github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsd github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY= github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= -github.com/go-openapi/spec v0.19.5/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY= @@ -479,6 +305,8 @@ github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/ github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.22.7 h1:JWrc1uc/P9cSomxfnsFSVWoE1FW6bNbrVPmpQYpCcR8= +github.com/go-openapi/swag v0.22.7/go.mod h1:Gl91UqO+btAM0plGGxHqJcQZ1ZTy6jbmridBTsDy8A0= github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA= github.com/go-openapi/validate v0.19.5/go.mod h1:8DJv2CVJQ6kGNpFW6eV9N3JviE1C85nY1c2z52x1Gk4= @@ -486,31 +314,13 @@ github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LB github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= -github.com/go-test/deep v1.0.2/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= -github.com/gobuffalo/flect v0.2.2/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= -github.com/gobuffalo/flect v0.2.3/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= -github.com/gobuffalo/logger v1.0.3/go.mod h1:SoeejUwldiS7ZsyCBphOGURmWdwUFXs0J7TCjEhjKxM= -github.com/gobuffalo/packd v1.0.0/go.mod h1:6VTc4htmJRFB7u1m/4LeMTWjFoYrUiBkU9Fdec9hrhI= -github.com/gobuffalo/packr/v2 v2.8.1/go.mod h1:c/PLlOuTU+p3SybaJATW3H6lX/iK7xEz5OeMf+NnJpg= -github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= -github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= -github.com/godbus/dbus v0.0.0-20180201030542-885f9cc04c9c/go.mod h1:/YcGZj5zSblfDWMMoOzV4fas9FZnQYTkDnsGvmh2Grw= -github.com/godbus/dbus v0.0.0-20190422162347-ade71ed3457e/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= -github.com/godbus/dbus/v5 v5.0.3/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gobuffalo/flect v0.2.0/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/godror/godror v0.24.2/go.mod h1:wZv/9vPiUib6tkoDl+AZ/QLf5YZgMravZ7jxH2eQWAE= -github.com/gofrs/flock v0.8.0/go.mod h1:F1TvTiK9OcQqauNUHlbJvyl9Qa1QvF/gOUDKA14jxHU= -github.com/gogo/googleapis v1.2.0/go.mod h1:Njal3psf3qN6dwBtQfUmBZh2ybovJ0tlu3o/AC7HYjU= -github.com/gogo/googleapis v1.4.0/go.mod h1:5YRNX2z1oM5gXdAkurHa942MDgEJyk02w4OecKY87+c= 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.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -530,6 +340,7 @@ github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71 github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.0.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.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -548,15 +359,20 @@ github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaS github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golangplus/bytes v0.0.0-20160111154220-45c989fe5450/go.mod h1:Bk6SMAONeMXrxql8uvOKuAZSu8aM5RUGv+1C6IJaEho= +github.com/golangplus/fmt v0.0.0-20150411045040-2a5d6d7d2995/go.mod h1:lJgMEyOkYFkPcDKwRXegd+iM6E7matEszMG5HhwytU8= github.com/golangplus/testing v0.0.0-20180327235837-af21d9c3145e/go.mod h1:0AA//k/eakGydO4jKRoRL2j92ZKSzTgj9tclaCrvXHk= -github.com/gomodule/redigo v1.8.2/go.mod h1:P9dn9mFrCBvWhGE1wpxx6fgq7BAeLBk+UUUzlpkBYO0= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= github.com/google/cel-go v0.9.0/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w= github.com/google/cel-spec v0.6.0/go.mod h1:Nwjgxy5CbjlPrtCWjeDjUyKMl8w41YBYGjsyDdqk0xA= +github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= +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.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -570,7 +386,9 @@ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-containerregistry v0.5.1/go.mod h1:Ct15B4yir3PLOP5jsy0GNeYVaIZs/MK/Jz5any1wFW0= +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/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -595,34 +413,29 @@ github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= +github.com/google/uuid v1.5.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.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= github.com/googleapis/gnostic v0.1.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/googleapis/gnostic v0.3.1/go.mod h1:on+2t9HRStVgn95RSsFWFz+6Q0Snyqv1awfrALZdbtU= github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= github.com/googleapis/gnostic v0.5.5 h1:9fHAtK0uDfpveeqqo1hkEZJcFvYXAiCN3UutL8F9xHw= github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/handlers v0.0.0-20150720190736-60c7bfde3e33/go.mod h1:Qkdc/uu4tH4g6mTK6auzZ766c4CA0Ng8+o/OAirnOIQ= -github.com/gorilla/handlers v1.5.1/go.mod h1:t8XrUpc4KVXb7HGyJ4/cEnwQiaxrX/hz1Zv/4g96P1Q= -github.com/gorilla/mux v1.7.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.7.4/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gosuri/uitable v0.0.4/go.mod h1:tKR86bXuXPZazfOTG1FIzvjIdXzd0mo4Vtn16vt0PJo= -github.com/gotestyourself/gotestyourself v2.2.0+incompatible/go.mod h1:zZKM6oeNM8k+FRljX1mnzVYeS8wiGgQyvST1/GafPbY= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= @@ -631,88 +444,66 @@ github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgf github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/h2non/parth v0.0.0-20190131123155-b4df798d6542/go.mod h1:Ow0tF8D4Kplbc8s8sSb3V2oUCygFHVp8gC3Dn6U4MNI= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/errwrap v0.0.0-20141028054710-7554cd9344ce/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI= -github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= -github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v0.16.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v0.8.0/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-immutable-radix v1.1.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-kms-wrapping/entropy v0.1.0/go.mod h1:d1g9WGtAunDNpek8jUIEJnBlbgKS1N2Q61QkHiZyR1g= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v0.0.0-20161216184304-ed905158d874/go.mod h1:JMRHfdO9jKNzS/+BTlxCjKNQHg/jZAft8U7LloJvN7I= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY= -github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= -github.com/hashicorp/go-retryablehttp v0.6.2/go.mod h1:gEx6HMUGxYYhJScX7W1Il64m6cc2C1mDaW3NQ9sY1FY= -github.com/hashicorp/go-retryablehttp v0.6.6/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= +github.com/hashicorp/go-retryablehttp v0.5.4/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= github.com/hashicorp/go-rootcerts v1.0.1/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= 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.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hashicorp/vault/api v1.0.5-0.20200519221902-385fac77e20f/go.mod h1:euTFbi2YJgwcju3imEt919lhJKF68nN1cQPq3aA+kBE= -github.com/hashicorp/vault/api v1.1.1/go.mod h1:29UXcn/1cLOPHQNMWA7bCz2By4PSd0VKPAydKXS5yN0= -github.com/hashicorp/vault/sdk v0.1.14-0.20200519221530-14615acda45f/go.mod h1:WX57W2PwkrOPQ6rVQk+dy5/htHIaB4aBM70EwKThu10= -github.com/hashicorp/vault/sdk v0.2.1/go.mod h1:WfUiO1vYzfBkz1TmoE4ZGU7HD0T0Cl/rZwaxjBkgN4U= +github.com/hashicorp/vault/api v1.0.4/go.mod h1:gDcqh3WGcR1cpF5AJz/B1UFheUEneMoIospckxBxk6Q= +github.com/hashicorp/vault/sdk v0.1.13/go.mod h1:B+hVj7TpuQY1Y/GPbCpffmgd+tSEwvhkWnjtSYCaS2M= github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= +github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= github.com/howeyc/gopass v0.0.0-20170109162249-bf9dde6d0d2c/go.mod h1:lADxMC39cJJqL93Duh1xhAs4I2Zs8mKS89XWXFGp9cs= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/huandu/xstrings v1.3.1/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= -github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.10/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +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/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/j-keck/arping v0.0.0-20160618110441-2cf9dc699c56/go.mod h1:ymszkNOg6tORTn+6F6j+Jc8TOr5osrynvN6ivFWZ2GA= +github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= +github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jetstack/cert-manager v1.7.1 h1:qIIP0RN5FzBChJLJ3uGCGJmdAAonwDMdcsJExATa64I= -github.com/jetstack/cert-manager v1.7.1/go.mod h1:xj0TPp31HE0Jub5mNOnF3Fp3XvhIsiP+tsPZVOmU/Qs= -github.com/jmespath/go-jmespath v0.0.0-20160202185014-0b12d6b521d8/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.0.0-20160803190731-bd40a432e4c7/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= +github.com/jetstack/cert-manager v1.4.0-alpha.1 h1:HzFMYYwySKCQkDPQQfVVNx2AP8HeSr7EHewU/U2OlXA= +github.com/jetstack/cert-manager v1.4.0-alpha.1/go.mod h1:oGoryQXWyjSl8oHR2CJgpCdXzo3H5QNapO6uDl6hyLw= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/jmoiron/sqlx v1.3.1/go.mod h1:2BljVx/86SuTyjE+aPYlHCTNvZrnJXghYGpNiXLBMCQ= -github.com/joefitzgerald/rainbow-reporter v0.1.0/go.mod h1:481CNgqmVHQZzdIbN52CupLJyoVwB10FQ/IQlF1pdL8= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= @@ -722,36 +513,24 @@ github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/X github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/karrick/godirwalk v1.15.8/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= 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/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.11.13/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/compress v1.14.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= 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.2/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/kortschak/utter v1.0.1/go.mod h1:vSmSjbyrlKjjsL71193LmzBOKgwePk9DH6uFaWHIInc= 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/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= -github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/lann/builder v0.0.0-20180802200727-47ae307949d0/go.mod h1:dXGbAdH5GtBTC4WfIxhKZfyBF/HBFgRZSWwZ9g/He9o= -github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0/go.mod h1:vmVJ0l/dxyfGW6FmdpVm2joNMFikkuWg0EoCKLGUMNw= -github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.10.0/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE= -github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= @@ -763,40 +542,27 @@ github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/markbates/errx v1.1.0/go.mod h1:PLa46Oex9KNbVDZhKel8v1OT7hD5JZ2eI7AHhA0wswc= -github.com/markbates/oncer v1.0.0/go.mod h1:Z59JA581E9GP6w96jai+TGqafHPW+cPfRxz2aSZ0mcI= -github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= -github.com/marstr/guid v1.1.0/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mattbaird/jsonpatch v0.0.0-20171005235357-81af80346b1a/go.mod h1:M1qoD/MqPgTZIk0EWKB38wE28ACRfVcn+cU08jyArI0= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= -github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-oci8 v0.1.1/go.mod h1:wjDx6Xm9q7dFtHJvIlrI99JytznLw5wQ4R+9mNXJwGI= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= -github.com/mattn/go-shellwords v1.0.6/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o= -github.com/mattn/go-shellwords v1.0.11/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= -github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/maxbrunsfeld/counterfeiter/v6 v6.2.2/go.mod h1:eD9eIE7cdwcMi9rYluz88Jz2VyhSmden33/aXg4oVIY= +github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo= +github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg= +github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/miekg/dns v1.1.34/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= -github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= -github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= +github.com/miekg/dns v1.1.31/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/cli v1.1.2/go.mod h1:6iaV0fGdElS6dPBx0EApTxHrcWvmJphyh2n8YBLPPZ4= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= -github.com/mitchellh/copystructure v1.1.1/go.mod h1:EBArHfARyrSWO/+Wyr9zwEkc6XMFB9XyNgFNmRkZZU4= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= @@ -806,17 +572,9 @@ github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS4 github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/osext v0.0.0-20151018003038-5e2d6d41470f/go.mod h1:OkQIRizQZAeMln+1tSwduZz7+Af5oFlKirV/MSYes2A= github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/moby/sys/mountinfo v0.4.0/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= -github.com/moby/sys/mountinfo v0.4.1/go.mod h1:rEr8tzG/lsIZHBtN/JjGG+LMYx9eXgW2JI+6q0qou+A= -github.com/moby/sys/mountinfo v0.5.0/go.mod h1:3bMD3Rg+zkqx8MRYPi7Pyb0Ie97QEBmdxbhnCLlSvSU= -github.com/moby/sys/symlink v0.1.0/go.mod h1:GGDODQmbFOjFsXvfLVn3+ZRxkch54RkSiGqsZeMYowQ= github.com/moby/term v0.0.0-20200312100748-672ec06f55cd/go.mod h1:DdlQx2hp0Ss5/fLikoLlEeIYiATotOjgB//nb973jeo= github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -826,17 +584,13 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4= -github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= -github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= github.com/munnerz/crd-schema-fuzz v1.0.0/go.mod h1:4z/rcm37JxUkSsExFcLL6ZIT1SgDRdLiu7qq1evdVS0= github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= -github.com/nbio/st v0.0.0-20140626010706-e9e8d9816f32/go.mod h1:9wM+0iRr9ahx58uYLpLIr5fm8diHn0JbqRycJi6w0Ms= -github.com/ncw/swift v1.0.47/go.mod h1:23YIA4yWVnGwv2dQlN4bB7egfYX6YLn0Yo/S6zZO/ZM= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= @@ -845,159 +599,105 @@ github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.4/go.mod h1:zq6QwlOf5SlnkVbMSr5EoBv3636FWnp+qbPhuoO21uA= -github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= -github.com/onsi/ginkgo v0.0.0-20151202141238-7f8ab55aaf3b/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.4.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.14.1/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= 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/gomega v0.0.0-20151007035656-2152b45fa28a/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= +github.com/onsi/gomega v1.3.0/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= +github.com/onsi/gomega v1.8.1/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.10.2/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc= -github.com/onsi/gomega v1.14.0/go.mod h1:cIuvLEne0aoVhAgh/O6ac0Op8WWw9H6eYCriF+tEHG0= github.com/onsi/gomega v1.17.0 h1:9Luw4uT5HTjHTN8+aNcSThgH1vdXnmdJ8xIfZ4wyTRE= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opencontainers/go-digest v0.0.0-20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/onsi/gomega v1.29.0 h1:KIA/t2t5UBzoirT4H9tsML45GEbo3ouUnBHsCfD2tVg= +github.com/onsi/gomega v1.29.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opencontainers/go-digest v1.0.0-rc1.0.20180430190053-c9281466c8b2/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= -github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.0.0/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/image-spec v1.0.2/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= -github.com/opencontainers/runc v0.0.0-20190115041553-12f6a991201f/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v1.0.0-rc8.0.20190926000215-3e425f80a8c9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v1.0.0-rc9/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U= -github.com/opencontainers/runc v1.0.0-rc93/go.mod h1:3NOsor4w32B2tC0Zbl8Knk4Wg84SM2ImC1fxBuqJ/H0= -github.com/opencontainers/runc v1.0.2/go.mod h1:aTaHFFwQXuA71CiyxOdFFIorAoemI04suvGRQFzWTD0= -github.com/opencontainers/runc v1.1.0/go.mod h1:Tj1hFw6eFWp/o33uxGf5yF2BX5yz2Z6iptFpuvbbKqc= -github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-spec v1.0.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-spec v1.0.2-0.20190207185410-29686dbc5559/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-spec v1.0.3-0.20200929063507-e6143ca7d51d/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= -github.com/opencontainers/selinux v1.6.0/go.mod h1:VVGKuOLlE7v4PJyT6h7mNWvq1rzqiriPsEqVhc+svHE= -github.com/opencontainers/selinux v1.8.0/go.mod h1:RScLhm78qiWa2gbVCcGkC7tCGdgk3ogry1nUQF8Evvo= -github.com/opencontainers/selinux v1.8.2/go.mod h1:MUIHuUEvKB1wtJjQdOyYRgOnLD2xAPP8dBsCoU0KuF8= -github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ= +github.com/pavel-v-chernykh/keystore-go v2.1.0+incompatible/go.mod h1:xlUlxe/2ItGlQyMTstqeDv9r3U4obH7xYd26TbDQutY= github.com/pavel-v-chernykh/keystore-go/v4 v4.1.0/go.mod h1:2ejgys4qY+iNVW1IittZhyRYA6MNv8TgM6VHqojbB9g= -github.com/pavel-v-chernykh/keystore-go/v4 v4.2.0/go.mod h1:VxOBKEAW8/EJjil9qwfvVDSljDW0DCoZMD4ezsq9n8U= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= -github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pierrec/lz4 v2.5.2+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1-0.20171018195549-f15c970de5b7/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= +github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= -github.com/prometheus/client_golang v0.0.0-20180209125602-c332b6f63c06/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.2/go.mod h1:OsXs2jCmiKlQ1lTBmv21f2mNfw4xf/QclQDMrYNZzcM= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= -github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.11.1 h1:+4eQaD7vAZ6DsfsxB15hbE0odUjGI5ARs9yskGu1v4s= github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_golang v1.18.0 h1:HzFfmkOzH5Q8L8G+kSJKUx5dtG87sewO+FoDDqP5Tbk= +github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= 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-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20180110214958-89604d197083/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= +github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.0.0-20181126121408-4724e9255275/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= -github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.28.0 h1:vGVfV9KrDTvWt5boZO0I19g2E3CsWfpPPKZM9dt3mEw= github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/common v0.45.0 h1:2BGz0eBc2hdMDLnO/8n0jeB3oPrt2D08CekT0lneoxM= +github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a/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-20190522114515-bc1a522cf7b1/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= -github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= -github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= +github.com/prometheus/procfs v0.0.11/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= +github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.5.2/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= -github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rubenv/sql-migrate v0.0.0-20210614095031-55d5740dbbcc/go.mod h1:HFLT6i9iR4QBOF5rdCyjddC9t59ArqWJV2xx+jwcCMo= github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= -github.com/safchain/ethtool v0.0.0-20190326074333-42ed695e3de8/go.mod h1:Z0q5wiBQGYcxhMZ6gUqHn6pYNLypFAvaL3UvgZLR0U4= -github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= -github.com/sclevine/spec v1.2.0/go.mod h1:W4J29eT/Kzv7/b9IWLB055Z+qvVC9vt0Arko24q7p+U= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= -github.com/seccomp/libseccomp-golang v0.9.2-0.20210429002308-3879420cc921/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/sergi/go-diff v1.2.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= -github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.0.4-0.20170822132746-89742aefa4b2/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= -github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/smartystreets/assertions v1.2.0/go.mod h1:tcbTF8ujkAEcZ8TElKY+i30BzYlVhC/LOxJk7iOWnoo= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= @@ -1007,18 +707,17 @@ github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTd github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.2-0.20171109065643-2da4a54c5cee/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= -github.com/spf13/cobra v0.0.6/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= +github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0= +github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.1-0.20171106142849-4c012f6dcd95/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= @@ -1027,13 +726,11 @@ github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DM github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/stefanberger/go-pkcs11uri v0.0.0-20201008174630-78d3cae3a980/go.mod h1:AO3tvPzVZ/ayst6UlUKUv6rcPQInYe3IknH3jYhAKu8= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= -github.com/stretchr/objx v0.0.0-20180129172003-8a3f7159479f/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/testify v0.0.0-20180303142811-b89eecf5ca5d/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -1041,42 +738,25 @@ github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5 github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/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.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/sykesm/zap-logfmt v0.0.4 h1:U2WzRvmIWG1wDLCFY3sz8UeEmsdHQjHFNlIdmroVFaI= github.com/sykesm/zap-logfmt v0.0.4/go.mod h1:AuBd9xQjAe3URrWT1BBDk2v2onAZHkZkWRMiYZXiZWA= -github.com/syndtr/gocapability v0.0.0-20170704070218-db04d3cc01c8/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= -github.com/syndtr/gocapability v0.0.0-20180916011248-d98352740cb2/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= -github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= -github.com/tchap/go-patricia v2.2.6+incompatible/go.mod h1:bmLyhP68RS6kStMGxByiQ23RP/odRBOTVjwp2cDyi6I= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= 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-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= -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/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= -github.com/urfave/cli v0.0.0-20171014202726-7bc6a0acffa5/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/urfave/cli v1.22.2/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= +github.com/urfave/cli v1.22.4/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/urfave/cli/v2 v2.1.1/go.mod h1:SE9GqnLQmjVa0iPEY0f1w3ygNIYcIJ0OKPMoW2caLfQ= -github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= -github.com/vishvananda/netlink v0.0.0-20181108222139-023a6dafdcdf/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk= -github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= -github.com/vishvananda/netlink v1.1.1-0.20201029203352-d40f9887b852/go.mod h1:twkDnbuQxJYemMlGd4JFIcuhgX83tXhKS2B/PRMpOho= -github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI= -github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= -github.com/vishvananda/netns v0.0.0-20200728191858-db3c7e526aae/go.mod h1:DD4vA1DwXk04H54A1oHXtwZmA0grkVMdPxx/VGLCah0= -github.com/willf/bitset v1.1.11-0.20200630133818-d5bec3311243/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= -github.com/willf/bitset v1.1.11/go.mod h1:83CECat5yLh5zVOf4P1ErAgKA5UDvKtgyUABdr3+MjI= -github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -github.com/xeipuuv/gojsonschema v0.0.0-20180618132009-1d523034197f/go.mod h1:5yf86TLmAcydyeJq5YvxkGPE2fm/u4myDekKRoLuqhs= -github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/xlab/treeprint v0.0.0-20181112141820-a009c3971eca/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= +github.com/xlab/handysort v0.0.0-20150421192137-fb3537ed64a1/go.mod h1:QcJo0QPSfTONNIgpN5RA8prR7fF8nkF6cTWTcNerRO8= github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -1085,15 +765,12 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -github.com/yvasiyarov/go-metrics v0.0.0-20140926110328-57bccd1ccd43/go.mod h1:aX5oPXxHm3bOH+xeAttToC8pqch2ScQN/JoXYupl6xs= -github.com/yvasiyarov/gorelic v0.0.0-20141212073537-a9bba5b9ab50/go.mod h1:NUSPSUX/bi6SeDMUh6brw0nXpxHnc96TguQh0+r/ssA= -github.com/yvasiyarov/newrelic_platform_go v0.0.0-20140908184405-b21fdbd4370f/go.mod h1:GlGEuHIJweS1mbCqG+7vt2nvWLzLLnRHbXz5JKd/Qbg= -github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.5/go.mod h1:G5EMThwa9y8QZGBClrRx5EY+Yw9kAhnjy3bSjsnlVTQ= go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= +go.etcd.io/etcd v0.5.0-alpha.5.0.20200819165624-17cef6e3e9d5/go.mod h1:skWido08r9w6Lq/w70DO5XYIKMu4QFu1+4VsqLQuJy8= go.etcd.io/etcd v0.5.0-alpha.5.0.20200910180754-dd1b699fc489/go.mod h1:yVHk9ub3CSBatqGNg7GRmsnfLWtoW60w4eDYfh7vHDg= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= @@ -1105,7 +782,6 @@ go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVd go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= go.mongodb.org/mongo-driver v1.1.2/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.mozilla.org/pkcs7 v0.0.0-20200128120323-432b2356ecb1/go.mod h1:SNgMg+EgDFwmvSmLRTNKC5fegJjB7v23qTQ0XLGUNHk= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -1125,22 +801,24 @@ go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.starlark.net v0.0.0-20200306205701-8dd3e2ee1dd5/go.mod h1:nmDLcffg48OtT/PSW0Hg7FvpRQsQh5OSqIylirxKC7o= go.uber.org/atomic v1.3.2/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/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/goleak v1.1.11-0.20210813005559-691160354723 h1:sHOAIxRGBp443oHZIPB+HsUGaksVCXVQENPxwTfQdH4= go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= -go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= +go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.8.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= @@ -1150,38 +828,27 @@ go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= go.uber.org/zap v1.19.1 h1:ue41HOKd1vGURxrmeKIgELGb3jPW9DMUDGtsinblHwI= go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= -golang.org/x/crypto v0.0.0-20171113213409-9f005a07e0d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +go.uber.org/zap v1.26.0 h1:sI7k6L95XOKS281NhVKOFCUNIvv9e0w4BF8N3u+tCRo= +go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181009213950-7c1a557ab941/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/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-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190418165655-df01cb2cc480/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= 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-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191122220453-ac88ee75c92c/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200128174031-69ecbb4d6d5d/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200414173820-0848c9571904/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200604202706-70a84ac30bf9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210220033148-5ea612d1eb83/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/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.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k= golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -1194,6 +861,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/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-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20231226003508-02704c960a9b h1:kLiC65FbiHWFAOu+lxwNPujcsl8VYyTYYEZnsOO1WK4= +golang.org/x/exp v0.0.0-20231226003508-02704c960a9b/go.mod h1:iRJReGqOEeBhDZGkGbynYwcHlctCvnjTYIamk7uXpHI= 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= @@ -1216,18 +885,17 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= 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.1-0.20200828183125-ce943fd02449/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/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.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180112015858-5ccada7d0a7b/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-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181011144130-49bb7cea24b1/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/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-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1242,7 +910,6 @@ golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn 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-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190619014844-b5b0513f8c1b/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-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1262,28 +929,21 @@ golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/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-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210224082022-3d97a244fca7/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210520170846-37e1c6afe023/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= @@ -1292,6 +952,8 @@ golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.19.0 h1:zTwKpTd2XuCqf8huc7Fo2iSy+4RHPd10s4KzeTnVr1c= +golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= 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-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1306,9 +968,10 @@ golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f h1:Qmd2pbz05z7z6lm0DrgQVVPuBm92jqujBKMHMOlOQEw= golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.15.0 h1:s8pnnxNVzjWyrvYdFUQq5llS1PX2zhPXmccZv99h7uQ= +golang.org/x/oauth2 v0.15.0/go.mod h1:q48ptWNTY5XWf+JNten23lcvHpLJ0ZSxF5ttTHKVCAM= 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-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1323,6 +986,7 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ 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/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180117170059-2c42eef0765b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/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= @@ -1342,41 +1006,25 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190422165155-953cdadca894/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-20190514135907-3a4b5fb9f71f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190522044717-8097e1b27ff5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190602015325-4c4f7f33c9ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190812073006-9eafafc0a87e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191002063906-3421d5a6bb1c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191022100944-742c48ecaeb7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/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-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200120151820-655fe14d7479/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200217220822-9197077df867/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1386,39 +1034,28 @@ golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200602225109-6fdc65e7d980/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200728102440-3e129f6d46b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200817155316-9781c653f443/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200909081042-eff7692f9009/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200916030750-2334cc1a136f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200922070232-aee5d888a860/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201112073958-5cba982894dd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201117170446-d9b008d0a637/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201202213521-69691e467435/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210426230700-d19ff857e887/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1426,41 +1063,36 @@ golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211029165221-6e7872819dc8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211116061358-0a5406a5449c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/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.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= -golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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.1-0.20171227012246-e19ae1496984/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.20181227161524-e6919f6577db/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.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/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.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= @@ -1470,12 +1102,12 @@ golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxb 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-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= +golang.org/x/time v0.5.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-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1496,7 +1128,6 @@ golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/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-20190706070813-72ffa07ba3db/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI= 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-20190920225731-5eefd052ad72/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1522,7 +1153,6 @@ golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200308013534-11ec41452d41/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -1536,7 +1166,6 @@ golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20200916195026-c9a70fc28ce3/go.mod h1:z6u4i615ZeAfBE4XtMziQW1fSVJXACjjbWkB/mvPzlU= golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= @@ -1557,10 +1186,13 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= +gomodules.xyz/jsonpatch/v2 v2.0.1/go.mod h1:IhYNNY4jnS53ZnfE4PAmpKtDpTCj1JFXc+3mwe7XcUU= gomodules.xyz/jsonpatch/v2 v2.1.0/go.mod h1:IhYNNY4jnS53ZnfE4PAmpKtDpTCj1JFXc+3mwe7XcUU= gomodules.xyz/jsonpatch/v2 v2.2.0 h1:4pT439QV83L+G9FkcCriY6EkpcK6r6bK+A5FBUMI7qY= gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= -google.golang.org/api v0.0.0-20160322025152-9bf6e6e569ff/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0= +gomodules.xyz/jsonpatch/v2 v2.4.0 h1:Ci3iUJyx9UeRx7CeFN8ARgGbkESwJK+KB9lLcWxY/Zw= +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.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= @@ -1587,7 +1219,6 @@ google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59t google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.53.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= 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.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1596,13 +1227,14 @@ google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/cloud v0.0.0-20151119220103-975617b05ea8/go.mod h1:0H1ncTHf11KCFhTc/+EFRbzSCOZx+VUbRMk55Yv5MYk= +google.golang.org/appengine v1.6.8 h1:IhEN5q69dyKagZPYMSdIjS2HqprW324FRQZJcGqPAsM= +google.golang.org/appengine v1.6.8/go.mod h1:1jJ3jBArFh5pcgW8gCtRJnepW8FzD1V44FJffLiz/Ds= 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-20190404172233-64821d5d2107/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-20190522204451-c2c4e71fbf69/go.mod h1:z3L6/3dTEVtUr6QSP8miRzeRqwQOioJ9I66odjN4I7s= google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= @@ -1611,7 +1243,6 @@ google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvx 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-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200117163144-32f20d992d24/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= @@ -1626,7 +1257,6 @@ google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200527145253-8367513e4ece/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= @@ -1652,10 +1282,7 @@ google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+n google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20220118154757-00ab72f36ad5/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/grpc v0.0.0-20160317175043-d3ddb4469d5a/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= @@ -1664,7 +1291,6 @@ google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ij google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= @@ -1684,9 +1310,7 @@ google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQ google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -1702,10 +1326,11 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= +google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I= +google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20141024133853-64131543e789/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-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -1714,22 +1339,19 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EV gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= -gopkg.in/gorp.v1 v1.7.2/go.mod h1:Wo3h+DBQZIxATwftsglhdD/62zRFPhGhTiu5jUJmCaw= -gopkg.in/h2non/gock.v1 v1.0.15/go.mod h1:sX4zAkdYX1TRGJ2JY156cFspQn4yRWn6p9EMdODlynE= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.51.1/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.52.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/square/go-jose.v2 v2.5.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.0.0/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1739,15 +1361,18 @@ gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20190905181640-827449938966/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.0 h1:hjy8E9ON/egN1tAYqKb61G10WtihqetD4sz2H+8nIeA= gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= +gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= -helm.sh/helm/v3 v3.7.1/go.mod h1:3eOeBD3Z+O/ELiuu19zynZSN8jP1ErXLuyP21SZeMq8= 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-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= @@ -1756,163 +1381,134 @@ honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= k8s.io/api v0.18.0/go.mod h1:q2HRQkfDzHMBZL9l/y9rH63PkQl4vae0xRT+8prbrK8= +k8s.io/api v0.18.6/go.mod h1:eeyxr+cwCjMdLAmr2W3RyDI0VvTawSg/3RFFBEnmZGI= +k8s.io/api v0.19.0/go.mod h1:I1K45XlvTrDjmj5LoM5LuP/KYrhWbjUKT/SoPG0qTjw= k8s.io/api v0.20.1/go.mod h1:KqwcCVogGxQY3nBlRpwt+wpAMF/KjaCc7RpywacvqUo= -k8s.io/api v0.20.2/go.mod h1:d7n6Ehyzx+S+cE3VhTGfVNNqtGc/oL9DCdYYahlurV8= -k8s.io/api v0.20.4/go.mod h1:++lNL1AJMkDymriNniQsWRkMDzRaX2Y/POTUi8yvqYQ= -k8s.io/api v0.20.6/go.mod h1:X9e8Qag6JV/bL5G6bU8sdVRltWKmdHsFUGS3eVndqE8= -k8s.io/api v0.21.0/go.mod h1:+YbrhBBGgsxbF6o6Kj4KJPJnBmAKuXDeS3E18bgHNVU= -k8s.io/api v0.22.1/go.mod h1:bh13rkTp3F1XEaLGykbyRD2QaTTzPm0e/BMd8ptFONY= -k8s.io/api v0.22.2/go.mod h1:y3ydYpLJAaDI+BbSe2xmGcqxiWHmWjkEeIbiwHvnPR8= -k8s.io/api v0.23.0/go.mod h1:8wmDdLBHBNxtOIytwLstXt5E9PddnZb0GaMcqsvDBpg= k8s.io/api v0.23.1 h1:ncu/qfBfUoClqwkTGbeRqqOqBCRoUAflMuOaOD7J0c8= k8s.io/api v0.23.1/go.mod h1:WfXnOnwSqNtG62Y1CdjoMxh7r7u9QXGCkA1u0na2jgo= +k8s.io/api v0.29.0 h1:NiCdQMY1QOp1H8lfRyeEf8eOwV6+0xA6XEE44ohDX2A= +k8s.io/api v0.29.0/go.mod h1:sdVmXoz2Bo/cb77Pxi71IPTSErEW32xa4aXwKH7gfBA= k8s.io/apiextensions-apiserver v0.18.0/go.mod h1:18Cwn1Xws4xnWQNC00FLq1E350b9lUF+aOdIWDOZxgo= +k8s.io/apiextensions-apiserver v0.18.6/go.mod h1:lv89S7fUysXjLZO7ke783xOwVTm6lKizADfvUM/SS/M= +k8s.io/apiextensions-apiserver v0.19.0/go.mod h1:znfQxNpjqz/ZehvbfMg5N6fvBJW5Lqu5HVLTJQdP4Fs= k8s.io/apiextensions-apiserver v0.20.1/go.mod h1:ntnrZV+6a3dB504qwC5PN/Yg9PBiDNt1EVqbW2kORVk= -k8s.io/apiextensions-apiserver v0.20.2/go.mod h1:F6TXp389Xntt+LUq3vw6HFOLttPa0V8821ogLGwb6Zs= -k8s.io/apiextensions-apiserver v0.22.1/go.mod h1:HeGmorjtRmRLE+Q8dJu6AYRoZccvCMsghwS8XTUYb2c= -k8s.io/apiextensions-apiserver v0.22.2/go.mod h1:2E0Ve/isxNl7tWLSUDgi6+cmwHi5fQRdwGVCxbC+KFA= -k8s.io/apiextensions-apiserver v0.23.0/go.mod h1:xIFAEEDlAZgpVBl/1VSjGDmLoXAWRG40+GsWhKhAxY4= k8s.io/apiextensions-apiserver v0.23.1 h1:xxE0q1vLOVZiWORu1KwNRQFsGWtImueOrqSl13sS5EU= k8s.io/apiextensions-apiserver v0.23.1/go.mod h1:0qz4fPaHHsVhRApbtk3MGXNn2Q9M/cVWWhfHdY2SxiM= +k8s.io/apiextensions-apiserver v0.29.0 h1:0VuspFG7Hj+SxyF/Z/2T0uFbI5gb5LRgEyUVE3Q4lV0= +k8s.io/apiextensions-apiserver v0.29.0/go.mod h1:TKmpy3bTS0mr9pylH0nOt/QzQRrW7/h7yLdRForMZwc= k8s.io/apimachinery v0.18.0/go.mod h1:9SnR/e11v5IbyPCGbvJViimtJ0SwHG4nfZFjU77ftcA= +k8s.io/apimachinery v0.18.6/go.mod h1:OaXp26zu/5J7p0f92ASynJa1pZo06YlV9fG7BoWbCko= +k8s.io/apimachinery v0.19.0/go.mod h1:DnPGDnARWFvYa3pMHgSxtbZb7gpzzAZ1pTfaUNDVlmA= k8s.io/apimachinery v0.20.1/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= -k8s.io/apimachinery v0.20.2/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= -k8s.io/apimachinery v0.20.4/go.mod h1:WlLqWAHZGg07AeltaI0MV5uk1Omp8xaN0JGLY6gkRpU= -k8s.io/apimachinery v0.20.6/go.mod h1:ejZXtW1Ra6V1O5H8xPBGz+T3+4gfkTCeExAHKU57MAc= -k8s.io/apimachinery v0.21.0/go.mod h1:jbreFvJo3ov9rj7eWT7+sYiRx+qZuCYXwWT1bcDswPY= -k8s.io/apimachinery v0.22.1/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= -k8s.io/apimachinery v0.22.2/go.mod h1:O3oNtNadZdeOMxHFVxOreoznohCpy0z6mocxbZr7oJ0= -k8s.io/apimachinery v0.23.0/go.mod h1:fFCTTBKvKcwTPFzjlcxp91uPFZr+JA0FubU4fLzzFYc= k8s.io/apimachinery v0.23.1 h1:sfBjlDFwj2onG0Ijx5C+SrAoeUscPrmghm7wHP+uXlo= k8s.io/apimachinery v0.23.1/go.mod h1:SADt2Kl8/sttJ62RRsi9MIV4o8f5S3coArm0Iu3fBno= +k8s.io/apimachinery v0.29.0 h1:+ACVktwyicPz0oc6MTMLwa2Pw3ouLAfAon1wPLtG48o= +k8s.io/apimachinery v0.29.0/go.mod h1:eVBxQ/cwiJxH58eK/jd/vAk4mrxmVlnpBH5J2GbMeis= k8s.io/apiserver v0.18.0/go.mod h1:3S2O6FeBBd6XTo0njUrLxiqk8GNy6wWOftjhJcXYnjw= +k8s.io/apiserver v0.18.6/go.mod h1:Zt2XvTHuaZjBz6EFYzpp+X4hTmgWGy8AthNVnTdm3Wg= +k8s.io/apiserver v0.19.0/go.mod h1:XvzqavYj73931x7FLtyagh8WibHpePJ1QwWrSJs2CLk= k8s.io/apiserver v0.20.1/go.mod h1:ro5QHeQkgMS7ZGpvf4tSMx6bBOgPfE+f52KwvXfScaU= -k8s.io/apiserver v0.20.2/go.mod h1:2nKd93WyMhZx4Hp3RfgH2K5PhwyTrprrkWYnI7id7jA= -k8s.io/apiserver v0.20.4/go.mod h1:Mc80thBKOyy7tbvFtB4kJv1kbdD0eIH8k8vianJcbFM= -k8s.io/apiserver v0.20.6/go.mod h1:QIJXNt6i6JB+0YQRNcS0hdRHJlMhflFmsBDeSgT1r8Q= -k8s.io/apiserver v0.22.1/go.mod h1:2mcM6dzSt+XndzVQJX21Gx0/Klo7Aen7i0Ai6tIa400= -k8s.io/apiserver v0.22.2/go.mod h1:vrpMmbyjWrgdyOvZTSpsusQq5iigKNWv9o9KlDAbBHI= -k8s.io/apiserver v0.23.0/go.mod h1:Cec35u/9zAepDPPFyT+UMrgqOCjgJ5qtfVJDxjZYmt4= k8s.io/apiserver v0.23.1/go.mod h1:Bqt0gWbeM2NefS8CjWswwd2VNAKN6lUKR85Ft4gippY= -k8s.io/cli-runtime v0.22.1/go.mod h1:YqwGrlXeEk15Yn3em2xzr435UGwbrCw5x+COQoTYfoo= -k8s.io/cli-runtime v0.23.1/go.mod h1:r9r8H/qfXo9w+69vwUL7LokKlLRKW5D6A8vUKCx+YL0= +k8s.io/cli-runtime v0.19.0/go.mod h1:tun9l0eUklT8IHIM0jors17KmUjcrAxn0myoBYwuNuo= k8s.io/client-go v0.18.0/go.mod h1:uQSYDYs4WhVZ9i6AIoEZuwUggLVEF64HOD37boKAtF8= +k8s.io/client-go v0.18.6/go.mod h1:/fwtGLjYMS1MaM5oi+eXhKwG+1UHidUEXRh6cNsdO0Q= +k8s.io/client-go v0.19.0/go.mod h1:H9E/VT95blcFQnlyShFgnFT9ZnJOAceiUHM3MlRC+mU= k8s.io/client-go v0.20.1/go.mod h1:/zcHdt1TeWSd5HoUe6elJmHSQ6uLLgp4bIJHVEuy+/Y= -k8s.io/client-go v0.20.2/go.mod h1:kH5brqWqp7HDxUFKoEgiI4v8G1xzbe9giaCenUWJzgE= -k8s.io/client-go v0.20.4/go.mod h1:LiMv25ND1gLUdBeYxBIwKpkSC5IsozMMmOOeSJboP+k= -k8s.io/client-go v0.20.6/go.mod h1:nNQMnOvEUEsOzRRFIIkdmYOjAZrC8bgq0ExboWSU1I0= -k8s.io/client-go v0.21.0/go.mod h1:nNBytTF9qPFDEhoqgEPaarobC8QPae13bElIVHzIglA= -k8s.io/client-go v0.22.1/go.mod h1:BquC5A4UOo4qVDUtoc04/+Nxp1MeHcVc1HJm1KmG8kk= -k8s.io/client-go v0.22.2/go.mod h1:sAlhrkVDf50ZHx6z4K0S40wISNTarf1r800F+RlCF6U= -k8s.io/client-go v0.23.0/go.mod h1:hrDnpnK1mSr65lHHcUuIZIXDgEbzc7/683c6hyG4jTA= k8s.io/client-go v0.23.1 h1:Ma4Fhf/p07Nmj9yAB1H7UwbFHEBrSPg8lviR24U2GiQ= k8s.io/client-go v0.23.1/go.mod h1:6QSI8fEuqD4zgFK0xbdwfB/PthBsIxCJMa3s17WlcO0= +k8s.io/client-go v0.29.0 h1:KmlDtFcrdUzOYrBhXHgKw5ycWzc3ryPX5mQe0SkG3y8= +k8s.io/client-go v0.29.0/go.mod h1:yLkXH4HKMAywcrD82KMSmfYg2DlE8mepPR4JGSo5n38= k8s.io/code-generator v0.18.0/go.mod h1:+UHX5rSbxmR8kzS+FAv7um6dtYrZokQvjHpDSYRVkTc= -k8s.io/code-generator v0.19.7/go.mod h1:lwEq3YnLYb/7uVXLorOJfxg+cUu2oihFhHZ0n9NIla0= +k8s.io/code-generator v0.18.6/go.mod h1:TgNEVx9hCyPGpdtCWA34olQYLkh3ok9ar7XfSsr8b6c= +k8s.io/code-generator v0.19.0/go.mod h1:moqLn7w0t9cMs4+5CQyxnfA/HV8MF6aAVENF+WZZhgk= k8s.io/code-generator v0.20.1/go.mod h1:UsqdF+VX4PU2g46NC2JRs4gc+IfrctnwHb76RNbWHJg= -k8s.io/code-generator v0.20.2/go.mod h1:UsqdF+VX4PU2g46NC2JRs4gc+IfrctnwHb76RNbWHJg= -k8s.io/code-generator v0.21.0/go.mod h1:hUlps5+9QaTrKx+jiM4rmq7YmH8wPOIko64uZCHDh6Q= -k8s.io/code-generator v0.22.1/go.mod h1:eV77Y09IopzeXOJzndrDyCI88UBok2h6WxAlBwpxa+o= -k8s.io/code-generator v0.22.2/go.mod h1:eV77Y09IopzeXOJzndrDyCI88UBok2h6WxAlBwpxa+o= -k8s.io/code-generator v0.23.0/go.mod h1:vQvOhDXhuzqiVfM/YHp+dmg10WDZCchJVObc9MvowsE= k8s.io/code-generator v0.23.1/go.mod h1:V7yn6VNTCWW8GqodYCESVo95fuiEg713S8B7WacWZDA= k8s.io/component-base v0.18.0/go.mod h1:u3BCg0z1uskkzrnAKFzulmYaEpZF7XC9Pf/uFyb1v2c= +k8s.io/component-base v0.18.6/go.mod h1:knSVsibPR5K6EW2XOjEHik6sdU5nCvKMrzMt2D4In14= +k8s.io/component-base v0.19.0/go.mod h1:dKsY8BxkA+9dZIAh2aWJLL/UdASFDNtGYTCItL4LM7Y= k8s.io/component-base v0.20.1/go.mod h1:guxkoJnNoh8LNrbtiQOlyp2Y2XFCZQmrcg2n/DeYNLk= -k8s.io/component-base v0.20.2/go.mod h1:pzFtCiwe/ASD0iV7ySMu8SYVJjCapNM9bjvk7ptpKh0= -k8s.io/component-base v0.20.4/go.mod h1:t4p9EdiagbVCJKrQ1RsA5/V4rFQNDfRlevJajlGwgjI= -k8s.io/component-base v0.20.6/go.mod h1:6f1MPBAeI+mvuts3sIdtpjljHWBQ2cIy38oBIWMYnrM= -k8s.io/component-base v0.22.1/go.mod h1:0D+Bl8rrnsPN9v0dyYvkqFfBeAd4u7n77ze+p8CMiPo= -k8s.io/component-base v0.22.2/go.mod h1:5Br2QhI9OTe79p+TzPe9JKNQYvEKbq9rTJDWllunGug= -k8s.io/component-base v0.23.0/go.mod h1:DHH5uiFvLC1edCpvcTDV++NKULdYYU6pR9Tt3HIKMKI= k8s.io/component-base v0.23.1 h1:j/BqdZUWeWKCy2v/jcgnOJAzpRYWSbGcjGVYICko8Uc= k8s.io/component-base v0.23.1/go.mod h1:6llmap8QtJIXGDd4uIWJhAq0Op8AtQo6bDW2RrNMTeo= -k8s.io/component-helpers v0.22.1/go.mod h1:QvBcDbX+qU5I2tMZABBF5fRwAlQwiv771IGBHK9WYh4= -k8s.io/component-helpers v0.23.1/go.mod h1:ZK24U+2oXnBPcas2KolLigVVN9g5zOzaHLkHiQMFGr0= -k8s.io/cri-api v0.17.3/go.mod h1:X1sbHmuXhwaHs9xxYffLqJogVsnI+f6cPRcgPel7ywM= -k8s.io/cri-api v0.20.1/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= -k8s.io/cri-api v0.20.4/go.mod h1:2JRbKt+BFLTjtrILYVqQK5jqhI+XNdF6UiGMgczeBCI= -k8s.io/cri-api v0.20.6/go.mod h1:ew44AjNXwyn1s0U4xCKGodU7J1HzBeZ1MpGrpa5r8Yc= +k8s.io/component-base v0.29.0 h1:T7rjd5wvLnPBV1vC4zWd/iWRbV8Mdxs+nGaoaFzGw3s= +k8s.io/component-base v0.29.0/go.mod h1:sADonFTQ9Zc9yFLghpDpmNXEdHyQmFIGbiuZbqAXQ1M= k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20200114144118-36b2048a9120/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20200428234225-8167cfdcfc14/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20201113003025-83324d819ded/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= -k8s.io/gengo v0.0.0-20201203183100-97869a43a9d9/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= -k8s.io/gengo v0.0.0-20201214224949-b6c5ce23f027/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= -k8s.io/klog v0.2.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.3.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.8.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= -k8s.io/klog/v2 v2.9.0/go.mod h1:hy9LJ/NvuK+iVyP4Ehqva4HxZG/oXyIS3n3Jmire4Ec= k8s.io/klog/v2 v2.30.0 h1:bUO6drIvCIsvZ/XFgfxoGFQU/a4Qkh0iAlvUR7vlHJw= k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/klog/v2 v2.110.1 h1:U/Af64HJf7FcwMcXyKm2RPM22WZzyR7OSpYj5tg3cL0= +k8s.io/klog/v2 v2.110.1/go.mod h1:YGtd1984u+GgbuZ7e08/yBuAfKLSO0+uR1Fhi6ExXjo= +k8s.io/kube-aggregator v0.19.0/go.mod h1:1Ln45PQggFAG8xOqWPIYMxUq8WNtpPnYsbUJ39DpF/A= k8s.io/kube-aggregator v0.23.1 h1:w05VLh3ji05gYQglMKKrwafgqjgIxZoBusxdSWS9d/4= k8s.io/kube-aggregator v0.23.1/go.mod h1:1SPZXYD/je2gKxxLBkYyG3yFxSCUWI5QTyjqP2ZxRDI= +k8s.io/kube-aggregator v0.29.0 h1:N4fmtePxOZ+bwiK1RhVEztOU+gkoVkvterHgpwAuiTw= +k8s.io/kube-aggregator v0.29.0/go.mod h1:bjatII63ORkFg5yUFP2qm2OC49R0wwxZhRVIyJ4Z4X0= k8s.io/kube-openapi v0.0.0-20200121204235-bf4fb3bd569c/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E= +k8s.io/kube-openapi v0.0.0-20200410145947-61e04a5be9a6/go.mod h1:GRQhZsXIAJ1xR0C9bd8UpWHZ5plfAS9fzPjJuQ6JL3E= k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAGcJo0Tvi+dK12EcqSLqcWsryKMpfM= -k8s.io/kube-openapi v0.0.0-20210305001622-591a79e4bda7/go.mod h1:wXW5VT87nVfh/iLV8FpR2uDvrFyomxbtb1KivDbvPTE= -k8s.io/kube-openapi v0.0.0-20210421082810-95288971da7e/go.mod h1:vHXdDvt9+2spS2Rx9ql3I8tycm3H9FDfdUoIuKCefvw= k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 h1:E3J9oCLlaobFUqsjG9DfKbP2BmgwBL2p7pn0A3dG9W4= k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= -k8s.io/kubectl v0.22.1/go.mod h1:mjAOgEbMNMtZWxnfM6jd+nPjPsaoLqO5xanc78WcSbw= -k8s.io/kubectl v0.23.1/go.mod h1:Ui7dJKdUludF8yWAOSN7JZEkOuYixX5yF6E6NjoukKE= -k8s.io/kubernetes v1.13.0/go.mod h1:ocZa8+6APFNC2tX1DZASIbocyYT5jHzqFVsY5aoB7Jk= -k8s.io/metrics v0.22.1/go.mod h1:i/ZNap89UkV1gLa26dn7fhKAdheJaKy+moOqJbiif7E= -k8s.io/metrics v0.23.1/go.mod h1:qXvsM1KANrc+ZZeFwj6Phvf0NLiC+d3RwcsLcdGc+xs= +k8s.io/kube-openapi v0.0.0-20240103051144-eec4567ac022 h1:avRdiaB03v88Mfvum2S3BBwkNuTlmuar4LlfO9Hajko= +k8s.io/kube-openapi v0.0.0-20240103051144-eec4567ac022/go.mod h1:sIV51WBTkZrlGOJMCDZDA1IaPBUDTulPpD4y7oe038k= +k8s.io/kubectl v0.19.0/go.mod h1:gPCjjsmE6unJzgaUNXIFGZGafiUp5jh0If3F/x7/rRg= +k8s.io/metrics v0.19.0/go.mod h1:WykpW8B60OeAJx1imdwUgyOID2kDljr/Q+1zrPJ98Wo= k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= +k8s.io/utils v0.0.0-20200603063816-c1c6865ac451/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20200729134348-d5654de09c73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20210111153108-fddb29f9d009/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20210305010621-2afb4311ab10/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20210707171843-4b05e18ac7d9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20210819203725-bdf08cb9a70a/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b h1:wxEMGetGMur3J1xuGLQY7GEQYg9bZxKn3tKo5k/eYcs= k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -oras.land/oras-go v0.4.0/go.mod h1:VJcU+VE4rkclUbum5C0O7deEZbBYnsnpbGSACwTjOcg= +k8s.io/utils v0.0.0-20240102154912-e7106e64919e h1:eQ/4ljkx21sObifjzXwlPKpdGLrCfRziVtos3ofG/sQ= +k8s.io/utils v0.0.0-20240102154912-e7106e64919e/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/letsencrypt v0.0.3/go.mod h1:buyQKZ6IXrRnB7TdkHP0RyEybLx18HHyOSoTyoOLqNY= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.7/go.mod h1:PHgbrJT7lCHcxMU+mDHEm+nx46H4zuuHZkDP6icnhu0= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.9/go.mod h1:dzAXnQbTRyDlZPJX2SUPEqvnB+j7AJjtlox7PEwigU0= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.14/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.15/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.22/go.mod h1:LEScyzhFmoF5pso/YSeBstl57mOzx9xlU9n85RGrDQg= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.25/go.mod h1:Mlj9PNLmG9bZ6BHFwFKDo5afkpWyUISkb9Me0GnK66I= -sigs.k8s.io/controller-runtime v0.8.3/go.mod h1:U/l+DUopBc1ecfRZ5aviA9JDmGFQKvLf5YkZNx2e0sU= -sigs.k8s.io/controller-runtime v0.11.0 h1:DqO+c8mywcZLFJWILq4iktoECTyn30Bkj0CwgqMpZWQ= -sigs.k8s.io/controller-runtime v0.11.0/go.mod h1:KKwLiTooNGu+JmLZGn9Sl3Gjmfj66eMbCQznLP5zcqA= -sigs.k8s.io/controller-tools v0.5.0/go.mod h1:JTsstrMpxs+9BUj6eGuAaEb6SDSPTeVtUyp0jmnAM/I= -sigs.k8s.io/controller-tools v0.7.0/go.mod h1:bpBAo0VcSDDLuWt47evLhMLPxRPxMDInTEH/YbdeMK0= -sigs.k8s.io/gateway-api v0.3.0/go.mod h1:Wb8bx7QhGVZxOSEU3i9vw/JqTB5Nlai9MLMYVZeDmRQ= +sigs.k8s.io/controller-runtime v0.6.2/go.mod h1:vhcq/rlnENJ09SIRp3EveTaZ0yqH526hjf9iJdbUJ/E= +sigs.k8s.io/controller-runtime v0.8.0 h1:s0dYdo7lQgJiAf+alP82PRwbz+oAqL3oSyMQ18XRDOc= +sigs.k8s.io/controller-runtime v0.8.0/go.mod h1:v9Lbj5oX443uR7GXYY46E0EE2o7k2YxQ58GxVNeXSW4= +sigs.k8s.io/controller-runtime v0.16.3 h1:2TuvuokmfXvDUamSx1SuAOO3eTyye+47mJCigwG62c4= +sigs.k8s.io/controller-runtime v0.16.3/go.mod h1:j7bialYoSn142nv9sCOJmQgDXQXxnroFU4VnX/brVJ0= +sigs.k8s.io/controller-tools v0.2.9-0.20200414181213-645d44dca7c0/go.mod h1:YKE/iHvcKITCljdnlqHYe+kAt7ZldvtAwUzQff0k1T0= +sigs.k8s.io/gateway-api v1.0.0 h1:iPTStSv41+d9p0xFydll6d7f7MOBGuqXM6p2/zVYMAs= +sigs.k8s.io/gateway-api v1.0.0/go.mod h1:4cUgr0Lnp5FZ0Cdq8FdRwCvpiWws7LVhLHGIudLlf4c= sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 h1:fD1pz4yfdADVNfFmcP2aBEtudwUQ1AlLnRBALr33v3s= sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= -sigs.k8s.io/kustomize/api v0.8.11/go.mod h1:a77Ls36JdfCWojpUqR6m60pdGY1AYFix4AH83nJtY1g= -sigs.k8s.io/kustomize/api v0.10.1/go.mod h1:2FigT1QN6xKdcnGS2Ppp1uIWrtWN28Ms8A3OZUZhwr8= -sigs.k8s.io/kustomize/cmd/config v0.9.13/go.mod h1:7547FLF8W/lTaDf0BDqFTbZxM9zqwEJqCKN9sSR0xSs= -sigs.k8s.io/kustomize/cmd/config v0.10.2/go.mod h1:K2aW7nXJ0AaT+VA/eO0/dzFLxmpFcTzudmAgDwPY1HQ= -sigs.k8s.io/kustomize/kustomize/v4 v4.2.0/go.mod h1:MOkR6fmhwG7hEDRXBYELTi5GSFcLwfqwzTRHW3kv5go= -sigs.k8s.io/kustomize/kustomize/v4 v4.4.1/go.mod h1:qOKJMMz2mBP+vcS7vK+mNz4HBLjaQSWRY22EF6Tb7Io= -sigs.k8s.io/kustomize/kyaml v0.11.0/go.mod h1:GNMwjim4Ypgp/MueD3zXHLRJEjz7RvtPae0AwlvEMFM= -sigs.k8s.io/kustomize/kyaml v0.13.0/go.mod h1:FTJxEZ86ScK184NpGSAQcfEqee0nul8oLCK30D47m4E= +sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd h1:EDPBXCAspyGV4jQlpZSudPeMmr1bNJefnuqLsRAsHZo= +sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= +sigs.k8s.io/kustomize v2.0.3+incompatible/go.mod h1:MkjgH3RdOWrievjo6c9T245dYlB5QeXV4WCbnt/PEpU= sigs.k8s.io/structured-merge-diff/v3 v3.0.0-20200116222232-67a7b8c61874/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw= sigs.k8s.io/structured-merge-diff/v3 v3.0.0/go.mod h1:PlARxl6Hbt/+BC80dRLi1qAmnMqwqDg62YvvVkZjemw= sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.0.3/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.1.0/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= sigs.k8s.io/structured-merge-diff/v4 v4.2.0 h1:kDvPBbnPk+qYmkHmSo8vKGp438IASWofnbbUKDE/bv0= sigs.k8s.io/structured-merge-diff/v4 v4.2.0/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/structured-merge-diff/v4 v4.4.1 h1:150L+0vs/8DA78h1u02ooW1/fFq/Lwr+sGiqlzvrtq4= +sigs.k8s.io/structured-merge-diff/v4 v4.4.1/go.mod h1:N8hJocpFajUSSeSJ9bOZ77VzejKZaXsTtZo4/u7Io08= +sigs.k8s.io/testing_frameworks v0.1.2/go.mod h1:ToQrwSC3s8Xf/lADdZp3Mktcql9CG0UAmdJG9th5i0w= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= +sigs.k8s.io/yaml v1.4.0 h1:Mk1wCc2gy/F0THH0TAp1QYyJNzRm2KCLy3o5ASXVI5E= +sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= software.sslmate.com/src/go-pkcs12 v0.0.0-20180114231543-2291e8f0f237/go.mod h1:/xvNRWUqm0+/ZMiF4EX00vrSCMsE4/NHb+Pt3freEeQ= -software.sslmate.com/src/go-pkcs12 v0.0.0-20210415151418-c5206de65a78/go.mod h1:B7Wf0Ya4DHF9Yw+qfZuJijQYkWicqDa+79Ytmmq3Kjg= +software.sslmate.com/src/go-pkcs12 v0.0.0-20200830195227-52f69702a001/go.mod h1:/xvNRWUqm0+/ZMiF4EX00vrSCMsE4/NHb+Pt3freEeQ= +vbom.ml/util v0.0.0-20160121211510-db5cfe13f5cc/go.mod h1:so/NYdZXCz+E3ZpW0uAoCj6uzU2+8OWDFv/HxUSs7kI= diff --git a/go.work.sum b/go.work.sum new file mode 100644 index 0000000..99d3d17 --- /dev/null +++ b/go.work.sum @@ -0,0 +1 @@ +cloud.google.com/go v0.54.0 h1:3ithwDMr7/3vpAMXiH+ZQnYbuIsh+OPhUPMFC9enmn0= diff --git a/go.work.tmp b/go.work.tmp new file mode 100644 index 0000000..7178f0b --- /dev/null +++ b/go.work.tmp @@ -0,0 +1,2 @@ +go 1.18 +use ./test diff --git a/install-examples/README.md b/install-examples/README.md index eb49e0d..9385403 100644 --- a/install-examples/README.md +++ b/install-examples/README.md @@ -1,112 +1,122 @@ -## install cert-manager -``` -helm repo add jetstack https://charts.jetstack.io --force-update -``` -``` -helm repo update -``` -``` -helm search repo cert-manager -helm search repo cert-manager --versions | grep v1. -``` -``` -helm install \ - cert-manager jetstack/cert-manager \ - --namespace cert-manager \ - --create-namespace \ - --version v1.12.6 \ - --set installCRDs=true -``` - -## Install adcs-issuer - -### add helm repo - -``` -helm repo add djkormo-adcs-issuer https://djkormo.github.io/adcs-issuer/ -``` - -### update - -``` -helm repo update djkormo-adcs-issuer -``` - -### check all versions -``` -helm search repo adcs-issuer --versions -``` - - -### install in cert-manager namespace - -```console -helm install adcs-issuer djkormo-adcs-issuer/adcs-issuer --version 2.0.8 \ - --namespace cert-manager --values values-cert-manager-namespace.yaml --create-namespace -``` - - -``` -kubectl -n cert-manager get deploy -kubectl -n cert-manager logs deploy/adcs-issuer-controller-manager -``` - - -### install adcs issuer in adcs-issuer namespace - -```console -helm install adcs-issuer djkormo-adcs-issuer/adcs-issuer --version 2.0.8 \ - --namespace adcs-issuer --values values-adcs-issuer-namespace.yaml --create-namespace -``` - -#### Checks -``` -kubectl -n adcs-issuer get deploy -kubectl -n adcs-issuer logs deploy/adcs-issuer-controller-manager -``` - -## install adcs-simulator - -### install adcs-simulator in adcs-issuer namespace - -``` -kubectl apply -R -f adcs-simulator/adcs-issuer-namespace/ -n adcs-issuer - -``` - - - -#### Checks -``` -kubectl -n adcs-issuer logs deploy/adcs-sim-deployment -kubectl -n adcs-issuer get clusteradcsissuer,adcsrequest -kubectl -n adcs-issuer get secrets --field-selector type=kubernetes.io/tls -kubectl -n adcs-issuer get certificate -ojsonpath="{range .items[*]}{.metadata.name} not before: {.status.notBefore} not after: {.status.notAfter}{'\n'}{end}" -``` - -
-
-NAME                                        READY   SECRET            AGE
-certificate.cert-manager.io/adcs-sim-cert   True    adcs-sim-secret   25s
-
-NAME                                                                            AGE
-clusteradcsissuer.adcs.certmanager.csf.nokia.com/adcs-cluster-issuer-adcs-sim   22m
-
-NAME              TYPE                DATA   AGE
-adcs-sim-secret   kubernetes.io/tls   2      20m
-
-adcs-sim-cert not before: 2024-02-07T21:05:58Z not after: 2025-02-06T21:05:58Z
-
-
- - -#### Installed helm charts - -```console -helm list -A -``` -
-NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                           APP VERSION
-adcs-issuer     adcs-issuer     1               2024-02-07 21:57:18.0829885 +0100 CET   deployed        adcs-issuer-2.0.8               2.0.8
-cert-manager    cert-manager    1               2024-02-07 22:16:03.1434831 +0100 CET   deployed        cert-manager-v1.12.6            v1.12.6
-
+## install cert-manager +``` +helm repo add jetstack https://charts.jetstack.io --force-update +``` +``` +helm repo update +``` +``` +helm search repo cert-manager +helm search repo cert-manager --versions | grep v1. +``` +``` +helm install \ + cert-manager jetstack/cert-manager \ + --namespace cert-manager \ + --create-namespace \ + --version v1.12.6 \ + --set installCRDs=true +``` + +helm search repo cert-manager-csi-driver +helm search repo cert-manager-csi-driver --versions + +helm install \ + cert-manager-csi-driver jetstack/cert-manager-csi-driver \ + --namespace cert-manager \ + --version v0.7.1 + + + +## Install adcs-issuer + +### add helm repo + +``` +helm repo add djkormo-adcs-issuer https://djkormo.github.io/adcs-issuer/ +``` + +### update + +``` +helm repo update djkormo-adcs-issuer +``` + +### check all versions +``` +helm search repo adcs-issuer --versions +``` + + +### install in cert-manager namespace + +```console +helm install adcs-issuer djkormo-adcs-issuer/adcs-issuer --version 2.0.8 \ + --namespace cert-manager --values values-cert-manager-namespace.yaml --create-namespace +``` + + +``` +kubectl -n cert-manager get deploy +kubectl -n cert-manager logs deploy/adcs-issuer-controller-manager +``` + + +### install adcs issuer in adcs-issuer namespace + +```console +helm install adcs-issuer djkormo-adcs-issuer/adcs-issuer --version 2.0.8 \ + --namespace adcs-issuer --values values-adcs-issuer-namespace.yaml --create-namespace +``` + +#### Checks +``` +kubectl -n adcs-issuer get deploy +kubectl -n adcs-issuer logs deploy/adcs-issuer-controller-manager +``` + +## install adcs-simulator + +### install adcs-simulator in adcs-issuer namespace + +``` +kubectl apply -R -f adcs-simulator/adcs-issuer-namespace/ -n adcs-issuer + +``` + + + +#### Checks +``` +kubectl -n adcs-issuer logs deploy/adcs-sim-deployment +kubectl -n adcs-issuer get clusteradcsissuer,adcsrequest +kubectl -n adcs-issuer get secrets --field-selector type=kubernetes.io/tls +kubectl -n adcs-issuer get certificate -ojsonpath="{range .items[*]}{.metadata.name} not before: {.status.notBefore} not after: {.status.notAfter}{'\n'}{end}" +``` + +
+
+NAME                                        READY   SECRET            AGE
+certificate.cert-manager.io/adcs-sim-cert   True    adcs-sim-secret   25s
+
+NAME                                                                            AGE
+clusteradcsissuer.adcs.certmanager.csf.nokia.com/adcs-cluster-issuer-adcs-sim   22m
+
+NAME              TYPE                DATA   AGE
+adcs-sim-secret   kubernetes.io/tls   2      20m
+
+adcs-sim-cert not before: 2024-02-07T21:05:58Z not after: 2025-02-06T21:05:58Z
+
+
+ + +#### Installed helm charts + +```console +helm list -A +``` +
+NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART                           APP VERSION
+adcs-issuer     adcs-issuer     1               2024-02-07 21:57:18.0829885 +0100 CET   deployed        adcs-issuer-2.0.8               2.0.8
+cert-manager    cert-manager    1               2024-02-07 22:16:03.1434831 +0100 CET   deployed        cert-manager-v1.12.6            v1.12.6
+
diff --git a/install-examples/adcs-simulator/adcs-issuer-namespace/adcs-simulator-adcs-issuer-namespace.yaml b/install-examples/adcs-simulator/adcs-issuer-namespace/adcs-simulator-adcs-issuer-namespace.yaml index 5b20b0b..2a900c8 100644 --- a/install-examples/adcs-simulator/adcs-issuer-namespace/adcs-simulator-adcs-issuer-namespace.yaml +++ b/install-examples/adcs-simulator/adcs-issuer-namespace/adcs-simulator-adcs-issuer-namespace.yaml @@ -1,85 +1,85 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: adcs-sim-deployment - namespace: adcs-issuer -spec: - replicas: 1 - selector: - matchLabels: - control-plane: adcs-sim - template: - metadata: - labels: - control-plane: adcs-sim - spec: - containers: - - args: - - --dns=adcs-sim-service.adcs-issuer.svc,adcs2.example.com - - --ips=10.10.10.1,10.10.10.2 - - --port=8443 - command: - - /usr/local/adcs-sim/manager - image: djkormo/adcs-sim:0.0.5 - imagePullPolicy: Always - env: - - name: ENABLE_DEBUG - value: "false" - name: manager - volumeMounts: - - # emptydirs for storing csr and cert files - - name: csr - mountPath: "/usr/local/adcs-sim/ca" - - # ca cert - - name: config-pem - mountPath: "/usr/local/adcs-sim/ca/root.pem" - subPath: root.pem - readOnly: true - - # ca key - - name: config-key - mountPath: "/usr/local/adcs-sim/ca/root.key" - subPath: root.key - readOnly: true - - ports: - - containerPort: 8443 # the same as --port=8443 in arguments - name: adcs-sim - protocol: TCP - resources: - limits: - cpu: 100m - memory: 500Mi - requests: - cpu: 100m - memory: 100Mi - - terminationGracePeriodSeconds: 10 - - volumes: - - - name: csr - emptyDir: - sizeLimit: 50Mi - - - name: config-pem - configMap: - name: adcs-sim-configmap # configmap for storing ca cert - - - name: config-key - configMap: - name: adcs-sim-configmap # configmap for storing ca key ---- -apiVersion: v1 -kind: Service -metadata: - name: adcs-sim-service - namespace: adcs-issuer -spec: - ports: - - port: 8443 - targetPort: 8443 - selector: - control-plane: adcs-sim +apiVersion: apps/v1 +kind: Deployment +metadata: + name: adcs-sim-deployment + namespace: adcs-issuer +spec: + replicas: 1 + selector: + matchLabels: + control-plane: adcs-sim + template: + metadata: + labels: + control-plane: adcs-sim + spec: + containers: + - args: + - --dns=adcs-sim-service.adcs-issuer.svc,adcs2.example.com + - --ips=10.10.10.1,10.10.10.2 + - --port=8443 + command: + - /usr/local/adcs-sim/manager + image: djkormo/adcs-sim:0.0.5 + imagePullPolicy: Always + env: + - name: ENABLE_DEBUG + value: "false" + name: manager + volumeMounts: + + # emptydirs for storing csr and cert files + - name: csr + mountPath: "/usr/local/adcs-sim/ca" + + # ca cert + - name: config-pem + mountPath: "/usr/local/adcs-sim/ca/root.pem" + subPath: root.pem + readOnly: true + + # ca key + - name: config-key + mountPath: "/usr/local/adcs-sim/ca/root.key" + subPath: root.key + readOnly: true + + ports: + - containerPort: 8443 # the same as --port=8443 in arguments + name: adcs-sim + protocol: TCP + resources: + limits: + cpu: 100m + memory: 500Mi + requests: + cpu: 100m + memory: 100Mi + + terminationGracePeriodSeconds: 10 + + volumes: + + - name: csr + emptyDir: + sizeLimit: 50Mi + + - name: config-pem + configMap: + name: adcs-sim-configmap # configmap for storing ca cert + + - name: config-key + configMap: + name: adcs-sim-configmap # configmap for storing ca key +--- +apiVersion: v1 +kind: Service +metadata: + name: adcs-sim-service + namespace: adcs-issuer +spec: + ports: + - port: 8443 + targetPort: 8443 + selector: + control-plane: adcs-sim diff --git a/install-examples/adcs-simulator/adcs-issuer-namespace/certificate-adcs-sim.yaml b/install-examples/adcs-simulator/adcs-issuer-namespace/certificate-adcs-sim.yaml index 95373b3..d264457 100644 --- a/install-examples/adcs-simulator/adcs-issuer-namespace/certificate-adcs-sim.yaml +++ b/install-examples/adcs-simulator/adcs-issuer-namespace/certificate-adcs-sim.yaml @@ -1,24 +1,24 @@ -apiVersion: cert-manager.io/v1 -kind: Certificate -metadata: - - name: adcs-sim-cert - namespace: adcs-issuer -spec: - commonName: example.com - dnsNames: - - adcs1.example.com - - adcs2.example.com - - issuerRef: - group: adcs.certmanager.csf.nokia.com - kind: ClusterAdcsIssuer - name: adcs-cluster-issuer-adcs-sim - - duration: 2160h # 90d - renewBefore: 360h # 15d - subject: - organizations: - - Your organization - - secretName: adcs-sim-secret +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + + name: adcs-sim-cert + namespace: adcs-issuer +spec: + commonName: example.com + dnsNames: + - adcs1.example.com + - adcs2.example.com + + issuerRef: + group: adcs.certmanager.csf.nokia.com + kind: ClusterAdcsIssuer + name: adcs-cluster-issuer-adcs-sim + + duration: 2160h # 90d + renewBefore: 360h # 15d + subject: + organizations: + - Your organization + + secretName: adcs-sim-secret diff --git a/install-examples/adcs-simulator/adcs-issuer-namespace/clusteradcsissuer-adcs-sim.yaml b/install-examples/adcs-simulator/adcs-issuer-namespace/clusteradcsissuer-adcs-sim.yaml index bd7701e..28d5498 100644 --- a/install-examples/adcs-simulator/adcs-issuer-namespace/clusteradcsissuer-adcs-sim.yaml +++ b/install-examples/adcs-simulator/adcs-issuer-namespace/clusteradcsissuer-adcs-sim.yaml @@ -1,13 +1,13 @@ -apiVersion: adcs.certmanager.csf.nokia.com/v1 -kind: ClusterAdcsIssuer -metadata: - name: adcs-cluster-issuer-adcs-sim -spec: - caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGMXpDQ0E3K2dBd0lCQWdJVUtQRTNLcmthVFBDSktxWEtZOHB0dG1qMTUyVXdEUVlKS29aSWh2Y05BUUVMDQpCUUF3WkRFTE1Ba0dBMVVFQmhNQ1VFd3hEekFOQmdOVkJBZ01CbGRoY25OaGR6RVBNQTBHQTFVRUJ3d0dUVzl5DQpaRzl5TVJBd0RnWURWUVFLREFkQlJFTlRVMGxOTVFzd0NRWURWUVFMREFKSlZERVVNQklHQTFVRUF3d0xaWGhoDQpiWEJzWlM1amIyMHdIaGNOTWpNeE1qTXhNVEkxTWpRMVdoY05Nek14TWpJNE1USTFNalExV2pCa01Rc3dDUVlEDQpWUVFHRXdKUVRERVBNQTBHQTFVRUNBd0dWMkZ5YzJGM01ROHdEUVlEVlFRSERBWk5iM0prYjNJeEVEQU9CZ05WDQpCQW9NQjBGRVExTlRTVTB4Q3pBSkJnTlZCQXNNQWtsVU1SUXdFZ1lEVlFRRERBdGxlR0Z0Y0d4bExtTnZiVENDDQpBaUl3RFFZSktvWklodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQUxrbldhU1pTZk9uMzNHbERKaEU1MUl3DQpFNCtGRTZiL0MwUG9ZdGErb2U4N1NNZDE0NnhkakJDYitBdE5ZUW5wdkVuVkcyYThHMW1qNHJIeGtUb0IvUnhjDQpyOXdtMlRaNXREMUlwT1NERXBnSVlORXNYN2tmcnFLbEtBLzhyZWdGb0I3UUxrazVNc09tTW8rWU9yWmNjYlpKDQpVMTQ0V01tdTBubFIxbVhETUR0QTZET3lhSUhDVENQTWtWOEY3MFB3TkRDMFU3aktnV1NBSEFaRzRrUGpYTUpUDQptZHgxY3ZONXJLN3dLQzBjRit2RUdTdGNML3NTdk1aaEF0MDhuK3JxRUdudDdhV3RsYURBbUtVZTBKbDU4QnY4DQpab1g3NnZWVXcvLzdoRWhyTVFLbGNtL1VpNFVUSDBuaXlOOGg4U0pRbllYdzZWRk1hOHMxbzZTdTR4SG94dnI3DQpUMkxyVEphMi80UGNvbnlEOGxvNktZRHdPa0VqK3VkemltZ1U2Ty9sM0xFN1dSQWh4UmhQQjYzYWVjb3Awc2w4DQpObXo1TnR5bHZVMHhlVFdGZDRnT1RRRmdRTk45VmlNcXFuVWh4ZEI0cTNjS25NbTVESDdMcjJkckVFbENKcTNSDQp4dnFiclc5d3JvdGllNCtnMWZMdHk2Wkxua3NFdkdzMjZ1ZUFqbFhRREdTZU9kTThsTXR5VjZHbGtnSTY1bmhoDQpjYnNBY1I4dlRMSVRVYk82NkphTjNRbElrcHhNWTcwaGd2WVlUSS95eDNDVEhkbjZmaHBTbXJKbHhYOU5nMmdVDQphaHRRaU1QcXduLzcrMk1VVUVrQ2h6M1JXUVdTYnFFTTNERmk5TWlZSG1QL2NmQlFyR1hIWnZ3N25rMDI2dXVxDQpHS2xiSVVrK3BaVGJoTWdlUFlSM0FnTUJBQUdqZ1lBd2ZqQWRCZ05WSFE0RUZnUVVUS1pVQitFWFRWaVNuV2l2DQozWDRlUjd4dGl1RXdId1lEVlIwakJCZ3dGb0FVVEtaVUIrRVhUVmlTbldpdjNYNGVSN3h0aXVFd0R3WURWUjBUDQpBUUgvQkFVd0F3RUIvekFyQmdOVkhSRUVKREFpZ2d0bGVHRnRjR3hsTG1OdmJZSU5LaTVsZUdGdGNHeGxMbU52DQpiWWNFQ2dBQUFUQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFjZDVncmV0aTQ0dWtqZ3hXU05vWUZzNkhaNjU5DQpPb3N0eEtMSDBqTUZTVVF4dnQ1dHJLOWtqdzI3aFdZZzVDNzNXSWMzWGxlL2J5UFN5a1RRc3hxOXRpOTZxZTBUDQpVNCtoc2ZkRlZla3FsTjgzaDNwWi9Mb0Q5eUVsWDJ2ekZrTGFpcW4vN0dXZGY2bTQ3MnpwZ1h4Nm9QbFA2R1RWDQpuOXBicVBoYnV0TVNBanBvbXJSNVNpdWVQb3NWaVYxVWpQdjZRVXZLV3VTK0dPUDBIelkrS3UxeWZlejEvcFJwDQowdDVKVGdNTlVvWVNrakM0ZFN5UEJ5OUhRTXhSN09pZzNNTnpZZXVDOTBzWXZ2NkdKNG45c3FReGNqK2FEYzNnDQpiRHhGWlY5UXUxOVcrekNnTFAyNWFxc2MzUjUyYzBkRWJCeVpWRWoydTM2VTdvMnNnRVJQVml2M053OXFjZlpFDQptVFovK1VROXl1WXJmOWFLYzBxU1U1cVZvdXp4MW5HOVRRYlgvNWdoWmdtd1VMUkxUaWcyb3dBaWJEMDVKVTBlDQpheW5TQ2JtRUprZElQeDVkckt6YmFCOVJLSi8vanJrcG1VU0NPOEI5UmpSVlptbUlJdHhkbjI4cHlEeTdBOEpYDQpYWXdCRlFJZnRDQjFXUGl4eHJsaVRpWXJRb3RLZ0s0VDdBL3l0VGF5Rk10YU12QnFNN291bGo1djNQb3djZlpqDQpoa2V6YU5Qc1J4NGNMU0cvOVBjMDJRMEVIQ2pMemw4UzhGOC9tMDZuall1OWtQZEc3N3VWMjVvdlNhTnluQm00DQpqZjE3UDUyUDV6cVB3V1FzT01PdTUxT1REaHlhZ0RoMXFWSmF5cjRrOXNrQXBJeVlFQlRzaEJCdU93clAvbnhGDQpGOFNETm41d2pzWXBVSXM9DQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t - credentialsRef: - name: adcs-issuer-credentials # secret with username and password - statusCheckInterval: 1m - retryInterval: 1m - url: https://adcs-sim-service.adcs-issuer.svc:8443 # external host - templateName: BasicSSLWebServer # external template - +apiVersion: adcs.certmanager.csf.nokia.com/v1 +kind: ClusterAdcsIssuer +metadata: + name: adcs-cluster-issuer-adcs-sim +spec: + caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGMXpDQ0E3K2dBd0lCQWdJVUtQRTNLcmthVFBDSktxWEtZOHB0dG1qMTUyVXdEUVlKS29aSWh2Y05BUUVMDQpCUUF3WkRFTE1Ba0dBMVVFQmhNQ1VFd3hEekFOQmdOVkJBZ01CbGRoY25OaGR6RVBNQTBHQTFVRUJ3d0dUVzl5DQpaRzl5TVJBd0RnWURWUVFLREFkQlJFTlRVMGxOTVFzd0NRWURWUVFMREFKSlZERVVNQklHQTFVRUF3d0xaWGhoDQpiWEJzWlM1amIyMHdIaGNOTWpNeE1qTXhNVEkxTWpRMVdoY05Nek14TWpJNE1USTFNalExV2pCa01Rc3dDUVlEDQpWUVFHRXdKUVRERVBNQTBHQTFVRUNBd0dWMkZ5YzJGM01ROHdEUVlEVlFRSERBWk5iM0prYjNJeEVEQU9CZ05WDQpCQW9NQjBGRVExTlRTVTB4Q3pBSkJnTlZCQXNNQWtsVU1SUXdFZ1lEVlFRRERBdGxlR0Z0Y0d4bExtTnZiVENDDQpBaUl3RFFZSktvWklodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQUxrbldhU1pTZk9uMzNHbERKaEU1MUl3DQpFNCtGRTZiL0MwUG9ZdGErb2U4N1NNZDE0NnhkakJDYitBdE5ZUW5wdkVuVkcyYThHMW1qNHJIeGtUb0IvUnhjDQpyOXdtMlRaNXREMUlwT1NERXBnSVlORXNYN2tmcnFLbEtBLzhyZWdGb0I3UUxrazVNc09tTW8rWU9yWmNjYlpKDQpVMTQ0V01tdTBubFIxbVhETUR0QTZET3lhSUhDVENQTWtWOEY3MFB3TkRDMFU3aktnV1NBSEFaRzRrUGpYTUpUDQptZHgxY3ZONXJLN3dLQzBjRit2RUdTdGNML3NTdk1aaEF0MDhuK3JxRUdudDdhV3RsYURBbUtVZTBKbDU4QnY4DQpab1g3NnZWVXcvLzdoRWhyTVFLbGNtL1VpNFVUSDBuaXlOOGg4U0pRbllYdzZWRk1hOHMxbzZTdTR4SG94dnI3DQpUMkxyVEphMi80UGNvbnlEOGxvNktZRHdPa0VqK3VkemltZ1U2Ty9sM0xFN1dSQWh4UmhQQjYzYWVjb3Awc2w4DQpObXo1TnR5bHZVMHhlVFdGZDRnT1RRRmdRTk45VmlNcXFuVWh4ZEI0cTNjS25NbTVESDdMcjJkckVFbENKcTNSDQp4dnFiclc5d3JvdGllNCtnMWZMdHk2Wkxua3NFdkdzMjZ1ZUFqbFhRREdTZU9kTThsTXR5VjZHbGtnSTY1bmhoDQpjYnNBY1I4dlRMSVRVYk82NkphTjNRbElrcHhNWTcwaGd2WVlUSS95eDNDVEhkbjZmaHBTbXJKbHhYOU5nMmdVDQphaHRRaU1QcXduLzcrMk1VVUVrQ2h6M1JXUVdTYnFFTTNERmk5TWlZSG1QL2NmQlFyR1hIWnZ3N25rMDI2dXVxDQpHS2xiSVVrK3BaVGJoTWdlUFlSM0FnTUJBQUdqZ1lBd2ZqQWRCZ05WSFE0RUZnUVVUS1pVQitFWFRWaVNuV2l2DQozWDRlUjd4dGl1RXdId1lEVlIwakJCZ3dGb0FVVEtaVUIrRVhUVmlTbldpdjNYNGVSN3h0aXVFd0R3WURWUjBUDQpBUUgvQkFVd0F3RUIvekFyQmdOVkhSRUVKREFpZ2d0bGVHRnRjR3hsTG1OdmJZSU5LaTVsZUdGdGNHeGxMbU52DQpiWWNFQ2dBQUFUQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFjZDVncmV0aTQ0dWtqZ3hXU05vWUZzNkhaNjU5DQpPb3N0eEtMSDBqTUZTVVF4dnQ1dHJLOWtqdzI3aFdZZzVDNzNXSWMzWGxlL2J5UFN5a1RRc3hxOXRpOTZxZTBUDQpVNCtoc2ZkRlZla3FsTjgzaDNwWi9Mb0Q5eUVsWDJ2ekZrTGFpcW4vN0dXZGY2bTQ3MnpwZ1h4Nm9QbFA2R1RWDQpuOXBicVBoYnV0TVNBanBvbXJSNVNpdWVQb3NWaVYxVWpQdjZRVXZLV3VTK0dPUDBIelkrS3UxeWZlejEvcFJwDQowdDVKVGdNTlVvWVNrakM0ZFN5UEJ5OUhRTXhSN09pZzNNTnpZZXVDOTBzWXZ2NkdKNG45c3FReGNqK2FEYzNnDQpiRHhGWlY5UXUxOVcrekNnTFAyNWFxc2MzUjUyYzBkRWJCeVpWRWoydTM2VTdvMnNnRVJQVml2M053OXFjZlpFDQptVFovK1VROXl1WXJmOWFLYzBxU1U1cVZvdXp4MW5HOVRRYlgvNWdoWmdtd1VMUkxUaWcyb3dBaWJEMDVKVTBlDQpheW5TQ2JtRUprZElQeDVkckt6YmFCOVJLSi8vanJrcG1VU0NPOEI5UmpSVlptbUlJdHhkbjI4cHlEeTdBOEpYDQpYWXdCRlFJZnRDQjFXUGl4eHJsaVRpWXJRb3RLZ0s0VDdBL3l0VGF5Rk10YU12QnFNN291bGo1djNQb3djZlpqDQpoa2V6YU5Qc1J4NGNMU0cvOVBjMDJRMEVIQ2pMemw4UzhGOC9tMDZuall1OWtQZEc3N3VWMjVvdlNhTnluQm00DQpqZjE3UDUyUDV6cVB3V1FzT01PdTUxT1REaHlhZ0RoMXFWSmF5cjRrOXNrQXBJeVlFQlRzaEJCdU93clAvbnhGDQpGOFNETm41d2pzWXBVSXM9DQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t + credentialsRef: + name: adcs-issuer-credentials # secret with username and password + statusCheckInterval: 1m + retryInterval: 1m + url: https://adcs-sim-service.adcs-issuer.svc:8443 # external host + templateName: BasicSSLWebServer # external template + diff --git a/install-examples/adcs-simulator/adcs-issuer-namespace/configmap-adcs-sim.yaml b/install-examples/adcs-simulator/adcs-issuer-namespace/configmap-adcs-sim.yaml index e4b901a..1893c96 100644 --- a/install-examples/adcs-simulator/adcs-issuer-namespace/configmap-adcs-sim.yaml +++ b/install-examples/adcs-simulator/adcs-issuer-namespace/configmap-adcs-sim.yaml @@ -1,96 +1,96 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: adcs-sim-configmap - namespace: adcs-issuer -data: - - root.pem: | - -----BEGIN CERTIFICATE----- - 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 - F8SDNn5wjsYpUIs= - -----END CERTIFICATE----- - - - root.key: | - -----BEGIN RSA PRIVATE KEY----- - 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 - -----END RSA PRIVATE KEY----- +apiVersion: v1 +kind: ConfigMap +metadata: + name: adcs-sim-configmap + namespace: adcs-issuer +data: + + root.pem: | + -----BEGIN CERTIFICATE----- + MIIF1zCCA7+gAwIBAgIUKPE3KrkaTPCJKqXKY8pttmj152UwDQYJKoZIhvcNAQEL + BQAwZDELMAkGA1UEBhMCUEwxDzANBgNVBAgMBldhcnNhdzEPMA0GA1UEBwwGTW9y + ZG9yMRAwDgYDVQQKDAdBRENTU0lNMQswCQYDVQQLDAJJVDEUMBIGA1UEAwwLZXhh + bXBsZS5jb20wHhcNMjMxMjMxMTI1MjQ1WhcNMzMxMjI4MTI1MjQ1WjBkMQswCQYD + VQQGEwJQTDEPMA0GA1UECAwGV2Fyc2F3MQ8wDQYDVQQHDAZNb3Jkb3IxEDAOBgNV + BAoMB0FEQ1NTSU0xCzAJBgNVBAsMAklUMRQwEgYDVQQDDAtleGFtcGxlLmNvbTCC + AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALknWaSZSfOn33GlDJhE51Iw + E4+FE6b/C0PoYta+oe87SMd146xdjBCb+AtNYQnpvEnVG2a8G1mj4rHxkToB/Rxc + r9wm2TZ5tD1IpOSDEpgIYNEsX7kfrqKlKA/8regFoB7QLkk5MsOmMo+YOrZccbZJ + U144WMmu0nlR1mXDMDtA6DOyaIHCTCPMkV8F70PwNDC0U7jKgWSAHAZG4kPjXMJT + mdx1cvN5rK7wKC0cF+vEGStcL/sSvMZhAt08n+rqEGnt7aWtlaDAmKUe0Jl58Bv8 + ZoX76vVUw//7hEhrMQKlcm/Ui4UTH0niyN8h8SJQnYXw6VFMa8s1o6Su4xHoxvr7 + T2LrTJa2/4PconyD8lo6KYDwOkEj+udzimgU6O/l3LE7WRAhxRhPB63aecop0sl8 + Nmz5NtylvU0xeTWFd4gOTQFgQNN9ViMqqnUhxdB4q3cKnMm5DH7Lr2drEElCJq3R + xvqbrW9wrotie4+g1fLty6ZLnksEvGs26ueAjlXQDGSeOdM8lMtyV6GlkgI65nhh + cbsAcR8vTLITUbO66JaN3QlIkpxMY70hgvYYTI/yx3CTHdn6fhpSmrJlxX9Ng2gU + ahtQiMPqwn/7+2MUUEkChz3RWQWSbqEM3DFi9MiYHmP/cfBQrGXHZvw7nk026uuq + GKlbIUk+pZTbhMgePYR3AgMBAAGjgYAwfjAdBgNVHQ4EFgQUTKZUB+EXTViSnWiv + 3X4eR7xtiuEwHwYDVR0jBBgwFoAUTKZUB+EXTViSnWiv3X4eR7xtiuEwDwYDVR0T + AQH/BAUwAwEB/zArBgNVHREEJDAiggtleGFtcGxlLmNvbYINKi5leGFtcGxlLmNv + bYcECgAAATANBgkqhkiG9w0BAQsFAAOCAgEAcd5greti44ukjgxWSNoYFs6HZ659 + OostxKLH0jMFSUQxvt5trK9kjw27hWYg5C73WIc3Xle/byPSykTQsxq9ti96qe0T + U4+hsfdFVekqlN83h3pZ/LoD9yElX2vzFkLaiqn/7GWdf6m472zpgXx6oPlP6GTV + n9pbqPhbutMSAjpomrR5SiuePosViV1UjPv6QUvKWuS+GOP0HzY+Ku1yfez1/pRp + 0t5JTgMNUoYSkjC4dSyPBy9HQMxR7Oig3MNzYeuC90sYvv6GJ4n9sqQxcj+aDc3g + bDxFZV9Qu19W+zCgLP25aqsc3R52c0dEbByZVEj2u36U7o2sgERPViv3Nw9qcfZE + mTZ/+UQ9yuYrf9aKc0qSU5qVouzx1nG9TQbX/5ghZgmwULRLTig2owAibD05JU0e + aynSCbmEJkdIPx5drKzbaB9RKJ//jrkpmUSCO8B9RjRVZmmIItxdn28pyDy7A8JX + XYwBFQIftCB1WPixxrliTiYrQotKgK4T7A/ytTayFMtaMvBqM7oulj5v3PowcfZj + hkezaNPsRx4cLSG/9Pc02Q0EHCjLzl8S8F8/m06njYu9kPdG77uV25ovSaNynBm4 + jf17P52P5zqPwWQsOMOu51OTDhyagDh1qVJayr4k9skApIyYEBTshBBuOwrP/nxF + F8SDNn5wjsYpUIs= + -----END CERTIFICATE----- + + + root.key: | + -----BEGIN RSA PRIVATE KEY----- + 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 + -----END RSA PRIVATE KEY----- diff --git a/install-examples/adcs-simulator/adcs-issuer-namespace/csi-driver-app-pod.yaml b/install-examples/adcs-simulator/adcs-issuer-namespace/csi-driver-app-pod.yaml new file mode 100644 index 0000000..a2bb8a9 --- /dev/null +++ b/install-examples/adcs-simulator/adcs-issuer-namespace/csi-driver-app-pod.yaml @@ -0,0 +1,36 @@ +apiVersion: v1 +kind: Pod +metadata: + name: csi-driver-app-pod + namespace: adcs-issuer + labels: + app: my-csi-app +spec: + containers: + - name: my-frontend + image: busybox + volumeMounts: + - mountPath: "/tls" + name: tls + command: [ "sleep", "1000000" ] + + resources: + limits: + cpu: 100m + memory: 500Mi + requests: + cpu: 100m + memory: 100Mi + + volumes: + - name: tls + csi: + driver: csi.cert-manager.io + readOnly: true + volumeAttributes: + csi.cert-manager.io/issuer-name: adcs-sim-adcsclusterissuer + csi.cert-manager.io/issuer-kind: ClusterAdcsIssuer + csi.cert-manager.io/issuer-group: adcs.certmanager.csf.nokia.com + csi.cert-manager.io/dns-names: ${POD_NAME}.${POD_NAMESPACE}.svc.cluster.local + csi.cert-manager.io/uri-sans: "spiffe://cluster.local/ns/${POD_NAMESPACE}/pod/${POD_NAME}/${POD_UID}" + csi.cert-manager.io/common-name: "${SERVICE_ACCOUNT_NAME}.${POD_NAMESPACE}" \ No newline at end of file diff --git a/install-examples/adcs-simulator/adcs-issuer-namespace/secret-adcs-sim.yaml b/install-examples/adcs-simulator/adcs-issuer-namespace/secret-adcs-sim.yaml index 5d80621..2dde277 100644 --- a/install-examples/adcs-simulator/adcs-issuer-namespace/secret-adcs-sim.yaml +++ b/install-examples/adcs-simulator/adcs-issuer-namespace/secret-adcs-sim.yaml @@ -1,10 +1,10 @@ -apiVersion: v1 -kind: Secret -metadata: - name: adcs-issuer-credentials - namespace: adcs-issuer # namespace of cert managera and adcs operator -type: Opaque -data: - password: cGFzc3dvcmQ= # password - username: dXNlcm5hbWU= # username - +apiVersion: v1 +kind: Secret +metadata: + name: adcs-issuer-credentials + namespace: adcs-issuer # namespace of cert managera and adcs operator +type: Opaque +data: + password: cGFzc3dvcmQ= # password + username: dXNlcm5hbWU= # username + diff --git a/install-examples/adcs-simulator/cert-manager-namespace/adcs-simulator-cert-manager-namespace.yaml b/install-examples/adcs-simulator/cert-manager-namespace/adcs-simulator-cert-manager-namespace.yaml index d35464d..1bd3350 100644 --- a/install-examples/adcs-simulator/cert-manager-namespace/adcs-simulator-cert-manager-namespace.yaml +++ b/install-examples/adcs-simulator/cert-manager-namespace/adcs-simulator-cert-manager-namespace.yaml @@ -1,85 +1,85 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: adcs-sim-deployment - namespace: cert-manager -spec: - replicas: 1 - selector: - matchLabels: - control-plane: adcs-sim - template: - metadata: - labels: - control-plane: adcs-sim - spec: - containers: - - args: - - --dns=adcs-sim-service.cert-manager.svc,adcs2.example.com - - --ips=10.10.10.1,10.10.10.2 - - --port=8443 - command: - - /usr/local/adcs-sim/manager - image: djkormo/adcs-sim:0.0.5 - imagePullPolicy: Always - env: - - name: ENABLE_DEBUG - value: "false" - name: manager - volumeMounts: - - # emptydirs for storing csr and cert files - - name: csr - mountPath: "/usr/local/adcs-sim/ca" - - # ca cert - - name: config-pem - mountPath: "/usr/local/adcs-sim/ca/root.pem" - subPath: root.pem - readOnly: true - - # ca key - - name: config-key - mountPath: "/usr/local/adcs-sim/ca/root.key" - subPath: root.key - readOnly: true - - ports: - - containerPort: 8443 # the same as --port=8443 in arguments - name: adcs-sim - protocol: TCP - resources: - limits: - cpu: 100m - memory: 500Mi - requests: - cpu: 100m - memory: 100Mi - - terminationGracePeriodSeconds: 10 - - volumes: - - - name: csr - emptyDir: - sizeLimit: 50Mi - - - name: config-pem - configMap: - name: adcs-sim-configmap # configmap for storing ca cert - - - name: config-key - configMap: - name: adcs-sim-configmap # configmap for storing ca key ---- -apiVersion: v1 -kind: Service -metadata: - name: adcs-sim-service - namespace: cert-manager -spec: - ports: - - port: 8443 - targetPort: 8443 - selector: - control-plane: adcs-sim +apiVersion: apps/v1 +kind: Deployment +metadata: + name: adcs-sim-deployment + namespace: cert-manager +spec: + replicas: 1 + selector: + matchLabels: + control-plane: adcs-sim + template: + metadata: + labels: + control-plane: adcs-sim + spec: + containers: + - args: + - --dns=adcs-sim-service.cert-manager.svc,adcs2.example.com + - --ips=10.10.10.1,10.10.10.2 + - --port=8443 + command: + - /usr/local/adcs-sim/manager + image: djkormo/adcs-sim:0.0.5 + imagePullPolicy: Always + env: + - name: ENABLE_DEBUG + value: "false" + name: manager + volumeMounts: + + # emptydirs for storing csr and cert files + - name: csr + mountPath: "/usr/local/adcs-sim/ca" + + # ca cert + - name: config-pem + mountPath: "/usr/local/adcs-sim/ca/root.pem" + subPath: root.pem + readOnly: true + + # ca key + - name: config-key + mountPath: "/usr/local/adcs-sim/ca/root.key" + subPath: root.key + readOnly: true + + ports: + - containerPort: 8443 # the same as --port=8443 in arguments + name: adcs-sim + protocol: TCP + resources: + limits: + cpu: 100m + memory: 500Mi + requests: + cpu: 100m + memory: 100Mi + + terminationGracePeriodSeconds: 10 + + volumes: + + - name: csr + emptyDir: + sizeLimit: 50Mi + + - name: config-pem + configMap: + name: adcs-sim-configmap # configmap for storing ca cert + + - name: config-key + configMap: + name: adcs-sim-configmap # configmap for storing ca key +--- +apiVersion: v1 +kind: Service +metadata: + name: adcs-sim-service + namespace: cert-manager +spec: + ports: + - port: 8443 + targetPort: 8443 + selector: + control-plane: adcs-sim diff --git a/install-examples/adcs-simulator/cert-manager-namespace/certificate-adcs-sim.yaml b/install-examples/adcs-simulator/cert-manager-namespace/certificate-adcs-sim.yaml index ef28124..881813e 100644 --- a/install-examples/adcs-simulator/cert-manager-namespace/certificate-adcs-sim.yaml +++ b/install-examples/adcs-simulator/cert-manager-namespace/certificate-adcs-sim.yaml @@ -1,24 +1,24 @@ -apiVersion: cert-manager.io/v1 -kind: Certificate -metadata: - - name: adcs-sim-cert - namespace: cert-manager -spec: - commonName: example.com - dnsNames: - - adcs1.example.com - - adcs2.example.com - - issuerRef: - group: adcs.certmanager.csf.nokia.com - kind: ClusterAdcsIssuer - name: adcs-cluster-issuer-adcs-sim - - duration: 2160h # 90d - renewBefore: 360h # 15d - subject: - organizations: - - Your organization - - secretName: adcs-sim-secret +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + + name: adcs-sim-cert + namespace: cert-manager +spec: + commonName: example.com + dnsNames: + - adcs1.example.com + - adcs2.example.com + + issuerRef: + group: adcs.certmanager.csf.nokia.com + kind: ClusterAdcsIssuer + name: adcs-cluster-issuer-adcs-sim + + duration: 2160h # 90d + renewBefore: 360h # 15d + subject: + organizations: + - Your organization + + secretName: adcs-sim-secret diff --git a/install-examples/adcs-simulator/cert-manager-namespace/clusteradcsissuer-adcs-sim.yaml b/install-examples/adcs-simulator/cert-manager-namespace/clusteradcsissuer-adcs-sim.yaml index f677e9a..8c8b172 100644 --- a/install-examples/adcs-simulator/cert-manager-namespace/clusteradcsissuer-adcs-sim.yaml +++ b/install-examples/adcs-simulator/cert-manager-namespace/clusteradcsissuer-adcs-sim.yaml @@ -1,13 +1,13 @@ -apiVersion: adcs.certmanager.csf.nokia.com/v1 -kind: ClusterAdcsIssuer -metadata: - name: adcs-cluster-issuer-adcs-sim -spec: - caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGMXpDQ0E3K2dBd0lCQWdJVUtQRTNLcmthVFBDSktxWEtZOHB0dG1qMTUyVXdEUVlKS29aSWh2Y05BUUVMDQpCUUF3WkRFTE1Ba0dBMVVFQmhNQ1VFd3hEekFOQmdOVkJBZ01CbGRoY25OaGR6RVBNQTBHQTFVRUJ3d0dUVzl5DQpaRzl5TVJBd0RnWURWUVFLREFkQlJFTlRVMGxOTVFzd0NRWURWUVFMREFKSlZERVVNQklHQTFVRUF3d0xaWGhoDQpiWEJzWlM1amIyMHdIaGNOTWpNeE1qTXhNVEkxTWpRMVdoY05Nek14TWpJNE1USTFNalExV2pCa01Rc3dDUVlEDQpWUVFHRXdKUVRERVBNQTBHQTFVRUNBd0dWMkZ5YzJGM01ROHdEUVlEVlFRSERBWk5iM0prYjNJeEVEQU9CZ05WDQpCQW9NQjBGRVExTlRTVTB4Q3pBSkJnTlZCQXNNQWtsVU1SUXdFZ1lEVlFRRERBdGxlR0Z0Y0d4bExtTnZiVENDDQpBaUl3RFFZSktvWklodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQUxrbldhU1pTZk9uMzNHbERKaEU1MUl3DQpFNCtGRTZiL0MwUG9ZdGErb2U4N1NNZDE0NnhkakJDYitBdE5ZUW5wdkVuVkcyYThHMW1qNHJIeGtUb0IvUnhjDQpyOXdtMlRaNXREMUlwT1NERXBnSVlORXNYN2tmcnFLbEtBLzhyZWdGb0I3UUxrazVNc09tTW8rWU9yWmNjYlpKDQpVMTQ0V01tdTBubFIxbVhETUR0QTZET3lhSUhDVENQTWtWOEY3MFB3TkRDMFU3aktnV1NBSEFaRzRrUGpYTUpUDQptZHgxY3ZONXJLN3dLQzBjRit2RUdTdGNML3NTdk1aaEF0MDhuK3JxRUdudDdhV3RsYURBbUtVZTBKbDU4QnY4DQpab1g3NnZWVXcvLzdoRWhyTVFLbGNtL1VpNFVUSDBuaXlOOGg4U0pRbllYdzZWRk1hOHMxbzZTdTR4SG94dnI3DQpUMkxyVEphMi80UGNvbnlEOGxvNktZRHdPa0VqK3VkemltZ1U2Ty9sM0xFN1dSQWh4UmhQQjYzYWVjb3Awc2w4DQpObXo1TnR5bHZVMHhlVFdGZDRnT1RRRmdRTk45VmlNcXFuVWh4ZEI0cTNjS25NbTVESDdMcjJkckVFbENKcTNSDQp4dnFiclc5d3JvdGllNCtnMWZMdHk2Wkxua3NFdkdzMjZ1ZUFqbFhRREdTZU9kTThsTXR5VjZHbGtnSTY1bmhoDQpjYnNBY1I4dlRMSVRVYk82NkphTjNRbElrcHhNWTcwaGd2WVlUSS95eDNDVEhkbjZmaHBTbXJKbHhYOU5nMmdVDQphaHRRaU1QcXduLzcrMk1VVUVrQ2h6M1JXUVdTYnFFTTNERmk5TWlZSG1QL2NmQlFyR1hIWnZ3N25rMDI2dXVxDQpHS2xiSVVrK3BaVGJoTWdlUFlSM0FnTUJBQUdqZ1lBd2ZqQWRCZ05WSFE0RUZnUVVUS1pVQitFWFRWaVNuV2l2DQozWDRlUjd4dGl1RXdId1lEVlIwakJCZ3dGb0FVVEtaVUIrRVhUVmlTbldpdjNYNGVSN3h0aXVFd0R3WURWUjBUDQpBUUgvQkFVd0F3RUIvekFyQmdOVkhSRUVKREFpZ2d0bGVHRnRjR3hsTG1OdmJZSU5LaTVsZUdGdGNHeGxMbU52DQpiWWNFQ2dBQUFUQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFjZDVncmV0aTQ0dWtqZ3hXU05vWUZzNkhaNjU5DQpPb3N0eEtMSDBqTUZTVVF4dnQ1dHJLOWtqdzI3aFdZZzVDNzNXSWMzWGxlL2J5UFN5a1RRc3hxOXRpOTZxZTBUDQpVNCtoc2ZkRlZla3FsTjgzaDNwWi9Mb0Q5eUVsWDJ2ekZrTGFpcW4vN0dXZGY2bTQ3MnpwZ1h4Nm9QbFA2R1RWDQpuOXBicVBoYnV0TVNBanBvbXJSNVNpdWVQb3NWaVYxVWpQdjZRVXZLV3VTK0dPUDBIelkrS3UxeWZlejEvcFJwDQowdDVKVGdNTlVvWVNrakM0ZFN5UEJ5OUhRTXhSN09pZzNNTnpZZXVDOTBzWXZ2NkdKNG45c3FReGNqK2FEYzNnDQpiRHhGWlY5UXUxOVcrekNnTFAyNWFxc2MzUjUyYzBkRWJCeVpWRWoydTM2VTdvMnNnRVJQVml2M053OXFjZlpFDQptVFovK1VROXl1WXJmOWFLYzBxU1U1cVZvdXp4MW5HOVRRYlgvNWdoWmdtd1VMUkxUaWcyb3dBaWJEMDVKVTBlDQpheW5TQ2JtRUprZElQeDVkckt6YmFCOVJLSi8vanJrcG1VU0NPOEI5UmpSVlptbUlJdHhkbjI4cHlEeTdBOEpYDQpYWXdCRlFJZnRDQjFXUGl4eHJsaVRpWXJRb3RLZ0s0VDdBL3l0VGF5Rk10YU12QnFNN291bGo1djNQb3djZlpqDQpoa2V6YU5Qc1J4NGNMU0cvOVBjMDJRMEVIQ2pMemw4UzhGOC9tMDZuall1OWtQZEc3N3VWMjVvdlNhTnluQm00DQpqZjE3UDUyUDV6cVB3V1FzT01PdTUxT1REaHlhZ0RoMXFWSmF5cjRrOXNrQXBJeVlFQlRzaEJCdU93clAvbnhGDQpGOFNETm41d2pzWXBVSXM9DQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t - credentialsRef: - name: adcs-issuer-credentials # secret with username and password - statusCheckInterval: 1m - retryInterval: 1m - url: https://adcs-sim-service.cert-manager.svc:8443 # external host - templateName: BasicSSLWebServer # external template - +apiVersion: adcs.certmanager.csf.nokia.com/v1 +kind: ClusterAdcsIssuer +metadata: + name: adcs-cluster-issuer-adcs-sim +spec: + caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGMXpDQ0E3K2dBd0lCQWdJVUtQRTNLcmthVFBDSktxWEtZOHB0dG1qMTUyVXdEUVlKS29aSWh2Y05BUUVMDQpCUUF3WkRFTE1Ba0dBMVVFQmhNQ1VFd3hEekFOQmdOVkJBZ01CbGRoY25OaGR6RVBNQTBHQTFVRUJ3d0dUVzl5DQpaRzl5TVJBd0RnWURWUVFLREFkQlJFTlRVMGxOTVFzd0NRWURWUVFMREFKSlZERVVNQklHQTFVRUF3d0xaWGhoDQpiWEJzWlM1amIyMHdIaGNOTWpNeE1qTXhNVEkxTWpRMVdoY05Nek14TWpJNE1USTFNalExV2pCa01Rc3dDUVlEDQpWUVFHRXdKUVRERVBNQTBHQTFVRUNBd0dWMkZ5YzJGM01ROHdEUVlEVlFRSERBWk5iM0prYjNJeEVEQU9CZ05WDQpCQW9NQjBGRVExTlRTVTB4Q3pBSkJnTlZCQXNNQWtsVU1SUXdFZ1lEVlFRRERBdGxlR0Z0Y0d4bExtTnZiVENDDQpBaUl3RFFZSktvWklodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQUxrbldhU1pTZk9uMzNHbERKaEU1MUl3DQpFNCtGRTZiL0MwUG9ZdGErb2U4N1NNZDE0NnhkakJDYitBdE5ZUW5wdkVuVkcyYThHMW1qNHJIeGtUb0IvUnhjDQpyOXdtMlRaNXREMUlwT1NERXBnSVlORXNYN2tmcnFLbEtBLzhyZWdGb0I3UUxrazVNc09tTW8rWU9yWmNjYlpKDQpVMTQ0V01tdTBubFIxbVhETUR0QTZET3lhSUhDVENQTWtWOEY3MFB3TkRDMFU3aktnV1NBSEFaRzRrUGpYTUpUDQptZHgxY3ZONXJLN3dLQzBjRit2RUdTdGNML3NTdk1aaEF0MDhuK3JxRUdudDdhV3RsYURBbUtVZTBKbDU4QnY4DQpab1g3NnZWVXcvLzdoRWhyTVFLbGNtL1VpNFVUSDBuaXlOOGg4U0pRbllYdzZWRk1hOHMxbzZTdTR4SG94dnI3DQpUMkxyVEphMi80UGNvbnlEOGxvNktZRHdPa0VqK3VkemltZ1U2Ty9sM0xFN1dSQWh4UmhQQjYzYWVjb3Awc2w4DQpObXo1TnR5bHZVMHhlVFdGZDRnT1RRRmdRTk45VmlNcXFuVWh4ZEI0cTNjS25NbTVESDdMcjJkckVFbENKcTNSDQp4dnFiclc5d3JvdGllNCtnMWZMdHk2Wkxua3NFdkdzMjZ1ZUFqbFhRREdTZU9kTThsTXR5VjZHbGtnSTY1bmhoDQpjYnNBY1I4dlRMSVRVYk82NkphTjNRbElrcHhNWTcwaGd2WVlUSS95eDNDVEhkbjZmaHBTbXJKbHhYOU5nMmdVDQphaHRRaU1QcXduLzcrMk1VVUVrQ2h6M1JXUVdTYnFFTTNERmk5TWlZSG1QL2NmQlFyR1hIWnZ3N25rMDI2dXVxDQpHS2xiSVVrK3BaVGJoTWdlUFlSM0FnTUJBQUdqZ1lBd2ZqQWRCZ05WSFE0RUZnUVVUS1pVQitFWFRWaVNuV2l2DQozWDRlUjd4dGl1RXdId1lEVlIwakJCZ3dGb0FVVEtaVUIrRVhUVmlTbldpdjNYNGVSN3h0aXVFd0R3WURWUjBUDQpBUUgvQkFVd0F3RUIvekFyQmdOVkhSRUVKREFpZ2d0bGVHRnRjR3hsTG1OdmJZSU5LaTVsZUdGdGNHeGxMbU52DQpiWWNFQ2dBQUFUQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFjZDVncmV0aTQ0dWtqZ3hXU05vWUZzNkhaNjU5DQpPb3N0eEtMSDBqTUZTVVF4dnQ1dHJLOWtqdzI3aFdZZzVDNzNXSWMzWGxlL2J5UFN5a1RRc3hxOXRpOTZxZTBUDQpVNCtoc2ZkRlZla3FsTjgzaDNwWi9Mb0Q5eUVsWDJ2ekZrTGFpcW4vN0dXZGY2bTQ3MnpwZ1h4Nm9QbFA2R1RWDQpuOXBicVBoYnV0TVNBanBvbXJSNVNpdWVQb3NWaVYxVWpQdjZRVXZLV3VTK0dPUDBIelkrS3UxeWZlejEvcFJwDQowdDVKVGdNTlVvWVNrakM0ZFN5UEJ5OUhRTXhSN09pZzNNTnpZZXVDOTBzWXZ2NkdKNG45c3FReGNqK2FEYzNnDQpiRHhGWlY5UXUxOVcrekNnTFAyNWFxc2MzUjUyYzBkRWJCeVpWRWoydTM2VTdvMnNnRVJQVml2M053OXFjZlpFDQptVFovK1VROXl1WXJmOWFLYzBxU1U1cVZvdXp4MW5HOVRRYlgvNWdoWmdtd1VMUkxUaWcyb3dBaWJEMDVKVTBlDQpheW5TQ2JtRUprZElQeDVkckt6YmFCOVJLSi8vanJrcG1VU0NPOEI5UmpSVlptbUlJdHhkbjI4cHlEeTdBOEpYDQpYWXdCRlFJZnRDQjFXUGl4eHJsaVRpWXJRb3RLZ0s0VDdBL3l0VGF5Rk10YU12QnFNN291bGo1djNQb3djZlpqDQpoa2V6YU5Qc1J4NGNMU0cvOVBjMDJRMEVIQ2pMemw4UzhGOC9tMDZuall1OWtQZEc3N3VWMjVvdlNhTnluQm00DQpqZjE3UDUyUDV6cVB3V1FzT01PdTUxT1REaHlhZ0RoMXFWSmF5cjRrOXNrQXBJeVlFQlRzaEJCdU93clAvbnhGDQpGOFNETm41d2pzWXBVSXM9DQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t + credentialsRef: + name: adcs-issuer-credentials # secret with username and password + statusCheckInterval: 1m + retryInterval: 1m + url: https://adcs-sim-service.cert-manager.svc:8443 # external host + templateName: BasicSSLWebServer # external template + diff --git a/install-examples/adcs-simulator/cert-manager-namespace/configmap-adcs-sim.yaml b/install-examples/adcs-simulator/cert-manager-namespace/configmap-adcs-sim.yaml index 5517f47..ac3b5fe 100644 --- a/install-examples/adcs-simulator/cert-manager-namespace/configmap-adcs-sim.yaml +++ b/install-examples/adcs-simulator/cert-manager-namespace/configmap-adcs-sim.yaml @@ -1,96 +1,96 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: adcs-sim-configmap - namespace: cert-manager -data: - - root.pem: | - -----BEGIN CERTIFICATE----- - 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 - F8SDNn5wjsYpUIs= - -----END CERTIFICATE----- - - - root.key: | - -----BEGIN RSA PRIVATE KEY----- - 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 - -----END RSA PRIVATE KEY----- +apiVersion: v1 +kind: ConfigMap +metadata: + name: adcs-sim-configmap + namespace: cert-manager +data: + + root.pem: | + -----BEGIN CERTIFICATE----- + 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 + F8SDNn5wjsYpUIs= + -----END CERTIFICATE----- + + + root.key: | + -----BEGIN RSA PRIVATE KEY----- + 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 + -----END RSA PRIVATE KEY----- diff --git a/install-examples/values-adcs-issuer-namespace.yaml b/install-examples/values-adcs-issuer-namespace.yaml index 33f1a73..3f54e08 100644 --- a/install-examples/values-adcs-issuer-namespace.yaml +++ b/install-examples/values-adcs-issuer-namespace.yaml @@ -1,56 +1,56 @@ -crd: - install: true - -controllerManager: - manager: - image: - repository: djkormo/adcs-issuer - tag: 2.0.8 - resources: - limits: - cpu: 100m - memory: 500Mi - requests: - cpu: 100m - memory: 100Mi - - rbac: - enabled: true - serviceAccountName: adcs-issuer # service account for rbac - certManagerNamespace: cert-manager # cert manager serviceaccount - certManagerServiceAccountName: cert-manager # cert manager namespace - - - replicas: 1 - - environment: - KUBERNETES_CLUSTER_DOMAIN: cluster.local - ENABLE_WEBHOOKS: "false" - ENABLE_DEBUG: "false" - arguments: - enable-leader-election: "true" - cluster-resource-namespace: "adcs-issuer" # namespace for cluster scoped resources, common secret - zap-log-level: 5 - disable-approved-check: "false" - - securityContext: - runAsUser: 1000 - - enabledWebHooks: false - enabledCaCerts: false - caCertsSecretName: ca-certificates -metricsService: - enabled: true - ports: - - name: https - port: 8443 - targetPort: https - type: ClusterIP - -webhookService: - ports: - - port: 443 - targetPort: 9443 - type: ClusterIP - - +crd: + install: true + +controllerManager: + manager: + image: + repository: djkormo/adcs-issuer + tag: 2.0.8 + resources: + limits: + cpu: 100m + memory: 500Mi + requests: + cpu: 100m + memory: 100Mi + + rbac: + enabled: true + serviceAccountName: adcs-issuer # service account for rbac + certManagerNamespace: cert-manager # cert manager serviceaccount + certManagerServiceAccountName: cert-manager # cert manager namespace + + + replicas: 1 + + environment: + KUBERNETES_CLUSTER_DOMAIN: cluster.local + ENABLE_WEBHOOKS: "false" + ENABLE_DEBUG: "false" + arguments: + enable-leader-election: "true" + cluster-resource-namespace: "adcs-issuer" # namespace for cluster scoped resources, common secret + zap-log-level: 5 + disable-approved-check: "false" + + securityContext: + runAsUser: 1000 + + enabledWebHooks: false + enabledCaCerts: false + caCertsSecretName: ca-certificates +metricsService: + enabled: true + ports: + - name: https + port: 8443 + targetPort: https + type: ClusterIP + +webhookService: + ports: + - port: 443 + targetPort: 9443 + type: ClusterIP + + diff --git a/install-examples/values-cert-manager-namespace.yaml b/install-examples/values-cert-manager-namespace.yaml index 0a00f06..9be0f63 100644 --- a/install-examples/values-cert-manager-namespace.yaml +++ b/install-examples/values-cert-manager-namespace.yaml @@ -1,56 +1,56 @@ -crd: - install: true - -controllerManager: - manager: - image: - repository: djkormo/adcs-issuer - tag: 2.0.8 - resources: - limits: - cpu: 100m - memory: 500Mi - requests: - cpu: 100m - memory: 100Mi - - rbac: - enabled: true - serviceAccountName: cert-manager # service account for rbac - certManagerNamespace: cert-manager # cert manager serviceaccount - certManagerServiceAccountName: cert-manager # cert manager namespace - - - replicas: 1 - - environment: - KUBERNETES_CLUSTER_DOMAIN: cluster.local - ENABLE_WEBHOOKS: "false" - ENABLE_DEBUG: "false" - arguments: - enable-leader-election: "true" - cluster-resource-namespace: "cert-manager" # namespace for cluster scoped resources, common secret - zap-log-level: 5 - disable-approved-check: "false" - - securityContext: - runAsUser: 1000 - - enabledWebHooks: false - enabledCaCerts: false - caCertsSecretName: ca-certificates -metricsService: - enabled: true - ports: - - name: https - port: 8443 - targetPort: https - type: ClusterIP - -webhookService: - ports: - - port: 443 - targetPort: 9443 - type: ClusterIP - - +crd: + install: true + +controllerManager: + manager: + image: + repository: djkormo/adcs-issuer + tag: 2.0.8 + resources: + limits: + cpu: 100m + memory: 500Mi + requests: + cpu: 100m + memory: 100Mi + + rbac: + enabled: true + serviceAccountName: cert-manager # service account for rbac + certManagerNamespace: cert-manager # cert manager serviceaccount + certManagerServiceAccountName: cert-manager # cert manager namespace + + + replicas: 1 + + environment: + KUBERNETES_CLUSTER_DOMAIN: cluster.local + ENABLE_WEBHOOKS: "false" + ENABLE_DEBUG: "false" + arguments: + enable-leader-election: "true" + cluster-resource-namespace: "cert-manager" # namespace for cluster scoped resources, common secret + zap-log-level: 5 + disable-approved-check: "false" + + securityContext: + runAsUser: 1000 + + enabledWebHooks: false + enabledCaCerts: false + caCertsSecretName: ca-certificates +metricsService: + enabled: true + ports: + - name: https + port: 8443 + targetPort: https + type: ClusterIP + +webhookService: + ports: + - port: 443 + targetPort: 9443 + type: ClusterIP + + diff --git a/issuers/issuer_factory.go b/issuers/issuer_factory.go index aa8f501..a182b06 100644 --- a/issuers/issuer_factory.go +++ b/issuers/issuer_factory.go @@ -11,7 +11,7 @@ import ( corev1 "k8s.io/api/core/v1" "sigs.k8s.io/controller-runtime/pkg/client" - cmmeta "github.com/jetstack/cert-manager/pkg/apis/meta/v1" + cmmeta "github.com/cert-manager/cert-manager/pkg/apis/meta/v1" "github.com/nokia/adcs-issuer/adcs" api "github.com/nokia/adcs-issuer/api/v1" diff --git a/main.go b/main.go index 7adb8d4..67300e3 100644 --- a/main.go +++ b/main.go @@ -17,15 +17,17 @@ package main import ( "flag" + "fmt" "os" "strconv" "time" - certmanager "github.com/jetstack/cert-manager/pkg/apis/certmanager/v1" + certmanager "github.com/cert-manager/cert-manager/pkg/apis/certmanager/v1" adcsv1 "github.com/nokia/adcs-issuer/api/v1" "github.com/nokia/adcs-issuer/controllers" "github.com/nokia/adcs-issuer/healthcheck" "github.com/nokia/adcs-issuer/issuers" + "github.com/nokia/adcs-issuer/version" zaplogfmt "github.com/sykesm/zap-logfmt" uzap "go.uber.org/zap" @@ -42,14 +44,14 @@ import ( ) const ( - defaultWebhooksPort int = 9443 + defaultWebhooksPort int = 9443 + defaultMetricsPort int = 8080 // TODO hardcoded port + defaultHealthCheckPort int = 8081 // TODO hardcoded port ) var ( - scheme = runtime.NewScheme() - setupLog = ctrl.Log.WithName("setup") - version = "adcs-operator-by-djkormo" - buildTime = "2022-12-18:11:00" + scheme = runtime.NewScheme() + setupLog = ctrl.Log.WithName("setup") ) func init() { @@ -68,17 +70,17 @@ func main() { var disableApprovedCheck bool var adcsTemplateName string - flag.StringVar(&metricsAddr, "metrics-bind-address", ":8080", "The address the metric endpoint binds to.") - flag.StringVar(&healthcheckAddr, "healthcheck-addr", ":8081", "The address the healthcheck endpoints binds to.") + flag.StringVar(&metricsAddr, "metrics-bind-address", fmt.Sprintf(":%d", defaultMetricsPort), "The address the metric endpoint binds to.") + flag.StringVar(&healthcheckAddr, "healthcheck-addr", fmt.Sprintf(":%d", defaultHealthCheckPort), "The address the healthcheck endpoints binds to.") flag.StringVar(&webhooksPort, "webhooks-port", strconv.Itoa(defaultWebhooksPort), "Port for webhooks requests.") flag.BoolVar(&disableApprovedCheck, "disable-approved-check", false, "Disables waiting for CertificateRequests to have an approved condition before signing.") - port, err := strconv.Atoi(webhooksPort) - if err != nil { - setupLog.Error(err, "invalid webhooks port. Using default.") - port = defaultWebhooksPort - } + /* port, err := strconv.Atoi(webhooksPort) + if err != nil { + setupLog.Error(err, "invalid webhooks port. Using default.") + port = defaultWebhooksPort + } */ flag.BoolVar(&enableLeaderElection, "enable-leader-election", false, "Enable leader election for controller manager. Enabling this will ensure there is only one active controller manager.") flag.StringVar(&clusterResourceNamespace, "cluster-resource-namespace", "kube-system", "Namespace where cluster-level resources are stored.") @@ -107,15 +109,15 @@ func main() { ctrl.SetLogger(zap.New(zap.UseFlagOptions(&opts))) - setupLog.Info("Starting ADCS Issuer", "version", version, "build time", buildTime) + setupLog.Info("Starting ADCS Issuer", "Version", version.Version, "BuildTime", version.BuildTime, "Release", version.Release, "Commit", version.Commit) mgr, err := ctrl.NewManager(ctrl.GetConfigOrDie(), ctrl.Options{ - Scheme: scheme, - MetricsBindAddress: metricsAddr, + Scheme: scheme, + //MetricsBindAddress: metricsAddr, //unknown field MetricsBindAddress in struct literal of type manager.Options HealthProbeBindAddress: healthcheckAddr, LeaderElection: enableLeaderElection, LeaderElectionID: "adcs-issuer-controller", - Port: port, + //Port: port, //unknown field Port in struct literal of type manager.Options }) if err != nil { setupLog.Error(err, "unable to start manager") @@ -158,13 +160,14 @@ func main() { setupLog.Error(err, "unable to create controller", "controller", "AdcsIssuer") os.Exit(1) } - if os.Getenv("ENABLE_WEBHOOKS") != "false" { - if err = (&adcsv1.AdcsIssuer{}).SetupWebhookWithManager(mgr); err != nil { - setupLog.Error(err, "unable to create webhook", "webhook", "AdcsIssuer") - os.Exit(1) - } - } + /* if os.Getenv("ENABLE_WEBHOOKS") != "false" { + if err = (&adcsv1.AdcsIssuer{}).SetupWebhookWithManager(mgr); err != nil { + setupLog.Error(err, "unable to create webhook", "webhook", "AdcsIssuer") + os.Exit(1) + } + } + */ if err = (&controllers.ClusterAdcsIssuerReconciler{ Client: mgr.GetClient(), Log: ctrl.Log.WithName("controllers").WithName("ClusterAdcsIssuer"), @@ -172,12 +175,12 @@ func main() { setupLog.Error(err, "unable to create controller", "controller", "ClusterAdcsIssuer") os.Exit(1) } - if os.Getenv("ENABLE_WEBHOOKS") != "false" { + /* if os.Getenv("ENABLE_WEBHOOKS") != "false" { if err = (&adcsv1.ClusterAdcsIssuer{}).SetupWebhookWithManager(mgr); err != nil { setupLog.Error(err, "unable to create webhook", "webhook", "ClusterAdcsIssuer") os.Exit(1) } - } + } */ // +kubebuilder:scaffold:builder setupLog.Info("starting manager") diff --git a/operator-sdk-install.sh b/operator-sdk-install.sh index f4037fe..5cc5525 100644 --- a/operator-sdk-install.sh +++ b/operator-sdk-install.sh @@ -1,141 +1,141 @@ -#!/bin/bash - -set -u - -set -e - -KUBERNETES_VERSION=v1.26.1 -GO_VERSION=1.17.8 -OPERATOR_SDK_VERSION=v1.19.x -CERT_MANAGER_VERSION=v1.12.6 - -sudo apt-get update -sudo apt-get install snap dos2unix - - -# uninstall existing golang - -sudo rm -rvf /usr/local/go/ - -# install go GO_VERSION - - -VERSION=${GO_VERSION} # go version -ARCH="amd64" # go architecture -curl -O -L "https://golang.org/dl/go${VERSION}.linux-${ARCH}.tar.gz" -ls -l - -#Extract the tarball using the tar command: - -sudo tar -xf "go${VERSION}.linux-${ARCH}.tar.gz" -ls -l -cd go/ -ls -l -cd .. - - -#Set up the permissions using the chown command/chmod command: -sudo chown -R root:root ./go - -sudo rm -f -R /usr/local/go - -sudo mv -v go /usr/local - -rm -f go*.tar.gz - -cd ~ - - -# Kustomize - -curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash - -chmod a+x kustomize -sudo mv kustomize /usr/local/bin/kustomize - - - -# Kubebuilder - -cd ~ - -curl -L -o kubebuilder https://go.kubebuilder.io/dl/latest/$(go env GOOS)/$(go env GOARCH) -sudo chmod +x kubebuilder && sudo mv kubebuilder /usr/local/bin/kubebuilder - -# Operator SDK - -git clone https://github.com/operator-framework/operator-sdk -cd operator-sdk -git checkout ${OPERATOR_SDK_VERSION} -make install - -cd ~ - -rm -fr operator-sdk - -# Kubernetes staff - -alias k='kubectl' -alias kubectx='kubectl config use-context ' -alias kubens='kubectl config set-context --current --namespace ' - - -# krew plugins - -( - set -x; cd "$(mktemp -d)" && - OS="$(uname | tr '[:upper:]' '[:lower:]')" && - ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" && - KREW="krew-${OS}_${ARCH}" && - curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" && - tar zxvf "${KREW}.tar.gz" && - ./"${KREW}" install krew -) - -#Add the $HOME/.krew/bin directory to your PATH environment variable. To do this, update your .bashrc or .zshrc file and append the following line: - -export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH" - - -kubectl krew install split-yaml -kubectl krew install neat -kubectl krew install prune-unused - -kubectl krew list - -echo "Component Versions" -kustomize version -kubebuilder version -operator-sdk version -helm version - -minikube start -p aged --kubernetes-version=${KUBERNETES_VERSION} - -kubectl get nodes -o wide - -# install cert-manager - -helm repo add jetstack https://charts.jetstack.io --force-update - -helm repo update - -helm search repo cert-manager -helm search repo cert-manager --versions | grep v1. - -helm install \ - cert-manager jetstack/cert-manager \ - --namespace cert-manager \ - --create-namespace \ - --version $CERT_MANAGER_VERSION \ - --set installCRDs=true - - -code --install-extension redhat.vscode-yaml --force -code --install-extension ms-kubernetes-tools.vscode-kubernetes-tools --force - -code --install-extension golang.Go --force -code --install-extension 766b.go-outliner --force - -code --install-extension mhutchie.git-graph --force - +#!/bin/bash + +set -u + +set -e + +KUBERNETES_VERSION=v1.26.1 +GO_VERSION=1.21.7 +OPERATOR_SDK_VERSION=v1.19.x +CERT_MANAGER_VERSION=v1.12.6 + +sudo apt-get update +sudo apt-get install snap dos2unix + + +# uninstall existing golang + +sudo rm -rvf /usr/local/go/ + +# install go GO_VERSION + + +VERSION=${GO_VERSION} # go version +ARCH="amd64" # go architecture +curl -O -L "https://golang.org/dl/go${VERSION}.linux-${ARCH}.tar.gz" +ls -l + +#Extract the tarball using the tar command: + +sudo tar -xf "go${VERSION}.linux-${ARCH}.tar.gz" +ls -l +cd go/ +ls -l +cd .. + + +#Set up the permissions using the chown command/chmod command: +sudo chown -R root:root ./go + +sudo rm -f -R /usr/local/go + +sudo mv -v go /usr/local + +rm -f go*.tar.gz + +cd ~ + + +# Kustomize + +curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash + +chmod a+x kustomize +sudo mv kustomize /usr/local/bin/kustomize + + + +# Kubebuilder + +cd ~ + +curl -L -o kubebuilder https://go.kubebuilder.io/dl/latest/$(go env GOOS)/$(go env GOARCH) +sudo chmod +x kubebuilder && sudo mv kubebuilder /usr/local/bin/kubebuilder + +# Operator SDK + +git clone https://github.com/operator-framework/operator-sdk +cd operator-sdk +git checkout ${OPERATOR_SDK_VERSION} +make install + +cd ~ + +rm -fr operator-sdk + +# Kubernetes staff + +alias k='kubectl' +alias kubectx='kubectl config use-context ' +alias kubens='kubectl config set-context --current --namespace ' + + +# krew plugins + +( + set -x; cd "$(mktemp -d)" && + OS="$(uname | tr '[:upper:]' '[:lower:]')" && + ARCH="$(uname -m | sed -e 's/x86_64/amd64/' -e 's/\(arm\)\(64\)\?.*/\1\2/' -e 's/aarch64$/arm64/')" && + KREW="krew-${OS}_${ARCH}" && + curl -fsSLO "https://github.com/kubernetes-sigs/krew/releases/latest/download/${KREW}.tar.gz" && + tar zxvf "${KREW}.tar.gz" && + ./"${KREW}" install krew +) + +#Add the $HOME/.krew/bin directory to your PATH environment variable. To do this, update your .bashrc or .zshrc file and append the following line: + +export PATH="${KREW_ROOT:-$HOME/.krew}/bin:$PATH" + + +kubectl krew install split-yaml +kubectl krew install neat +kubectl krew install prune-unused + +kubectl krew list + +echo "Component Versions" +kustomize version +kubebuilder version +operator-sdk version +helm version + +minikube start -p aged --kubernetes-version=${KUBERNETES_VERSION} + +kubectl get nodes -o wide + +# install cert-manager + +helm repo add jetstack https://charts.jetstack.io --force-update + +helm repo update + +helm search repo cert-manager +helm search repo cert-manager --versions | grep v1. + +helm install \ + cert-manager jetstack/cert-manager \ + --namespace cert-manager \ + --create-namespace \ + --version $CERT_MANAGER_VERSION \ + --set installCRDs=true + + +code --install-extension redhat.vscode-yaml --force +code --install-extension ms-kubernetes-tools.vscode-kubernetes-tools --force + +code --install-extension golang.Go --force +code --install-extension 766b.go-outliner --force + +code --install-extension mhutchie.git-graph --force + echo "done" \ No newline at end of file diff --git a/test/Dockerfile b/test/Dockerfile index ff0d723..4f275be 100644 --- a/test/Dockerfile +++ b/test/Dockerfile @@ -1,6 +1,11 @@ # Build the manager binary FROM golang:1.17 as builder + +ARG VERSION +ARG COMMIT +ARG BUILD_TIME + WORKDIR /workspace @@ -8,7 +13,6 @@ WORKDIR /workspace COPY go.mod go.mod COPY go.sum go.sum - # cache deps before building and copying source so that we don't need to re-download as much # and so that source changes don't invalidate our downloaded layer RUN go mod download @@ -21,14 +25,17 @@ RUN mkdir -p /usr/local/adcs-sim # Build -RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -o manager adcs-sim/main.go +RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build \ + -ldflags "-s -w -X ${PROJECT}/version.Release=${VERSION} \ + -X ${PROJECT}/version.Commit=${COMMIT} -X ${PROJECT}/version.BuildTime=${BUILD_TIME}" \ + -o manager adcs-sim/main.go FROM gcr.io/distroless/static:nonroot WORKDIR / COPY --from=builder /workspace/manager . COPY --from=builder /workspace/adcs-sim /usr/local/bin/ # removing ca cert and key -#COPY --from=builder /workspace/adcs-sim/ca /usr/local/adcs-sim/ca + COPY --from=builder /workspace/adcs-sim/templates /usr/local/adcs-sim/templates COPY --from=builder /workspace/manager /usr/local/adcs-sim/manager diff --git a/test/Makefile b/test/Makefile index ee8e37f..cff875e 100644 --- a/test/Makefile +++ b/test/Makefile @@ -1,48 +1,66 @@ -dpl ?= deploy.env -include $(dpl) -export $(shell sed 's/=.*//' $(dpl)) - -# DOCKER TASKS -# Build the container -build: ## Build the container - DOCKER_BUILDKIT=1 docker build -t $(APP_NAME) . --progress=plain - -build-nc: ## Build the container without caching - DOCKER_BUILDKIT=1 docker build --no-cache -t $(APP_NAME) . --progress=plain - -run: ## Run container on port configured in `config.env` - docker run --name $(APP_NAME) -it $(DOCKER_REPO)/$(APP_NAME):latest bash - -stop: ## Stop and remove a running container - docker rm -f $(APP_NAME) - -release: build-nc publish ## Make a release by building and publishing the `{version}` ans `latest` tagged containers to ECR - -# Docker publish -publish: repo-login publish-latest publish-version ## Publish the `{version}` ans `latest` tagged containers to ECR - -publish-latest: tag-latest ## Publish the `latest` taged container to ECR - @echo 'publish latest to $(DOCKER_REPO)' - docker push $(DOCKER_REPO)/$(APP_NAME):latest - -publish-version: tag-version ## Publish the `{version}` taged container to ECR - @echo 'publish $(VERSION) to $(DOCKER_REPO)' - docker push $(DOCKER_REPO)/$(APP_NAME):$(VERSION) - -# Docker tagging -tag: tag-latest tag-version ## Generate container tags for the `{version}` ans `latest` tags - -tag-latest: ## Generate container `{version}` tag - @echo 'create tag latest' - docker tag $(APP_NAME) $(DOCKER_REPO)/$(APP_NAME):latest - -tag-version: ## Generate container `latest` tag - @echo 'create tag $(VERSION)' - docker tag $(APP_NAME) $(DOCKER_REPO)/$(APP_NAME):$(VERSION) - - - -inspect: ## Generate container `latest` tag - @echo 'inspect $(APP_NAME)' - docker history $(APP_NAME) - docker inspect $(APP_NAME) +dpl ?= deploy.env +include $(dpl) +export $(shell sed 's/=.*//' $(dpl)) + +COMMIT?=$(shell git rev-parse --short HEAD) +BUILD_TIME?=$(shell date -u '+%Y-%m-%d_%H:%M:%S') +PROJECT?=github.com/nokia/adcs-sim/adcs-sim + + +# DOCKER TASKS +# Build the container +build: ## Build the container + DOCKER_BUILDKIT=1 docker build -t $(APP_NAME) . --progress=plain --build-arg VERSION=${VERSION} --build-arg COMMIT=${COMMIT} --build-arg BUILD_TIME=${BUILD_TIME} --build-arg PROJECT=${PROJECT} + +build-nc: ## Build the container without caching + DOCKER_BUILDKIT=1 docker build --no-cache -t $(APP_NAME) . --progress=plain --build-arg VERSION=${VERSION} --build-arg COMMIT=${COMMIT} --build-arg BUILD_TIME=${BUILD_TIME} --build-arg PROJECT=${PROJECT} + + +run: ## Run container on port configured in `config.env` + docker run --name $(APP_NAME) -it $(DOCKER_REPO)/$(APP_NAME):latest bash + +stop: ## Stop and remove a running container + docker rm -f $(APP_NAME) + +release: build-nc publish ## Make a release by building and publishing the `{version}` ans `latest` tagged containers to ECR + +# Docker publish +publish: repo-login publish-latest publish-version ## Publish the `{version}` ans `latest` tagged containers to ECR + +publish-latest: tag-latest ## Publish the `latest` taged container to ECR + @echo 'publish latest to $(DOCKER_REPO)' + docker push $(DOCKER_REPO)/$(APP_NAME):latest + +publish-version: tag-version ## Publish the `{version}` taged container to ECR + @echo 'publish $(VERSION) to $(DOCKER_REPO)' + docker push $(DOCKER_REPO)/$(APP_NAME):$(VERSION) + +# Docker tagging +tag: tag-latest tag-version ## Generate container tags for the `{version}` ans `latest` tags + +tag-latest: ## Generate container `{version}` tag + @echo 'create tag latest' + docker tag $(APP_NAME) $(DOCKER_REPO)/$(APP_NAME):latest + +tag-version: ## Generate container `latest` tag + @echo 'create tag $(VERSION)' + docker tag $(APP_NAME) $(DOCKER_REPO)/$(APP_NAME):$(VERSION) + + + +inspect: ## Generate container `latest` tag + @echo 'inspect $(APP_NAME)' + docker history $(APP_NAME) + docker inspect $(APP_NAME) + + + +.PHONY: operator-build +operator-build: + go clean + go fmt ## Build manager binary. + go vet + CGO_ENABLED=0 GOOS=${GOOS} GOARCH=${GOARCH} go build \ + -ldflags "-s -w -X ${PROJECT}/version.Release=${VERSION} \ + -X ${PROJECT}/version.Commit=${COMMIT} -X ${PROJECT}/version.BuildTime=${BUILD_TIME}" \ + -o ${APP_NAME} \ No newline at end of file diff --git a/test/adcs-sim/ca/root.key b/test/adcs-sim/ca/root.key index b78319e..e6e7fb5 100644 --- a/test/adcs-sim/ca/root.key +++ b/test/adcs-sim/ca/root.key @@ -1,34 +1,34 @@ ------BEGIN CERTIFICATE----- -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 -F8SDNn5wjsYpUIs= ------END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +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 +F8SDNn5wjsYpUIs= +-----END CERTIFICATE----- diff --git a/test/adcs-sim/ca/root.pem b/test/adcs-sim/ca/root.pem index 22a27d7..f1917d2 100644 --- a/test/adcs-sim/ca/root.pem +++ b/test/adcs-sim/ca/root.pem @@ -1,51 +1,51 @@ ------BEGIN RSA PRIVATE KEY----- -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 ------END RSA PRIVATE KEY----- +-----BEGIN RSA PRIVATE KEY----- +MIIJKQIBAAKCAgEAuSdZpJlJ86ffcaUMmETnUjATj4UTpv8LQ+hi1r6h7ztIx3Xj +rF2MEJv4C01hCem8SdUbZrwbWaPisfGROgH9HFyv3CbZNnm0PUik5IMSmAhg0Sxf +uR+uoqUoD/yt6AWgHtAuSTkyw6Yyj5g6tlxxtklTXjhYya7SeVHWZcMwO0DoM7Jo +gcJMI8yRXwXvQ/A0MLRTuMqBZIAcBkbiQ+NcwlOZ3HVy83msrvAoLRwX68QZK1wv ++xK8xmEC3Tyf6uoQae3tpa2VoMCYpR7QmXnwG/xmhfvq9VTD//uESGsxAqVyb9SL +hRMfSeLI3yHxIlCdhfDpUUxryzWjpK7jEejG+vtPYutMlrb/g9yifIPyWjopgPA6 +QSP653OKaBTo7+XcsTtZECHFGE8Hrdp5yinSyXw2bPk23KW9TTF5NYV3iA5NAWBA +031WIyqqdSHF0HirdwqcybkMfsuvZ2sQSUImrdHG+putb3Cui2J7j6DV8u3Lpkue +SwS8azbq54COVdAMZJ450zyUy3JXoaWSAjrmeGFxuwBxHy9MshNRs7rolo3dCUiS +nExjvSGC9hhMj/LHcJMd2fp+GlKasmXFf02DaBRqG1CIw+rCf/v7YxRQSQKHPdFZ +BZJuoQzcMWL0yJgeY/9x8FCsZcdm/DueTTbq66oYqVshST6llNuEyB49hHcCAwEA +AQKCAgButRqiko1nRQ8Tko6PVVPDDsADZpyzk3gW6JKAuId21cnUiabSXzTqkXek +umW1Wa6drvCtYvgvhxB7OWeOebXwCXOVfR0Pt4GPyyndAIpToV7Sc2fg9xKiaYIk +3P7W5tYw1mV2nt69oVhGB83DUE8loX5ZrfNY1FFA/S/mtOjX5R1yG9DlFVoVZbHe +UVwZET0Dii8tJNhtUTRwhF2yHfZOs1IiQY+0CSK5jxtWrZ+X9y7dgEeoJjH9o+/k +fOVZvw6FaCBamgoHjmE3Cc/MlN5+vVJH9rMscbyoCKm163HolShxuXKa5S4mLZXR +5SebTvyBI+U+GSWy4aWxSGi5QqgGUJBXBJxvYjlzH1j6KYxgZdWEiB7cPZ7pgGUQ +doswszZMVGm+FDZdzzNox3fUkpFhqlqE71h8A4R96KAoFh4+Y9c61A6qYejOdR1q +rlK08zIQGP7X0g0lC7Ufov5oY4giQQSbAizCjuHjMvavxDthuIBEHkPi9OnUQrbe +FBphfiKyJb3sidmv1HI4Ibr7hyulZzt0StNpjNRImkYEAh32Gfwa/oxg+lMa6Zwa +G6Hjuwu+ccTASTRpsrnP9KGkSWMoQd9SIS8prXWftEKmHuoSVE0lPfCEBCtK6vrt +WXZ6V49MQpDQP4KBsjFOe9GoB2s1NyxYYkAtYoS0J0ZcD3rQoQKCAQEA7JWGiSye +oaYWnNInQzmnuenorbM16yOV0gDuPyxq+mmwNufF6kqNGrHORyjQOG9+embKfjjV +XIh5am2xfiIchN/fLCf4Z0YxGb9jSqyTLmmJSqKmvjGX8uLWE3dw/8dJyAYScQEi +HnGstoEjS2mpd9ZuTi9v/ylEFKMgQNcEbvKyNSsjH/E8CMJjbGDNELVUI6mk9z1v +jX+/yLSGOBBMI+1zutWWSG0Y9p2qBTDGVRM1xvlXI8wz9fwxkM0MvsPqV0jG2f2k +fvY49opEjsFYFQmoB3xATnlStB2KdCOmwcG6a8Ki7EfdGHxh6wkSNIwWoyXsLYr1 +01yxBtakz9wi2QKCAQEAyFlOgfT7eel7gxOMEuiwSp0NfUnuq3/z91ZHNQc4y5Mz +idud7h+1pTDON905sFVFksn7V6p57RNRJoezzw6FbtBF8YDo4UgI+Jp7CREJ7b6R +oOMfTXOLGw4cTBKYxcKCkMiuUaMV9qFBKCuV2eCjlw3KprBEu5CBgdLpbESMu/jw +Wlg/QAvGnW2Y7Vm610f9dL6DCve8v6TnOJQ5ziTQ8MmfEw3Cv2f61DW+5kDcEnAo +4yTTBjlccaHeqxIhCGUkkgdQ09NRuH/SQIy2PuWSqv0VxmAYm7nwywh44tmFka1L +DyMqUjnntPjx2VEKZanCyOABYM1FMuei2q/rUeOvzwKCAQB2Tf9MsSdSJj/Ag8Zm +c3pQGYvk8GzR/KV6skRxCsEkH52ilxv9IPKWmrtQEjStQ/O3OZegrsLi1swAUIIl +VOF2AI0VA5fP7OW4vl/kg4/F8bhZviQrj5kwOAZdDalP/lQC1iZ6o9pv5uA7EzCX +EWtRJcVbC5WxvuzwdPI3+k2ZPXun4r5ZxsQCjVIya+WfqU092CNKD0qtM2iv8LX9 +awjoHmF02EGiTgvhps3ScqV6/XQy35SXrhF9vHL8uczZyBZzN01YzOFpK68oedP2 +nvBw9Lc1pwhxNXIJ54vIr9s/oKScJmRaS0VgbTJ52btk03iudNQ5ofdzjjJn/QXF +e4thAoIBAQCmH072ePDPzGZqcBnUT/ZlV8YondX1hDoBWxvd/2f7fMneRCi2mrpe +B5LmRVwhNwNiTHJI5YUFq9+86AaS6EKBeNaWAkKXEcjGgikEgolOBZbw5YI+EVFF +lLSn6z+bssXaUVwhOu3qOxkwursdFqPuizP+dOf48kBAKmb8K/bZofeBoeyIKXt9 +a7PDEoTXHs0tMQ6tWG+8JHrIsjcgE+zfyv5IqT9SwF/997abaypPa4qrlQwY/BUH +76UXCggz0tG497HwgicfqXTnqwUuL+MmPoYAoAunjEz5vMOnrZ+QBDXZjln4JiVX +LJg0jnrlgxaMwxjBcFMxe1nQpM+lbfqHAoIBAQCLi8J/k0zJcCrz1q74+/vrtiWn +n5IEYTvYf3E2YsjauV/fvQnFmk7xaDasFCHH33Sw10rZL/ofeRU+zidxLU2UEko8 +nSuzwrJ1ICVRPZ5v+uKzKXHSArq3xW4ixApbYTwSw0nBLW+MnGMVh6Ql3IHiPs36 ++umQvgfIH9apwQt15GFHF+2rYRUtbfpHTarbguBOR2xCWMNP/Q11GgS4YTO8GTQU +gAXXy28+WWM3hj/1JJfUycpdmqbjdrxZRp1+HaNbD2OD98vUrPDxLxy5DU16GFrV +rihNn9tScbEkBGWDEaGE0EQZ7Y066yAzRPceZ1ZaAPFqWiaYSkhn1iXFGmGV +-----END RSA PRIVATE KEY----- diff --git a/test/adcs-sim/certserv/certserv.go b/test/adcs-sim/certserv/certserv.go index 11950b6..20999b1 100644 --- a/test/adcs-sim/certserv/certserv.go +++ b/test/adcs-sim/certserv/certserv.go @@ -1,467 +1,467 @@ -package certserv - -import ( - "bytes" - "crypto/rand" - "crypto/rsa" - "crypto/x509" - "encoding/pem" - "fmt" - "flag" - "io/ioutil" - "math" - "math/big" - mrand "math/rand" - "net/http" - "os" - "regexp" - "strconv" - "sync/atomic" - "text/template" - "time" - - "github.com/jetstack/cert-manager/pkg/util/pki" - - zaplogfmt "github.com/sykesm/zap-logfmt" - uzap "go.uber.org/zap" - "go.uber.org/zap/zapcore" - "time" - ctrl "sigs.k8s.io/controller-runtime" - "sigs.k8s.io/controller-runtime/pkg/log/zap" - -) - -type Certserv struct { - // TODO Initialize - currentID uint64 - certs []Cert - caCert *x509.Certificate - caKey *rsa.PrivateKey -} - -var ( - - caWorkDir=getEnv("workdir","/usr/local/adcs-sim") - caCertFile = caWorkDir + "root.pem" - caKeyFile = caWorkDir + "/ca/root.key" - caDir = caWorkDir + "/ca" - - tmplCertnewCer = caWorkDir + "/templates/certnew.cer.tmpl" - tmplCertCaRc = caWorkDir + "/templates/certcarc.asp.tmpl" - tmplCertFnsh = caWorkDir + "/templates/certfnsh.asp.tmpl" - tmplUnauthorized = caWorkDir + "/templates/unauth.tmpl" -) - -var ( - //scheme = runtime.NewScheme() - setupLog = ctrl.Log.WithName("adcs-sim") - version = "adcs-sim-by-djkormo" - buildTime = "2024-02-12:00:00" - -) -type SimOrders struct { - reject bool - delay time.Duration - unauthorized bool -} - -func getEnv(key, fallback string) string { - if value, ok := os.LookupEnv(key); ok { - return value - } - return fallback -} - -func NewCertserv() (*Certserv, error) { - fmt.Println("Using directory %s for simulator in NewCertserv()",caWorkDir) - cs := &Certserv{ - 0, - nil, - nil, - nil, - } - fmt.Println("Using directory %s for simulator",caWorkDir) - err := cs.initRootCert() - if err != nil { - return nil, fmt.Errorf("Error in initRootCert(): %s", err.Error()) - } - return cs, nil -} - - - -func (c *Certserv) HandleCertnewCer(w http.ResponseWriter, req *http.Request) { - tmpl, _ := template.ParseFiles(tmplCertnewCer) - - type Resp struct { - DispositionMessage string - LastStatus string - } - err := req.ParseForm() - if err != nil { - respondError(w, "Cannot parse parameters") - return - } - - reqId := req.Form["ReqID"] - if reqId == nil { - respondError(w, "Missing ReqID") - return - } - if reqId[0] == "CACert" { - file, err := os.ReadFile(caCertFile) - if err != nil { - respondError(w, "Cannot find root CA cert in HandleCertnewCer().") - res := Resp{"Cannot find root CA cert in HandleCertnewCer().", "Error"} - tmpl.Execute(w, res) - return - } - w.Header().Add("Content-Type", "application/pkix-cert") - fmt.Fprintf(w, "%s", file) - return - } - certFileName := fmt.Sprintf("%s/%s.pem", "ca", reqId[0]) // was CaDir - csrFileName := fmt.Sprintf("%s/%s.csr", "ca", reqId[0]) // was CaDir - - file, err := ioutil.ReadFile(certFileName) - if err == nil { - // Certificate file exists, so let's send it back - w.Header().Add("Content-Type", "application/pkix-cert") - fmt.Fprintf(w, "%s", file) - return - } else if !os.IsNotExist(err) { - // Error other than 'file doesn't exists' occured - msg := fmt.Sprintf("Cannot open certificate %s for %s.", reqId[0], certFileName) - res := Resp{msg, "Error"} - tmpl.Execute(w, res) - return - } - // Certificate doesn't exist. Let's process the CSR - file, err = ioutil.ReadFile(csrFileName) - if err != nil { - msg := fmt.Sprintf("Cannot open CSR %s for %s.", reqId[0], csrFileName) - res := Resp{msg, "Error"} - tmpl.Execute(w, res) - return - } - fileInfo, _ := os.Lstat(csrFileName) - csr, err := decodeCertRequest(string(file)) - if err != nil { - msg := fmt.Sprintf("Cannot decode CSR %s for %s .", reqId[0],csrFileName) - res := Resp{msg, "Error"} - tmpl.Execute(w, res) - return - } - - orders := getSimOrders(csr.DNSNames) - - if orders.unauthorized { - fmt.Printf("Unauthorized will be returned.\n") - file, _ := ioutil.ReadFile(tmplUnauthorized) - w.WriteHeader(http.StatusUnauthorized) - fmt.Fprintf(w, "%s\n", file) - return - } - - issueTime := fileInfo.ModTime().Add(orders.delay) - if issueTime.After(time.Now()) { - // Need to wait. Respond with 'pending'. - fmt.Printf("Certificate will be issued issue in %s.\n", issueTime.Sub(time.Now()).String()) - res := Resp{"Taken Under Submission", "The operation completed successfully. 0x0 (WIN32: 0)"} - tmpl.Execute(w, res) - return - } - - if orders.reject { - // Certificate must be rejected - fmt.Printf("Certificate rejected.\n") - res := Resp{"Denied by CS simulator", "The request was denied by a certificate manager or CA administrator. 0x80094014 (-2146877420 CERTSRV_E_ADMIN_DENIED_REQUEST)"} - tmpl.Execute(w, res) - return - } - // Generate the cert and send it back - - certPem, err := c.CreateCertificatePem(csr) - if err != nil { - // Error - res := Resp{"Cannot create certificate", "Error"} - tmpl.Execute(w, res) - return - } - err = ioutil.WriteFile(certFileName, []byte(certPem), 0644) - if err != nil { - m := "Cannot write certificate file" - fmt.Printf("%s: %s\n", m, err.Error()) - respondError(w, m) - return - } - - fmt.Printf("Sending certificate:\n%s\n", certPem) - w.Header().Add("Content-Type", "application/pkix-cert") - fmt.Fprintf(w, "%s", certPem) - return -} - -func (c *Certserv) HandleCertnewP7b(w http.ResponseWriter, r *http.Request) { - file, err := os.ReadFile(caCertFile) - if err != nil { - respondError(w, "Cannot find root CA cert in HandleCertnewP7b().") - return - } - w.Header().Add("Content-Type", "application/x-pkcs7-certificates") - fmt.Fprintf(w, "%s", file) -} - -func (c *Certserv) HandleCertcarcAsp(w http.ResponseWriter, r *http.Request) { - tmpl, _ := template.ParseFiles(tmplCertCaRc) - type Resp struct { - Renewals string - } - res := Resp{"0"} - - tmpl.Execute(w, res) -} - -func (c *Certserv) HandleCertfnshAsp(w http.ResponseWriter, req *http.Request) { - fmt.Printf("HandleCertfnshAsp\n") - if req.Method != "POST" { - fmt.Printf("Received Request: %v\n", req) - fmt.Printf("Ignoring %s\n", req.Method) - fmt.Fprintf(w, "") - return - } - - err := req.ParseForm() - if err != nil { - m := "Cannot parse parameters" - fmt.Printf("%s: %s\n", m, err.Error()) - respondError(w, m) - return - } - - bodyCsr := req.PostForm["CertRequest"] - if bodyCsr == nil { - fmt.Printf("Received Request: %v\n", req) - respondError(w, "No CertRequest found") - return - } - - csr, err := decodeCertRequest(bodyCsr[0]) - if err != nil { - m := "Cannot decode CSR" - fmt.Printf("%s: %s\n", m, err.Error()) - respondError(w, m) - return - } - - orders := getSimOrders(csr.DNSNames) - // Cinek - fmt.Printf("Orders: %v\n", orders) - - if orders.unauthorized { - fmt.Printf("Unauthorized will be returned.\n") - file, _ := ioutil.ReadFile(tmplUnauthorized) - w.WriteHeader(http.StatusUnauthorized) - fmt.Fprintf(w, "%s\n", file) - return - } - - if orders.delay > 0 || orders.reject { - certId := atomic.AddUint64(&c.currentID, 1) - csrFileName := fmt.Sprintf("/usr/local/adcs-sim/ca/%d.csr", certId) // adding caWorkDir - fmt.Printf("Writing %s file\n", csrFileName) - - //HandleCertfnshAsp - //Orders: &{true 0 false} - //Cannot write CSR file: open ca/1.csr: no such file or directory - fmt.Printf("Writing %s file\n", csrFileName) - err = ioutil.WriteFile(csrFileName, []byte(bodyCsr[0]), 0644) - if err != nil { - m := "Cannot write CSR file" - fmt.Printf("%s: %s\n", m, err.Error()) - respondError(w, m) - return - } - tmpl, _ := template.ParseFiles(tmplCertFnsh) - type Resp struct { - ReqID string - } - res := Resp{fmt.Sprintf("%d", certId)} - tmpl.Execute(w, res) - return - } - - // No delay nor rejection, so send the certificate immediately - certPem, err := c.CreateCertificatePem(csr) - if err != nil { - m := "Cannot create certificate" - fmt.Printf("%s: %s\n", m, err.Error()) - respondError(w, m) - return - } - fmt.Printf("Sending certificate:\n%s\n", certPem) - w.Header().Add("Content-Type", "application/pkix-cert") - fmt.Fprintf(w, "%s", certPem) -} - -func (c *Certserv) CreateCertificatePem(csr *x509.CertificateRequest) ([]byte, error) { - - keyUsages := x509.KeyUsageDigitalSignature | x509.KeyUsageKeyEncipherment - // create client certificate template - certTemplate := &x509.Certificate{ - Signature: csr.Signature, - SignatureAlgorithm: csr.SignatureAlgorithm, - - PublicKeyAlgorithm: csr.PublicKeyAlgorithm, - PublicKey: csr.PublicKey, - - SerialNumber: big.NewInt(mrand.Int63()), - Issuer: c.caCert.Issuer, - Subject: csr.Subject, - NotBefore: time.Now(), - - NotAfter: time.Now().Add(365 * 24 * time.Hour), // hardcoded to one year - KeyUsage: keyUsages, - ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth}, - DNSNames: csr.DNSNames, - EmailAddresses: csr.EmailAddresses, - IPAddresses: csr.IPAddresses, - URIs: csr.URIs, - } - - derBytes, err := x509.CreateCertificate(rand.Reader, certTemplate, c.caCert, csr.PublicKey, c.caKey) - if err != nil { - return nil, fmt.Errorf("error creating x509 certificate: %s", err.Error()) - } - - /* - cert, err := x509.ParseCertificate(derBytes) - if err != nil { - fmt.Sprintf(m, "error decoding DER certificate bytes: %s", err.Error()) - fmt.Printf("%s: %s\n", m, err.Error()) - respondError(w, m) - return - } - */ - - pemBytes := bytes.NewBuffer([]byte{}) - err = pem.Encode(pemBytes, &pem.Block{Type: "CERTIFICATE", Bytes: derBytes}) - if err != nil { - return nil, fmt.Errorf("error encoding certificate PEM: %s", err.Error()) - } - return pemBytes.Bytes(), nil -} - -func (c *Certserv) CreateCertificateChainPem(csr *x509.CertificateRequest) ([]byte, error) { - bytes, err := c.CreateCertificatePem(csr) - if err != nil { - return nil, err - } - caBytes, err := ioutil.ReadFile(caCertFile) - if err != nil { - return nil, fmt.Errorf("Cannot find root CA cert in CreateCertificateChainPem(). %s", err.Error()) - } - - bytes = append(bytes, caBytes...) - return bytes, nil -} - -func decodeCertRequest(data string) (*x509.CertificateRequest, error) { - block, _ := pem.Decode([]byte(data)) - var m string - if block == nil { - m = "Cannot decode CSR PEM" - e := fmt.Sprintf("%s\n%s\n", m, data) - return nil, fmt.Errorf(e) - } - - // parse the CSR - csr, err := x509.ParseCertificateRequest(block.Bytes) - if err != nil { - m = "Cannot parse CSR" - e := fmt.Sprintf("%s: %s\n", m, err.Error()) - return nil, fmt.Errorf(e) - } - err = csr.CheckSignature() - if err != nil { - m = "CSR signature error" - e := fmt.Sprintf("%s: %s\n", m, err.Error()) - return csr, fmt.Errorf(e) - } - return csr, nil -} - -func getSimOrders(names []string) *SimOrders { - orders := &SimOrders{false, 0, false} - exp := regexp.MustCompile(`^([a-z0-9\-]+)\.(([a-z0-9\-]+)\.)?sim$`) - - for _, name := range names { - found := exp.FindStringSubmatch(name) - if len(found) > 1 { - switch found[1] { - case "delay": - var err error - orders.delay, err = time.ParseDuration(found[3]) - if err != nil { - orders.delay = 0 - continue - } - case "reject": - orders.reject = true - case "unauthorized": - orders.unauthorized = true - } - } - } - return orders -} - -func respondError(w http.ResponseWriter, text string) { - w.WriteHeader(http.StatusBadRequest) - fmt.Fprintf(w, "%s\n", text) -} - -func (c *Certserv) initRootCert() error { - //fmt.Println("Reading cert file . %s", caCertFile) - bytes, err := ioutil.ReadFile(caCertFile) - if err != nil { - return fmt.Errorf("Cannot find root CA cert 1. %s ", err.Error()) - } - c.caCert, err = pki.DecodeX509CertificateBytes(bytes) - if err != nil { - return fmt.Errorf("Cannot decode root CA cert 2. %s", err.Error()) - } - fmt.Printf("%+v", c.caCert) - - bytes, err = ioutil.ReadFile(caKeyFile) - if err != nil { - return fmt.Errorf("Cannot find root CA key 3. %s", err.Error()) - } - c.caKey, err = pki.DecodePKCS1PrivateKeyBytes(bytes) - if err != nil { - return fmt.Errorf("Cannot decode root CA key 4. %s", err.Error()) - } - - // Check for existing CSRs and update currentID. - files, err := ioutil.ReadDir(caDir) - if err != nil { - return fmt.Errorf("Cannot read CA directory 5. %s", err.Error()) - } - exp := regexp.MustCompile(`^([0-9]+)\.csr$`) - var id float64 - for _, file := range files { - found := exp.FindStringSubmatch(file.Name()) - if len(found) > 1 { - current, err := strconv.Atoi(found[1]) - if err != nil { - //ignore - continue - } - id = math.Max(id, float64(current)) - } - } - c.currentID = uint64(id) - fmt.Printf("Starting with id = %d\n", c.currentID) - setupLog.Info("Configuration","workdir ", caWorkDir) - return nil +package certserv + +import ( + "bytes" + "crypto/rand" + "crypto/rsa" + "crypto/x509" + "encoding/pem" + "fmt" + "flag" + "io/ioutil" + "math" + "math/big" + mrand "math/rand" + "net/http" + "os" + "regexp" + "strconv" + "sync/atomic" + "text/template" + "time" + + "github.com/jetstack/cert-manager/pkg/util/pki" + + zaplogfmt "github.com/sykesm/zap-logfmt" + uzap "go.uber.org/zap" + "go.uber.org/zap/zapcore" + "time" + ctrl "sigs.k8s.io/controller-runtime" + "sigs.k8s.io/controller-runtime/pkg/log/zap" + +) + +type Certserv struct { + // TODO Initialize + currentID uint64 + certs []Cert + caCert *x509.Certificate + caKey *rsa.PrivateKey +} + +var ( + + caWorkDir=getEnv("workdir","/usr/local/adcs-sim") + caCertFile = caWorkDir + "root.pem" + caKeyFile = caWorkDir + "/ca/root.key" + caDir = caWorkDir + "/ca" + + tmplCertnewCer = caWorkDir + "/templates/certnew.cer.tmpl" + tmplCertCaRc = caWorkDir + "/templates/certcarc.asp.tmpl" + tmplCertFnsh = caWorkDir + "/templates/certfnsh.asp.tmpl" + tmplUnauthorized = caWorkDir + "/templates/unauth.tmpl" +) + +var ( + //scheme = runtime.NewScheme() + setupLog = ctrl.Log.WithName("adcs-sim") + version = "adcs-sim-by-djkormo" + buildTime = "2024-02-12:00:00" + +) +type SimOrders struct { + reject bool + delay time.Duration + unauthorized bool +} + +func getEnv(key, fallback string) string { + if value, ok := os.LookupEnv(key); ok { + return value + } + return fallback +} + +func NewCertserv() (*Certserv, error) { + fmt.Println("Using directory %s for simulator in NewCertserv()",caWorkDir) + cs := &Certserv{ + 0, + nil, + nil, + nil, + } + fmt.Println("Using directory %s for simulator",caWorkDir) + err := cs.initRootCert() + if err != nil { + return nil, fmt.Errorf("Error in initRootCert(): %s", err.Error()) + } + return cs, nil +} + + + +func (c *Certserv) HandleCertnewCer(w http.ResponseWriter, req *http.Request) { + tmpl, _ := template.ParseFiles(tmplCertnewCer) + + type Resp struct { + DispositionMessage string + LastStatus string + } + err := req.ParseForm() + if err != nil { + respondError(w, "Cannot parse parameters") + return + } + + reqId := req.Form["ReqID"] + if reqId == nil { + respondError(w, "Missing ReqID") + return + } + if reqId[0] == "CACert" { + file, err := os.ReadFile(caCertFile) + if err != nil { + respondError(w, "Cannot find root CA cert in HandleCertnewCer().") + res := Resp{"Cannot find root CA cert in HandleCertnewCer().", "Error"} + tmpl.Execute(w, res) + return + } + w.Header().Add("Content-Type", "application/pkix-cert") + fmt.Fprintf(w, "%s", file) + return + } + certFileName := fmt.Sprintf("%s/%s.pem", "ca", reqId[0]) // was CaDir + csrFileName := fmt.Sprintf("%s/%s.csr", "ca", reqId[0]) // was CaDir + + file, err := ioutil.ReadFile(certFileName) + if err == nil { + // Certificate file exists, so let's send it back + w.Header().Add("Content-Type", "application/pkix-cert") + fmt.Fprintf(w, "%s", file) + return + } else if !os.IsNotExist(err) { + // Error other than 'file doesn't exists' occured + msg := fmt.Sprintf("Cannot open certificate %s for %s.", reqId[0], certFileName) + res := Resp{msg, "Error"} + tmpl.Execute(w, res) + return + } + // Certificate doesn't exist. Let's process the CSR + file, err = ioutil.ReadFile(csrFileName) + if err != nil { + msg := fmt.Sprintf("Cannot open CSR %s for %s.", reqId[0], csrFileName) + res := Resp{msg, "Error"} + tmpl.Execute(w, res) + return + } + fileInfo, _ := os.Lstat(csrFileName) + csr, err := decodeCertRequest(string(file)) + if err != nil { + msg := fmt.Sprintf("Cannot decode CSR %s for %s .", reqId[0],csrFileName) + res := Resp{msg, "Error"} + tmpl.Execute(w, res) + return + } + + orders := getSimOrders(csr.DNSNames) + + if orders.unauthorized { + fmt.Printf("Unauthorized will be returned.\n") + file, _ := ioutil.ReadFile(tmplUnauthorized) + w.WriteHeader(http.StatusUnauthorized) + fmt.Fprintf(w, "%s\n", file) + return + } + + issueTime := fileInfo.ModTime().Add(orders.delay) + if issueTime.After(time.Now()) { + // Need to wait. Respond with 'pending'. + fmt.Printf("Certificate will be issued issue in %s.\n", issueTime.Sub(time.Now()).String()) + res := Resp{"Taken Under Submission", "The operation completed successfully. 0x0 (WIN32: 0)"} + tmpl.Execute(w, res) + return + } + + if orders.reject { + // Certificate must be rejected + fmt.Printf("Certificate rejected.\n") + res := Resp{"Denied by CS simulator", "The request was denied by a certificate manager or CA administrator. 0x80094014 (-2146877420 CERTSRV_E_ADMIN_DENIED_REQUEST)"} + tmpl.Execute(w, res) + return + } + // Generate the cert and send it back + + certPem, err := c.CreateCertificatePem(csr) + if err != nil { + // Error + res := Resp{"Cannot create certificate", "Error"} + tmpl.Execute(w, res) + return + } + err = ioutil.WriteFile(certFileName, []byte(certPem), 0644) + if err != nil { + m := "Cannot write certificate file" + fmt.Printf("%s: %s\n", m, err.Error()) + respondError(w, m) + return + } + + fmt.Printf("Sending certificate:\n%s\n", certPem) + w.Header().Add("Content-Type", "application/pkix-cert") + fmt.Fprintf(w, "%s", certPem) + return +} + +func (c *Certserv) HandleCertnewP7b(w http.ResponseWriter, r *http.Request) { + file, err := os.ReadFile(caCertFile) + if err != nil { + respondError(w, "Cannot find root CA cert in HandleCertnewP7b().") + return + } + w.Header().Add("Content-Type", "application/x-pkcs7-certificates") + fmt.Fprintf(w, "%s", file) +} + +func (c *Certserv) HandleCertcarcAsp(w http.ResponseWriter, r *http.Request) { + tmpl, _ := template.ParseFiles(tmplCertCaRc) + type Resp struct { + Renewals string + } + res := Resp{"0"} + + tmpl.Execute(w, res) +} + +func (c *Certserv) HandleCertfnshAsp(w http.ResponseWriter, req *http.Request) { + fmt.Printf("HandleCertfnshAsp\n") + if req.Method != "POST" { + fmt.Printf("Received Request: %v\n", req) + fmt.Printf("Ignoring %s\n", req.Method) + fmt.Fprintf(w, "") + return + } + + err := req.ParseForm() + if err != nil { + m := "Cannot parse parameters" + fmt.Printf("%s: %s\n", m, err.Error()) + respondError(w, m) + return + } + + bodyCsr := req.PostForm["CertRequest"] + if bodyCsr == nil { + fmt.Printf("Received Request: %v\n", req) + respondError(w, "No CertRequest found") + return + } + + csr, err := decodeCertRequest(bodyCsr[0]) + if err != nil { + m := "Cannot decode CSR" + fmt.Printf("%s: %s\n", m, err.Error()) + respondError(w, m) + return + } + + orders := getSimOrders(csr.DNSNames) + // Cinek + fmt.Printf("Orders: %v\n", orders) + + if orders.unauthorized { + fmt.Printf("Unauthorized will be returned.\n") + file, _ := ioutil.ReadFile(tmplUnauthorized) + w.WriteHeader(http.StatusUnauthorized) + fmt.Fprintf(w, "%s\n", file) + return + } + + if orders.delay > 0 || orders.reject { + certId := atomic.AddUint64(&c.currentID, 1) + csrFileName := fmt.Sprintf("/usr/local/adcs-sim/ca/%d.csr", certId) // adding caWorkDir + fmt.Printf("Writing %s file\n", csrFileName) + + //HandleCertfnshAsp + //Orders: &{true 0 false} + //Cannot write CSR file: open ca/1.csr: no such file or directory + fmt.Printf("Writing %s file\n", csrFileName) + err = ioutil.WriteFile(csrFileName, []byte(bodyCsr[0]), 0644) + if err != nil { + m := "Cannot write CSR file" + fmt.Printf("%s: %s\n", m, err.Error()) + respondError(w, m) + return + } + tmpl, _ := template.ParseFiles(tmplCertFnsh) + type Resp struct { + ReqID string + } + res := Resp{fmt.Sprintf("%d", certId)} + tmpl.Execute(w, res) + return + } + + // No delay nor rejection, so send the certificate immediately + certPem, err := c.CreateCertificatePem(csr) + if err != nil { + m := "Cannot create certificate" + fmt.Printf("%s: %s\n", m, err.Error()) + respondError(w, m) + return + } + fmt.Printf("Sending certificate:\n%s\n", certPem) + w.Header().Add("Content-Type", "application/pkix-cert") + fmt.Fprintf(w, "%s", certPem) +} + +func (c *Certserv) CreateCertificatePem(csr *x509.CertificateRequest) ([]byte, error) { + + keyUsages := x509.KeyUsageDigitalSignature | x509.KeyUsageKeyEncipherment + // create client certificate template + certTemplate := &x509.Certificate{ + Signature: csr.Signature, + SignatureAlgorithm: csr.SignatureAlgorithm, + + PublicKeyAlgorithm: csr.PublicKeyAlgorithm, + PublicKey: csr.PublicKey, + + SerialNumber: big.NewInt(mrand.Int63()), + Issuer: c.caCert.Issuer, + Subject: csr.Subject, + NotBefore: time.Now(), + + NotAfter: time.Now().Add(365 * 24 * time.Hour), // hardcoded to one year + KeyUsage: keyUsages, + ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth}, + DNSNames: csr.DNSNames, + EmailAddresses: csr.EmailAddresses, + IPAddresses: csr.IPAddresses, + URIs: csr.URIs, + } + + derBytes, err := x509.CreateCertificate(rand.Reader, certTemplate, c.caCert, csr.PublicKey, c.caKey) + if err != nil { + return nil, fmt.Errorf("error creating x509 certificate: %s", err.Error()) + } + + /* + cert, err := x509.ParseCertificate(derBytes) + if err != nil { + fmt.Sprintf(m, "error decoding DER certificate bytes: %s", err.Error()) + fmt.Printf("%s: %s\n", m, err.Error()) + respondError(w, m) + return + } + */ + + pemBytes := bytes.NewBuffer([]byte{}) + err = pem.Encode(pemBytes, &pem.Block{Type: "CERTIFICATE", Bytes: derBytes}) + if err != nil { + return nil, fmt.Errorf("error encoding certificate PEM: %s", err.Error()) + } + return pemBytes.Bytes(), nil +} + +func (c *Certserv) CreateCertificateChainPem(csr *x509.CertificateRequest) ([]byte, error) { + bytes, err := c.CreateCertificatePem(csr) + if err != nil { + return nil, err + } + caBytes, err := ioutil.ReadFile(caCertFile) + if err != nil { + return nil, fmt.Errorf("Cannot find root CA cert in CreateCertificateChainPem(). %s", err.Error()) + } + + bytes = append(bytes, caBytes...) + return bytes, nil +} + +func decodeCertRequest(data string) (*x509.CertificateRequest, error) { + block, _ := pem.Decode([]byte(data)) + var m string + if block == nil { + m = "Cannot decode CSR PEM" + e := fmt.Sprintf("%s\n%s\n", m, data) + return nil, fmt.Errorf(e) + } + + // parse the CSR + csr, err := x509.ParseCertificateRequest(block.Bytes) + if err != nil { + m = "Cannot parse CSR" + e := fmt.Sprintf("%s: %s\n", m, err.Error()) + return nil, fmt.Errorf(e) + } + err = csr.CheckSignature() + if err != nil { + m = "CSR signature error" + e := fmt.Sprintf("%s: %s\n", m, err.Error()) + return csr, fmt.Errorf(e) + } + return csr, nil +} + +func getSimOrders(names []string) *SimOrders { + orders := &SimOrders{false, 0, false} + exp := regexp.MustCompile(`^([a-z0-9\-]+)\.(([a-z0-9\-]+)\.)?sim$`) + + for _, name := range names { + found := exp.FindStringSubmatch(name) + if len(found) > 1 { + switch found[1] { + case "delay": + var err error + orders.delay, err = time.ParseDuration(found[3]) + if err != nil { + orders.delay = 0 + continue + } + case "reject": + orders.reject = true + case "unauthorized": + orders.unauthorized = true + } + } + } + return orders +} + +func respondError(w http.ResponseWriter, text string) { + w.WriteHeader(http.StatusBadRequest) + fmt.Fprintf(w, "%s\n", text) +} + +func (c *Certserv) initRootCert() error { + //fmt.Println("Reading cert file . %s", caCertFile) + bytes, err := ioutil.ReadFile(caCertFile) + if err != nil { + return fmt.Errorf("Cannot find root CA cert 1. %s ", err.Error()) + } + c.caCert, err = pki.DecodeX509CertificateBytes(bytes) + if err != nil { + return fmt.Errorf("Cannot decode root CA cert 2. %s", err.Error()) + } + fmt.Printf("%+v", c.caCert) + + bytes, err = ioutil.ReadFile(caKeyFile) + if err != nil { + return fmt.Errorf("Cannot find root CA key 3. %s", err.Error()) + } + c.caKey, err = pki.DecodePKCS1PrivateKeyBytes(bytes) + if err != nil { + return fmt.Errorf("Cannot decode root CA key 4. %s", err.Error()) + } + + // Check for existing CSRs and update currentID. + files, err := ioutil.ReadDir(caDir) + if err != nil { + return fmt.Errorf("Cannot read CA directory 5. %s", err.Error()) + } + exp := regexp.MustCompile(`^([0-9]+)\.csr$`) + var id float64 + for _, file := range files { + found := exp.FindStringSubmatch(file.Name()) + if len(found) > 1 { + current, err := strconv.Atoi(found[1]) + if err != nil { + //ignore + continue + } + id = math.Max(id, float64(current)) + } + } + c.currentID = uint64(id) + fmt.Printf("Starting with id = %d\n", c.currentID) + setupLog.Info("Configuration","workdir ", caWorkDir) + return nil } \ No newline at end of file diff --git a/test/adcs-sim/main.go b/test/adcs-sim/main.go index d90dc5c..9af498f 100644 --- a/test/adcs-sim/main.go +++ b/test/adcs-sim/main.go @@ -27,6 +27,7 @@ import ( "sync/atomic" "github.com/nokia/adcs-issuer/test/adcs-sim/certserv" + "github.com/nokia/adcs-sim/adcs-sim/version" "io/ioutil" "log" @@ -41,6 +42,7 @@ import ( "go.uber.org/zap/zapcore" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/log/zap" + //"github.com/Azure/go-ntlmssp" ) var ( @@ -60,11 +62,14 @@ func getEnv(key, fallback string) string { } var ( - //scheme = runtime.NewScheme() - setupLog = ctrl.Log.WithName("adcs-sim") - version = "adcs-sim-by-djkormo" - buildTime = "2024-01-01:16:00" - //buildTime= time.Now().UTC().Format("2006-01-02 15:04:05") + setupLog = ctrl.Log.WithName("adcs-sim") + Version = "unset" + // BuildTime is a time label of the moment when the binary was built + BuildTime = "unset" + // Commit is a last commit hash at the moment when the binary was built + Commit = "unset" + // Release is a semantic version of current build + Release = "unset" ) func main() { @@ -94,7 +99,7 @@ func main() { ctrl.SetLogger(zap.New(zap.UseFlagOptions(&opts))) - setupLog.Info("Starting ADCS Simulator", "version", version, "build time", buildTime) + setupLog.Info("Starting ADCS Simulator", "Project", version.Project, "BuildTime", version.BuildTime, "Release", version.Release, "Commit", version.Commit) setupLog.Info("Http", "port ", port) setupLog.Info("Directories in in /ca", "directory", caWorkDir) @@ -141,15 +146,18 @@ func main() { isReady.Store(false) go func() { - setupLog.Info("HandleHealthz","Readyz probe is negative by default...","") - time.Sleep(5* time.Second) // 5 seconds hardcoded + setupLog.Info("HandleHealthz", "Readyz probe is negative by default...", "") + time.Sleep(5 * time.Second) // 5 seconds hardcoded isReady.Store(true) - setupLog.Info("HandleHealthz","Readyz probe is positive","") + setupLog.Info("HandleHealthz", "Readyz probe is positive", "") }() - //TODO ADD livenes and readiness + //http.HandleFunc("/", greeting) + + //livenes and readiness http.HandleFunc("/healthz", HandleHealthz) http.HandleFunc("/readyz", HandleReadyz(isReady)) + //http.HandleFunc("/readyz", HandleReadyz) http.HandleFunc("/certnew.cer", certserv.HandleCertnewCer) http.HandleFunc("/certnew.p7b", certserv.HandleCertnewP7b) @@ -248,26 +256,61 @@ func generateServerCertificate(cs *certserv.Certserv, ips *string, dns *string) return nil } - //Based on https://blog.gopheracademy.com/advent-2017/kubernetes-ready-service/ // Liveness func HandleHealthz(w http.ResponseWriter, r *http.Request) { - setupLog.Info("HandleHealthz","check","Ok") + setupLog.Info("HandleHealthz", "check", "Ok") w.WriteHeader(http.StatusOK) return } // Readiness - func HandleReadyz(isReady *atomic.Value) http.HandlerFunc { +func HandleReadyz(isReady *atomic.Value) http.HandlerFunc { return func(w http.ResponseWriter, _ *http.Request) { - if isReady == nil || !isReady.Load().(bool) { - http.Error(w, http.StatusText(http.StatusServiceUnavailable), http.StatusServiceUnavailable) - return - } - setupLog.Info("HandleReadyz","check","Ok") - w.WriteHeader(http.StatusOK) - } - } + if isReady == nil || !isReady.Load().(bool) { + http.Error(w, http.StatusText(http.StatusServiceUnavailable), http.StatusServiceUnavailable) + return + } + setupLog.Info("HandleReadyz", "check", "Ok") + w.WriteHeader(http.StatusOK) + } +} + +// https://umesh.dev/posts/how-to-implement-http-basic-auth-in-gogolang +var users = map[string]string{ + "test": "secret", +} + +func isAuthorised(username, password string) bool { + pass, ok := users[username] + if !ok { + return false + } + + return password == pass +} + +func greeting(w http.ResponseWriter, r *http.Request) { + w.Header().Add("Content-Type", "application/json") + username, password, ok := r.BasicAuth() + if !ok { + w.Header().Add("WWW-Authenticate", `Basic realm="Give username and password"`) + w.WriteHeader(http.StatusUnauthorized) + w.Write([]byte(`{"message": "No basic auth present"}`)) + return + } + + if !isAuthorised(username, password) { + w.Header().Add("WWW-Authenticate", `Basic realm="Give username and password"`) + w.WriteHeader(http.StatusUnauthorized) + w.Write([]byte(`{"message": "Invalid username or password"}`)) + return + } + + w.WriteHeader(http.StatusOK) + w.Write([]byte(`{"message": "welcome to golang world!"}`)) + return +} diff --git a/test/adcs-sim/templates/certcarc.asp.tmpl b/test/adcs-sim/templates/certcarc.asp.tmpl index a05c213..6b4f7b2 100644 --- a/test/adcs-sim/templates/certcarc.asp.tmpl +++ b/test/adcs-sim/templates/certcarc.asp.tmpl @@ -1,652 +1,652 @@ - - - - - Microsoft Active Directory Certificate Services - - - - - - - - -
Microsoft Active Directory Certificate Services  --  ADCSInternalSubCA07  Home
- - - -
-

Download a CA Certificate, Certificate Chain, or CRL -
- -

- - - - To trust certificates issued from this certification authority, - install this CA certificate. - - - - -

- -To download a CA certificate, certificate chain, or CRL, select the certificate and encoding method. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-

Encoding method:
- - -
- - -
- - - - - - - - - - - - - - - - - - - - - - - - -
- - Install CA certificate -
- - Download CA certificate -
- - Download CA certificate chain -
- - Download latest base CRL -
- - -
- -
-
- -

-
- - - - - - - - - - - - - - - - - - - - - - - - - + + + + + Microsoft Active Directory Certificate Services + + + + + + + + +
Microsoft Active Directory Certificate Services  --  ADCSInternalSubCA07  Home
+ + + +
+

Download a CA Certificate, Certificate Chain, or CRL +
+ +

+ + + + To trust certificates issued from this certification authority, + install this CA certificate. + + + + +

+ +To download a CA certificate, certificate chain, or CRL, select the certificate and encoding method. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+

Encoding method:
+ + +
+ + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ + Install CA certificate +
+ + Download CA certificate +
+ + Download CA certificate chain +
+ + Download latest base CRL +
+ + +
+ +
+
+ +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/test/deploy.env b/test/deploy.env index 4c98e4f..e30ed33 100644 --- a/test/deploy.env +++ b/test/deploy.env @@ -1,3 +1,3 @@ -APP_NAME=adcs-sim -DOCKER_REPO=djkormo -VERSION=0.0.6 +APP_NAME=adcs-sim +DOCKER_REPO=djkormo +VERSION=0.0.6 diff --git a/test/go.mod b/test/go.mod index ba8af9a..da9f2d7 100644 --- a/test/go.mod +++ b/test/go.mod @@ -11,6 +11,8 @@ require ( sigs.k8s.io/controller-runtime v0.8.3 ) +require github.com/nokia/adcs-issuer v0.0.0-20221107114751-732b348ad092 + require ( github.com/Azure/go-ntlmssp v0.0.0-20200615164410-66371956d46c // indirect github.com/beorn7/perks v1.0.1 // indirect @@ -34,7 +36,6 @@ require ( github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.1 // indirect - github.com/nokia/adcs-issuer v0.0.0-20221107114751-732b348ad092 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_golang v1.11.1 // indirect diff --git a/test/manifests/certificate-adcs-sim.yaml b/test/manifests/certificate-adcs-sim.yaml index 24e8107..27e0889 100644 --- a/test/manifests/certificate-adcs-sim.yaml +++ b/test/manifests/certificate-adcs-sim.yaml @@ -1,19 +1,19 @@ -apiVersion: cert-manager.io/v1 -kind: Certificate -metadata: - - name: adcs-sim-cert - namespace: cert-manager -spec: - commonName: example.com - dnsNames: - - adcs1.example.com - - adcs2.example.com - - issuerRef: - group: adcs.certmanager.csf.nokia.com - kind: ClusterAdcsIssuer - name: adcs-cluster-issuer-adcs-sim - #organization: - #- Your organization +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + + name: adcs-sim-cert + namespace: cert-manager +spec: + commonName: example.com + dnsNames: + - adcs1.example.com + - adcs2.example.com + + issuerRef: + group: adcs.certmanager.csf.nokia.com + kind: ClusterAdcsIssuer + name: adcs-cluster-issuer-adcs-sim + #organization: + #- Your organization secretName: adcs-sim-secret \ No newline at end of file diff --git a/test/manifests/clusteradcsissuer-adcs-sim.yaml b/test/manifests/clusteradcsissuer-adcs-sim.yaml index f677e9a..8c8b172 100644 --- a/test/manifests/clusteradcsissuer-adcs-sim.yaml +++ b/test/manifests/clusteradcsissuer-adcs-sim.yaml @@ -1,13 +1,13 @@ -apiVersion: adcs.certmanager.csf.nokia.com/v1 -kind: ClusterAdcsIssuer -metadata: - name: adcs-cluster-issuer-adcs-sim -spec: - caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGMXpDQ0E3K2dBd0lCQWdJVUtQRTNLcmthVFBDSktxWEtZOHB0dG1qMTUyVXdEUVlKS29aSWh2Y05BUUVMDQpCUUF3WkRFTE1Ba0dBMVVFQmhNQ1VFd3hEekFOQmdOVkJBZ01CbGRoY25OaGR6RVBNQTBHQTFVRUJ3d0dUVzl5DQpaRzl5TVJBd0RnWURWUVFLREFkQlJFTlRVMGxOTVFzd0NRWURWUVFMREFKSlZERVVNQklHQTFVRUF3d0xaWGhoDQpiWEJzWlM1amIyMHdIaGNOTWpNeE1qTXhNVEkxTWpRMVdoY05Nek14TWpJNE1USTFNalExV2pCa01Rc3dDUVlEDQpWUVFHRXdKUVRERVBNQTBHQTFVRUNBd0dWMkZ5YzJGM01ROHdEUVlEVlFRSERBWk5iM0prYjNJeEVEQU9CZ05WDQpCQW9NQjBGRVExTlRTVTB4Q3pBSkJnTlZCQXNNQWtsVU1SUXdFZ1lEVlFRRERBdGxlR0Z0Y0d4bExtTnZiVENDDQpBaUl3RFFZSktvWklodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQUxrbldhU1pTZk9uMzNHbERKaEU1MUl3DQpFNCtGRTZiL0MwUG9ZdGErb2U4N1NNZDE0NnhkakJDYitBdE5ZUW5wdkVuVkcyYThHMW1qNHJIeGtUb0IvUnhjDQpyOXdtMlRaNXREMUlwT1NERXBnSVlORXNYN2tmcnFLbEtBLzhyZWdGb0I3UUxrazVNc09tTW8rWU9yWmNjYlpKDQpVMTQ0V01tdTBubFIxbVhETUR0QTZET3lhSUhDVENQTWtWOEY3MFB3TkRDMFU3aktnV1NBSEFaRzRrUGpYTUpUDQptZHgxY3ZONXJLN3dLQzBjRit2RUdTdGNML3NTdk1aaEF0MDhuK3JxRUdudDdhV3RsYURBbUtVZTBKbDU4QnY4DQpab1g3NnZWVXcvLzdoRWhyTVFLbGNtL1VpNFVUSDBuaXlOOGg4U0pRbllYdzZWRk1hOHMxbzZTdTR4SG94dnI3DQpUMkxyVEphMi80UGNvbnlEOGxvNktZRHdPa0VqK3VkemltZ1U2Ty9sM0xFN1dSQWh4UmhQQjYzYWVjb3Awc2w4DQpObXo1TnR5bHZVMHhlVFdGZDRnT1RRRmdRTk45VmlNcXFuVWh4ZEI0cTNjS25NbTVESDdMcjJkckVFbENKcTNSDQp4dnFiclc5d3JvdGllNCtnMWZMdHk2Wkxua3NFdkdzMjZ1ZUFqbFhRREdTZU9kTThsTXR5VjZHbGtnSTY1bmhoDQpjYnNBY1I4dlRMSVRVYk82NkphTjNRbElrcHhNWTcwaGd2WVlUSS95eDNDVEhkbjZmaHBTbXJKbHhYOU5nMmdVDQphaHRRaU1QcXduLzcrMk1VVUVrQ2h6M1JXUVdTYnFFTTNERmk5TWlZSG1QL2NmQlFyR1hIWnZ3N25rMDI2dXVxDQpHS2xiSVVrK3BaVGJoTWdlUFlSM0FnTUJBQUdqZ1lBd2ZqQWRCZ05WSFE0RUZnUVVUS1pVQitFWFRWaVNuV2l2DQozWDRlUjd4dGl1RXdId1lEVlIwakJCZ3dGb0FVVEtaVUIrRVhUVmlTbldpdjNYNGVSN3h0aXVFd0R3WURWUjBUDQpBUUgvQkFVd0F3RUIvekFyQmdOVkhSRUVKREFpZ2d0bGVHRnRjR3hsTG1OdmJZSU5LaTVsZUdGdGNHeGxMbU52DQpiWWNFQ2dBQUFUQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFjZDVncmV0aTQ0dWtqZ3hXU05vWUZzNkhaNjU5DQpPb3N0eEtMSDBqTUZTVVF4dnQ1dHJLOWtqdzI3aFdZZzVDNzNXSWMzWGxlL2J5UFN5a1RRc3hxOXRpOTZxZTBUDQpVNCtoc2ZkRlZla3FsTjgzaDNwWi9Mb0Q5eUVsWDJ2ekZrTGFpcW4vN0dXZGY2bTQ3MnpwZ1h4Nm9QbFA2R1RWDQpuOXBicVBoYnV0TVNBanBvbXJSNVNpdWVQb3NWaVYxVWpQdjZRVXZLV3VTK0dPUDBIelkrS3UxeWZlejEvcFJwDQowdDVKVGdNTlVvWVNrakM0ZFN5UEJ5OUhRTXhSN09pZzNNTnpZZXVDOTBzWXZ2NkdKNG45c3FReGNqK2FEYzNnDQpiRHhGWlY5UXUxOVcrekNnTFAyNWFxc2MzUjUyYzBkRWJCeVpWRWoydTM2VTdvMnNnRVJQVml2M053OXFjZlpFDQptVFovK1VROXl1WXJmOWFLYzBxU1U1cVZvdXp4MW5HOVRRYlgvNWdoWmdtd1VMUkxUaWcyb3dBaWJEMDVKVTBlDQpheW5TQ2JtRUprZElQeDVkckt6YmFCOVJLSi8vanJrcG1VU0NPOEI5UmpSVlptbUlJdHhkbjI4cHlEeTdBOEpYDQpYWXdCRlFJZnRDQjFXUGl4eHJsaVRpWXJRb3RLZ0s0VDdBL3l0VGF5Rk10YU12QnFNN291bGo1djNQb3djZlpqDQpoa2V6YU5Qc1J4NGNMU0cvOVBjMDJRMEVIQ2pMemw4UzhGOC9tMDZuall1OWtQZEc3N3VWMjVvdlNhTnluQm00DQpqZjE3UDUyUDV6cVB3V1FzT01PdTUxT1REaHlhZ0RoMXFWSmF5cjRrOXNrQXBJeVlFQlRzaEJCdU93clAvbnhGDQpGOFNETm41d2pzWXBVSXM9DQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t - credentialsRef: - name: adcs-issuer-credentials # secret with username and password - statusCheckInterval: 1m - retryInterval: 1m - url: https://adcs-sim-service.cert-manager.svc:8443 # external host - templateName: BasicSSLWebServer # external template - +apiVersion: adcs.certmanager.csf.nokia.com/v1 +kind: ClusterAdcsIssuer +metadata: + name: adcs-cluster-issuer-adcs-sim +spec: + caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tDQpNSUlGMXpDQ0E3K2dBd0lCQWdJVUtQRTNLcmthVFBDSktxWEtZOHB0dG1qMTUyVXdEUVlKS29aSWh2Y05BUUVMDQpCUUF3WkRFTE1Ba0dBMVVFQmhNQ1VFd3hEekFOQmdOVkJBZ01CbGRoY25OaGR6RVBNQTBHQTFVRUJ3d0dUVzl5DQpaRzl5TVJBd0RnWURWUVFLREFkQlJFTlRVMGxOTVFzd0NRWURWUVFMREFKSlZERVVNQklHQTFVRUF3d0xaWGhoDQpiWEJzWlM1amIyMHdIaGNOTWpNeE1qTXhNVEkxTWpRMVdoY05Nek14TWpJNE1USTFNalExV2pCa01Rc3dDUVlEDQpWUVFHRXdKUVRERVBNQTBHQTFVRUNBd0dWMkZ5YzJGM01ROHdEUVlEVlFRSERBWk5iM0prYjNJeEVEQU9CZ05WDQpCQW9NQjBGRVExTlRTVTB4Q3pBSkJnTlZCQXNNQWtsVU1SUXdFZ1lEVlFRRERBdGxlR0Z0Y0d4bExtTnZiVENDDQpBaUl3RFFZSktvWklodmNOQVFFQkJRQURnZ0lQQURDQ0Fnb0NnZ0lCQUxrbldhU1pTZk9uMzNHbERKaEU1MUl3DQpFNCtGRTZiL0MwUG9ZdGErb2U4N1NNZDE0NnhkakJDYitBdE5ZUW5wdkVuVkcyYThHMW1qNHJIeGtUb0IvUnhjDQpyOXdtMlRaNXREMUlwT1NERXBnSVlORXNYN2tmcnFLbEtBLzhyZWdGb0I3UUxrazVNc09tTW8rWU9yWmNjYlpKDQpVMTQ0V01tdTBubFIxbVhETUR0QTZET3lhSUhDVENQTWtWOEY3MFB3TkRDMFU3aktnV1NBSEFaRzRrUGpYTUpUDQptZHgxY3ZONXJLN3dLQzBjRit2RUdTdGNML3NTdk1aaEF0MDhuK3JxRUdudDdhV3RsYURBbUtVZTBKbDU4QnY4DQpab1g3NnZWVXcvLzdoRWhyTVFLbGNtL1VpNFVUSDBuaXlOOGg4U0pRbllYdzZWRk1hOHMxbzZTdTR4SG94dnI3DQpUMkxyVEphMi80UGNvbnlEOGxvNktZRHdPa0VqK3VkemltZ1U2Ty9sM0xFN1dSQWh4UmhQQjYzYWVjb3Awc2w4DQpObXo1TnR5bHZVMHhlVFdGZDRnT1RRRmdRTk45VmlNcXFuVWh4ZEI0cTNjS25NbTVESDdMcjJkckVFbENKcTNSDQp4dnFiclc5d3JvdGllNCtnMWZMdHk2Wkxua3NFdkdzMjZ1ZUFqbFhRREdTZU9kTThsTXR5VjZHbGtnSTY1bmhoDQpjYnNBY1I4dlRMSVRVYk82NkphTjNRbElrcHhNWTcwaGd2WVlUSS95eDNDVEhkbjZmaHBTbXJKbHhYOU5nMmdVDQphaHRRaU1QcXduLzcrMk1VVUVrQ2h6M1JXUVdTYnFFTTNERmk5TWlZSG1QL2NmQlFyR1hIWnZ3N25rMDI2dXVxDQpHS2xiSVVrK3BaVGJoTWdlUFlSM0FnTUJBQUdqZ1lBd2ZqQWRCZ05WSFE0RUZnUVVUS1pVQitFWFRWaVNuV2l2DQozWDRlUjd4dGl1RXdId1lEVlIwakJCZ3dGb0FVVEtaVUIrRVhUVmlTbldpdjNYNGVSN3h0aXVFd0R3WURWUjBUDQpBUUgvQkFVd0F3RUIvekFyQmdOVkhSRUVKREFpZ2d0bGVHRnRjR3hsTG1OdmJZSU5LaTVsZUdGdGNHeGxMbU52DQpiWWNFQ2dBQUFUQU5CZ2txaGtpRzl3MEJBUXNGQUFPQ0FnRUFjZDVncmV0aTQ0dWtqZ3hXU05vWUZzNkhaNjU5DQpPb3N0eEtMSDBqTUZTVVF4dnQ1dHJLOWtqdzI3aFdZZzVDNzNXSWMzWGxlL2J5UFN5a1RRc3hxOXRpOTZxZTBUDQpVNCtoc2ZkRlZla3FsTjgzaDNwWi9Mb0Q5eUVsWDJ2ekZrTGFpcW4vN0dXZGY2bTQ3MnpwZ1h4Nm9QbFA2R1RWDQpuOXBicVBoYnV0TVNBanBvbXJSNVNpdWVQb3NWaVYxVWpQdjZRVXZLV3VTK0dPUDBIelkrS3UxeWZlejEvcFJwDQowdDVKVGdNTlVvWVNrakM0ZFN5UEJ5OUhRTXhSN09pZzNNTnpZZXVDOTBzWXZ2NkdKNG45c3FReGNqK2FEYzNnDQpiRHhGWlY5UXUxOVcrekNnTFAyNWFxc2MzUjUyYzBkRWJCeVpWRWoydTM2VTdvMnNnRVJQVml2M053OXFjZlpFDQptVFovK1VROXl1WXJmOWFLYzBxU1U1cVZvdXp4MW5HOVRRYlgvNWdoWmdtd1VMUkxUaWcyb3dBaWJEMDVKVTBlDQpheW5TQ2JtRUprZElQeDVkckt6YmFCOVJLSi8vanJrcG1VU0NPOEI5UmpSVlptbUlJdHhkbjI4cHlEeTdBOEpYDQpYWXdCRlFJZnRDQjFXUGl4eHJsaVRpWXJRb3RLZ0s0VDdBL3l0VGF5Rk10YU12QnFNN291bGo1djNQb3djZlpqDQpoa2V6YU5Qc1J4NGNMU0cvOVBjMDJRMEVIQ2pMemw4UzhGOC9tMDZuall1OWtQZEc3N3VWMjVvdlNhTnluQm00DQpqZjE3UDUyUDV6cVB3V1FzT01PdTUxT1REaHlhZ0RoMXFWSmF5cjRrOXNrQXBJeVlFQlRzaEJCdU93clAvbnhGDQpGOFNETm41d2pzWXBVSXM9DQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t + credentialsRef: + name: adcs-issuer-credentials # secret with username and password + statusCheckInterval: 1m + retryInterval: 1m + url: https://adcs-sim-service.cert-manager.svc:8443 # external host + templateName: BasicSSLWebServer # external template + diff --git a/test/manifests/configmap-adcs-sim.yaml b/test/manifests/configmap-adcs-sim.yaml index 5517f47..ac3b5fe 100644 --- a/test/manifests/configmap-adcs-sim.yaml +++ b/test/manifests/configmap-adcs-sim.yaml @@ -1,96 +1,96 @@ -apiVersion: v1 -kind: ConfigMap -metadata: - name: adcs-sim-configmap - namespace: cert-manager -data: - - root.pem: | - -----BEGIN CERTIFICATE----- - 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 - F8SDNn5wjsYpUIs= - -----END CERTIFICATE----- - - - root.key: | - -----BEGIN RSA PRIVATE KEY----- - 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 - -----END RSA PRIVATE KEY----- +apiVersion: v1 +kind: ConfigMap +metadata: + name: adcs-sim-configmap + namespace: cert-manager +data: + + root.pem: | + -----BEGIN CERTIFICATE----- + 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 + F8SDNn5wjsYpUIs= + -----END CERTIFICATE----- + + + root.key: | + -----BEGIN RSA PRIVATE KEY----- + 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 + -----END RSA PRIVATE KEY----- diff --git a/test/manifests/deployment-adcs-sim.yaml b/test/manifests/deployment-adcs-sim.yaml index 00ed187..afc7955 100644 --- a/test/manifests/deployment-adcs-sim.yaml +++ b/test/manifests/deployment-adcs-sim.yaml @@ -1,70 +1,70 @@ -apiVersion: apps/v1 -kind: Deployment -metadata: - name: adcs-sim-deployment - namespace: cert-manager -spec: - replicas: 1 - selector: - matchLabels: - control-plane: adcs-sim - template: - metadata: - labels: - control-plane: adcs-sim - spec: - containers: - - args: - - --dns=adcs-sim-service.cert-manager.svc,adcs2.example.com - - --ips=10.10.10.1,10.10.10.2 - - --port=8443 - command: - - /usr/local/adcs-sim/manager - image: djkormo/adcs-sim:master - imagePullPolicy: Always - env: - - name: ENABLE_DEBUG - value: "false" - name: manager - volumeMounts: - # emptydirs for storing csr and cert files - - - name: csr - mountPath: "/usr/local/adcs-sim/ca" - - - name: config-pem - mountPath: "/usr/local/adcs-sim/ca/root.pem" - subPath: root.pem - readOnly: true - - - name: config-key - mountPath: "/usr/local/adcs-sim/ca/root.key" - subPath: root.key - readOnly: true - - ports: - - containerPort: 8443 # the same as --port=8443 in arguments - name: adcs-sim - protocol: TCP - resources: - limits: - cpu: 100m - memory: 500Mi - requests: - cpu: 100m - memory: 100Mi - - terminationGracePeriodSeconds: 10 - volumes: - - - name: csr - emptyDir: - sizeLimit: 50Mi - - - name: config-pem - configMap: - name: adcs-sim-configmap - - name: config-key - configMap: - name: adcs-sim-configmap - +apiVersion: apps/v1 +kind: Deployment +metadata: + name: adcs-sim-deployment + namespace: cert-manager +spec: + replicas: 1 + selector: + matchLabels: + control-plane: adcs-sim + template: + metadata: + labels: + control-plane: adcs-sim + spec: + containers: + - args: + - --dns=adcs-sim-service.cert-manager.svc,adcs2.example.com + - --ips=10.10.10.1,10.10.10.2 + - --port=8443 + command: + - /usr/local/adcs-sim/manager + image: djkormo/adcs-sim:master + imagePullPolicy: Always + env: + - name: ENABLE_DEBUG + value: "false" + name: manager + volumeMounts: + # emptydirs for storing csr and cert files + + - name: csr + mountPath: "/usr/local/adcs-sim/ca" + + - name: config-pem + mountPath: "/usr/local/adcs-sim/ca/root.pem" + subPath: root.pem + readOnly: true + + - name: config-key + mountPath: "/usr/local/adcs-sim/ca/root.key" + subPath: root.key + readOnly: true + + ports: + - containerPort: 8443 # the same as --port=8443 in arguments + name: adcs-sim + protocol: TCP + resources: + limits: + cpu: 100m + memory: 500Mi + requests: + cpu: 100m + memory: 100Mi + + terminationGracePeriodSeconds: 10 + volumes: + + - name: csr + emptyDir: + sizeLimit: 50Mi + + - name: config-pem + configMap: + name: adcs-sim-configmap + - name: config-key + configMap: + name: adcs-sim-configmap + diff --git a/test/manifests/ingress-adcs-sim.yaml b/test/manifests/ingress-adcs-sim.yaml index 7b9a682..402bc26 100644 --- a/test/manifests/ingress-adcs-sim.yaml +++ b/test/manifests/ingress-adcs-sim.yaml @@ -1,29 +1,29 @@ -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - annotations: - cert-manager.io/issuer: adcs-cluster-issuer-adcs-sim # issuser name - cert-manager.io/issuer-kind: ClusterAdcsIssuer # ClusterAdcsIssuer or AdcsIssuer - cert-manager.io/issuer-group: adcs.certmanager.csf.nokia.com # api group, here adcs.certmanager.csf.nokia.com - cert-manager.io/duration: 17520h # 2 years - cert-manager.io/renew-before: 48h # renew 48 hour before - name: adcs-sim-ingress - namespace: cert-manager - -spec: -# ingressClassName: traefik - rules: - - host: adcs1.example.com - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: adcs-sim-service - port: - number: 443 - tls: - - hosts: - - adcs1.example.com +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + annotations: + cert-manager.io/issuer: adcs-cluster-issuer-adcs-sim # issuser name + cert-manager.io/issuer-kind: ClusterAdcsIssuer # ClusterAdcsIssuer or AdcsIssuer + cert-manager.io/issuer-group: adcs.certmanager.csf.nokia.com # api group, here adcs.certmanager.csf.nokia.com + cert-manager.io/duration: 17520h # 2 years + cert-manager.io/renew-before: 48h # renew 48 hour before + name: adcs-sim-ingress + namespace: cert-manager + +spec: +# ingressClassName: traefik + rules: + - host: adcs1.example.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: adcs-sim-service + port: + number: 443 + tls: + - hosts: + - adcs1.example.com secretName: adcs1-example-com-tls-certificate # secret for storing certificatec \ No newline at end of file diff --git a/test/manifests/secret-adcs-sim.yaml b/test/manifests/secret-adcs-sim.yaml index 6acf8eb..bc4ab01 100644 --- a/test/manifests/secret-adcs-sim.yaml +++ b/test/manifests/secret-adcs-sim.yaml @@ -1,10 +1,10 @@ -apiVersion: v1 -kind: Secret -metadata: - name: adcs-issuer-credentials - namespace: cert-manager # namespace of cert managera and adcs operator -type: Opaque -data: - password: cGFzc3dvcmQ= # password - username: dXNlcm5hbWU= # username - +apiVersion: v1 +kind: Secret +metadata: + name: adcs-issuer-credentials + namespace: cert-manager # namespace of cert managera and adcs operator +type: Opaque +data: + password: cGFzc3dvcmQ= # password + username: dXNlcm5hbWU= # username + diff --git a/test/manifests/service-adcs-sim.yaml b/test/manifests/service-adcs-sim.yaml index 8d3c5f4..640ffd6 100644 --- a/test/manifests/service-adcs-sim.yaml +++ b/test/manifests/service-adcs-sim.yaml @@ -1,11 +1,11 @@ -apiVersion: v1 -kind: Service -metadata: - name: adcs-sim-service - namespace: cert-manager -spec: - ports: - - port: 8443 - targetPort: 8443 - selector: - control-plane: adcs-sim +apiVersion: v1 +kind: Service +metadata: + name: adcs-sim-service + namespace: cert-manager +spec: + ports: + - port: 8443 + targetPort: 8443 + selector: + control-plane: adcs-sim diff --git a/version/version.go b/version/version.go new file mode 100644 index 0000000..2f90972 --- /dev/null +++ b/version/version.go @@ -0,0 +1,11 @@ +package version + +var ( + // BuildTime is a time label of the moment when the binary was built + BuildTime = "unset" + // Commit is a last commit hash at the moment when the binary was built + Commit = "unset" + // Release is a semantic version of current build + Release = "unset" + Version = "adcs-operator" +)