From 04a595cc718d4e01ac4eee3212cb9b9b32821b1d Mon Sep 17 00:00:00 2001 From: isindir Date: Sun, 15 Aug 2021 16:35:42 +0100 Subject: [PATCH] up: controller gen and runtime, k8s, kustomize, docker images, golang (#84) --- .circleci/config.yml | 22 +- .tool-versions | 10 +- Dockerfile | 4 +- Makefile | 25 ++- chart/helm2/sops-secrets-operator/Makefile | 2 +- chart/helm3/sops-secrets-operator/Chart.yaml | 4 +- chart/helm3/sops-secrets-operator/Makefile | 2 +- chart/helm3/sops-secrets-operator/README.md | 2 +- .../tests/operator_test.yaml | 6 +- chart/helm3/sops-secrets-operator/values.yaml | 2 +- .../bases/isindir.github.com_sopssecrets.yaml | 2 +- docs/index.yaml | 116 ++++++----- docs/sops-secrets-operator-0.9.3.tgz | Bin 0 -> 10868 bytes go.mod | 10 +- go.sum | 197 ++++++++++-------- 15 files changed, 222 insertions(+), 182 deletions(-) create mode 100644 docs/sops-secrets-operator-0.9.3.tgz diff --git a/.circleci/config.yml b/.circleci/config.yml index aecce072..46d41b46 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -10,17 +10,17 @@ jobs: image: ubuntu-2004:202010-01 environment: # https://golang.org/dl/ - GOLANG_VERSION: 1.16.5 + GOLANG_VERSION: 1.16.7 # https://github.com/kubernetes-sigs/kubebuilder/releases KUBEBUILDER_VERSION: 3.1.0 # https://github.com/kubernetes-sigs/kustomize/releases - KUSTOMIZE_VERSION: v4.1.3 + KUSTOMIZE_VERSION: v4.2.0 # https://github.com/github/hub/releases HUB_VERSION: 2.14.2 # https://github.com/git-chglog/git-chglog/releases GIT_CHGLOG_VERSION: 0.14.2 # https://github.com/docker/buildx/releases - BUILDX_BINARY_VERSION: 0.5.1 + BUILDX_BINARY_VERSION: 0.6.1 DOCKER_BUILDKIT: 1 BUILDX_PLATFORMS: linux/amd64,linux/arm64 @@ -99,25 +99,25 @@ jobs: image: ubuntu-2004:202010-01 environment: # https://github.com/kubernetes/kubernetes/releases - K8S_VERSION: v1.20.7 + KUBECTL_VERSION: v1.21.4 # https://github.com/rancher/k3d/releases - K3D_VERSION: v4.4.6 + K3D_VERSION: v4.4.7 # https://github.com/helm/helm/releases - HELM_VERSION: v3.6.1 + HELM_VERSION: v3.6.3 # https://golang.org/dl/ - GOLANG_VERSION: 1.16.5 + GOLANG_VERSION: 1.16.7 # https://github.com/kubernetes-sigs/kubebuilder/releases KUBEBUILDER_VERSION: 3.1.0 # https://github.com/mozilla/sops/releases SOPS_VERSION: v3.7.1 # https://github.com/kubernetes-sigs/kustomize/releases - KUSTOMIZE_VERSION: v4.1.3 + KUSTOMIZE_VERSION: v4.2.0 # https://github.com/quintush/helm-unittest/releases - HELM_UNITTEST_VERSION: 0.2.6 + HELM_UNITTEST_VERSION: 0.2.7 # https://github.com/instrumenta/kubeval/releases KUBEVAL_VERSION: 0.16.1 # https://github.com/docker/buildx/releases - BUILDX_BINARY_VERSION: 0.5.1 + BUILDX_BINARY_VERSION: 0.6.1 DOCKER_BUILDKIT: 1 BUILDX_PLATFORMS: linux/amd64,linux/arm64 @@ -213,7 +213,7 @@ jobs: - run: name: install kubectl command: | - curl -sSLo kubectl https://storage.googleapis.com/kubernetes-release/release/${K8S_VERSION}/bin/linux/amd64/kubectl + curl -sSLo kubectl https://storage.googleapis.com/kubernetes-release/release/${KUBECTL_VERSION}/bin/linux/amd64/kubectl chmod +x kubectl sudo mv kubectl /usr/local/bin/ mkdir -p ${HOME}/.kube diff --git a/.tool-versions b/.tool-versions index ec4e578d..c3bf593c 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,17 +1,17 @@ # https://github.com/kubernetes-sigs/kubebuilder/releases kubebuilder 3.1.0 # https://golang.org/dl/ -golang 1.16.5 +golang 1.16.7 # https://github.com/mozilla/sops/releases sops 3.7.1 # https://github.com/kubernetes-sigs/kustomize/releases -kustomize 4.1.3 +kustomize 4.2.0 # https://github.com/rancher/k3d/releases -k3d 4.4.6 +k3d 4.4.7 # https://github.com/kubernetes/kubernetes/releases -kubectl 1.20.7 +kubectl 1.21.4 # https://github.com/helm/helm/releases -helm 3.6.1 +helm 3.6.3 # https://github.com/instrumenta/kubeval/releases kubeval v0.16.1 # https://github.com/git-chglog/git-chglog/releases diff --git a/Dockerfile b/Dockerfile index 7cf6b174..6f5528c0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # Build the manager binary # https://hub.docker.com/_/golang?tab=tags&page=1&ordering=last_updated -FROM golang:1.16.5-buster as builder +FROM golang:1.16.7-buster as builder WORKDIR /workspace # Copy the Go Modules manifests @@ -19,7 +19,7 @@ COPY controllers/ controllers/ RUN CGO_ENABLED=0 GO111MODULE=on go build -a -o manager main.go # https://hub.docker.com/_/ubuntu?tab=tags&page=1&ordering=last_updated -FROM ubuntu:focal-20210609 +FROM ubuntu:focal-20210723 RUN apt-get -y update \ && apt-get -y upgrade \ diff --git a/Makefile b/Makefile index 16573769..350fb489 100644 --- a/Makefile +++ b/Makefile @@ -1,12 +1,14 @@ GO := GOPROXY=https://proxy.golang.org go -SOPS_SEC_OPERATOR_VERSION := 0.3.2 +SOPS_SEC_OPERATOR_VERSION := 0.3.3 # https://github.com/kubernetes-sigs/controller-tools/releases -CONTROLLER_GEN_VERSION := "v0.6.1" +CONTROLLER_GEN_VERSION := "v0.6.2" # https://github.com/kubernetes-sigs/controller-runtime/releases -CONTROLLER_RUNTIME_VERSION := "v0.8.3" +CONTROLLER_RUNTIME_VERSION := "v0.9.6" # https://github.com/kubernetes-sigs/kustomize/releases -KUSTOMIZE_VERSION := "v4.1.3" +KUSTOMIZE_VERSION := "v4.2.0" +# use `setup-envtest list` to obtain the list of available versions +KUBE_VERSION := "1.21.2" # Use existing cluster instead of starting processes USE_EXISTING_CLUSTER ?= true @@ -27,7 +29,9 @@ 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. +# This is a requirement for 'setup-envtest' in the test target. +# for more information about setup-envtest refer to +# https://github.com/kubernetes-sigs/controller-runtime/tree/v0.9.6/tools/setup-envtest # 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 @@ -93,11 +97,8 @@ fmt: ## Run go fmt against code. vet: ## Run go vet against code. go vet ./... -ENVTEST_ASSETS_DIR=$(shell pwd)/testbin -test: manifests generate fmt vet ## Run tests. - mkdir -p ${ENVTEST_ASSETS_DIR} - test -f ${ENVTEST_ASSETS_DIR}/setup-envtest.sh || curl -sSLo ${ENVTEST_ASSETS_DIR}/setup-envtest.sh https://raw.githubusercontent.com/kubernetes-sigs/controller-runtime/${CONTROLLER_RUNTIME_VERSION}/hack/setup-envtest.sh - source ${ENVTEST_ASSETS_DIR}/setup-envtest.sh; fetch_envtest_tools $(ENVTEST_ASSETS_DIR); setup_envtest_env $(ENVTEST_ASSETS_DIR); go test ./... -coverprofile cover.out +test: setup-envtest manifests generate fmt vet ## Run tests. + KUBEBUILDER_ASSETS="$(shell $(SETUP_ENVTEST) use -p path --force ${KUBE_VERSION})" go test ./... -coverprofile cover.out ##@ Build @@ -171,6 +172,10 @@ KUSTOMIZE = $(shell pwd)/bin/kustomize kustomize: ## Download kustomize locally if necessary. $(call go-get-tool,$(KUSTOMIZE),sigs.k8s.io/kustomize/kustomize/v4@${KUSTOMIZE_VERSION}) +SETUP_ENVTEST = $(shell pwd)/bin/setup-envtest +setup-envtest: ## Download setup-envtest locally if necessary. + $(call go-get-tool,$(SETUP_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 diff --git a/chart/helm2/sops-secrets-operator/Makefile b/chart/helm2/sops-secrets-operator/Makefile index 6ba3332e..e5179d41 100644 --- a/chart/helm2/sops-secrets-operator/Makefile +++ b/chart/helm2/sops-secrets-operator/Makefile @@ -31,7 +31,7 @@ lint: ## validate: validate rendered chart templates using 'kubeval' validate: - helm template . | kubeval --ignore-missing-schemas --force-color - + helm template . | kubeval --strict --schema-location https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/ --ignore-missing-schemas --force-color - @echo '--------------------' ## docs: generate chart documentation to stdout, if firgate is installed diff --git a/chart/helm3/sops-secrets-operator/Chart.yaml b/chart/helm3/sops-secrets-operator/Chart.yaml index bdaea727..1ba15521 100644 --- a/chart/helm3/sops-secrets-operator/Chart.yaml +++ b/chart/helm3/sops-secrets-operator/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 -version: 0.9.2 -appVersion: 0.3.2 +version: 0.9.3 +appVersion: 0.3.3 type: application description: Helm chart deploys sops-secrets-operator name: sops-secrets-operator diff --git a/chart/helm3/sops-secrets-operator/Makefile b/chart/helm3/sops-secrets-operator/Makefile index b86fa4c3..d875c4f9 100644 --- a/chart/helm3/sops-secrets-operator/Makefile +++ b/chart/helm3/sops-secrets-operator/Makefile @@ -43,5 +43,5 @@ validate: ## validates rendered chart templates using 'kubeval' --force-color \ --strict \ --schema-location https://raw.githubusercontent.com/Onemind-Services-LLC/kubernetes-json-schema/master/schema \ - --kubernetes-version 1.20.7 - + --kubernetes-version v1.21.4 - @echo '--------------------' diff --git a/chart/helm3/sops-secrets-operator/README.md b/chart/helm3/sops-secrets-operator/README.md index f8550465..cb89e6db 100644 --- a/chart/helm3/sops-secrets-operator/README.md +++ b/chart/helm3/sops-secrets-operator/README.md @@ -131,7 +131,7 @@ The following table lists the configurable parameters of the Sops-secrets-operat | healthProbes.readiness | object | `{"initialDelaySeconds":5,"periodSeconds":10}` | Readiness probe configuration | | image.pullPolicy | string | `"Always"` | Operator image pull policy | | image.repository | string | `"isindir/sops-secrets-operator"` | Operator image name | -| image.tag | string | `"0.3.2"` | Operator image tag | +| image.tag | string | `"0.3.3"` | Operator image tag | | imagePullSecrets | list | `[]` | Secrets to pull image from private docker repository | | kubeconfig | object | `{"enabled":false,"path":null}` | Paths to a kubeconfig. Only required if out-of-cluster. | | logging | object | `{"encoder":"json","level":"info","stacktraceLevel":"error"}` | Logging configuration section suggested values Development Mode (encoder=consoleEncoder,logLevel=Debug,stackTraceLevel=Warn). Production Mode (encoder=jsonEncoder,logLevel=Info,stackTraceLevel=Error) (default) | diff --git a/chart/helm3/sops-secrets-operator/tests/operator_test.yaml b/chart/helm3/sops-secrets-operator/tests/operator_test.yaml index 66081632..ff4752fe 100644 --- a/chart/helm3/sops-secrets-operator/tests/operator_test.yaml +++ b/chart/helm3/sops-secrets-operator/tests/operator_test.yaml @@ -30,8 +30,8 @@ tests: app.kubernetes.io/instance: sops app.kubernetes.io/managed-by: Helm app.kubernetes.io/name: sops-secrets-operator - app.kubernetes.io/version: 0.3.2 - helm.sh/chart: sops-secrets-operator-0.9.2 + app.kubernetes.io/version: 0.3.3 + helm.sh/chart: sops-secrets-operator-0.9.3 # template metadata and spec selector - it: should correctly render template metadata and spec selector @@ -140,7 +140,7 @@ tests: asserts: - equal: path: spec.template.spec.containers[0].image - value: isindir/sops-secrets-operator:0.3.2 + value: isindir/sops-secrets-operator:0.3.3 - equal: path: spec.template.spec.containers[0].imagePullPolicy value: Always diff --git a/chart/helm3/sops-secrets-operator/values.yaml b/chart/helm3/sops-secrets-operator/values.yaml index 0743293f..2a70c42a 100644 --- a/chart/helm3/sops-secrets-operator/values.yaml +++ b/chart/helm3/sops-secrets-operator/values.yaml @@ -12,7 +12,7 @@ image: # -- Operator image name repository: isindir/sops-secrets-operator # -- Operator image tag - tag: 0.3.2 + tag: 0.3.3 # -- Operator image pull policy pullPolicy: Always diff --git a/config/crd/bases/isindir.github.com_sopssecrets.yaml b/config/crd/bases/isindir.github.com_sopssecrets.yaml index 95de7c5b..2dd716a8 100644 --- a/config/crd/bases/isindir.github.com_sopssecrets.yaml +++ b/config/crd/bases/isindir.github.com_sopssecrets.yaml @@ -4,7 +4,7 @@ apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: - controller-gen.kubebuilder.io/version: v0.6.1 + controller-gen.kubebuilder.io/version: v0.6.2 creationTimestamp: null name: sopssecrets.isindir.github.com spec: diff --git a/docs/index.yaml b/docs/index.yaml index b2ecd157..8ed0be90 100644 --- a/docs/index.yaml +++ b/docs/index.yaml @@ -1,9 +1,29 @@ apiVersion: v1 entries: sops-secrets-operator: + - apiVersion: v2 + appVersion: 0.3.3 + created: "2021-08-15T10:43:44.182365+01:00" + description: Helm chart deploys sops-secrets-operator + digest: 4c45b12d750f8f846304c579c428c1e5b84a8fd45033cb84ce607f1437bdc71a + keywords: + - gitops + - sops + - kms + - encryption + maintainers: + - email: isindir@users.sf.net + name: isindir + name: sops-secrets-operator + sources: + - https://github.com/isindir/sops-secrets-operator.git + type: application + urls: + - https://isindir.github.io/sops-secrets-operator/sops-secrets-operator-0.9.3.tgz + version: 0.9.3 - apiVersion: v2 appVersion: 0.3.2 - created: "2021-06-24T09:42:08.808341+01:00" + created: "2021-08-15T10:43:44.181335+01:00" description: Helm chart deploys sops-secrets-operator digest: dbec66ae148cd665612f9b69e0dd139264c47744c797cf504a26556c77ae2130 keywords: @@ -23,7 +43,7 @@ entries: version: 0.9.2 - apiVersion: v2 appVersion: 0.3.1 - created: "2021-06-24T09:42:08.807413+01:00" + created: "2021-08-15T10:43:44.180334+01:00" description: Helm chart deploys sops-secrets-operator digest: 6228534471c0bab5eca824d98963adce99d4754bf03f37130529ac52536c79ad keywords: @@ -43,7 +63,7 @@ entries: version: 0.9.1 - apiVersion: v2 appVersion: 0.3.0 - created: "2021-06-24T09:42:08.806433+01:00" + created: "2021-08-15T10:43:44.179306+01:00" description: Helm chart deploys sops-secrets-operator digest: b7f077f8acac1b6ec60d0c0eb6326ab33cf3e4b9fb1ee8d94b1fa21f96aa7383 keywords: @@ -63,7 +83,7 @@ entries: version: 0.9.0 - apiVersion: v2 appVersion: 0.2.2 - created: "2021-06-24T09:42:08.805089+01:00" + created: "2021-08-15T10:43:44.178309+01:00" description: Helm chart deploys sops-secrets-operator digest: 39d3d35a28a405e7baf82d507fa642966c2705ac3ca2f10077186a7fec5de1f6 keywords: @@ -83,7 +103,7 @@ entries: version: 0.8.4 - apiVersion: v2 appVersion: 0.2.1 - created: "2021-06-24T09:42:08.803792+01:00" + created: "2021-08-15T10:43:44.177333+01:00" description: Helm chart deploys sops-secrets-operator digest: 4a1a3299532a4ec61acb61db45d763385bc3c2bd50c9c1707e3ba258498b5ee5 keywords: @@ -103,7 +123,7 @@ entries: version: 0.8.3 - apiVersion: v2 appVersion: 0.2.1 - created: "2021-06-24T09:42:08.802535+01:00" + created: "2021-08-15T10:43:44.176315+01:00" description: Helm chart deploys sops-secrets-operator digest: d328b4e165c3945430e196a853836dcee9982929fe24455021ddb885099d5334 keywords: @@ -123,7 +143,7 @@ entries: version: 0.8.2 - apiVersion: v2 appVersion: 0.2.0 - created: "2021-06-24T09:42:08.801459+01:00" + created: "2021-08-15T10:43:44.175242+01:00" description: Helm chart deploys sops-secrets-operator digest: d0ac8b738d0f10d64b2fb78c4386efe91de39aa88a4b107fdf9d93a82d18573c keywords: @@ -143,7 +163,7 @@ entries: version: 0.8.1 - apiVersion: v2 appVersion: 0.2.0 - created: "2021-06-24T09:42:08.800007+01:00" + created: "2021-08-15T10:43:44.17404+01:00" description: Helm chart deploys sops-secrets-operator digest: 289d7c6c96f858fe15427b1858fbfcdec373fc345acf52e667df4ca5ee729c10 keywords: @@ -163,7 +183,7 @@ entries: version: 0.8.0 - apiVersion: v2 appVersion: 0.1.17 - created: "2021-06-24T09:42:08.798571+01:00" + created: "2021-08-15T10:43:44.171803+01:00" description: sops secrets operator digest: 1c3c4bba7d66a7621beced04856d9904260558fe10369513743bc322d69482c1 keywords: @@ -183,7 +203,7 @@ entries: version: 0.7.6 - apiVersion: v2 appVersion: 0.1.16 - created: "2021-06-24T09:42:08.797545+01:00" + created: "2021-08-15T10:43:44.170728+01:00" description: sops secrets operator digest: c526d5d4b9c7c2cce1d9da2c75b4e9be7a994f24dce159a659189414a8725eae keywords: @@ -203,7 +223,7 @@ entries: version: 0.7.5 - apiVersion: v2 appVersion: 0.1.16 - created: "2021-06-24T09:42:08.796382+01:00" + created: "2021-08-15T10:43:44.169738+01:00" description: sops secrets operator digest: 572c9015988b76869b58997e02a0c64152283e559721e4883d54f1258a57e8b7 keywords: @@ -223,7 +243,7 @@ entries: version: 0.7.4 - apiVersion: v2 appVersion: 0.1.15 - created: "2021-06-24T09:42:08.795446+01:00" + created: "2021-08-15T10:43:44.168741+01:00" description: sops secrets operator digest: 84365f8e919ba9d3a00cfa50435cce6c63a8383357b2fde062b7aab8baeca6eb keywords: @@ -243,7 +263,7 @@ entries: version: 0.7.3 - apiVersion: v2 appVersion: 0.1.14 - created: "2021-06-24T09:42:08.794474+01:00" + created: "2021-08-15T10:43:44.167851+01:00" description: sops secrets operator digest: a1f2375080df20421701a33179b8e947ee682a70084d83d85da707889871ad64 keywords: @@ -263,7 +283,7 @@ entries: version: 0.7.2 - apiVersion: v2 appVersion: 0.1.13 - created: "2021-06-24T09:42:08.793481+01:00" + created: "2021-08-15T10:43:44.166855+01:00" description: sops secrets operator digest: 2e81dc4e4d49d9cd802aff263f005e04fb57df07f33b3ce8643ab287dfd3a7fb keywords: @@ -283,7 +303,7 @@ entries: version: 0.7.1 - apiVersion: v2 appVersion: 0.1.12 - created: "2021-06-24T09:42:08.792321+01:00" + created: "2021-08-15T10:43:44.166032+01:00" description: sops secrets operator digest: 81f59ed60bfa8204ed285476f9ed96a45a6f4e7cc6940a5d246c9241573d93d5 keywords: @@ -303,7 +323,7 @@ entries: version: 0.7.0 - apiVersion: v2 appVersion: 0.1.12 - created: "2021-06-24T09:42:08.791149+01:00" + created: "2021-08-15T10:43:44.165131+01:00" description: sops secrets operator digest: 91c3fbda73ba2d860bdaa21e37bf9afbc260ff767b377a144d0181d116a7ee34 keywords: @@ -323,7 +343,7 @@ entries: version: 0.6.8 - apiVersion: v2 appVersion: 0.1.12 - created: "2021-06-24T09:42:08.789381+01:00" + created: "2021-08-15T10:43:44.163907+01:00" description: sops secrets operator digest: 89d9d41d70d4dafcfb957bd48776ad779d0cef7dbb1ab2daf0b745a53dd6e3c6 maintainers: @@ -338,7 +358,7 @@ entries: version: 0.6.7 - apiVersion: v2 appVersion: 0.1.11 - created: "2021-06-24T09:42:08.788387+01:00" + created: "2021-08-15T10:43:44.162728+01:00" description: sops secrets operator digest: 7b0a65fd6fa9bafa3fd11bfef1a5f91f1e17d8cb8ad65b6377ffdc4d12495d01 maintainers: @@ -353,7 +373,7 @@ entries: version: 0.6.6 - apiVersion: v2 appVersion: 0.1.10 - created: "2021-06-24T09:42:08.787231+01:00" + created: "2021-08-15T10:43:44.161365+01:00" description: sops secrets operator digest: fac31d6cc862cb7b9a81aee52ba1fc4183d70bdcb7424c3dbdd087fb53246b30 maintainers: @@ -368,7 +388,7 @@ entries: version: 0.6.5 - apiVersion: v2 appVersion: 0.1.9 - created: "2021-06-24T09:42:08.786302+01:00" + created: "2021-08-15T10:43:44.160355+01:00" description: sops secrets operator digest: 01347c27e37dfff999ebcee12aae6d0aafa092d7c3b221d566cdf0abe71f4d5a maintainers: @@ -383,7 +403,7 @@ entries: version: 0.6.4 - apiVersion: v2 appVersion: 0.1.8 - created: "2021-06-24T09:42:08.785153+01:00" + created: "2021-08-15T10:43:44.157507+01:00" description: sops secrets operator digest: 6348b1b1b0e8d3df3926e437b2c0f4ad63268d26e2cb54cbecbb564102e6b19c maintainers: @@ -398,7 +418,7 @@ entries: version: 0.6.3 - apiVersion: v2 appVersion: 0.1.7 - created: "2021-06-24T09:42:08.783003+01:00" + created: "2021-08-15T10:43:44.156666+01:00" description: sops secrets operator digest: 710c1c9fa73a2ebf791fda4a608b5e29072d42c0b68c803c7bbeed54a582fd7f maintainers: @@ -413,7 +433,7 @@ entries: version: 0.6.2 - apiVersion: v2 appVersion: 0.1.7 - created: "2021-06-24T09:42:08.781556+01:00" + created: "2021-08-15T10:43:44.1556+01:00" description: sops secrets operator digest: f2a606c3837843241bb9d59adc02c38e1cca98753c602b9f758cc61d735ca7cd maintainers: @@ -428,7 +448,7 @@ entries: version: 0.6.1 - apiVersion: v2 appVersion: 0.1.6 - created: "2021-06-24T09:42:08.780609+01:00" + created: "2021-08-15T10:43:44.154732+01:00" description: sops secrets operator digest: a2bbf9b39ec5f5b82965037f8f245fb3122adbe31b1c7d336fa1f4cddb228b88 maintainers: @@ -443,7 +463,7 @@ entries: version: 0.6.0 - apiVersion: v1 appVersion: 0.1.8 - created: "2021-06-24T09:42:08.779631+01:00" + created: "2021-08-15T10:43:44.153797+01:00" description: sops secrets operator digest: b89986787f33bb6ed9fb0c658431be8646302e9c1a24537c26269c62249fa071 maintainers: @@ -457,7 +477,7 @@ entries: version: 0.5.3 - apiVersion: v1 appVersion: 0.1.7 - created: "2021-06-24T09:42:08.778593+01:00" + created: "2021-08-15T10:43:44.153119+01:00" description: sops secrets operator digest: 9467709cf6fbe8d9d779cedf15fe388af172b609f3ca452ef3d8894f39d999df maintainers: @@ -471,7 +491,7 @@ entries: version: 0.5.2 - apiVersion: v1 appVersion: 0.1.7 - created: "2021-06-24T09:42:08.777614+01:00" + created: "2021-08-15T10:43:44.152465+01:00" description: sops secrets operator digest: b54b5d8497564ddc04bd6d8b105eb0a3559e82ae1f6aab2f59ed3e426f119287 maintainers: @@ -485,7 +505,7 @@ entries: version: 0.5.1 - apiVersion: v1 appVersion: 0.1.6 - created: "2021-06-24T09:42:08.776707+01:00" + created: "2021-08-15T10:43:44.15182+01:00" description: sops secrets operator digest: 177f1ed214d6e72eda589a6ab155a417c1a4229bfda11e87f24af125a3542ad1 maintainers: @@ -499,7 +519,7 @@ entries: version: 0.5.0 - apiVersion: v2 appVersion: 0.1.5 - created: "2021-06-24T09:42:08.775527+01:00" + created: "2021-08-15T10:43:44.151176+01:00" description: sops secrets operator digest: 1535e130357afa883db0b3d30735c817d3b7d412fe5bdfd71534d0c08defa7d1 maintainers: @@ -514,7 +534,7 @@ entries: version: 0.4.8 - apiVersion: v2 appVersion: 0.1.5 - created: "2021-06-24T09:42:08.774422+01:00" + created: "2021-08-15T10:43:44.150387+01:00" description: sops secrets operator digest: 19b11dc2d1945f3c436a7d03763b4391d4a382fc13ea515d25422827d859d6d0 maintainers: @@ -529,7 +549,7 @@ entries: version: 0.4.7 - apiVersion: v2 appVersion: 0.1.5 - created: "2021-06-24T09:42:08.77323+01:00" + created: "2021-08-15T10:43:44.149154+01:00" description: sops secrets operator digest: c839e5d3374b948d27ad49643411f4891fdec44d179dea06423bb0d6e29d5e32 maintainers: @@ -544,7 +564,7 @@ entries: version: 0.4.6 - apiVersion: v2 appVersion: 0.1.4 - created: "2021-06-24T09:42:08.772081+01:00" + created: "2021-08-15T10:43:44.148397+01:00" description: sops secrets operator digest: c71f9f66be32f8b9d3c8d780b09b2455a40fd9755314004efd2bb8d379dafe3c maintainers: @@ -559,7 +579,7 @@ entries: version: 0.4.5 - apiVersion: v2 appVersion: 0.1.3 - created: "2021-06-24T09:42:08.771244+01:00" + created: "2021-08-15T10:43:44.147659+01:00" description: sops secrets operator digest: f3f2f89d4ef6018776df0a12a63dd2f9c9519b9d1ac03a9a405e31d0fd902ba0 maintainers: @@ -574,7 +594,7 @@ entries: version: 0.4.4 - apiVersion: v2 appVersion: 0.1.2 - created: "2021-06-24T09:42:08.769776+01:00" + created: "2021-08-15T10:43:44.146969+01:00" description: sops secrets operator digest: 1fd5eed318627f5ed0656f4e8ce4a25729568a1626ae313bcbe21050f5f26240 maintainers: @@ -589,7 +609,7 @@ entries: version: 0.4.3 - apiVersion: v2 appVersion: 0.1.2 - created: "2021-06-24T09:42:08.768987+01:00" + created: "2021-08-15T10:43:44.146059+01:00" description: sops secrets operator digest: 1f4f9869c75f0922e83ba5d530e101bd4252d5c1c31365800cc9d1425680cf18 maintainers: @@ -604,7 +624,7 @@ entries: version: 0.4.2 - apiVersion: v2 appVersion: 0.1.1 - created: "2021-06-24T09:42:08.767768+01:00" + created: "2021-08-15T10:43:44.145362+01:00" description: sops secrets operator digest: 6b054a4e9f261eea3cb84ee2e70b87b24780f1703e2c218ea5f69b7f82d1876f maintainers: @@ -619,7 +639,7 @@ entries: version: 0.4.1 - apiVersion: v2 appVersion: 0.1.0 - created: "2021-06-24T09:42:08.766532+01:00" + created: "2021-08-15T10:43:44.144597+01:00" description: sops secrets operator digest: 78b62ab37eac1b45f0a68a9752a3615c5d3f1c960bb4057e665923ce104931cf maintainers: @@ -634,7 +654,7 @@ entries: version: 0.4.0 - apiVersion: v1 appVersion: 0.1.5 - created: "2021-06-24T09:42:08.765155+01:00" + created: "2021-08-15T10:43:44.142453+01:00" description: sops secrets operator digest: 41baa3c580cb9d8951c18513a4f04c4dbbfad99de9c62f53de2450c0c7b76725 maintainers: @@ -648,7 +668,7 @@ entries: version: 0.3.7 - apiVersion: v1 appVersion: 0.1.5 - created: "2021-06-24T09:42:08.763259+01:00" + created: "2021-08-15T10:43:44.141669+01:00" description: sops secrets operator digest: 1103b1f7bf7af3f400c172227cd5a3659f3a03e5e8158b19ba0b25f7ed45208b maintainers: @@ -662,7 +682,7 @@ entries: version: 0.3.6 - apiVersion: v1 appVersion: 0.1.5 - created: "2021-06-24T09:42:08.762198+01:00" + created: "2021-08-15T10:43:44.140956+01:00" description: sops secrets operator digest: 15c72ba7fb09d0e980ec32fd94f56893c439c05c435281a9ab9c8bc94bd20063 maintainers: @@ -676,7 +696,7 @@ entries: version: 0.3.5 - apiVersion: v1 appVersion: 0.1.4 - created: "2021-06-24T09:42:08.760537+01:00" + created: "2021-08-15T10:43:44.140277+01:00" description: sops secrets operator digest: 025a6a6381b75286756ef55105ace6e911e5a5818b495ede6356cc8ec572aeac maintainers: @@ -690,7 +710,7 @@ entries: version: 0.3.4 - apiVersion: v1 appVersion: 0.1.3 - created: "2021-06-24T09:42:08.759757+01:00" + created: "2021-08-15T10:43:44.139565+01:00" description: sops secrets operator digest: f61b070b640169439cf4ab500047c1e356748a85871f7aeefde46d63d87d453a maintainers: @@ -704,7 +724,7 @@ entries: version: 0.3.3 - apiVersion: v1 appVersion: 0.1.2 - created: "2021-06-24T09:42:08.758955+01:00" + created: "2021-08-15T10:43:44.138558+01:00" description: sops secrets operator digest: 2b37dc4e545e8a9540f6b7693079b98bf161ec5a68899defcfc9420bdcbb33e3 maintainers: @@ -718,7 +738,7 @@ entries: version: 0.3.2 - apiVersion: v1 appVersion: 0.1.1 - created: "2021-06-24T09:42:08.758152+01:00" + created: "2021-08-15T10:43:44.137821+01:00" description: sops secrets operator digest: 2e2762b8f9d66aab0caacde225955fec8bfd5a4cc10dc6943a1de3809dda4091 maintainers: @@ -732,7 +752,7 @@ entries: version: 0.3.1 - apiVersion: v1 appVersion: 0.1.0 - created: "2021-06-24T09:42:08.757382+01:00" + created: "2021-08-15T10:43:44.137087+01:00" description: sops secrets operator digest: ce84f5b64402a582c7689cb842ba03fb10f968c38b57dc9e05f588493128019a maintainers: @@ -746,7 +766,7 @@ entries: version: 0.3.0 - apiVersion: v2 appVersion: 0.0.10 - created: "2021-06-24T09:42:08.756494+01:00" + created: "2021-08-15T10:43:44.136276+01:00" description: sops secrets operator digest: 5e4c8bc37ea2c819c55b288c0a5e76ff8c9c02be591bd53776606666af45581c maintainers: @@ -761,7 +781,7 @@ entries: version: 0.2.1 - apiVersion: v1 appVersion: 0.0.10 - created: "2021-06-24T09:42:08.755556+01:00" + created: "2021-08-15T10:43:44.134667+01:00" description: sops secrets operator digest: 50b8ebab19008dfc43de1eaee8b0f6287f7a55134585dc6ae88df2520d779f8f maintainers: @@ -773,4 +793,4 @@ entries: urls: - https://isindir.github.io/sops-secrets-operator/sops-secrets-operator-0.1.10.tgz version: 0.1.10 -generated: "2021-06-24T09:42:08.754386+01:00" +generated: "2021-08-15T10:43:44.133256+01:00" diff --git a/docs/sops-secrets-operator-0.9.3.tgz b/docs/sops-secrets-operator-0.9.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d25e07e1afa81d6c71c12f0ca363a9fa979ab2e3 GIT binary patch literal 10868 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