mirror of
https://github.com/Infisical/infisical.git
synced 2025-07-20 01:48:03 +00:00
Compare commits
5 Commits
fix/postgr
...
daniel/ope
Author | SHA1 | Date | |
---|---|---|---|
408c9c18e5 | |||
8c8a729a07 | |||
bb34138834 | |||
f92d7fb826 | |||
87f6805dab |
@ -4,8 +4,8 @@ metadata:
|
||||
name: {{ include "secrets-operator.fullname" . }}-controller-manager
|
||||
labels:
|
||||
app.kubernetes.io/component: manager
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
control-plane: controller-manager
|
||||
{{- include "secrets-operator.labels" . | nindent 4 }}
|
||||
spec:
|
||||
|
@ -4,8 +4,8 @@ metadata:
|
||||
name: {{ include "secrets-operator.fullname" . }}-leader-election-role
|
||||
labels:
|
||||
app.kubernetes.io/component: rbac
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
{{- include "secrets-operator.labels" . | nindent 4 }}
|
||||
rules:
|
||||
- apiGroups:
|
||||
@ -46,8 +46,8 @@ metadata:
|
||||
name: {{ include "secrets-operator.fullname" . }}-leader-election-rolebinding
|
||||
labels:
|
||||
app.kubernetes.io/component: rbac
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
{{- include "secrets-operator.labels" . | nindent 4 }}
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
|
@ -185,8 +185,8 @@ metadata:
|
||||
{{- end }}
|
||||
labels:
|
||||
app.kubernetes.io/component: rbac
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
{{- include "secrets-operator.labels" . | nindent 4 }}
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
|
@ -5,8 +5,8 @@ metadata:
|
||||
name: {{ include "secrets-operator.fullname" . }}-metrics-reader
|
||||
labels:
|
||||
app.kubernetes.io/component: kube-rbac-proxy
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
{{- include "secrets-operator.labels" . | nindent 4 }}
|
||||
rules:
|
||||
- nonResourceURLs:
|
||||
|
@ -4,8 +4,8 @@ metadata:
|
||||
name: {{ include "secrets-operator.fullname" . }}-controller-manager-metrics-service
|
||||
labels:
|
||||
app.kubernetes.io/component: kube-rbac-proxy
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
control-plane: controller-manager
|
||||
{{- include "secrets-operator.labels" . | nindent 4 }}
|
||||
spec:
|
||||
|
@ -5,8 +5,8 @@ metadata:
|
||||
name: {{ include "secrets-operator.fullname" . }}-proxy-role
|
||||
labels:
|
||||
app.kubernetes.io/component: kube-rbac-proxy
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
{{- include "secrets-operator.labels" . | nindent 4 }}
|
||||
rules:
|
||||
- apiGroups:
|
||||
@ -28,8 +28,8 @@ metadata:
|
||||
name: {{ include "secrets-operator.fullname" . }}-proxy-rolebinding
|
||||
labels:
|
||||
app.kubernetes.io/component: kube-rbac-proxy
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
{{- include "secrets-operator.labels" . | nindent 4 }}
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
|
@ -4,8 +4,8 @@ metadata:
|
||||
name: {{ include "secrets-operator.fullname" . }}-controller-manager
|
||||
labels:
|
||||
app.kubernetes.io/component: rbac
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
{{- include "secrets-operator.labels" . | nindent 4 }}
|
||||
annotations:
|
||||
{{- toYaml .Values.controllerManager.serviceAccount.annotations | nindent 4 }}
|
||||
|
@ -4,6 +4,17 @@ IMG ?= infisical/kubernetes-operator:latest
|
||||
# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary.
|
||||
ENVTEST_K8S_VERSION = 1.25.0
|
||||
|
||||
VERSION ?= 1.0.0
|
||||
CHANNELS ?= stable
|
||||
DEFAULT_CHANNEL ?= stable
|
||||
BUNDLE_IMG ?= infisical/kubernetes-operator-bundle:v$(VERSION)
|
||||
|
||||
OPERATOR_SDK_VERSION ?= v1.34.1
|
||||
OPERATOR_SDK ?= $(LOCALBIN)/operator-sdk
|
||||
|
||||
|
||||
|
||||
|
||||
# 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
|
||||
@ -82,6 +93,55 @@ vet: ## Run go vet against code.
|
||||
test: manifests generate fmt vet envtest ## Run tests.
|
||||
KUBEBUILDER_ASSETS="$(shell $(ENVTEST) use $(ENVTEST_K8S_VERSION) --bin-dir $(LOCALBIN) -p path)" go test ./... -coverprofile cover.out
|
||||
|
||||
|
||||
|
||||
|
||||
# BUNDLER
|
||||
|
||||
##@ Bundle
|
||||
|
||||
.PHONY: bundle
|
||||
bundle: manifests kustomize operator-sdk ## Generate bundle manifests and metadata, then validate generated files.
|
||||
cd config/manager && $(KUSTOMIZE) edit set image controller=$(IMG)
|
||||
$(KUSTOMIZE) build config/default | $(OPERATOR_SDK) generate bundle -q --overwrite --version $(VERSION) $(BUNDLE_METADATA_OPTS)
|
||||
@echo "Applying customizations to CSV..."
|
||||
chmod +x ./scripts/fix-csv.sh && ./scripts/fix-csv.sh $(VERSION)
|
||||
|
||||
$(OPERATOR_SDK) bundle validate ./bundle
|
||||
|
||||
.PHONY: bundle-build
|
||||
bundle-build: ## Build the bundle image.
|
||||
docker build -f bundle/bundle.Dockerfile -t $(BUNDLE_IMG) .
|
||||
|
||||
.PHONY: bundle-push
|
||||
bundle-push: ## Push the bundle image.
|
||||
$(MAKE) docker-push IMG=$(BUNDLE_IMG)
|
||||
|
||||
# Set bundle metadata options
|
||||
ifneq ($(origin CHANNELS), undefined)
|
||||
BUNDLE_CHANNELS := --channels=$(CHANNELS)
|
||||
endif
|
||||
ifneq ($(origin DEFAULT_CHANNEL), undefined)
|
||||
BUNDLE_DEFAULT_CHANNEL := --default-channel=$(DEFAULT_CHANNEL)
|
||||
endif
|
||||
BUNDLE_METADATA_OPTS ?= $(BUNDLE_CHANNELS) $(BUNDLE_DEFAULT_CHANNEL)
|
||||
|
||||
.PHONY: operator-sdk
|
||||
operator-sdk: $(OPERATOR_SDK) ## Download operator-sdk locally if necessary.
|
||||
$(OPERATOR_SDK): $(LOCALBIN)
|
||||
@if test -x $(LOCALBIN)/operator-sdk && ! $(LOCALBIN)/operator-sdk version | grep -q $(OPERATOR_SDK_VERSION); then \
|
||||
echo "$(LOCALBIN)/operator-sdk version is not expected $(OPERATOR_SDK_VERSION). Removing it before installing."; \
|
||||
rm -rf $(LOCALBIN)/operator-sdk; \
|
||||
fi
|
||||
@{ \
|
||||
set -e ;\
|
||||
mkdir -p $(dir $(OPERATOR_SDK)) ;\
|
||||
OS=$(shell go env GOOS) && ARCH=$(shell go env GOARCH) && \
|
||||
curl -sSLo $(OPERATOR_SDK) https://github.com/operator-framework/operator-sdk/releases/download/$(OPERATOR_SDK_VERSION)/operator-sdk_$${OS}_$${ARCH} ;\
|
||||
chmod +x $(OPERATOR_SDK) ;\
|
||||
}
|
||||
|
||||
|
||||
##@ Build
|
||||
|
||||
.PHONY: build
|
||||
|
@ -5,8 +5,8 @@
|
||||
domain: infisical.com
|
||||
layout:
|
||||
- go.kubebuilder.io/v3
|
||||
projectName: k8-operator
|
||||
repo: github.com/Infisical/infisical/k8-operator
|
||||
projectName: infisical-operator
|
||||
repo: github.com/Infisical/infisical/infisical-operator
|
||||
resources:
|
||||
- api:
|
||||
crdVersion: v1
|
||||
@ -15,7 +15,7 @@ resources:
|
||||
domain: infisical.com
|
||||
group: secrets
|
||||
kind: InfisicalSecret
|
||||
path: github.com/Infisical/infisical/k8-operator/api/v1alpha1
|
||||
path: github.com/Infisical/infisical/infisical-operator/api/v1alpha1
|
||||
version: v1alpha1
|
||||
- api:
|
||||
crdVersion: v1
|
||||
@ -24,7 +24,7 @@ resources:
|
||||
domain: infisical.com
|
||||
group: secrets
|
||||
kind: InfisicalPushSecretSecret
|
||||
path: github.com/Infisical/infisical/k8-operator/api/v1alpha1
|
||||
path: github.com/Infisical/infisical/infisical-operator/api/v1alpha1
|
||||
version: v1alpha1
|
||||
- api:
|
||||
crdVersion: v1
|
||||
@ -33,6 +33,6 @@ resources:
|
||||
domain: infisical.com
|
||||
group: secrets
|
||||
kind: InfisicalDynamicSecret
|
||||
path: github.com/Infisical/infisical/k8-operator/api/v1alpha1
|
||||
path: github.com/Infisical/infisical/infisical-operator/api/v1alpha1
|
||||
version: v1alpha1
|
||||
version: "3"
|
||||
|
@ -6,8 +6,8 @@ metadata:
|
||||
app.kubernetes.io/name: namespace
|
||||
app.kubernetes.io/instance: system
|
||||
app.kubernetes.io/component: manager
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
name: system
|
||||
---
|
||||
@ -21,8 +21,8 @@ metadata:
|
||||
app.kubernetes.io/name: deployment
|
||||
app.kubernetes.io/instance: controller-manager
|
||||
app.kubernetes.io/component: manager
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
spec:
|
||||
selector:
|
||||
@ -99,4 +99,4 @@ spec:
|
||||
cpu: 10m
|
||||
memory: 64Mi
|
||||
serviceAccountName: controller-manager
|
||||
terminationGracePeriodSeconds: 10
|
||||
terminationGracePeriodSeconds: 10
|
@ -1,4 +1,3 @@
|
||||
|
||||
# Prometheus Monitor Service (Metrics)
|
||||
apiVersion: monitoring.coreos.com/v1
|
||||
kind: ServiceMonitor
|
||||
@ -8,8 +7,8 @@ metadata:
|
||||
app.kubernetes.io/name: servicemonitor
|
||||
app.kubernetes.io/instance: controller-manager-metrics-monitor
|
||||
app.kubernetes.io/component: metrics
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
name: controller-manager-metrics-monitor
|
||||
namespace: system
|
||||
|
@ -5,12 +5,12 @@ metadata:
|
||||
app.kubernetes.io/name: clusterrole
|
||||
app.kubernetes.io/instance: metrics-reader
|
||||
app.kubernetes.io/component: kube-rbac-proxy
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
name: metrics-reader
|
||||
rules:
|
||||
- nonResourceURLs:
|
||||
- "/metrics"
|
||||
verbs:
|
||||
- get
|
||||
- get
|
@ -5,8 +5,8 @@ metadata:
|
||||
app.kubernetes.io/name: clusterrole
|
||||
app.kubernetes.io/instance: proxy-role
|
||||
app.kubernetes.io/component: kube-rbac-proxy
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
name: proxy-role
|
||||
rules:
|
||||
@ -21,4 +21,4 @@ rules:
|
||||
resources:
|
||||
- subjectaccessreviews
|
||||
verbs:
|
||||
- create
|
||||
- create
|
@ -5,8 +5,8 @@ metadata:
|
||||
app.kubernetes.io/name: clusterrolebinding
|
||||
app.kubernetes.io/instance: proxy-rolebinding
|
||||
app.kubernetes.io/component: kube-rbac-proxy
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
name: proxy-rolebinding
|
||||
roleRef:
|
||||
@ -16,4 +16,4 @@ roleRef:
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: controller-manager
|
||||
namespace: system
|
||||
namespace: system
|
@ -6,8 +6,8 @@ metadata:
|
||||
app.kubernetes.io/name: service
|
||||
app.kubernetes.io/instance: controller-manager-metrics-service
|
||||
app.kubernetes.io/component: kube-rbac-proxy
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
name: controller-manager-metrics-service
|
||||
namespace: system
|
||||
@ -18,4 +18,4 @@ spec:
|
||||
protocol: TCP
|
||||
targetPort: https
|
||||
selector:
|
||||
control-plane: controller-manager
|
||||
control-plane: controller-manager
|
@ -3,7 +3,7 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: k8-operator
|
||||
app.kubernetes.io/name: infisical-operator
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
name: infisicaldynamicsecret-editor-role
|
||||
rules:
|
||||
@ -24,4 +24,4 @@ rules:
|
||||
resources:
|
||||
- infisicaldynamicsecrets/status
|
||||
verbs:
|
||||
- get
|
||||
- get
|
@ -3,7 +3,7 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: k8-operator
|
||||
app.kubernetes.io/name: infisical-operator
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
name: infisicaldynamicsecret-viewer-role
|
||||
rules:
|
||||
|
@ -3,7 +3,7 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: k8-operator
|
||||
app.kubernetes.io/name: infisical-operator
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
name: infisicalpushsecret-editor-role
|
||||
rules:
|
||||
|
@ -3,7 +3,7 @@ apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: k8-operator
|
||||
app.kubernetes.io/name: infisical-operator
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
name: infisicalpushsecret-viewer-role
|
||||
rules:
|
||||
|
@ -6,8 +6,8 @@ metadata:
|
||||
app.kubernetes.io/name: clusterrole
|
||||
app.kubernetes.io/instance: infisicalsecret-editor-role
|
||||
app.kubernetes.io/component: rbac
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
name: infisicalsecret-editor-role
|
||||
rules:
|
||||
|
@ -6,8 +6,8 @@ metadata:
|
||||
app.kubernetes.io/name: clusterrole
|
||||
app.kubernetes.io/instance: infisicalsecret-viewer-role
|
||||
app.kubernetes.io/component: rbac
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
name: infisicalsecret-viewer-role
|
||||
rules:
|
||||
|
@ -6,8 +6,8 @@ metadata:
|
||||
app.kubernetes.io/name: role
|
||||
app.kubernetes.io/instance: leader-election-role
|
||||
app.kubernetes.io/component: rbac
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
name: leader-election-role
|
||||
rules:
|
||||
|
@ -5,8 +5,8 @@ metadata:
|
||||
app.kubernetes.io/name: rolebinding
|
||||
app.kubernetes.io/instance: leader-election-rolebinding
|
||||
app.kubernetes.io/component: rbac
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
name: leader-election-rolebinding
|
||||
roleRef:
|
||||
|
@ -5,8 +5,8 @@ metadata:
|
||||
app.kubernetes.io/name: clusterrolebinding
|
||||
app.kubernetes.io/instance: manager-rolebinding
|
||||
app.kubernetes.io/component: rbac
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
name: manager-rolebinding
|
||||
roleRef:
|
||||
|
@ -5,8 +5,8 @@ metadata:
|
||||
app.kubernetes.io/name: serviceaccount
|
||||
app.kubernetes.io/instance: controller-manager
|
||||
app.kubernetes.io/component: rbac
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
name: controller-manager
|
||||
namespace: system
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"github.com/Infisical/infisical/k8-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/infisical-operator/api/v1alpha1"
|
||||
"github.com/go-logr/logr"
|
||||
"k8s.io/apimachinery/pkg/api/meta"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
|
@ -15,11 +15,11 @@ import (
|
||||
"sigs.k8s.io/controller-runtime/pkg/event"
|
||||
"sigs.k8s.io/controller-runtime/pkg/predicate"
|
||||
|
||||
secretsv1alpha1 "github.com/Infisical/infisical/k8-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/api"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/constants"
|
||||
controllerhelpers "github.com/Infisical/infisical/k8-operator/packages/controllerhelpers"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/util"
|
||||
secretsv1alpha1 "github.com/Infisical/infisical/infisical-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/api"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/constants"
|
||||
controllerhelpers "github.com/Infisical/infisical/infisical-operator/packages/controllerhelpers"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/util"
|
||||
"github.com/go-logr/logr"
|
||||
)
|
||||
|
||||
|
@ -7,10 +7,10 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/Infisical/infisical/k8-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/api"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/constants"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/util"
|
||||
"github.com/Infisical/infisical/infisical-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/api"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/constants"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/util"
|
||||
"github.com/go-logr/logr"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
"sigs.k8s.io/controller-runtime/pkg/client"
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"github.com/Infisical/infisical/k8-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/infisical-operator/api/v1alpha1"
|
||||
"k8s.io/apimachinery/pkg/api/meta"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
)
|
||||
|
@ -19,11 +19,11 @@ import (
|
||||
"sigs.k8s.io/controller-runtime/pkg/reconcile"
|
||||
"sigs.k8s.io/controller-runtime/pkg/source"
|
||||
|
||||
secretsv1alpha1 "github.com/Infisical/infisical/k8-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/api"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/constants"
|
||||
controllerhelpers "github.com/Infisical/infisical/k8-operator/packages/controllerhelpers"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/util"
|
||||
secretsv1alpha1 "github.com/Infisical/infisical/infisical-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/api"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/constants"
|
||||
controllerhelpers "github.com/Infisical/infisical/infisical-operator/packages/controllerhelpers"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/util"
|
||||
"github.com/go-logr/logr"
|
||||
)
|
||||
|
||||
|
@ -8,18 +8,18 @@ import (
|
||||
"strings"
|
||||
tpl "text/template"
|
||||
|
||||
"github.com/Infisical/infisical/k8-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/api"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/constants"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/model"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/template"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/util"
|
||||
"github.com/Infisical/infisical/infisical-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/api"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/constants"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/model"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/template"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/util"
|
||||
"github.com/go-logr/logr"
|
||||
corev1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
"sigs.k8s.io/controller-runtime/pkg/client"
|
||||
|
||||
generatorUtil "github.com/Infisical/infisical/k8-operator/packages/generator"
|
||||
generatorUtil "github.com/Infisical/infisical/infisical-operator/packages/generator"
|
||||
infisicalSdk "github.com/infisical/go-sdk"
|
||||
k8Errors "k8s.io/apimachinery/pkg/api/errors"
|
||||
)
|
||||
|
@ -4,8 +4,8 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"github.com/Infisical/infisical/k8-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/util"
|
||||
"github.com/Infisical/infisical/infisical-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/util"
|
||||
"github.com/go-logr/logr"
|
||||
"k8s.io/apimachinery/pkg/api/meta"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
|
@ -15,10 +15,10 @@ import (
|
||||
|
||||
defaultErrors "errors"
|
||||
|
||||
secretsv1alpha1 "github.com/Infisical/infisical/k8-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/api"
|
||||
controllerhelpers "github.com/Infisical/infisical/k8-operator/packages/controllerhelpers"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/util"
|
||||
secretsv1alpha1 "github.com/Infisical/infisical/infisical-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/api"
|
||||
controllerhelpers "github.com/Infisical/infisical/infisical-operator/packages/controllerhelpers"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/util"
|
||||
"github.com/go-logr/logr"
|
||||
)
|
||||
|
||||
|
@ -8,13 +8,13 @@ import (
|
||||
"strings"
|
||||
tpl "text/template"
|
||||
|
||||
"github.com/Infisical/infisical/k8-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/api"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/constants"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/crypto"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/model"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/template"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/util"
|
||||
"github.com/Infisical/infisical/infisical-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/api"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/constants"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/crypto"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/model"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/template"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/util"
|
||||
"github.com/go-logr/logr"
|
||||
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
|
@ -14,7 +14,7 @@ import (
|
||||
logf "sigs.k8s.io/controller-runtime/pkg/log"
|
||||
"sigs.k8s.io/controller-runtime/pkg/log/zap"
|
||||
|
||||
secretsv1alpha1 "github.com/Infisical/infisical/k8-operator/api/v1alpha1"
|
||||
secretsv1alpha1 "github.com/Infisical/infisical/infisical-operator/api/v1alpha1"
|
||||
//+kubebuilder:scaffold:imports
|
||||
)
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
module github.com/Infisical/infisical/k8-operator
|
||||
module github.com/Infisical/infisical/infisical-operator
|
||||
|
||||
go 1.21
|
||||
|
||||
|
@ -24,7 +24,7 @@ import (
|
||||
"sigs.k8s.io/controller-runtime/pkg/client"
|
||||
"sigs.k8s.io/controller-runtime/pkg/log"
|
||||
|
||||
secretsv1alpha1 "github.com/Infisical/infisical/k8-operator/api/v1alpha1"
|
||||
secretsv1alpha1 "github.com/Infisical/infisical/infisical-operator/api/v1alpha1"
|
||||
)
|
||||
|
||||
// InfisicalDynamicSecretReconciler reconciles a InfisicalDynamicSecret object
|
||||
|
@ -3,11 +3,11 @@ kind: Namespace
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: manager
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/instance: system
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
app.kubernetes.io/name: namespace
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
control-plane: controller-manager
|
||||
name: infisical-operator-system
|
||||
---
|
||||
@ -921,11 +921,11 @@ kind: ServiceAccount
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: rbac
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/instance: controller-manager
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
app.kubernetes.io/name: serviceaccount
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
name: infisical-operator-controller-manager
|
||||
namespace: infisical-operator-system
|
||||
---
|
||||
@ -934,11 +934,11 @@ kind: Role
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: rbac
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/instance: leader-election-role
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
app.kubernetes.io/name: role
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
name: infisical-operator-leader-election-role
|
||||
namespace: infisical-operator-system
|
||||
rules:
|
||||
@ -1114,11 +1114,11 @@ kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: kube-rbac-proxy
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/instance: metrics-reader
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
app.kubernetes.io/name: clusterrole
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
name: infisical-operator-metrics-reader
|
||||
rules:
|
||||
- nonResourceURLs:
|
||||
@ -1131,11 +1131,11 @@ kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: kube-rbac-proxy
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/instance: proxy-role
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
app.kubernetes.io/name: clusterrole
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
name: infisical-operator-proxy-role
|
||||
rules:
|
||||
- apiGroups:
|
||||
@ -1156,11 +1156,11 @@ kind: RoleBinding
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: rbac
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/instance: leader-election-rolebinding
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
app.kubernetes.io/name: rolebinding
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
name: infisical-operator-leader-election-rolebinding
|
||||
namespace: infisical-operator-system
|
||||
roleRef:
|
||||
@ -1177,11 +1177,11 @@ kind: ClusterRoleBinding
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: rbac
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/instance: manager-rolebinding
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
app.kubernetes.io/name: clusterrolebinding
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
name: infisical-operator-manager-rolebinding
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
@ -1197,11 +1197,11 @@ kind: ClusterRoleBinding
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: kube-rbac-proxy
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/instance: proxy-rolebinding
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
app.kubernetes.io/name: clusterrolebinding
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
name: infisical-operator-proxy-rolebinding
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
@ -1217,11 +1217,11 @@ kind: Service
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: kube-rbac-proxy
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/instance: controller-manager-metrics-service
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
app.kubernetes.io/name: service
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
control-plane: controller-manager
|
||||
name: infisical-operator-controller-manager-metrics-service
|
||||
namespace: infisical-operator-system
|
||||
@ -1239,11 +1239,11 @@ kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: manager
|
||||
app.kubernetes.io/created-by: k8-operator
|
||||
app.kubernetes.io/created-by: infisical-operator
|
||||
app.kubernetes.io/instance: controller-manager
|
||||
app.kubernetes.io/managed-by: kustomize
|
||||
app.kubernetes.io/name: deployment
|
||||
app.kubernetes.io/part-of: k8-operator
|
||||
app.kubernetes.io/part-of: infisical-operator
|
||||
control-plane: controller-manager
|
||||
name: infisical-operator-controller-manager
|
||||
namespace: infisical-operator-system
|
||||
|
@ -18,11 +18,11 @@ import (
|
||||
"sigs.k8s.io/controller-runtime/pkg/healthz"
|
||||
"sigs.k8s.io/controller-runtime/pkg/log/zap"
|
||||
|
||||
secretsv1alpha1 "github.com/Infisical/infisical/k8-operator/api/v1alpha1"
|
||||
infisicalDynamicSecretController "github.com/Infisical/infisical/k8-operator/controllers/infisicaldynamicsecret"
|
||||
infisicalPushSecretController "github.com/Infisical/infisical/k8-operator/controllers/infisicalpushsecret"
|
||||
infisicalSecretController "github.com/Infisical/infisical/k8-operator/controllers/infisicalsecret"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/template"
|
||||
secretsv1alpha1 "github.com/Infisical/infisical/infisical-operator/api/v1alpha1"
|
||||
infisicalDynamicSecretController "github.com/Infisical/infisical/infisical-operator/controllers/infisicaldynamicsecret"
|
||||
infisicalPushSecretController "github.com/Infisical/infisical/infisical-operator/controllers/infisicalpushsecret"
|
||||
infisicalSecretController "github.com/Infisical/infisical/infisical-operator/controllers/infisicalsecret"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/template"
|
||||
//+kubebuilder:scaffold:imports
|
||||
)
|
||||
|
||||
|
@ -3,7 +3,7 @@ package api
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/Infisical/infisical/k8-operator/packages/model"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/model"
|
||||
)
|
||||
|
||||
type GetEncryptedWorkspaceKeyRequest struct {
|
||||
|
@ -5,8 +5,8 @@ import (
|
||||
"fmt"
|
||||
"sync"
|
||||
|
||||
"github.com/Infisical/infisical/k8-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/constants"
|
||||
"github.com/Infisical/infisical/infisical-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/constants"
|
||||
"github.com/go-logr/logr"
|
||||
v1 "k8s.io/api/apps/v1"
|
||||
corev1 "k8s.io/api/core/v1"
|
||||
|
@ -4,7 +4,7 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"github.com/Infisical/infisical/k8-operator/packages/constants"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/constants"
|
||||
corev1 "k8s.io/api/core/v1"
|
||||
k8Errors "k8s.io/apimachinery/pkg/api/errors"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
|
@ -1,7 +1,7 @@
|
||||
package generator
|
||||
|
||||
import (
|
||||
"github.com/Infisical/infisical/k8-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/infisical-operator/api/v1alpha1"
|
||||
"github.com/sethvargo/go-password/password"
|
||||
)
|
||||
|
||||
|
@ -10,7 +10,7 @@ import (
|
||||
|
||||
authenticationv1 "k8s.io/api/authentication/v1"
|
||||
|
||||
"github.com/Infisical/infisical/k8-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/infisical-operator/api/v1alpha1"
|
||||
"github.com/aws/smithy-go/ptr"
|
||||
infisicalSdk "github.com/infisical/go-sdk"
|
||||
"sigs.k8s.io/controller-runtime/pkg/client"
|
||||
|
@ -4,8 +4,8 @@ import (
|
||||
"context"
|
||||
"fmt"
|
||||
|
||||
"github.com/Infisical/infisical/k8-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/model"
|
||||
"github.com/Infisical/infisical/infisical-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/model"
|
||||
corev1 "k8s.io/api/core/v1"
|
||||
k8Errors "k8s.io/apimachinery/pkg/api/errors"
|
||||
"k8s.io/apimachinery/pkg/types"
|
||||
|
@ -4,9 +4,9 @@ import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
"github.com/Infisical/infisical/k8-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/api"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/model"
|
||||
"github.com/Infisical/infisical/infisical-operator/api/v1alpha1"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/api"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/model"
|
||||
"github.com/go-resty/resty/v2"
|
||||
infisical "github.com/infisical/go-sdk"
|
||||
)
|
||||
|
@ -3,8 +3,8 @@ package util
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/Infisical/infisical/k8-operator/packages/api"
|
||||
"github.com/Infisical/infisical/k8-operator/packages/model"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/api"
|
||||
"github.com/Infisical/infisical/infisical-operator/packages/model"
|
||||
"github.com/go-resty/resty/v2"
|
||||
)
|
||||
|
||||
|
94
k8-operator/scripts/fix-csv.sh
Executable file
94
k8-operator/scripts/fix-csv.sh
Executable file
@ -0,0 +1,94 @@
|
||||
#!/bin/bash
|
||||
|
||||
CSV_FILE="bundle/manifests/infisical-operator.clusterserviceversion.yaml"
|
||||
VERSION=$1
|
||||
|
||||
if [ ! -f "$CSV_FILE" ]; then
|
||||
echo "CSV file not found: $CSV_FILE"
|
||||
echo "Run 'make bundle VERSION=1.0.0' first"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$VERSION" ]; then
|
||||
echo "VERSION is not set"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Get base64 logo without newlines
|
||||
if [ -f "./scripts/logo.png" ]; then
|
||||
ICON_BASE64=$(base64 -i ./scripts/logo.png | tr -d '\n')
|
||||
elif [ -f "./logo.png" ]; then
|
||||
ICON_BASE64=$(base64 -i ./logo.png | tr -d '\n')
|
||||
else
|
||||
echo "No logo.png found - exiting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Customizing CSV: $CSV_FILE"
|
||||
|
||||
# Basic metadata replacements (required for OperatorHub)
|
||||
sed -i.bak 's/maturity: alpha/maturity: stable/' "$CSV_FILE"
|
||||
sed -i.bak 's/description: K8 Operator description. TODO./description: The Infisical Operator enables you to fetch secrets from Infisical and inject them into your Kubernetes cluster./' "$CSV_FILE"
|
||||
sed -i.bak 's/displayName: K8 Operator/displayName: Infisical Kubernetes Operator/' "$CSV_FILE"
|
||||
sed -i.bak 's/email: your@email.com/email: daniel@infisical.com/' "$CSV_FILE"
|
||||
sed -i.bak 's/name: Maintainer Name/name: Daniel H./' "$CSV_FILE"
|
||||
sed -i.bak 's/name: Provider Name/name: Infisical/' "$CSV_FILE"
|
||||
sed -i.bak 's|url: https://your.domain|url: https://infisical.com|' "$CSV_FILE"
|
||||
sed -i.bak 's/name: K8 Operator/name: Infisical Kubernetes Operator/' "$CSV_FILE"
|
||||
sed -i.bak 's|url: https://k8-operator.domain|url: https://infisical.com|' "$CSV_FILE"
|
||||
|
||||
# Add categories annotation (required for OperatorHub)
|
||||
sed -i.bak 's/capabilities: Basic Install/capabilities: Basic Install\
|
||||
categories: Security/' "$CSV_FILE"
|
||||
|
||||
# Add containerImage annotation (required for OperatorHub)
|
||||
sed -i.bak '/categories: Security/a\
|
||||
containerImage: docker.io/infisical/kubernetes-operator:v'"$VERSION"'\
|
||||
' "$CSV_FILE"
|
||||
|
||||
# Add icon (using temp file to avoid sed issues with special chars)
|
||||
echo "$ICON_BASE64" > /tmp/icon_b64.txt
|
||||
printf '%s\n' "s|base64data: \"\"|base64data: \"$ICON_BASE64\"|" | sed -i.bak -f - "$CSV_FILE"
|
||||
sed -i.bak 's/mediatype: ""/mediatype: "image\/png"/' "$CSV_FILE"
|
||||
rm -f /tmp/icon_b64.txt
|
||||
|
||||
# Fix keywords section (remove old keywords, add new ones)
|
||||
# First remove any existing keyword lines after "keywords:"
|
||||
sed -i.bak '/^ keywords:/,/^ [a-zA-Z]/{
|
||||
/^ keywords:/!{
|
||||
/^ [a-zA-Z]/!d
|
||||
}
|
||||
}' "$CSV_FILE"
|
||||
|
||||
sed -i.bak '/^ keywords:/a\
|
||||
- secrets\
|
||||
- security\
|
||||
- infisical\
|
||||
- secret-management\
|
||||
' "$CSV_FILE"
|
||||
|
||||
sed -i.bak '/^ - k8-operator$/d' "$CSV_FILE"
|
||||
|
||||
# Update docker image tag to match new version
|
||||
sed -i.bak "s|image: infisical/kubernetes-operator:[^[:space:]]*|image: docker.io/infisical/kubernetes-operator:v$VERSION|g" "$CSV_FILE"
|
||||
|
||||
rm -f "$CSV_FILE.bak"
|
||||
|
||||
echo "CSV customized successfully!"
|
||||
|
||||
# Validate the result
|
||||
echo "Validating CSV syntax..."
|
||||
if command -v yq >/dev/null 2>&1; then
|
||||
if yq eval '.' "$CSV_FILE" > /dev/null 2>&1; then
|
||||
echo "YAML syntax is valid"
|
||||
else
|
||||
echo "YAML syntax error"
|
||||
echo "Checking with yq:"
|
||||
yq eval '.' "$CSV_FILE"
|
||||
fi
|
||||
else
|
||||
echo "yq not found - exiting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "CSV customized successfully."
|
BIN
k8-operator/scripts/logo.png
Normal file
BIN
k8-operator/scripts/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 148 KiB |
Reference in New Issue
Block a user