1
0
Fork 0
mirror of https://github.com/arangodb/kube-arangodb.git synced 2024-12-14 11:57:37 +00:00

[Documentation] [1.3.0] EE & CE Definitions (#1142)

This commit is contained in:
Adam Janikowski 2022-10-26 17:44:21 -04:00 committed by GitHub
parent fb504ec4a5
commit 5f1efa2ffa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
46 changed files with 7659 additions and 378 deletions

View file

@ -2,6 +2,7 @@
## [master](https://github.com/arangodb/kube-arangodb/tree/master) (N/A)
- (Improvement) Bump dependencies
- (Documentation) (1.3.0) EE & CE Definitions
## [1.2.20](https://github.com/arangodb/kube-arangodb/tree/1.2.20) (2022-10-25)
- (Feature) Add action progress

View file

@ -61,7 +61,7 @@ HELM_OPTIONS = --set "operator.image=$(OPERATORIMAGE)" \
--set "operator.resources=null" \
--set "operator.debug=$(DEBUG)"
ifeq ($(shell $(HELM) version --client --template '{{.Version}}' | cut -f 1 -d '.'),v3)
ifeq ($(shell $(HELM) version --client --template '{{.Version}}' 2> /dev/null | cut -f 1 -d '.'),v3)
# Using helm v3
HELM_PACKAGE_CMD = $(HELM) package "$(ROOTDIR)/chart/$(CHART_NAME)" -d "$(ROOTDIR)/bin/charts" \
--version "$(VERSION_MAJOR_MINOR_PATCH)"
@ -113,6 +113,8 @@ ifndef MANIFESTSUFFIX
MANIFESTSUFFIX := -dev
endif
endif
ifeq ($(RELEASE_MODE),community)
MANIFESTPATHCRD := manifests/arango-crd$(MANIFESTSUFFIX).yaml
MANIFESTPATHDEPLOYMENT := manifests/arango-deployment$(MANIFESTSUFFIX).yaml
MANIFESTPATHDEPLOYMENTREPLICATION := manifests/arango-deployment-replication$(MANIFESTSUFFIX).yaml
@ -121,16 +123,33 @@ MANIFESTPATHAPPS := manifests/arango-apps$(MANIFESTSUFFIX).yaml
MANIFESTPATHK2KCLUSTERSYNC := manifests/arango-k2kclustersync$(MANIFESTSUFFIX).yaml
MANIFESTPATHSTORAGE := manifests/arango-storage$(MANIFESTSUFFIX).yaml
MANIFESTPATHALL := manifests/arango-all$(MANIFESTSUFFIX).yaml
MANIFESTPATHTEST := manifests/arango-test$(MANIFESTSUFFIX).yaml
KUSTOMIZEPATHCRD := manifests/kustomize/crd/arango-crd$(MANIFESTSUFFIX).yaml
KUSTOMIZEPATHDEPLOYMENT := manifests/kustomize/deployment/arango-deployment$(MANIFESTSUFFIX).yaml
KUSTOMIZEPATHDEPLOYMENTREPLICATION := manifests/kustomize/deployment-replication/arango-deployment-replication$(MANIFESTSUFFIX).yaml
KUSTOMIZEPATHBACKUP := manifests/kustomize/backup/arango-backup$(MANIFESTSUFFIX).yaml
KUSTOMIZEPATHAPPS := manifests/kustomize/apps/arango-apps$(MANIFESTSUFFIX).yaml
KUSTOMIZEPATHK2KCLUSTERSYNC := manifests/kustomize/apps/arango-k2kclustersync$(MANIFESTSUFFIX).yaml
KUSTOMIZEPATHK2KCLUSTERSYNC := manifests/kustomize/k2kclustersync/arango-k2kclustersync$(MANIFESTSUFFIX).yaml
KUSTOMIZEPATHSTORAGE := manifests/kustomize/storage/arango-storage$(MANIFESTSUFFIX).yaml
KUSTOMIZEPATHALL := manifests/kustomize/all/arango-all$(MANIFESTSUFFIX).yaml
KUSTOMIZEPATHTEST := manifests/kustomize/test/arango-test$(MANIFESTSUFFIX).yaml
else
MANIFESTPATHCRD := manifests/enterprise-crd$(MANIFESTSUFFIX).yaml
MANIFESTPATHDEPLOYMENT := manifests/enterprise-deployment$(MANIFESTSUFFIX).yaml
MANIFESTPATHDEPLOYMENTREPLICATION := manifests/enterprise-deployment-replication$(MANIFESTSUFFIX).yaml
MANIFESTPATHBACKUP := manifests/enterprise-backup$(MANIFESTSUFFIX).yaml
MANIFESTPATHAPPS := manifests/enterprise-apps$(MANIFESTSUFFIX).yaml
MANIFESTPATHK2KCLUSTERSYNC := manifests/enterprise-k2kclustersync$(MANIFESTSUFFIX).yaml
MANIFESTPATHSTORAGE := manifests/enterprise-storage$(MANIFESTSUFFIX).yaml
MANIFESTPATHALL := manifests/enterprise-all$(MANIFESTSUFFIX).yaml
KUSTOMIZEPATHCRD := manifests/kustomize-enterprise/crd/enterprise-crd$(MANIFESTSUFFIX).yaml
KUSTOMIZEPATHDEPLOYMENT := manifests/kustomize-enterprise/deployment/enterprise-deployment$(MANIFESTSUFFIX).yaml
KUSTOMIZEPATHDEPLOYMENTREPLICATION := manifests/kustomize-enterprise/deployment-replication/enterprise-deployment-replication$(MANIFESTSUFFIX).yaml
KUSTOMIZEPATHBACKUP := manifests/kustomize-enterprise/backup/enterprise-backup$(MANIFESTSUFFIX).yaml
KUSTOMIZEPATHAPPS := manifests/kustomize-enterprise/apps/enterprise-apps$(MANIFESTSUFFIX).yaml
KUSTOMIZEPATHK2KCLUSTERSYNC := manifests/kustomize-enterprise/k2kclustersync/enterprise-k2kclustersync$(MANIFESTSUFFIX).yaml
KUSTOMIZEPATHSTORAGE := manifests/kustomize-enterprise/storage/enterprise-storage$(MANIFESTSUFFIX).yaml
KUSTOMIZEPATHALL := manifests/kustomize-enterprise/all/enterprise-all$(MANIFESTSUFFIX).yaml
endif
ifndef DEPLOYMENTNAMESPACE
DEPLOYMENTNAMESPACE := default
endif
@ -356,8 +375,6 @@ manifests:
$(eval $(call manifest-generator, crd, kube-arangodb-crd))
$(eval $(call manifest-generator, test, kube-arangodb-test))
$(eval $(call manifest-generator, deployment, kube-arangodb, \
--set "operator.features.deployment=true" \
--set "operator.features.deploymentReplications=false" \
@ -454,7 +471,7 @@ patch-examples:
$(ROOTDIR)/scripts/patch_examples.sh $(VERSION_MAJOR_MINOR_PATCH)
.PHONY: patch-release
patch-release: patch-readme patch-examples
patch-release: patch-readme patch-examples patch-chart
.PHONY: patch-chart
patch-chart:

118
README.md
View file

@ -85,20 +85,11 @@ Feature-wise production readiness table:
| Operator Internal Metrics Exporter | 1.2.0 | >= 3.6.0 | Community, Enterprise | 1.2.0 | Production | True | --deployment.feature.metrics-exporter | N/A |
| Operator Ephemeral Volumes | 1.2.2 | >= 3.7.0 | Community, Enterprise | 1.2.2 | Alpha | False | --deployment.feature.ephemeral-volumes | N/A |
## Release notes for 0.3.16
## Operator Community Edition (CE)
In this release we have reworked the Helm charts. One notable change is
that we now create a new service account specifically for the operator.
The actual deployment still runs by default under the `default` service
account unless one changes that. Note that the service account under
which the ArangoDB runs needs a small set of extra permissions. For
the `default` service account we grant them when the operator is
deployed. If you use another service account you have to grant these
permissions yourself. See
[here](docs/Manual/Deployment/Kubernetes/DeploymentResource.md#specgroupserviceaccountname-string)
for details.
Image: `arangodb/kube-arangodb:1.2.20`
## Installation of latest release using Kubectl
### Installation of latest CE release using Kubectl
```bash
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/1.2.20/manifests/arango-crd.yaml
@ -112,7 +103,7 @@ kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/1.2.20
This procedure can also be used for upgrades and will not harm any
running ArangoDB deployments.
## Installation of latest release using kustomize
### Installation of latest CE release using kustomize
Installation using [kustomize](https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/) looks like installation from yaml files,
but user is allowed to modify namespace or resource names without yaml modifications.
@ -131,7 +122,7 @@ bases:
- https://github.com/arangodb/kube-arangodb/manifests/kustomize/deployment/?ref=1.0.3
```
## Installation of latest release using Helm
### Installation of latest CE release using Helm
Only use this procedure for a new install of the operator. See below for
upgrades.
@ -146,7 +137,7 @@ helm install https://github.com/arangodb/kube-arangodb/releases/download/1.2.20/
helm install https://github.com/arangodb/kube-arangodb/releases/download/1.2.20/kube-arangodb-1.2.20.tgz --set "operator.features.storage=true"
```
## Upgrading the operator using Helm
### Upgrading the operator using Helm
To upgrade the operator to the latest version with Helm, you have to
delete the previous deployment and then install the latest. **HOWEVER**:
@ -183,6 +174,95 @@ helm install https://github.com/arangodb/kube-arangodb/releases/download/1.2.20/
helm install https://github.com/arangodb/kube-arangodb/releases/download/1.2.20/kube-arangodb-1.2.20.tgz --set "operator.features.storage=true"
```
## Operator Enterprise Edition (EE)
Image: `arangodb/kube-arangodb-enterprise:1.2.20`
### Installation of latest EE release using Kubectl
```bash
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/1.2.20/manifests/enterprise-crd.yaml
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/1.2.20/manifests/enterprise-deployment.yaml
# To use `ArangoLocalStorage`, also run
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/1.2.20/manifests/enterprise-storage.yaml
# To use `ArangoDeploymentReplication`, also run
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/1.2.20/manifests/enterprise-deployment-replication.yaml
```
This procedure can also be used for upgrades and will not harm any
running ArangoDB deployments.
### Installation of latest EE release using kustomize
Installation using [kustomize](https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/) looks like installation from yaml files,
but user is allowed to modify namespace or resource names without yaml modifications.
IT is recommended to use kustomization instead of handcrafting namespace in yaml files - kustomization will replace not only resource namespaces,
but also namespace references in resources like ClusterRoleBinding.
Example kustomization file:
```
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namespace: my-custom-namespace
bases:
- https://github.com/arangodb/kube-arangodb/manifests/kustomize-enterprise/deployment/?ref=1.0.3
```
### Installation of latest EE release using Helm
Only use this procedure for a new install of the operator. See below for
upgrades.
```bash
# The following will install the custom resources required by the operators.
helm install https://github.com/arangodb/kube-arangodb/releases/download/1.2.20/kube-arangodb-crd-1.2.20.tgz --set "operator.image=arangodb/kube-arangodb-enterprise:1.2.20"
# The following will install the operator for `ArangoDeployment` &
# `ArangoDeploymentReplication` resources.
helm install https://github.com/arangodb/kube-arangodb/releases/download/1.2.20/kube-arangodb-1.2.20.tgz --set "operator.image=arangodb/kube-arangodb-enterprise:1.2.20"
# To use `ArangoLocalStorage`, set field `operator.features.storage` to true
helm install https://github.com/arangodb/kube-arangodb/releases/download/1.2.20/kube-arangodb-1.2.20.tgz --set "operator.image=arangodb/kube-arangodb-enterprise:1.2.20" --set "operator.features.storage=true"
```
### Upgrading the operator using Helm
To upgrade the operator to the latest version with Helm, you have to
delete the previous deployment and then install the latest. **HOWEVER**:
You *must not delete* the deployment of the custom resource definitions
(CRDs), or your ArangoDB deployments will be deleted!
Therefore, you have to use `helm list` to find the deployments for the
operator (`kube-arangodb`) and of the storage operator
(`kube-arangodb-storage`) and use `helm delete` to delete them using the
automatically generated deployment names. Here is an example of a `helm
list` output:
```
% helm list
NAME REVISION UPDATED STATUS CHART APP VERSION NAMESPACE
steely-mule 1 Sun Mar 31 21:11:07 2019 DEPLOYED kube-arangodb-crd-0.3.9 default
vetoed-ladybird 1 Mon Apr 8 11:36:58 2019 DEPLOYED kube-arangodb-0.3.10-preview default
```
So here, you would have to do
```bash
helm delete vetoed-ladybird
```
but **not delete `steely-mule`**. Then you could install the new version
with `helm install` as normal:
```bash
# The following will install the operator for `ArangoDeployment` &
# `ArangoDeploymentReplication` resources.
helm install https://github.com/arangodb/kube-arangodb/releases/download/1.2.20/kube-arangodb-1.2.20.tgz --set "operator.image=arangodb/kube-arangodb-enterprise:1.2.20"
# To use `ArangoLocalStorage`, set field `operator.features.storage` to true
helm install https://github.com/arangodb/kube-arangodb/releases/download/1.2.20/kube-arangodb-1.2.20.tgz --set "operator.image=arangodb/kube-arangodb-enterprise:1.2.20" --set "operator.features.storage=true"
```
## Building
```bash
@ -193,11 +273,3 @@ kubectl apply -f manifests/arango-storage-dev.yaml
# To use `ArangoDeploymentReplication`, also run
kubectl apply -f manifests/arango-deployment-replication-dev.yaml
```
## ArangoExporter
[ArangoExporter](https://github.com/arangodb-helper/arangodb-exporter) project has been merged with ArangoOperator.
Starting from ArangoDB 3.6 Servers expose metrics endpoint with prometheus compatible format. From this point Exporter
is used only for TLS and/or Authentication termination to be compatible with all Prometheus installations.
ArangoExporter documentation can be found [here](./docs/design/exporter.md)

View file

@ -1,6 +0,0 @@
---
name: kube-arangodb-test
version: 1.2.20
description: "ArangoDB Kubernetes Test Access"

View file

@ -1,22 +0,0 @@
{{/* vim: set filetype=mustache: */}}
{{/*
Expand the name of the chart.
*/}}
{{- define "kube-arangodb-test.name" -}}
{{- printf "%s" .Chart.Name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Expand the name of the release.
*/}}
{{- define "kube-arangodb-test.releaseName" -}}
{{- printf "%s" .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Combine name of the deployment.
*/}}
{{- define "kube-arangodb-test.fullName" -}}
{{- printf "%s-%s" .Chart.Name .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- end -}}

View file

@ -1,19 +0,0 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: {{ template "kube-arangodb-test.fullName" . }}
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: {{ template "kube-arangodb-test.name" . }}
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/instance: {{ .Release.Name }}
release: {{ .Release.Name }}
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: {{ template "kube-arangodb-test.releaseName" . }}
namespace: {{ .Release.Namespace }}

View file

@ -1,17 +0,0 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ template "kube-arangodb-test.releaseName" . }}
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: {{ template "kube-arangodb-test.name" . }}
helm.sh/chart: {{ .Chart.Name }}-{{ .Chart.Version }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
app.kubernetes.io/instance: {{ .Release.Name }}
release: {{ .Release.Name }}
{{- if .Values.imagePullSecrets }}
imagePullSecrets:
{{- range .Values.imagePullSecrets }}
- name: {{ . }}
{{- end }}
{{- end }}

View file

@ -1,3 +0,0 @@
---
imagePullSecrets: []

View file

@ -1,34 +0,0 @@
---
# Source: kube-arangodb-test/templates/service-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: test
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb-test
helm.sh/chart: kube-arangodb-test-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: test
release: test
---
# Source: kube-arangodb-test/templates/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: kube-arangodb-test-test
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb-test
helm.sh/chart: kube-arangodb-test-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: test
release: test
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: test
namespace: default

View file

@ -0,0 +1,899 @@
---
# Source: kube-arangodb/templates/apps-operator/service-account-job.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: arango-all-operator-job
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
---
# Source: kube-arangodb/templates/service-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: arango-all-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
---
# Source: kube-arangodb/templates/storage-operator/crd.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: arangolocalstorages.storage.arangodb.com
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
spec:
group: storage.arangodb.com
names:
kind: ArangoLocalStorage
listKind: ArangoLocalStorageList
plural: arangolocalstorages
shortNames:
- arangostorage
singular: arangolocalstorage
scope: Cluster
versions:
- name: v1alpha
served: true
storage: true
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
---
# Source: kube-arangodb/templates/apps-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-all-operator-rbac-apps
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/backup-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-all-operator-rbac-backup
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/crd/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-all-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch", "update", "delete"]
resourceNames:
- "arangodeployments.database.arangodb.com"
- "arangoclustersynchronizations.database.arangodb.com"
- "arangomembers.database.arangodb.com"
- "arangotasks.database.arangodb.com"
- "arangodeploymentreplications.replication.database.arangodb.com"
- "arangobackups.backup.arangodb.com"
- "arangobackuppolicies.backup.arangodb.com"
- "arangojobs.apps.arangodb.com"
- "arangolocalstorages.storage.arangodb.com"
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-all-operator-rbac-deployment
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["namespaces", "nodes", "persistentvolumes"]
verbs: ["get", "list"]
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-all-operator-rbac-deployment-replication
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["namespaces", "nodes"]
verbs: ["get", "list"]
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-all-operator-rbac-k2kclustersync
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/storage-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-all-operator-rbac-storage
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: [""]
resources: ["persistentvolumes", "persistentvolumeclaims", "endpoints", "events", "services"]
verbs: ["*"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["namespaces", "nodes"]
verbs: ["get", "list"]
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses"]
verbs: ["*"]
- apiGroups: ["storage.arangodb.com"]
resources: ["arangolocalstorages"]
verbs: ["*"]
---
# Source: kube-arangodb/templates/apps-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-all-operator-rbac-apps
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-all-operator-rbac-apps
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/backup-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-all-operator-rbac-backup
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-all-operator-rbac-backup
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/crd/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-all-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-all-operator-rbac-crd
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-all-operator-rbac-deployment
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-all-operator-rbac-deployment
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-all-operator-rbac-deployment-replication
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-all-operator-rbac-deployment-replication
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-all-operator-rbac-k2kclustersync
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-all-operator-rbac-k2kclustersync
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/storage-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-all-operator-rbac-storage
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-all-operator-rbac-storage
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/apps-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-all-operator-rbac-apps
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: [""]
resources: ["pods", "services", "endpoints"]
verbs: ["get", "update"]
- apiGroups: [""]
resources: ["events"]
verbs: ["*"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
- apiGroups: ["batch"]
resources: ["jobs"]
verbs: ["*"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments"]
verbs: ["get", "list", "watch"]
- apiGroups: ["apps.arangodb.com"]
resources: ["arangojobs","arangojobs/status"]
verbs: ["*"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-all-operator-rbac-job
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/backup-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-all-operator-rbac-backup
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: [""]
resources: ["pods", "services", "endpoints"]
verbs: ["get", "update"]
- apiGroups: [""]
resources: ["events"]
verbs: ["*"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
- apiGroups: ["backup.arangodb.com"]
resources: ["arangobackuppolicies", "arangobackuppolicies/status", "arangobackups", "arangobackups/status"]
verbs: ["*"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/deployment-operator/default-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-all-operator-rbac-default
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get"]
---
# Source: kube-arangodb/templates/deployment-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-all-operator-rbac-deployment
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments", "arangodeployments/status","arangomembers", "arangomembers/status"]
verbs: ["*"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangoclustersynchronizations", "arangoclustersynchronizations/status"]
verbs: ["*"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangotasks", "arangotasks/status"]
verbs: ["*"]
- apiGroups: [""]
resources: ["pods", "services", "endpoints", "persistentvolumeclaims", "events", "secrets", "serviceaccounts", "configmaps"]
verbs: ["*"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
- apiGroups: ["policy"]
resources: ["poddisruptionbudgets"]
verbs: ["*"]
- apiGroups: ["backup.arangodb.com"]
resources: ["arangobackuppolicies", "arangobackups"]
verbs: ["get", "list", "watch"]
- apiGroups: ["monitoring.coreos.com"]
resources: ["servicemonitors"]
verbs: ["get", "create", "delete", "update", "list", "watch", "patch"]
---
# Source: kube-arangodb/templates/deployment-replications-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-all-operator-rbac-deployment-replication
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: ["replication.database.arangodb.com"]
resources: ["arangodeploymentreplications", "arangodeploymentreplications/status"]
verbs: ["*"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments"]
verbs: ["get"]
- apiGroups: [""]
resources: ["pods", "services", "endpoints", "persistentvolumeclaims", "events", "secrets"]
verbs: ["*"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-all-operator-rbac-k2kclustersync
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: [""]
resources: ["pods", "services", "endpoints"]
verbs: ["get", "update"]
- apiGroups: [""]
resources: ["events"]
verbs: ["*"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments", "arangoclustersynchronizations"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/storage-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-all-operator-rbac-storage
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "update"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
- apiGroups: ["apps"]
resources: ["daemonsets"]
verbs: ["*"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
---
# Source: kube-arangodb/templates/apps-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-all-operator-rbac-apps
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-all-operator-rbac-apps
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-all-operator-rbac-job
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-all-operator-rbac-job
subjects:
- kind: ServiceAccount
name: arango-all-operator-job
namespace: default
---
# Source: kube-arangodb/templates/backup-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-all-operator-rbac-backup
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-all-operator-rbac-backup
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/deployment-operator/default-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-all-operator-rbac-default
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-all-operator-rbac-default
subjects:
- kind: ServiceAccount
name: default
namespace: default
---
# Source: kube-arangodb/templates/deployment-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-all-operator-rbac-deployment
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-all-operator-rbac-deployment
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/deployment-replications-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-all-operator-rbac-deployment-replication
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-all-operator-rbac-deployment-replication
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-all-operator-rbac-k2kclustersync
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-all-operator-rbac-k2kclustersync
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/storage-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-all-operator-rbac-storage
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-all-operator-rbac-storage
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: arango-all-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
spec:
ports:
- name: server
port: 8528
protocol: TCP
targetPort: 8528
- name: http-api
port: 8628
protocol: TCP
targetPort: 8628
- name: grpc-api
port: 8728
protocol: TCP
targetPort: 8728
selector:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
role: leader
type: ClusterIP
---
# Source: kube-arangodb/templates/deployment.yaml
# Scope "legacy" selected
apiVersion: apps/v1
kind: Deployment
metadata:
name: arango-all-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
spec:
replicas: 2
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
template:
metadata:
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
spec:
serviceAccountName: arango-all-operator
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/arch
operator: In
values:
- "amd64"
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
topologyKey: "kubernetes.io/hostname"
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- kube-arangodb
- key: app.kubernetes.io/instance
operator: In
values:
- all
hostNetwork: false
hostPID: false
hostIPC: false
securityContext:
runAsNonRoot: true
runAsUser: 1000
containers:
- name: operator
imagePullPolicy: Always
image: arangodb/kube-arangodb:1.2.20
args:
- --scope=legacy
- --operator.deployment
- --operator.deployment-replication
- --operator.storage
- --operator.backup
- --operator.apps
- --operator.k2k-cluster-sync
- --chaos.allowed=false
env:
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: RELATED_IMAGE_UBI
value: "alpine:3.11"
- name: RELATED_IMAGE_METRICSEXPORTER
value: "arangodb/arangodb-exporter:0.1.7"
- name: RELATED_IMAGE_DATABASE
value: "arangodb/arangodb:latest"
- name: ARANGOJOB_SA_NAME
value: "arango-all-operator-job"
ports:
- name: metrics
containerPort: 8528
securityContext:
privileged: false
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- 'ALL'
livenessProbe:
httpGet:
path: /health
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
tolerations:
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
- key: "node.kubernetes.io/not-ready"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5

View file

@ -0,0 +1,441 @@
---
# Source: kube-arangodb/templates/apps-operator/service-account-job.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: arango-apps-operator-job
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
---
# Source: kube-arangodb/templates/service-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: arango-apps-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
---
# Source: kube-arangodb/templates/apps-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-apps-operator-rbac-apps
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/crd/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-apps-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch", "update", "delete"]
resourceNames:
- "arangodeployments.database.arangodb.com"
- "arangoclustersynchronizations.database.arangodb.com"
- "arangomembers.database.arangodb.com"
- "arangotasks.database.arangodb.com"
- "arangodeploymentreplications.replication.database.arangodb.com"
- "arangobackups.backup.arangodb.com"
- "arangobackuppolicies.backup.arangodb.com"
- "arangojobs.apps.arangodb.com"
- "arangolocalstorages.storage.arangodb.com"
---
# Source: kube-arangodb/templates/apps-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-apps-operator-rbac-apps
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-apps-operator-rbac-apps
subjects:
- kind: ServiceAccount
name: arango-apps-operator
namespace: default
---
# Source: kube-arangodb/templates/crd/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-apps-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-apps-operator-rbac-crd
subjects:
- kind: ServiceAccount
name: arango-apps-operator
namespace: default
---
# Source: kube-arangodb/templates/apps-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-apps-operator-rbac-apps
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
rules:
- apiGroups: [""]
resources: ["pods", "services", "endpoints"]
verbs: ["get", "update"]
- apiGroups: [""]
resources: ["events"]
verbs: ["*"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
- apiGroups: ["batch"]
resources: ["jobs"]
verbs: ["*"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments"]
verbs: ["get", "list", "watch"]
- apiGroups: ["apps.arangodb.com"]
resources: ["arangojobs","arangojobs/status"]
verbs: ["*"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-apps-operator-rbac-job
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
rules:
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/apps-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-apps-operator-rbac-apps
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-apps-operator-rbac-apps
subjects:
- kind: ServiceAccount
name: arango-apps-operator
namespace: default
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-apps-operator-rbac-job
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-apps-operator-rbac-job
subjects:
- kind: ServiceAccount
name: arango-apps-operator-job
namespace: default
---
# Source: kube-arangodb/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: arango-apps-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
spec:
ports:
- name: server
port: 8528
protocol: TCP
targetPort: 8528
- name: http-api
port: 8628
protocol: TCP
targetPort: 8628
- name: grpc-api
port: 8728
protocol: TCP
targetPort: 8728
selector:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
role: leader
type: ClusterIP
---
# Source: kube-arangodb/templates/deployment.yaml
# Scope "legacy" selected
apiVersion: apps/v1
kind: Deployment
metadata:
name: arango-apps-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
spec:
replicas: 2
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
template:
metadata:
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
spec:
serviceAccountName: arango-apps-operator
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/arch
operator: In
values:
- "amd64"
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
topologyKey: "kubernetes.io/hostname"
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- kube-arangodb
- key: app.kubernetes.io/instance
operator: In
values:
- apps
hostNetwork: false
hostPID: false
hostIPC: false
securityContext:
runAsNonRoot: true
runAsUser: 1000
containers:
- name: operator
imagePullPolicy: Always
image: arangodb/kube-arangodb:1.2.20
args:
- --scope=legacy
- --operator.apps
- --chaos.allowed=false
env:
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: RELATED_IMAGE_UBI
value: "alpine:3.11"
- name: RELATED_IMAGE_METRICSEXPORTER
value: "arangodb/arangodb-exporter:0.1.7"
- name: RELATED_IMAGE_DATABASE
value: "arangodb/arangodb:latest"
- name: ARANGOJOB_SA_NAME
value: "arango-apps-operator-job"
ports:
- name: metrics
containerPort: 8528
securityContext:
privileged: false
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- 'ALL'
livenessProbe:
httpGet:
path: /health
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
tolerations:
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
- key: "node.kubernetes.io/not-ready"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
---
# Source: kube-arangodb/templates/backup-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/backup-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/backup-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/backup-operator/role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/default-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/default-role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/role.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/role.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role.yaml
---
# Source: kube-arangodb/templates/storage-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/storage-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/storage-operator/crd.yaml
---
# Source: kube-arangodb/templates/storage-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/storage-operator/role.yaml

View file

@ -0,0 +1,388 @@
---
# Source: kube-arangodb/templates/service-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: arango-backup-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
---
# Source: kube-arangodb/templates/backup-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-backup-operator-rbac-backup
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/crd/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-backup-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch", "update", "delete"]
resourceNames:
- "arangodeployments.database.arangodb.com"
- "arangoclustersynchronizations.database.arangodb.com"
- "arangomembers.database.arangodb.com"
- "arangotasks.database.arangodb.com"
- "arangodeploymentreplications.replication.database.arangodb.com"
- "arangobackups.backup.arangodb.com"
- "arangobackuppolicies.backup.arangodb.com"
- "arangojobs.apps.arangodb.com"
- "arangolocalstorages.storage.arangodb.com"
---
# Source: kube-arangodb/templates/backup-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-backup-operator-rbac-backup
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-backup-operator-rbac-backup
subjects:
- kind: ServiceAccount
name: arango-backup-operator
namespace: default
---
# Source: kube-arangodb/templates/crd/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-backup-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-backup-operator-rbac-crd
subjects:
- kind: ServiceAccount
name: arango-backup-operator
namespace: default
---
# Source: kube-arangodb/templates/backup-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-backup-operator-rbac-backup
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
rules:
- apiGroups: [""]
resources: ["pods", "services", "endpoints"]
verbs: ["get", "update"]
- apiGroups: [""]
resources: ["events"]
verbs: ["*"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
- apiGroups: ["backup.arangodb.com"]
resources: ["arangobackuppolicies", "arangobackuppolicies/status", "arangobackups", "arangobackups/status"]
verbs: ["*"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/backup-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-backup-operator-rbac-backup
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-backup-operator-rbac-backup
subjects:
- kind: ServiceAccount
name: arango-backup-operator
namespace: default
---
# Source: kube-arangodb/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: arango-backup-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
spec:
ports:
- name: server
port: 8528
protocol: TCP
targetPort: 8528
- name: http-api
port: 8628
protocol: TCP
targetPort: 8628
- name: grpc-api
port: 8728
protocol: TCP
targetPort: 8728
selector:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
role: leader
type: ClusterIP
---
# Source: kube-arangodb/templates/deployment.yaml
# Scope "legacy" selected
apiVersion: apps/v1
kind: Deployment
metadata:
name: arango-backup-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
spec:
replicas: 2
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
template:
metadata:
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
spec:
serviceAccountName: arango-backup-operator
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/arch
operator: In
values:
- "amd64"
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
topologyKey: "kubernetes.io/hostname"
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- kube-arangodb
- key: app.kubernetes.io/instance
operator: In
values:
- backup
hostNetwork: false
hostPID: false
hostIPC: false
securityContext:
runAsNonRoot: true
runAsUser: 1000
containers:
- name: operator
imagePullPolicy: Always
image: arangodb/kube-arangodb:1.2.20
args:
- --scope=legacy
- --operator.backup
- --chaos.allowed=false
env:
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: RELATED_IMAGE_UBI
value: "alpine:3.11"
- name: RELATED_IMAGE_METRICSEXPORTER
value: "arangodb/arangodb-exporter:0.1.7"
- name: RELATED_IMAGE_DATABASE
value: "arangodb/arangodb:latest"
ports:
- name: metrics
containerPort: 8528
securityContext:
privileged: false
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- 'ALL'
livenessProbe:
httpGet:
path: /health
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
tolerations:
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
- key: "node.kubernetes.io/not-ready"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
---
# Source: kube-arangodb/templates/apps-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/apps-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/apps-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/apps-operator/role.yaml
---
# Source: kube-arangodb/templates/apps-operator/service-account-job.yaml
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/default-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/default-role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/role.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/role.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role.yaml
---
# Source: kube-arangodb/templates/storage-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/storage-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/storage-operator/crd.yaml
---
# Source: kube-arangodb/templates/storage-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/storage-operator/role.yaml

View file

@ -0,0 +1,398 @@
---
# Source: kube-arangodb-crd/templates/backup-policy.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: arangobackuppolicies.backup.arangodb.com
labels:
app.kubernetes.io/name: kube-arangodb-crd
helm.sh/chart: kube-arangodb-crd-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: crd
release: crd
spec:
group: backup.arangodb.com
names:
kind: ArangoBackupPolicy
listKind: ArangoBackupPolicyList
plural: arangobackuppolicies
shortNames:
- arangobackuppolicy
- arangobp
singular: arangobackuppolicy
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: true
additionalPrinterColumns:
- jsonPath: .spec.schedule
description: Schedule
name: Schedule
type: string
- jsonPath: .status.scheduled
description: Scheduled
name: Scheduled
type: string
- jsonPath: .status.message
priority: 1
description: Message of the ArangoBackupPolicy object
name: Message
type: string
subresources:
status: {}
- name: v1alpha
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: false
additionalPrinterColumns:
- jsonPath: .spec.schedule
description: Schedule
name: Schedule
type: string
- jsonPath: .status.scheduled
description: Scheduled
name: Scheduled
type: string
- jsonPath: .status.message
priority: 1
description: Message of the ArangoBackupPolicy object
name: Message
type: string
subresources:
status: {}
---
# Source: kube-arangodb-crd/templates/backup.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: arangobackups.backup.arangodb.com
labels:
app.kubernetes.io/name: kube-arangodb-crd
helm.sh/chart: kube-arangodb-crd-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: crd
release: crd
spec:
group: backup.arangodb.com
names:
kind: ArangoBackup
listKind: ArangoBackupList
plural: arangobackups
shortNames:
- arangobackup
singular: arangobackup
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: true
additionalPrinterColumns:
- jsonPath: .spec.policyName
description: Policy name
name: Policy
type: string
- jsonPath: .spec.deployment.name
description: Deployment name
name: Deployment
type: string
- jsonPath: .status.backup.version
description: Backup Version
name: Version
type: string
- jsonPath: .status.backup.createdAt
description: Backup Creation Timestamp
name: Created
type: string
- jsonPath: .status.backup.sizeInBytes
description: Backup Size in Bytes
name: Size
type: integer
format: byte
- jsonPath: .status.backup.numberOfDBServers
description: Backup Number of the DB Servers
name: DBServers
type: integer
- jsonPath: .status.state
description: The actual state of the ArangoBackup
name: State
type: string
- jsonPath: .status.message
priority: 1
description: Message of the ArangoBackup object
name: Message
type: string
subresources:
status: {}
- name: v1alpha
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: false
additionalPrinterColumns:
- jsonPath: .spec.policyName
description: Policy name
name: Policy
type: string
- jsonPath: .spec.deployment.name
description: Deployment name
name: Deployment
type: string
- jsonPath: .status.backup.version
description: Backup Version
name: Version
type: string
- jsonPath: .status.backup.createdAt
description: Backup Creation Timestamp
name: Created
type: string
- jsonPath: .status.backup.sizeInBytes
description: Backup Size in Bytes
name: Size
type: integer
format: byte
- jsonPath: .status.backup.numberOfDBServers
description: Backup Number of the DB Servers
name: DBServers
type: integer
- jsonPath: .status.state
description: The actual state of the ArangoBackup
name: State
type: string
- jsonPath: .status.message
priority: 1
description: Message of the ArangoBackup object
name: Message
type: string
subresources:
status: {}
---
# Source: kube-arangodb-crd/templates/deployment-replications.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: arangodeploymentreplications.replication.database.arangodb.com
labels:
app.kubernetes.io/name: kube-arangodb-crd
helm.sh/chart: kube-arangodb-crd-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: crd
release: crd
spec:
group: replication.database.arangodb.com
names:
kind: ArangoDeploymentReplication
listKind: ArangoDeploymentReplicationList
plural: arangodeploymentreplications
shortNames:
- arangorepl
singular: arangodeploymentreplication
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: true
- name: v1alpha
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: false
- name: v2alpha1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: false
subresources:
status: {}
---
# Source: kube-arangodb-crd/templates/deployment.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: arangodeployments.database.arangodb.com
labels:
app.kubernetes.io/name: kube-arangodb-crd
helm.sh/chart: kube-arangodb-crd-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: crd
release: crd
spec:
group: database.arangodb.com
names:
kind: ArangoDeployment
listKind: ArangoDeploymentList
plural: arangodeployments
shortNames:
- arangodb
- arango
singular: arangodeployment
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: true
- name: v1alpha
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: false
- name: v2alpha1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: false
subresources:
status: {}
---
# Source: kube-arangodb-crd/templates/job.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: arangojobs.apps.arangodb.com
labels:
app.kubernetes.io/name: kube-arangodb-crd
helm.sh/chart: kube-arangodb-crd-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: crd
release: crd
spec:
group: apps.arangodb.com
names:
kind: ArangoJob
listKind: ArangoJobList
plural: arangojobs
singular: arangojob
shortNames:
- arangojob
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: true
additionalPrinterColumns:
- jsonPath: .spec.arangoDeploymentName
description: Deployment name
name: ArangoDeploymentName
type: string
subresources:
status: {}
---
# Source: kube-arangodb-crd/templates/k2kclustersync.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: arangoclustersynchronizations.database.arangodb.com
labels:
app.kubernetes.io/name: kube-arangodb-crd
helm.sh/chart: kube-arangodb-crd-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: crd
release: crd
spec:
group: database.arangodb.com
names:
kind: ArangoClusterSynchronization
listKind: ArangoClusterSynchronizationList
plural: arangoclustersynchronizations
singular: arangoclustersynchronization
shortNames:
- arangoclustersync
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: true
subresources:
status: {}
- name: v2alpha1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: false
subresources:
status: {}
---
# Source: kube-arangodb-crd/templates/member.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: arangomembers.database.arangodb.com
labels:
app.kubernetes.io/name: kube-arangodb-crd
helm.sh/chart: kube-arangodb-crd-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: crd
release: crd
spec:
group: database.arangodb.com
names:
kind: ArangoMember
listKind: ArangoMemberList
plural: arangomembers
shortNames:
- arangomembers
singular: arangomember
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: true
subresources:
status: {}
- name: v2alpha1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: false
subresources:
status: {}

View file

@ -0,0 +1,385 @@
---
# Source: kube-arangodb/templates/service-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: arango-deployment-replication-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
---
# Source: kube-arangodb/templates/crd/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-deployment-replication-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch", "update", "delete"]
resourceNames:
- "arangodeployments.database.arangodb.com"
- "arangoclustersynchronizations.database.arangodb.com"
- "arangomembers.database.arangodb.com"
- "arangotasks.database.arangodb.com"
- "arangodeploymentreplications.replication.database.arangodb.com"
- "arangobackups.backup.arangodb.com"
- "arangobackuppolicies.backup.arangodb.com"
- "arangojobs.apps.arangodb.com"
- "arangolocalstorages.storage.arangodb.com"
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-deployment-replication-operator-rbac-deployment-replication
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["namespaces", "nodes"]
verbs: ["get", "list"]
---
# Source: kube-arangodb/templates/crd/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-deployment-replication-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-deployment-replication-operator-rbac-crd
subjects:
- kind: ServiceAccount
name: arango-deployment-replication-operator
namespace: default
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-deployment-replication-operator-rbac-deployment-replication
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-deployment-replication-operator-rbac-deployment-replication
subjects:
- kind: ServiceAccount
name: arango-deployment-replication-operator
namespace: default
---
# Source: kube-arangodb/templates/deployment-replications-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-deployment-replication-operator-rbac-deployment-replication
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
rules:
- apiGroups: ["replication.database.arangodb.com"]
resources: ["arangodeploymentreplications", "arangodeploymentreplications/status"]
verbs: ["*"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments"]
verbs: ["get"]
- apiGroups: [""]
resources: ["pods", "services", "endpoints", "persistentvolumeclaims", "events", "secrets"]
verbs: ["*"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
---
# Source: kube-arangodb/templates/deployment-replications-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-deployment-replication-operator-rbac-deployment-replication
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-deployment-replication-operator-rbac-deployment-replication
subjects:
- kind: ServiceAccount
name: arango-deployment-replication-operator
namespace: default
---
# Source: kube-arangodb/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: arango-deployment-replication-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
spec:
ports:
- name: server
port: 8528
protocol: TCP
targetPort: 8528
- name: http-api
port: 8628
protocol: TCP
targetPort: 8628
- name: grpc-api
port: 8728
protocol: TCP
targetPort: 8728
selector:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
role: leader
type: ClusterIP
---
# Source: kube-arangodb/templates/deployment.yaml
# Scope "legacy" selected
apiVersion: apps/v1
kind: Deployment
metadata:
name: arango-deployment-replication-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
spec:
replicas: 2
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
template:
metadata:
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
spec:
serviceAccountName: arango-deployment-replication-operator
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/arch
operator: In
values:
- "amd64"
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
topologyKey: "kubernetes.io/hostname"
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- kube-arangodb
- key: app.kubernetes.io/instance
operator: In
values:
- deployment-replication
hostNetwork: false
hostPID: false
hostIPC: false
securityContext:
runAsNonRoot: true
runAsUser: 1000
containers:
- name: operator
imagePullPolicy: Always
image: arangodb/kube-arangodb:1.2.20
args:
- --scope=legacy
- --operator.deployment-replication
- --chaos.allowed=false
env:
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: RELATED_IMAGE_UBI
value: "alpine:3.11"
- name: RELATED_IMAGE_METRICSEXPORTER
value: "arangodb/arangodb-exporter:0.1.7"
- name: RELATED_IMAGE_DATABASE
value: "arangodb/arangodb:latest"
ports:
- name: metrics
containerPort: 8528
securityContext:
privileged: false
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- 'ALL'
livenessProbe:
httpGet:
path: /health
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
tolerations:
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
- key: "node.kubernetes.io/not-ready"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
---
# Source: kube-arangodb/templates/apps-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/apps-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/apps-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/apps-operator/role.yaml
---
# Source: kube-arangodb/templates/apps-operator/service-account-job.yaml
---
# Source: kube-arangodb/templates/backup-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/backup-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/backup-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/backup-operator/role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/default-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/default-role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/role.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role.yaml
---
# Source: kube-arangodb/templates/storage-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/storage-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/storage-operator/crd.yaml
---
# Source: kube-arangodb/templates/storage-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/storage-operator/role.yaml

View file

@ -0,0 +1,429 @@
---
# Source: kube-arangodb/templates/service-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: arango-deployment-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
---
# Source: kube-arangodb/templates/crd/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-deployment-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch", "update", "delete"]
resourceNames:
- "arangodeployments.database.arangodb.com"
- "arangoclustersynchronizations.database.arangodb.com"
- "arangomembers.database.arangodb.com"
- "arangotasks.database.arangodb.com"
- "arangodeploymentreplications.replication.database.arangodb.com"
- "arangobackups.backup.arangodb.com"
- "arangobackuppolicies.backup.arangodb.com"
- "arangojobs.apps.arangodb.com"
- "arangolocalstorages.storage.arangodb.com"
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-deployment-operator-rbac-deployment
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["namespaces", "nodes", "persistentvolumes"]
verbs: ["get", "list"]
---
# Source: kube-arangodb/templates/crd/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-deployment-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-deployment-operator-rbac-crd
subjects:
- kind: ServiceAccount
name: arango-deployment-operator
namespace: default
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-deployment-operator-rbac-deployment
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-deployment-operator-rbac-deployment
subjects:
- kind: ServiceAccount
name: arango-deployment-operator
namespace: default
---
# Source: kube-arangodb/templates/deployment-operator/default-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-deployment-operator-rbac-default
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get"]
---
# Source: kube-arangodb/templates/deployment-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-deployment-operator-rbac-deployment
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
rules:
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments", "arangodeployments/status","arangomembers", "arangomembers/status"]
verbs: ["*"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangoclustersynchronizations", "arangoclustersynchronizations/status"]
verbs: ["*"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangotasks", "arangotasks/status"]
verbs: ["*"]
- apiGroups: [""]
resources: ["pods", "services", "endpoints", "persistentvolumeclaims", "events", "secrets", "serviceaccounts", "configmaps"]
verbs: ["*"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
- apiGroups: ["policy"]
resources: ["poddisruptionbudgets"]
verbs: ["*"]
- apiGroups: ["backup.arangodb.com"]
resources: ["arangobackuppolicies", "arangobackups"]
verbs: ["get", "list", "watch"]
- apiGroups: ["monitoring.coreos.com"]
resources: ["servicemonitors"]
verbs: ["get", "create", "delete", "update", "list", "watch", "patch"]
---
# Source: kube-arangodb/templates/deployment-operator/default-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-deployment-operator-rbac-default
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-deployment-operator-rbac-default
subjects:
- kind: ServiceAccount
name: default
namespace: default
---
# Source: kube-arangodb/templates/deployment-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-deployment-operator-rbac-deployment
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-deployment-operator-rbac-deployment
subjects:
- kind: ServiceAccount
name: arango-deployment-operator
namespace: default
---
# Source: kube-arangodb/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: arango-deployment-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
spec:
ports:
- name: server
port: 8528
protocol: TCP
targetPort: 8528
- name: http-api
port: 8628
protocol: TCP
targetPort: 8628
- name: grpc-api
port: 8728
protocol: TCP
targetPort: 8728
selector:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
role: leader
type: ClusterIP
---
# Source: kube-arangodb/templates/deployment.yaml
# Scope "legacy" selected
apiVersion: apps/v1
kind: Deployment
metadata:
name: arango-deployment-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
spec:
replicas: 2
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
template:
metadata:
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
spec:
serviceAccountName: arango-deployment-operator
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/arch
operator: In
values:
- "amd64"
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
topologyKey: "kubernetes.io/hostname"
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- kube-arangodb
- key: app.kubernetes.io/instance
operator: In
values:
- deployment
hostNetwork: false
hostPID: false
hostIPC: false
securityContext:
runAsNonRoot: true
runAsUser: 1000
containers:
- name: operator
imagePullPolicy: Always
image: arangodb/kube-arangodb:1.2.20
args:
- --scope=legacy
- --operator.deployment
- --chaos.allowed=false
env:
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: RELATED_IMAGE_UBI
value: "alpine:3.11"
- name: RELATED_IMAGE_METRICSEXPORTER
value: "arangodb/arangodb-exporter:0.1.7"
- name: RELATED_IMAGE_DATABASE
value: "arangodb/arangodb:latest"
ports:
- name: metrics
containerPort: 8528
securityContext:
privileged: false
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- 'ALL'
livenessProbe:
httpGet:
path: /health
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
tolerations:
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
- key: "node.kubernetes.io/not-ready"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
---
# Source: kube-arangodb/templates/apps-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/apps-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/apps-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/apps-operator/role.yaml
---
# Source: kube-arangodb/templates/apps-operator/service-account-job.yaml
---
# Source: kube-arangodb/templates/backup-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/backup-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/backup-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/backup-operator/role.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/role.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role.yaml
---
# Source: kube-arangodb/templates/storage-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/storage-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/storage-operator/crd.yaml
---
# Source: kube-arangodb/templates/storage-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/storage-operator/role.yaml

View file

@ -0,0 +1,421 @@
---
# Source: kube-arangodb/templates/service-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: arango-storage-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
---
# Source: kube-arangodb/templates/storage-operator/crd.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: arangolocalstorages.storage.arangodb.com
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
spec:
group: storage.arangodb.com
names:
kind: ArangoLocalStorage
listKind: ArangoLocalStorageList
plural: arangolocalstorages
shortNames:
- arangostorage
singular: arangolocalstorage
scope: Cluster
versions:
- name: v1alpha
served: true
storage: true
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
---
# Source: kube-arangodb/templates/crd/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-storage-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch", "update", "delete"]
resourceNames:
- "arangodeployments.database.arangodb.com"
- "arangoclustersynchronizations.database.arangodb.com"
- "arangomembers.database.arangodb.com"
- "arangotasks.database.arangodb.com"
- "arangodeploymentreplications.replication.database.arangodb.com"
- "arangobackups.backup.arangodb.com"
- "arangobackuppolicies.backup.arangodb.com"
- "arangojobs.apps.arangodb.com"
- "arangolocalstorages.storage.arangodb.com"
---
# Source: kube-arangodb/templates/storage-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-storage-operator-rbac-storage
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
rules:
- apiGroups: [""]
resources: ["persistentvolumes", "persistentvolumeclaims", "endpoints", "events", "services"]
verbs: ["*"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["namespaces", "nodes"]
verbs: ["get", "list"]
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses"]
verbs: ["*"]
- apiGroups: ["storage.arangodb.com"]
resources: ["arangolocalstorages"]
verbs: ["*"]
---
# Source: kube-arangodb/templates/crd/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-storage-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-storage-operator-rbac-crd
subjects:
- kind: ServiceAccount
name: arango-storage-operator
namespace: default
---
# Source: kube-arangodb/templates/storage-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-storage-operator-rbac-storage
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-storage-operator-rbac-storage
subjects:
- kind: ServiceAccount
name: arango-storage-operator
namespace: default
---
# Source: kube-arangodb/templates/storage-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-storage-operator-rbac-storage
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "update"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
- apiGroups: ["apps"]
resources: ["daemonsets"]
verbs: ["*"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
---
# Source: kube-arangodb/templates/storage-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-storage-operator-rbac-storage
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-storage-operator-rbac-storage
subjects:
- kind: ServiceAccount
name: arango-storage-operator
namespace: default
---
# Source: kube-arangodb/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: arango-storage-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
spec:
ports:
- name: server
port: 8528
protocol: TCP
targetPort: 8528
- name: http-api
port: 8628
protocol: TCP
targetPort: 8628
- name: grpc-api
port: 8728
protocol: TCP
targetPort: 8728
selector:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
role: leader
type: ClusterIP
---
# Source: kube-arangodb/templates/deployment.yaml
# Scope "legacy" selected
apiVersion: apps/v1
kind: Deployment
metadata:
name: arango-storage-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
spec:
replicas: 2
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
template:
metadata:
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
spec:
serviceAccountName: arango-storage-operator
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/arch
operator: In
values:
- "amd64"
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
topologyKey: "kubernetes.io/hostname"
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- kube-arangodb
- key: app.kubernetes.io/instance
operator: In
values:
- storage
hostNetwork: false
hostPID: false
hostIPC: false
securityContext:
runAsNonRoot: true
runAsUser: 1000
containers:
- name: operator
imagePullPolicy: Always
image: arangodb/kube-arangodb:1.2.20
args:
- --scope=legacy
- --operator.storage
- --chaos.allowed=false
env:
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: RELATED_IMAGE_UBI
value: "alpine:3.11"
- name: RELATED_IMAGE_METRICSEXPORTER
value: "arangodb/arangodb-exporter:0.1.7"
- name: RELATED_IMAGE_DATABASE
value: "arangodb/arangodb:latest"
ports:
- name: metrics
containerPort: 8528
securityContext:
privileged: false
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- 'ALL'
livenessProbe:
httpGet:
path: /health
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
tolerations:
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
- key: "node.kubernetes.io/not-ready"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
---
# Source: kube-arangodb/templates/apps-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/apps-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/apps-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/apps-operator/role.yaml
---
# Source: kube-arangodb/templates/apps-operator/service-account-job.yaml
---
# Source: kube-arangodb/templates/backup-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/backup-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/backup-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/backup-operator/role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/default-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/default-role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/role.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/role.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role.yaml

View file

@ -0,0 +1,899 @@
---
# Source: kube-arangodb/templates/apps-operator/service-account-job.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: arango-all-operator-job
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
---
# Source: kube-arangodb/templates/service-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: arango-all-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
---
# Source: kube-arangodb/templates/storage-operator/crd.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: arangolocalstorages.storage.arangodb.com
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
spec:
group: storage.arangodb.com
names:
kind: ArangoLocalStorage
listKind: ArangoLocalStorageList
plural: arangolocalstorages
shortNames:
- arangostorage
singular: arangolocalstorage
scope: Cluster
versions:
- name: v1alpha
served: true
storage: true
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
---
# Source: kube-arangodb/templates/apps-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-all-operator-rbac-apps
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/backup-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-all-operator-rbac-backup
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/crd/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-all-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch", "update", "delete"]
resourceNames:
- "arangodeployments.database.arangodb.com"
- "arangoclustersynchronizations.database.arangodb.com"
- "arangomembers.database.arangodb.com"
- "arangotasks.database.arangodb.com"
- "arangodeploymentreplications.replication.database.arangodb.com"
- "arangobackups.backup.arangodb.com"
- "arangobackuppolicies.backup.arangodb.com"
- "arangojobs.apps.arangodb.com"
- "arangolocalstorages.storage.arangodb.com"
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-all-operator-rbac-deployment
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["namespaces", "nodes", "persistentvolumes"]
verbs: ["get", "list"]
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-all-operator-rbac-deployment-replication
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["namespaces", "nodes"]
verbs: ["get", "list"]
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-all-operator-rbac-k2kclustersync
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/storage-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-all-operator-rbac-storage
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: [""]
resources: ["persistentvolumes", "persistentvolumeclaims", "endpoints", "events", "services"]
verbs: ["*"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["namespaces", "nodes"]
verbs: ["get", "list"]
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses"]
verbs: ["*"]
- apiGroups: ["storage.arangodb.com"]
resources: ["arangolocalstorages"]
verbs: ["*"]
---
# Source: kube-arangodb/templates/apps-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-all-operator-rbac-apps
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-all-operator-rbac-apps
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/backup-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-all-operator-rbac-backup
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-all-operator-rbac-backup
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/crd/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-all-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-all-operator-rbac-crd
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-all-operator-rbac-deployment
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-all-operator-rbac-deployment
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-all-operator-rbac-deployment-replication
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-all-operator-rbac-deployment-replication
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-all-operator-rbac-k2kclustersync
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-all-operator-rbac-k2kclustersync
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/storage-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-all-operator-rbac-storage
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-all-operator-rbac-storage
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/apps-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-all-operator-rbac-apps
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: [""]
resources: ["pods", "services", "endpoints"]
verbs: ["get", "update"]
- apiGroups: [""]
resources: ["events"]
verbs: ["*"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
- apiGroups: ["batch"]
resources: ["jobs"]
verbs: ["*"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments"]
verbs: ["get", "list", "watch"]
- apiGroups: ["apps.arangodb.com"]
resources: ["arangojobs","arangojobs/status"]
verbs: ["*"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-all-operator-rbac-job
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/backup-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-all-operator-rbac-backup
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: [""]
resources: ["pods", "services", "endpoints"]
verbs: ["get", "update"]
- apiGroups: [""]
resources: ["events"]
verbs: ["*"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
- apiGroups: ["backup.arangodb.com"]
resources: ["arangobackuppolicies", "arangobackuppolicies/status", "arangobackups", "arangobackups/status"]
verbs: ["*"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/deployment-operator/default-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-all-operator-rbac-default
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get"]
---
# Source: kube-arangodb/templates/deployment-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-all-operator-rbac-deployment
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments", "arangodeployments/status","arangomembers", "arangomembers/status"]
verbs: ["*"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangoclustersynchronizations", "arangoclustersynchronizations/status"]
verbs: ["*"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangotasks", "arangotasks/status"]
verbs: ["*"]
- apiGroups: [""]
resources: ["pods", "services", "endpoints", "persistentvolumeclaims", "events", "secrets", "serviceaccounts", "configmaps"]
verbs: ["*"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
- apiGroups: ["policy"]
resources: ["poddisruptionbudgets"]
verbs: ["*"]
- apiGroups: ["backup.arangodb.com"]
resources: ["arangobackuppolicies", "arangobackups"]
verbs: ["get", "list", "watch"]
- apiGroups: ["monitoring.coreos.com"]
resources: ["servicemonitors"]
verbs: ["get", "create", "delete", "update", "list", "watch", "patch"]
---
# Source: kube-arangodb/templates/deployment-replications-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-all-operator-rbac-deployment-replication
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: ["replication.database.arangodb.com"]
resources: ["arangodeploymentreplications", "arangodeploymentreplications/status"]
verbs: ["*"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments"]
verbs: ["get"]
- apiGroups: [""]
resources: ["pods", "services", "endpoints", "persistentvolumeclaims", "events", "secrets"]
verbs: ["*"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-all-operator-rbac-k2kclustersync
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: [""]
resources: ["pods", "services", "endpoints"]
verbs: ["get", "update"]
- apiGroups: [""]
resources: ["events"]
verbs: ["*"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments", "arangoclustersynchronizations"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/storage-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-all-operator-rbac-storage
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "update"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
- apiGroups: ["apps"]
resources: ["daemonsets"]
verbs: ["*"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
---
# Source: kube-arangodb/templates/apps-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-all-operator-rbac-apps
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-all-operator-rbac-apps
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-all-operator-rbac-job
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-all-operator-rbac-job
subjects:
- kind: ServiceAccount
name: arango-all-operator-job
namespace: default
---
# Source: kube-arangodb/templates/backup-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-all-operator-rbac-backup
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-all-operator-rbac-backup
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/deployment-operator/default-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-all-operator-rbac-default
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-all-operator-rbac-default
subjects:
- kind: ServiceAccount
name: default
namespace: default
---
# Source: kube-arangodb/templates/deployment-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-all-operator-rbac-deployment
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-all-operator-rbac-deployment
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/deployment-replications-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-all-operator-rbac-deployment-replication
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-all-operator-rbac-deployment-replication
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-all-operator-rbac-k2kclustersync
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-all-operator-rbac-k2kclustersync
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/storage-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-all-operator-rbac-storage
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-all-operator-rbac-storage
subjects:
- kind: ServiceAccount
name: arango-all-operator
namespace: default
---
# Source: kube-arangodb/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: arango-all-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
spec:
ports:
- name: server
port: 8528
protocol: TCP
targetPort: 8528
- name: http-api
port: 8628
protocol: TCP
targetPort: 8628
- name: grpc-api
port: 8728
protocol: TCP
targetPort: 8728
selector:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
role: leader
type: ClusterIP
---
# Source: kube-arangodb/templates/deployment.yaml
# Scope "legacy" selected
apiVersion: apps/v1
kind: Deployment
metadata:
name: arango-all-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
spec:
replicas: 2
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
template:
metadata:
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: all
release: all
spec:
serviceAccountName: arango-all-operator
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/arch
operator: In
values:
- "amd64"
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
topologyKey: "kubernetes.io/hostname"
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- kube-arangodb
- key: app.kubernetes.io/instance
operator: In
values:
- all
hostNetwork: false
hostPID: false
hostIPC: false
securityContext:
runAsNonRoot: true
runAsUser: 1000
containers:
- name: operator
imagePullPolicy: Always
image: arangodb/kube-arangodb:1.2.20
args:
- --scope=legacy
- --operator.deployment
- --operator.deployment-replication
- --operator.storage
- --operator.backup
- --operator.apps
- --operator.k2k-cluster-sync
- --chaos.allowed=false
env:
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: RELATED_IMAGE_UBI
value: "alpine:3.11"
- name: RELATED_IMAGE_METRICSEXPORTER
value: "arangodb/arangodb-exporter:0.1.7"
- name: RELATED_IMAGE_DATABASE
value: "arangodb/arangodb:latest"
- name: ARANGOJOB_SA_NAME
value: "arango-all-operator-job"
ports:
- name: metrics
containerPort: 8528
securityContext:
privileged: false
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- 'ALL'
livenessProbe:
httpGet:
path: /health
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
tolerations:
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
- key: "node.kubernetes.io/not-ready"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5

View file

@ -2,4 +2,4 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- arango-test.yaml
- enterprise-all.yaml

View file

@ -0,0 +1,441 @@
---
# Source: kube-arangodb/templates/apps-operator/service-account-job.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: arango-apps-operator-job
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
---
# Source: kube-arangodb/templates/service-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: arango-apps-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
---
# Source: kube-arangodb/templates/apps-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-apps-operator-rbac-apps
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/crd/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-apps-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch", "update", "delete"]
resourceNames:
- "arangodeployments.database.arangodb.com"
- "arangoclustersynchronizations.database.arangodb.com"
- "arangomembers.database.arangodb.com"
- "arangotasks.database.arangodb.com"
- "arangodeploymentreplications.replication.database.arangodb.com"
- "arangobackups.backup.arangodb.com"
- "arangobackuppolicies.backup.arangodb.com"
- "arangojobs.apps.arangodb.com"
- "arangolocalstorages.storage.arangodb.com"
---
# Source: kube-arangodb/templates/apps-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-apps-operator-rbac-apps
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-apps-operator-rbac-apps
subjects:
- kind: ServiceAccount
name: arango-apps-operator
namespace: default
---
# Source: kube-arangodb/templates/crd/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-apps-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-apps-operator-rbac-crd
subjects:
- kind: ServiceAccount
name: arango-apps-operator
namespace: default
---
# Source: kube-arangodb/templates/apps-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-apps-operator-rbac-apps
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
rules:
- apiGroups: [""]
resources: ["pods", "services", "endpoints"]
verbs: ["get", "update"]
- apiGroups: [""]
resources: ["events"]
verbs: ["*"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
- apiGroups: ["batch"]
resources: ["jobs"]
verbs: ["*"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments"]
verbs: ["get", "list", "watch"]
- apiGroups: ["apps.arangodb.com"]
resources: ["arangojobs","arangojobs/status"]
verbs: ["*"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-apps-operator-rbac-job
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
rules:
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/apps-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-apps-operator-rbac-apps
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-apps-operator-rbac-apps
subjects:
- kind: ServiceAccount
name: arango-apps-operator
namespace: default
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-apps-operator-rbac-job
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-apps-operator-rbac-job
subjects:
- kind: ServiceAccount
name: arango-apps-operator-job
namespace: default
---
# Source: kube-arangodb/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: arango-apps-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
spec:
ports:
- name: server
port: 8528
protocol: TCP
targetPort: 8528
- name: http-api
port: 8628
protocol: TCP
targetPort: 8628
- name: grpc-api
port: 8728
protocol: TCP
targetPort: 8728
selector:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
role: leader
type: ClusterIP
---
# Source: kube-arangodb/templates/deployment.yaml
# Scope "legacy" selected
apiVersion: apps/v1
kind: Deployment
metadata:
name: arango-apps-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
spec:
replicas: 2
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
template:
metadata:
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: apps
release: apps
spec:
serviceAccountName: arango-apps-operator
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/arch
operator: In
values:
- "amd64"
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
topologyKey: "kubernetes.io/hostname"
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- kube-arangodb
- key: app.kubernetes.io/instance
operator: In
values:
- apps
hostNetwork: false
hostPID: false
hostIPC: false
securityContext:
runAsNonRoot: true
runAsUser: 1000
containers:
- name: operator
imagePullPolicy: Always
image: arangodb/kube-arangodb:1.2.20
args:
- --scope=legacy
- --operator.apps
- --chaos.allowed=false
env:
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: RELATED_IMAGE_UBI
value: "alpine:3.11"
- name: RELATED_IMAGE_METRICSEXPORTER
value: "arangodb/arangodb-exporter:0.1.7"
- name: RELATED_IMAGE_DATABASE
value: "arangodb/arangodb:latest"
- name: ARANGOJOB_SA_NAME
value: "arango-apps-operator-job"
ports:
- name: metrics
containerPort: 8528
securityContext:
privileged: false
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- 'ALL'
livenessProbe:
httpGet:
path: /health
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
tolerations:
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
- key: "node.kubernetes.io/not-ready"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
---
# Source: kube-arangodb/templates/backup-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/backup-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/backup-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/backup-operator/role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/default-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/default-role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/role.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/role.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role.yaml
---
# Source: kube-arangodb/templates/storage-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/storage-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/storage-operator/crd.yaml
---
# Source: kube-arangodb/templates/storage-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/storage-operator/role.yaml

View file

@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- enterprise-apps.yaml

View file

@ -0,0 +1,388 @@
---
# Source: kube-arangodb/templates/service-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: arango-backup-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
---
# Source: kube-arangodb/templates/backup-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-backup-operator-rbac-backup
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/crd/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-backup-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch", "update", "delete"]
resourceNames:
- "arangodeployments.database.arangodb.com"
- "arangoclustersynchronizations.database.arangodb.com"
- "arangomembers.database.arangodb.com"
- "arangotasks.database.arangodb.com"
- "arangodeploymentreplications.replication.database.arangodb.com"
- "arangobackups.backup.arangodb.com"
- "arangobackuppolicies.backup.arangodb.com"
- "arangojobs.apps.arangodb.com"
- "arangolocalstorages.storage.arangodb.com"
---
# Source: kube-arangodb/templates/backup-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-backup-operator-rbac-backup
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-backup-operator-rbac-backup
subjects:
- kind: ServiceAccount
name: arango-backup-operator
namespace: default
---
# Source: kube-arangodb/templates/crd/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-backup-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-backup-operator-rbac-crd
subjects:
- kind: ServiceAccount
name: arango-backup-operator
namespace: default
---
# Source: kube-arangodb/templates/backup-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-backup-operator-rbac-backup
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
rules:
- apiGroups: [""]
resources: ["pods", "services", "endpoints"]
verbs: ["get", "update"]
- apiGroups: [""]
resources: ["events"]
verbs: ["*"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
- apiGroups: ["backup.arangodb.com"]
resources: ["arangobackuppolicies", "arangobackuppolicies/status", "arangobackups", "arangobackups/status"]
verbs: ["*"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/backup-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-backup-operator-rbac-backup
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-backup-operator-rbac-backup
subjects:
- kind: ServiceAccount
name: arango-backup-operator
namespace: default
---
# Source: kube-arangodb/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: arango-backup-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
spec:
ports:
- name: server
port: 8528
protocol: TCP
targetPort: 8528
- name: http-api
port: 8628
protocol: TCP
targetPort: 8628
- name: grpc-api
port: 8728
protocol: TCP
targetPort: 8728
selector:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
role: leader
type: ClusterIP
---
# Source: kube-arangodb/templates/deployment.yaml
# Scope "legacy" selected
apiVersion: apps/v1
kind: Deployment
metadata:
name: arango-backup-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
spec:
replicas: 2
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
template:
metadata:
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: backup
release: backup
spec:
serviceAccountName: arango-backup-operator
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/arch
operator: In
values:
- "amd64"
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
topologyKey: "kubernetes.io/hostname"
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- kube-arangodb
- key: app.kubernetes.io/instance
operator: In
values:
- backup
hostNetwork: false
hostPID: false
hostIPC: false
securityContext:
runAsNonRoot: true
runAsUser: 1000
containers:
- name: operator
imagePullPolicy: Always
image: arangodb/kube-arangodb:1.2.20
args:
- --scope=legacy
- --operator.backup
- --chaos.allowed=false
env:
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: RELATED_IMAGE_UBI
value: "alpine:3.11"
- name: RELATED_IMAGE_METRICSEXPORTER
value: "arangodb/arangodb-exporter:0.1.7"
- name: RELATED_IMAGE_DATABASE
value: "arangodb/arangodb:latest"
ports:
- name: metrics
containerPort: 8528
securityContext:
privileged: false
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- 'ALL'
livenessProbe:
httpGet:
path: /health
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
tolerations:
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
- key: "node.kubernetes.io/not-ready"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
---
# Source: kube-arangodb/templates/apps-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/apps-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/apps-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/apps-operator/role.yaml
---
# Source: kube-arangodb/templates/apps-operator/service-account-job.yaml
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/default-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/default-role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/role.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/role.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role.yaml
---
# Source: kube-arangodb/templates/storage-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/storage-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/storage-operator/crd.yaml
---
# Source: kube-arangodb/templates/storage-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/storage-operator/role.yaml

View file

@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- enterprise-backup.yaml

View file

@ -0,0 +1,398 @@
---
# Source: kube-arangodb-crd/templates/backup-policy.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: arangobackuppolicies.backup.arangodb.com
labels:
app.kubernetes.io/name: kube-arangodb-crd
helm.sh/chart: kube-arangodb-crd-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: crd
release: crd
spec:
group: backup.arangodb.com
names:
kind: ArangoBackupPolicy
listKind: ArangoBackupPolicyList
plural: arangobackuppolicies
shortNames:
- arangobackuppolicy
- arangobp
singular: arangobackuppolicy
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: true
additionalPrinterColumns:
- jsonPath: .spec.schedule
description: Schedule
name: Schedule
type: string
- jsonPath: .status.scheduled
description: Scheduled
name: Scheduled
type: string
- jsonPath: .status.message
priority: 1
description: Message of the ArangoBackupPolicy object
name: Message
type: string
subresources:
status: {}
- name: v1alpha
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: false
additionalPrinterColumns:
- jsonPath: .spec.schedule
description: Schedule
name: Schedule
type: string
- jsonPath: .status.scheduled
description: Scheduled
name: Scheduled
type: string
- jsonPath: .status.message
priority: 1
description: Message of the ArangoBackupPolicy object
name: Message
type: string
subresources:
status: {}
---
# Source: kube-arangodb-crd/templates/backup.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: arangobackups.backup.arangodb.com
labels:
app.kubernetes.io/name: kube-arangodb-crd
helm.sh/chart: kube-arangodb-crd-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: crd
release: crd
spec:
group: backup.arangodb.com
names:
kind: ArangoBackup
listKind: ArangoBackupList
plural: arangobackups
shortNames:
- arangobackup
singular: arangobackup
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: true
additionalPrinterColumns:
- jsonPath: .spec.policyName
description: Policy name
name: Policy
type: string
- jsonPath: .spec.deployment.name
description: Deployment name
name: Deployment
type: string
- jsonPath: .status.backup.version
description: Backup Version
name: Version
type: string
- jsonPath: .status.backup.createdAt
description: Backup Creation Timestamp
name: Created
type: string
- jsonPath: .status.backup.sizeInBytes
description: Backup Size in Bytes
name: Size
type: integer
format: byte
- jsonPath: .status.backup.numberOfDBServers
description: Backup Number of the DB Servers
name: DBServers
type: integer
- jsonPath: .status.state
description: The actual state of the ArangoBackup
name: State
type: string
- jsonPath: .status.message
priority: 1
description: Message of the ArangoBackup object
name: Message
type: string
subresources:
status: {}
- name: v1alpha
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: false
additionalPrinterColumns:
- jsonPath: .spec.policyName
description: Policy name
name: Policy
type: string
- jsonPath: .spec.deployment.name
description: Deployment name
name: Deployment
type: string
- jsonPath: .status.backup.version
description: Backup Version
name: Version
type: string
- jsonPath: .status.backup.createdAt
description: Backup Creation Timestamp
name: Created
type: string
- jsonPath: .status.backup.sizeInBytes
description: Backup Size in Bytes
name: Size
type: integer
format: byte
- jsonPath: .status.backup.numberOfDBServers
description: Backup Number of the DB Servers
name: DBServers
type: integer
- jsonPath: .status.state
description: The actual state of the ArangoBackup
name: State
type: string
- jsonPath: .status.message
priority: 1
description: Message of the ArangoBackup object
name: Message
type: string
subresources:
status: {}
---
# Source: kube-arangodb-crd/templates/deployment-replications.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: arangodeploymentreplications.replication.database.arangodb.com
labels:
app.kubernetes.io/name: kube-arangodb-crd
helm.sh/chart: kube-arangodb-crd-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: crd
release: crd
spec:
group: replication.database.arangodb.com
names:
kind: ArangoDeploymentReplication
listKind: ArangoDeploymentReplicationList
plural: arangodeploymentreplications
shortNames:
- arangorepl
singular: arangodeploymentreplication
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: true
- name: v1alpha
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: false
- name: v2alpha1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: false
subresources:
status: {}
---
# Source: kube-arangodb-crd/templates/deployment.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: arangodeployments.database.arangodb.com
labels:
app.kubernetes.io/name: kube-arangodb-crd
helm.sh/chart: kube-arangodb-crd-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: crd
release: crd
spec:
group: database.arangodb.com
names:
kind: ArangoDeployment
listKind: ArangoDeploymentList
plural: arangodeployments
shortNames:
- arangodb
- arango
singular: arangodeployment
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: true
- name: v1alpha
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: false
- name: v2alpha1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: false
subresources:
status: {}
---
# Source: kube-arangodb-crd/templates/job.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: arangojobs.apps.arangodb.com
labels:
app.kubernetes.io/name: kube-arangodb-crd
helm.sh/chart: kube-arangodb-crd-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: crd
release: crd
spec:
group: apps.arangodb.com
names:
kind: ArangoJob
listKind: ArangoJobList
plural: arangojobs
singular: arangojob
shortNames:
- arangojob
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: true
additionalPrinterColumns:
- jsonPath: .spec.arangoDeploymentName
description: Deployment name
name: ArangoDeploymentName
type: string
subresources:
status: {}
---
# Source: kube-arangodb-crd/templates/k2kclustersync.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: arangoclustersynchronizations.database.arangodb.com
labels:
app.kubernetes.io/name: kube-arangodb-crd
helm.sh/chart: kube-arangodb-crd-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: crd
release: crd
spec:
group: database.arangodb.com
names:
kind: ArangoClusterSynchronization
listKind: ArangoClusterSynchronizationList
plural: arangoclustersynchronizations
singular: arangoclustersynchronization
shortNames:
- arangoclustersync
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: true
subresources:
status: {}
- name: v2alpha1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: false
subresources:
status: {}
---
# Source: kube-arangodb-crd/templates/member.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: arangomembers.database.arangodb.com
labels:
app.kubernetes.io/name: kube-arangodb-crd
helm.sh/chart: kube-arangodb-crd-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: crd
release: crd
spec:
group: database.arangodb.com
names:
kind: ArangoMember
listKind: ArangoMemberList
plural: arangomembers
shortNames:
- arangomembers
singular: arangomember
scope: Namespaced
versions:
- name: v1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: true
subresources:
status: {}
- name: v2alpha1
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
served: true
storage: false
subresources:
status: {}

View file

@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- enterprise-crd.yaml

View file

@ -0,0 +1,385 @@
---
# Source: kube-arangodb/templates/service-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: arango-deployment-replication-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
---
# Source: kube-arangodb/templates/crd/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-deployment-replication-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch", "update", "delete"]
resourceNames:
- "arangodeployments.database.arangodb.com"
- "arangoclustersynchronizations.database.arangodb.com"
- "arangomembers.database.arangodb.com"
- "arangotasks.database.arangodb.com"
- "arangodeploymentreplications.replication.database.arangodb.com"
- "arangobackups.backup.arangodb.com"
- "arangobackuppolicies.backup.arangodb.com"
- "arangojobs.apps.arangodb.com"
- "arangolocalstorages.storage.arangodb.com"
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-deployment-replication-operator-rbac-deployment-replication
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["namespaces", "nodes"]
verbs: ["get", "list"]
---
# Source: kube-arangodb/templates/crd/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-deployment-replication-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-deployment-replication-operator-rbac-crd
subjects:
- kind: ServiceAccount
name: arango-deployment-replication-operator
namespace: default
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-deployment-replication-operator-rbac-deployment-replication
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-deployment-replication-operator-rbac-deployment-replication
subjects:
- kind: ServiceAccount
name: arango-deployment-replication-operator
namespace: default
---
# Source: kube-arangodb/templates/deployment-replications-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-deployment-replication-operator-rbac-deployment-replication
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
rules:
- apiGroups: ["replication.database.arangodb.com"]
resources: ["arangodeploymentreplications", "arangodeploymentreplications/status"]
verbs: ["*"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments"]
verbs: ["get"]
- apiGroups: [""]
resources: ["pods", "services", "endpoints", "persistentvolumeclaims", "events", "secrets"]
verbs: ["*"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
---
# Source: kube-arangodb/templates/deployment-replications-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-deployment-replication-operator-rbac-deployment-replication
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-deployment-replication-operator-rbac-deployment-replication
subjects:
- kind: ServiceAccount
name: arango-deployment-replication-operator
namespace: default
---
# Source: kube-arangodb/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: arango-deployment-replication-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
spec:
ports:
- name: server
port: 8528
protocol: TCP
targetPort: 8528
- name: http-api
port: 8628
protocol: TCP
targetPort: 8628
- name: grpc-api
port: 8728
protocol: TCP
targetPort: 8728
selector:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
role: leader
type: ClusterIP
---
# Source: kube-arangodb/templates/deployment.yaml
# Scope "legacy" selected
apiVersion: apps/v1
kind: Deployment
metadata:
name: arango-deployment-replication-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
spec:
replicas: 2
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
template:
metadata:
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment-replication
release: deployment-replication
spec:
serviceAccountName: arango-deployment-replication-operator
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/arch
operator: In
values:
- "amd64"
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
topologyKey: "kubernetes.io/hostname"
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- kube-arangodb
- key: app.kubernetes.io/instance
operator: In
values:
- deployment-replication
hostNetwork: false
hostPID: false
hostIPC: false
securityContext:
runAsNonRoot: true
runAsUser: 1000
containers:
- name: operator
imagePullPolicy: Always
image: arangodb/kube-arangodb:1.2.20
args:
- --scope=legacy
- --operator.deployment-replication
- --chaos.allowed=false
env:
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: RELATED_IMAGE_UBI
value: "alpine:3.11"
- name: RELATED_IMAGE_METRICSEXPORTER
value: "arangodb/arangodb-exporter:0.1.7"
- name: RELATED_IMAGE_DATABASE
value: "arangodb/arangodb:latest"
ports:
- name: metrics
containerPort: 8528
securityContext:
privileged: false
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- 'ALL'
livenessProbe:
httpGet:
path: /health
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
tolerations:
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
- key: "node.kubernetes.io/not-ready"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
---
# Source: kube-arangodb/templates/apps-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/apps-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/apps-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/apps-operator/role.yaml
---
# Source: kube-arangodb/templates/apps-operator/service-account-job.yaml
---
# Source: kube-arangodb/templates/backup-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/backup-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/backup-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/backup-operator/role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/default-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/default-role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/role.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role.yaml
---
# Source: kube-arangodb/templates/storage-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/storage-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/storage-operator/crd.yaml
---
# Source: kube-arangodb/templates/storage-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/storage-operator/role.yaml

View file

@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- enterprise-deployment-replication.yaml

View file

@ -0,0 +1,429 @@
---
# Source: kube-arangodb/templates/service-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: arango-deployment-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
---
# Source: kube-arangodb/templates/crd/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-deployment-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch", "update", "delete"]
resourceNames:
- "arangodeployments.database.arangodb.com"
- "arangoclustersynchronizations.database.arangodb.com"
- "arangomembers.database.arangodb.com"
- "arangotasks.database.arangodb.com"
- "arangodeploymentreplications.replication.database.arangodb.com"
- "arangobackups.backup.arangodb.com"
- "arangobackuppolicies.backup.arangodb.com"
- "arangojobs.apps.arangodb.com"
- "arangolocalstorages.storage.arangodb.com"
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-deployment-operator-rbac-deployment
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["namespaces", "nodes", "persistentvolumes"]
verbs: ["get", "list"]
---
# Source: kube-arangodb/templates/crd/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-deployment-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-deployment-operator-rbac-crd
subjects:
- kind: ServiceAccount
name: arango-deployment-operator
namespace: default
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-deployment-operator-rbac-deployment
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-deployment-operator-rbac-deployment
subjects:
- kind: ServiceAccount
name: arango-deployment-operator
namespace: default
---
# Source: kube-arangodb/templates/deployment-operator/default-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-deployment-operator-rbac-default
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get"]
---
# Source: kube-arangodb/templates/deployment-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-deployment-operator-rbac-deployment
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
rules:
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments", "arangodeployments/status","arangomembers", "arangomembers/status"]
verbs: ["*"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangoclustersynchronizations", "arangoclustersynchronizations/status"]
verbs: ["*"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangotasks", "arangotasks/status"]
verbs: ["*"]
- apiGroups: [""]
resources: ["pods", "services", "endpoints", "persistentvolumeclaims", "events", "secrets", "serviceaccounts", "configmaps"]
verbs: ["*"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
- apiGroups: ["policy"]
resources: ["poddisruptionbudgets"]
verbs: ["*"]
- apiGroups: ["backup.arangodb.com"]
resources: ["arangobackuppolicies", "arangobackups"]
verbs: ["get", "list", "watch"]
- apiGroups: ["monitoring.coreos.com"]
resources: ["servicemonitors"]
verbs: ["get", "create", "delete", "update", "list", "watch", "patch"]
---
# Source: kube-arangodb/templates/deployment-operator/default-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-deployment-operator-rbac-default
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-deployment-operator-rbac-default
subjects:
- kind: ServiceAccount
name: default
namespace: default
---
# Source: kube-arangodb/templates/deployment-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-deployment-operator-rbac-deployment
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-deployment-operator-rbac-deployment
subjects:
- kind: ServiceAccount
name: arango-deployment-operator
namespace: default
---
# Source: kube-arangodb/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: arango-deployment-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
spec:
ports:
- name: server
port: 8528
protocol: TCP
targetPort: 8528
- name: http-api
port: 8628
protocol: TCP
targetPort: 8628
- name: grpc-api
port: 8728
protocol: TCP
targetPort: 8728
selector:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
role: leader
type: ClusterIP
---
# Source: kube-arangodb/templates/deployment.yaml
# Scope "legacy" selected
apiVersion: apps/v1
kind: Deployment
metadata:
name: arango-deployment-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
spec:
replicas: 2
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
template:
metadata:
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: deployment
release: deployment
spec:
serviceAccountName: arango-deployment-operator
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/arch
operator: In
values:
- "amd64"
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
topologyKey: "kubernetes.io/hostname"
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- kube-arangodb
- key: app.kubernetes.io/instance
operator: In
values:
- deployment
hostNetwork: false
hostPID: false
hostIPC: false
securityContext:
runAsNonRoot: true
runAsUser: 1000
containers:
- name: operator
imagePullPolicy: Always
image: arangodb/kube-arangodb:1.2.20
args:
- --scope=legacy
- --operator.deployment
- --chaos.allowed=false
env:
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: RELATED_IMAGE_UBI
value: "alpine:3.11"
- name: RELATED_IMAGE_METRICSEXPORTER
value: "arangodb/arangodb-exporter:0.1.7"
- name: RELATED_IMAGE_DATABASE
value: "arangodb/arangodb:latest"
ports:
- name: metrics
containerPort: 8528
securityContext:
privileged: false
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- 'ALL'
livenessProbe:
httpGet:
path: /health
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
tolerations:
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
- key: "node.kubernetes.io/not-ready"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
---
# Source: kube-arangodb/templates/apps-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/apps-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/apps-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/apps-operator/role.yaml
---
# Source: kube-arangodb/templates/apps-operator/service-account-job.yaml
---
# Source: kube-arangodb/templates/backup-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/backup-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/backup-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/backup-operator/role.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/role.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role.yaml
---
# Source: kube-arangodb/templates/storage-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/storage-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/storage-operator/crd.yaml
---
# Source: kube-arangodb/templates/storage-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/storage-operator/role.yaml

View file

@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- enterprise-deployment.yaml

View file

@ -0,0 +1,385 @@
---
# Source: kube-arangodb/templates/service-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: arango-k2kclustersync-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
---
# Source: kube-arangodb/templates/crd/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-k2kclustersync-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch", "update", "delete"]
resourceNames:
- "arangodeployments.database.arangodb.com"
- "arangoclustersynchronizations.database.arangodb.com"
- "arangomembers.database.arangodb.com"
- "arangotasks.database.arangodb.com"
- "arangodeploymentreplications.replication.database.arangodb.com"
- "arangobackups.backup.arangodb.com"
- "arangobackuppolicies.backup.arangodb.com"
- "arangojobs.apps.arangodb.com"
- "arangolocalstorages.storage.arangodb.com"
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-k2kclustersync-operator-rbac-k2kclustersync
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/crd/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-k2kclustersync-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-k2kclustersync-operator-rbac-crd
subjects:
- kind: ServiceAccount
name: arango-k2kclustersync-operator
namespace: default
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-k2kclustersync-operator-rbac-k2kclustersync
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-k2kclustersync-operator-rbac-k2kclustersync
subjects:
- kind: ServiceAccount
name: arango-k2kclustersync-operator
namespace: default
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-k2kclustersync-operator-rbac-k2kclustersync
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
rules:
- apiGroups: [""]
resources: ["pods", "services", "endpoints"]
verbs: ["get", "update"]
- apiGroups: [""]
resources: ["events"]
verbs: ["*"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments", "arangoclustersynchronizations"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-k2kclustersync-operator-rbac-k2kclustersync
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-k2kclustersync-operator-rbac-k2kclustersync
subjects:
- kind: ServiceAccount
name: arango-k2kclustersync-operator
namespace: default
---
# Source: kube-arangodb/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: arango-k2kclustersync-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
spec:
ports:
- name: server
port: 8528
protocol: TCP
targetPort: 8528
- name: http-api
port: 8628
protocol: TCP
targetPort: 8628
- name: grpc-api
port: 8728
protocol: TCP
targetPort: 8728
selector:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
role: leader
type: ClusterIP
---
# Source: kube-arangodb/templates/deployment.yaml
# Scope "legacy" selected
apiVersion: apps/v1
kind: Deployment
metadata:
name: arango-k2kclustersync-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
spec:
replicas: 2
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
template:
metadata:
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
spec:
serviceAccountName: arango-k2kclustersync-operator
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/arch
operator: In
values:
- "amd64"
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
topologyKey: "kubernetes.io/hostname"
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- kube-arangodb
- key: app.kubernetes.io/instance
operator: In
values:
- k2kclustersync
hostNetwork: false
hostPID: false
hostIPC: false
securityContext:
runAsNonRoot: true
runAsUser: 1000
containers:
- name: operator
imagePullPolicy: Always
image: arangodb/kube-arangodb:1.2.20
args:
- --scope=legacy
- --operator.k2k-cluster-sync
- --chaos.allowed=false
env:
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: RELATED_IMAGE_UBI
value: "alpine:3.11"
- name: RELATED_IMAGE_METRICSEXPORTER
value: "arangodb/arangodb-exporter:0.1.7"
- name: RELATED_IMAGE_DATABASE
value: "arangodb/arangodb:latest"
ports:
- name: metrics
containerPort: 8528
securityContext:
privileged: false
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- 'ALL'
livenessProbe:
httpGet:
path: /health
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
tolerations:
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
- key: "node.kubernetes.io/not-ready"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
---
# Source: kube-arangodb/templates/apps-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/apps-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/apps-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/apps-operator/role.yaml
---
# Source: kube-arangodb/templates/apps-operator/service-account-job.yaml
---
# Source: kube-arangodb/templates/backup-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/backup-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/backup-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/backup-operator/role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/default-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/default-role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/role.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/role.yaml
---
# Source: kube-arangodb/templates/storage-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/storage-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/storage-operator/crd.yaml
---
# Source: kube-arangodb/templates/storage-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/storage-operator/role.yaml

View file

@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- enterprise-k2kclustersync.yaml

View file

@ -0,0 +1,421 @@
---
# Source: kube-arangodb/templates/service-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: arango-storage-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
---
# Source: kube-arangodb/templates/storage-operator/crd.yaml
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: arangolocalstorages.storage.arangodb.com
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
spec:
group: storage.arangodb.com
names:
kind: ArangoLocalStorage
listKind: ArangoLocalStorageList
plural: arangolocalstorages
shortNames:
- arangostorage
singular: arangolocalstorage
scope: Cluster
versions:
- name: v1alpha
served: true
storage: true
schema:
openAPIV3Schema:
type: object
x-kubernetes-preserve-unknown-fields: true
---
# Source: kube-arangodb/templates/crd/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-storage-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch", "update", "delete"]
resourceNames:
- "arangodeployments.database.arangodb.com"
- "arangoclustersynchronizations.database.arangodb.com"
- "arangomembers.database.arangodb.com"
- "arangotasks.database.arangodb.com"
- "arangodeploymentreplications.replication.database.arangodb.com"
- "arangobackups.backup.arangodb.com"
- "arangobackuppolicies.backup.arangodb.com"
- "arangojobs.apps.arangodb.com"
- "arangolocalstorages.storage.arangodb.com"
---
# Source: kube-arangodb/templates/storage-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-storage-operator-rbac-storage
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
rules:
- apiGroups: [""]
resources: ["persistentvolumes", "persistentvolumeclaims", "endpoints", "events", "services"]
verbs: ["*"]
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
- apiGroups: [""]
resources: ["namespaces", "nodes"]
verbs: ["get", "list"]
- apiGroups: ["storage.k8s.io"]
resources: ["storageclasses"]
verbs: ["*"]
- apiGroups: ["storage.arangodb.com"]
resources: ["arangolocalstorages"]
verbs: ["*"]
---
# Source: kube-arangodb/templates/crd/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-storage-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-storage-operator-rbac-crd
subjects:
- kind: ServiceAccount
name: arango-storage-operator
namespace: default
---
# Source: kube-arangodb/templates/storage-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-storage-operator-rbac-storage
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-storage-operator-rbac-storage
subjects:
- kind: ServiceAccount
name: arango-storage-operator
namespace: default
---
# Source: kube-arangodb/templates/storage-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-storage-operator-rbac-storage
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
rules:
- apiGroups: [""]
resources: ["pods"]
verbs: ["get", "update"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
- apiGroups: ["apps"]
resources: ["daemonsets"]
verbs: ["*"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
---
# Source: kube-arangodb/templates/storage-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-storage-operator-rbac-storage
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-storage-operator-rbac-storage
subjects:
- kind: ServiceAccount
name: arango-storage-operator
namespace: default
---
# Source: kube-arangodb/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: arango-storage-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
spec:
ports:
- name: server
port: 8528
protocol: TCP
targetPort: 8528
- name: http-api
port: 8628
protocol: TCP
targetPort: 8628
- name: grpc-api
port: 8728
protocol: TCP
targetPort: 8728
selector:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
role: leader
type: ClusterIP
---
# Source: kube-arangodb/templates/deployment.yaml
# Scope "legacy" selected
apiVersion: apps/v1
kind: Deployment
metadata:
name: arango-storage-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
spec:
replicas: 2
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
template:
metadata:
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: storage
release: storage
spec:
serviceAccountName: arango-storage-operator
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/arch
operator: In
values:
- "amd64"
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
topologyKey: "kubernetes.io/hostname"
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- kube-arangodb
- key: app.kubernetes.io/instance
operator: In
values:
- storage
hostNetwork: false
hostPID: false
hostIPC: false
securityContext:
runAsNonRoot: true
runAsUser: 1000
containers:
- name: operator
imagePullPolicy: Always
image: arangodb/kube-arangodb:1.2.20
args:
- --scope=legacy
- --operator.storage
- --chaos.allowed=false
env:
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: RELATED_IMAGE_UBI
value: "alpine:3.11"
- name: RELATED_IMAGE_METRICSEXPORTER
value: "arangodb/arangodb-exporter:0.1.7"
- name: RELATED_IMAGE_DATABASE
value: "arangodb/arangodb:latest"
ports:
- name: metrics
containerPort: 8528
securityContext:
privileged: false
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- 'ALL'
livenessProbe:
httpGet:
path: /health
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
tolerations:
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
- key: "node.kubernetes.io/not-ready"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
---
# Source: kube-arangodb/templates/apps-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/apps-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/apps-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/apps-operator/role.yaml
---
# Source: kube-arangodb/templates/apps-operator/service-account-job.yaml
---
# Source: kube-arangodb/templates/backup-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/backup-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/backup-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/backup-operator/role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/default-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/default-role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/role.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/role.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role.yaml

View file

@ -0,0 +1,5 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- enterprise-storage.yaml

View file

@ -0,0 +1,385 @@
---
# Source: kube-arangodb/templates/service-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: arango-k2kclustersync-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
---
# Source: kube-arangodb/templates/crd/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-k2kclustersync-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch", "update", "delete"]
resourceNames:
- "arangodeployments.database.arangodb.com"
- "arangoclustersynchronizations.database.arangodb.com"
- "arangomembers.database.arangodb.com"
- "arangotasks.database.arangodb.com"
- "arangodeploymentreplications.replication.database.arangodb.com"
- "arangobackups.backup.arangodb.com"
- "arangobackuppolicies.backup.arangodb.com"
- "arangojobs.apps.arangodb.com"
- "arangolocalstorages.storage.arangodb.com"
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: arango-k2kclustersync-operator-rbac-k2kclustersync
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
rules:
- apiGroups: ["apiextensions.k8s.io"]
resources: ["customresourcedefinitions"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/crd/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-k2kclustersync-operator-rbac-crd
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-k2kclustersync-operator-rbac-crd
subjects:
- kind: ServiceAccount
name: arango-k2kclustersync-operator
namespace: default
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: arango-k2kclustersync-operator-rbac-k2kclustersync
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: arango-k2kclustersync-operator-rbac-k2kclustersync
subjects:
- kind: ServiceAccount
name: arango-k2kclustersync-operator
namespace: default
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: arango-k2kclustersync-operator-rbac-k2kclustersync
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
rules:
- apiGroups: [""]
resources: ["pods", "services", "endpoints"]
verbs: ["get", "update"]
- apiGroups: [""]
resources: ["events"]
verbs: ["*"]
- apiGroups: [""]
resources: ["secrets"]
verbs: ["get"]
- apiGroups: ["apps"]
resources: ["deployments", "replicasets"]
verbs: ["get"]
- apiGroups: ["database.arangodb.com"]
resources: ["arangodeployments", "arangoclustersynchronizations"]
verbs: ["get", "list", "watch"]
---
# Source: kube-arangodb/templates/k2k-cluster-sync-operator/role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: arango-k2kclustersync-operator-rbac-k2kclustersync
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: arango-k2kclustersync-operator-rbac-k2kclustersync
subjects:
- kind: ServiceAccount
name: arango-k2kclustersync-operator
namespace: default
---
# Source: kube-arangodb/templates/service.yaml
apiVersion: v1
kind: Service
metadata:
name: arango-k2kclustersync-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
spec:
ports:
- name: server
port: 8528
protocol: TCP
targetPort: 8528
- name: http-api
port: 8628
protocol: TCP
targetPort: 8628
- name: grpc-api
port: 8728
protocol: TCP
targetPort: 8728
selector:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
role: leader
type: ClusterIP
---
# Source: kube-arangodb/templates/deployment.yaml
# Scope "legacy" selected
apiVersion: apps/v1
kind: Deployment
metadata:
name: arango-k2kclustersync-operator
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
spec:
replicas: 2
strategy:
type: Recreate
selector:
matchLabels:
app.kubernetes.io/name: kube-arangodb
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
template:
metadata:
labels:
app.kubernetes.io/name: kube-arangodb
helm.sh/chart: kube-arangodb-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: k2kclustersync
release: k2kclustersync
spec:
serviceAccountName: arango-k2kclustersync-operator
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/arch
operator: In
values:
- "amd64"
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
topologyKey: "kubernetes.io/hostname"
labelSelector:
matchExpressions:
- key: app.kubernetes.io/name
operator: In
values:
- kube-arangodb
- key: app.kubernetes.io/instance
operator: In
values:
- k2kclustersync
hostNetwork: false
hostPID: false
hostIPC: false
securityContext:
runAsNonRoot: true
runAsUser: 1000
containers:
- name: operator
imagePullPolicy: Always
image: arangodb/kube-arangodb:1.2.20
args:
- --scope=legacy
- --operator.k2k-cluster-sync
- --chaos.allowed=false
env:
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
- name: RELATED_IMAGE_UBI
value: "alpine:3.11"
- name: RELATED_IMAGE_METRICSEXPORTER
value: "arangodb/arangodb-exporter:0.1.7"
- name: RELATED_IMAGE_DATABASE
value: "arangodb/arangodb:latest"
ports:
- name: metrics
containerPort: 8528
securityContext:
privileged: false
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- 'ALL'
livenessProbe:
httpGet:
path: /health
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
readinessProbe:
httpGet:
path: /ready
port: 8528
scheme: HTTPS
initialDelaySeconds: 5
periodSeconds: 10
tolerations:
- key: "node.kubernetes.io/unreachable"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
- key: "node.kubernetes.io/not-ready"
operator: "Exists"
effect: "NoExecute"
tolerationSeconds: 5
---
# Source: kube-arangodb/templates/apps-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/apps-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/apps-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/apps-operator/role.yaml
---
# Source: kube-arangodb/templates/apps-operator/service-account-job.yaml
---
# Source: kube-arangodb/templates/backup-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/backup-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/backup-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/backup-operator/role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/default-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/default-role.yaml
---
# Source: kube-arangodb/templates/deployment-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-operator/role.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/deployment-replications-operator/role.yaml
---
# Source: kube-arangodb/templates/storage-operator/cluster-role-binding.yaml
---
# Source: kube-arangodb/templates/storage-operator/cluster-role.yaml
---
# Source: kube-arangodb/templates/storage-operator/crd.yaml
---
# Source: kube-arangodb/templates/storage-operator/role-binding.yaml
---
# Source: kube-arangodb/templates/storage-operator/role.yaml

View file

@ -1,34 +0,0 @@
---
# Source: kube-arangodb-test/templates/service-account.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: test
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb-test
helm.sh/chart: kube-arangodb-test-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: test
release: test
---
# Source: kube-arangodb-test/templates/cluster-role-binding.yaml
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: kube-arangodb-test-test
namespace: default
labels:
app.kubernetes.io/name: kube-arangodb-test
helm.sh/chart: kube-arangodb-test-1.2.20
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/instance: test
release: test
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: test
namespace: default

View file

@ -1,19 +0,0 @@
#!/bin/bash
# Collect logs from kube-arangodb operators
NS=$1
POSTFIX=$2
if [ -z $NS ]; then
echo "Specify a namespace argument"
exit 1
fi
if [ -z $POSTFIX ]; then
echo "Specify a postfix argument"
exit 1
fi
mkdir -p ./logs
kubectl logs -n ${NS} --selector=name=arango-deployment-operator &> ./logs/deployment-${POSTFIX}.log
kubectl logs -n kube-system --selector=name=arango-storage-operator &> ./logs/storage-${POSTFIX}.log

View file

@ -1,28 +0,0 @@
#!/bin/bash
# Sets the configuration of the cluster in a ConfigMap in kube-system.
cluster=$(kubectl config current-context)
echo "Configuring cluster $cluster"
read -p "Does the cluster require local storage (Y/n)? " answer
case ${answer:0:1} in
n|N )
REQUIRE_LOCAL_STORAGE=
;;
* )
REQUIRE_LOCAL_STORAGE=1
;;
esac
mapname="arango-operator-test"
configfile=$(mktemp)
cat <<EOF > $configfile
REQUIRE_LOCAL_STORAGE=${REQUIRE_LOCAL_STORAGE}
EOF
kubectl delete configmap $mapname -n kube-system --ignore-not-found
kubectl create configmap $mapname -n kube-system --from-env-file=$configfile || exit 1
echo Stored configuration:
cat $configfile
rm $configfile

View file

@ -1,33 +0,0 @@
#!/bin/bash
NS=$1
if [ -z "$NS" ]; then
echo "Specify a namespace argument"
exit 1
fi
if [ -z "$2" ]; then
echo "No secret set"
exit 0
fi
case $(uname) in
Darwin)
SECRET=$(echo -n $2 | base64 -b 0)
;;
*)
SECRET=$(echo -n $2 | base64 -w 0)
;;
esac
kubectl apply -f - <<EOF
apiVersion: v1
data:
token: ${SECRET}
kind: Secret
metadata:
name: arangodb-backup-remote-secret
namespace: ${NS}
type: Opaque
EOF

View file

@ -1,33 +0,0 @@
#!/bin/bash
NS=$1
if [ -z "$NS" ]; then
echo "Specify a namespace argument"
exit 1
fi
if [ -z "$2" ]; then
echo "No enterprise license set"
exit 0
fi
case $(uname) in
Darwin)
LICENSE=$(echo -n "$2" | base64 -b 0)
;;
*)
LICENSE=$(echo -n "$2" | base64 -w 0)
;;
esac
kubectl apply -f - <<EOF
apiVersion: v1
data:
token: ${LICENSE}
kind: Secret
metadata:
name: arangodb-jenkins-license-key
namespace: ${NS}
type: Opaque
EOF

View file

@ -1,24 +0,0 @@
#!/bin/bash
# Create the local storage in the cluster if the cluster needs it.
NS=$1
if [ -z $NS ]; then
echo "Specify a namespace argument"
exit 1
fi
# Fetch cluster config
mapname="arango-operator-test"
eval $(kubectl get configmap $mapname -n kube-system --ignore-not-found --template='{{ range $key, $value := .data }}export {{$key}}={{$value}}
{{ end }}')
if [ "${REQUIRE_LOCAL_STORAGE}" = "1" ]; then
echo "Preparing local storage"
kubectl apply -n $NS -f examples/arango-local-storage.yaml || exit 1
else
echo "No local storage needed for this cluster"
fi
echo "Found $(kubectl get pv | wc -l) PersistentVolumes"
echo "Found $(kubectl get pv | grep Available | wc -l) available PersistentVolumes"

View file

@ -1,21 +0,0 @@
#!/bin/bash
# Delete a namespace and wait until it is gone
NS=$1
if [ -z $NS ]; then
echo "Specify a namespace argument"
exit 1
fi
kubectl delete namespace $NS --now --ignore-not-found
# Wait until its really gone
while :; do
response=$(kubectl get namespace $NS --template="non-empty" --ignore-not-found)
if [ -z $response ]; then
break
fi
sleep 0.5
done

View file

@ -1,26 +0,0 @@
#!/bin/bash
# Run kubectl run to run the integration tests.
DEPLOYMENTNAMESPACE=$1
ARANGODIMAGE=$2
ARANGOSYNCIMAGE=$3
ARANOSYNCTESTIMAGE=$4
ARANOSYNCTESTCTRLIMAGE=$5
TESTARGS=$6
ARANGOSYNCIMAGEID=$(docker inspect ${ARANGOSYNCIMAGE} '--format={{index .RepoDigests 0}}')
ARANOSYNCTESTIMAGEID=$(docker inspect ${ARANOSYNCTESTIMAGE} '--format={{index .RepoDigests 0}}')
ARANOSYNCTESTCTRLIMAGEID=$(docker inspect ${ARANOSYNCTESTCTRLIMAGE} '--format={{index .RepoDigests 0}}')
kubectl --namespace ${DEPLOYMENTNAMESPACE} \
run kube-arangosync-test-controller -i --rm --quiet --restart=Never \
--image=${ARANOSYNCTESTCTRLIMAGEID} \
-- \
--arango-image=${ARANGODIMAGE} \
--arango-sync-image=${ARANGOSYNCIMAGEID} \
--arango-sync-test-image=${ARANOSYNCTESTIMAGEID} \
--license-key-secret-name=arangodb-jenkins-license-key \
--namespace=${DEPLOYMENTNAMESPACE} \
--serviceaccount=arangodb-test \
--test-args="${TESTARGS}"

View file

@ -1,27 +0,0 @@
#!/bin/bash
# Run kubectl run to run the integration tests.
DEPLOYMENTNAMESPACE=$1
TESTIMAGE=$2
ARANGODIMAGE=$3
ENTERPRISEIMAGE=$4
TESTTIMEOUT=$5
TESTLENGTHOPTIONS=$6
TESTOPTIONS=$7
TESTREPOPATH=$8
IMAGEID=$(docker inspect ${TESTIMAGE} '--format={{index .RepoDigests 0}}')
kubectl --namespace ${DEPLOYMENTNAMESPACE} \
run arangodb-operator-test -i --restart=Never \
--image=${IMAGEID} \
--env="ENTERPRISEIMAGE=${ENTERPRISEIMAGE}" \
--env="ARANGODIMAGE=${ARANGODIMAGE}" \
--env="TEST_NAMESPACE=${DEPLOYMENTNAMESPACE}" \
--env="CLEANDEPLOYMENTS=${CLEANDEPLOYMENTS}" \
--env="TESTDISABLEIPV6=${TESTDISABLEIPV6}" \
--serviceaccount=arangodb-test \
--env="TEST_REMOTE_REPOSITORY=${TESTREPOPATH}" \
-- \
-test.v -test.timeout $TESTTIMEOUT $TESTLENGTHOPTIONS $TESTOPTIONS

View file

@ -24,7 +24,7 @@ function replaceInFile {
esac
}
for f in kube-arangodb kube-arangodb-crd kube-arangodb-test; do
for f in kube-arangodb kube-arangodb-crd; do
replaceInFile "s@^version: .*\$@version: ${VERSION}@g" "chart/${f}/Chart.yaml"
if [[ -f "chart/${f}/values.yaml" ]]; then
replaceInFile "s@^ image: .*\$@ image: ${IMAGE}@g" "chart/${f}/values.yaml"

View file

@ -30,4 +30,5 @@ for FILE in ${FILES}; do
replaceInFile "s@arangodb/arangodb:[0-9]+\\.[0-9]+\\.[0-9]+@arangodb/arangodb:${ARANGODB_VERSION}@g" ${FILE}
replaceInFile "s@arangodb/enterprise:[0-9]+\\.[0-9]+\\.[0-9]+@arangodb/enterprise:${ARANGODB_VERSION}@g" ${FILE}
replaceInFile "s@arangodb/kube-arangodb:[0-9]+\\.[0-9]+\\.[0-9]+@arangodb/kube-arangodb:${VERSION}@g" ${FILE}
replaceInFile "s@arangodb/kube-arangodb-enterprise:[0-9]+\\.[0-9]+\\.[0-9]+@arangodb/kube-arangodb-enterprise:${VERSION}@g" ${FILE}
done

View file

@ -25,10 +25,19 @@ function replaceInFile {
f=README.md
replaceInFile "s@arangodb/kube-arangodb:[0-9]+\.[0-9]+\.[0-9]+@arangodb/kube-arangodb:${VERSION}@g" ${f}
replaceInFile "s@arangodb/kube-arangodb-enterprise:[0-9]+\.[0-9]+\.[0-9]+@arangodb/kube-arangodb-enterprise:${VERSION}@g" ${f}
replaceInFile "s@^kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/.*/manifests/arango-crd.yaml\$@kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/${VERSION}/manifests/arango-crd.yaml@g" ${f}
replaceInFile "s@^kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/.*/manifests/arango-deployment.yaml\$@kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/${VERSION}/manifests/arango-deployment.yaml@g" ${f}
replaceInFile "s@^kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/.*/manifests/arango-deployment-replication.yaml\$@kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/${VERSION}/manifests/arango-deployment-replication.yaml@g" ${f}
replaceInFile "s@^kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/.*/manifests/arango-storage.yaml\$@kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/${VERSION}/manifests/arango-storage.yaml@g" ${f}
replaceInFile "s@^kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/.*/manifests/enterprise-crd.yaml\$@kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/${VERSION}/manifests/enterprise-crd.yaml@g" ${f}
replaceInFile "s@^kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/.*/manifests/enterprise-deployment.yaml\$@kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/${VERSION}/manifests/enterprise-deployment.yaml@g" ${f}
replaceInFile "s@^kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/.*/manifests/enterprise-deployment-replication.yaml\$@kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/${VERSION}/manifests/enterprise-deployment-replication.yaml@g" ${f}
replaceInFile "s@^kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/.*/manifests/enterprise-storage.yaml\$@kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/${VERSION}/manifests/enterprise-storage.yaml@g" ${f}
replaceInFile "s@https://github\.com/arangodb/kube-arangodb/releases/download/.*/kube-arangodb-crd-[[:digit:]].*\.tgz@https://github.com/arangodb/kube-arangodb/releases/download/${VERSION}/kube-arangodb-crd-${VERSION}.tgz@g" ${f}
replaceInFile "s@https://github\.com/arangodb/kube-arangodb/releases/download/.*/kube-arangodb-[[:digit:]].*\.tgz@https://github.com/arangodb/kube-arangodb/releases/download/${VERSION}/kube-arangodb-${VERSION}.tgz@g" ${f}