Skip to content

Commit

Permalink
Merge branch 'master' into test/acceptance-dc2dc
Browse files Browse the repository at this point in the history
  • Loading branch information
neunhoef authored Oct 23, 2018
2 parents 421a8b5 + c02b089 commit 9019165
Show file tree
Hide file tree
Showing 43 changed files with 417 additions and 118 deletions.
17 changes: 17 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
# Change Log

## [0.3.1](https://github.com/arangodb/kube-arangodb/tree/0.3.1) (2018-09-25)
[Full Changelog](https://github.com/arangodb/kube-arangodb/compare/0.3.0...0.3.1)

**Closed issues:**

- Helm chart not deploying custom resource definitions [\#254](https://github.com/arangodb/kube-arangodb/issues/254)
- `go get` failing due to nonexistent arangodb/arangosync repo [\#249](https://github.com/arangodb/kube-arangodb/issues/249)
- Helm chart download links broken \(404\) [\#248](https://github.com/arangodb/kube-arangodb/issues/248)
- Make it easy to deploy in another namespace [\#230](https://github.com/arangodb/kube-arangodb/issues/230)
- Deployment Failed to Start in different Namespace other than Default [\#223](https://github.com/arangodb/kube-arangodb/issues/223)

**Merged pull requests:**

- Bugfix/sed on linux [\#259](https://github.com/arangodb/kube-arangodb/pull/259)
- README updates, removing `kubectl apply -f crd.yaml` [\#256](https://github.com/arangodb/kube-arangodb/pull/256)
- Include CRD in helm chart [\#255](https://github.com/arangodb/kube-arangodb/pull/255)

## [0.3.0](https://github.com/arangodb/kube-arangodb/tree/0.3.0) (2018-09-07)
[Full Changelog](https://github.com/arangodb/kube-arangodb/compare/0.2.2...0.3.0)

Expand Down
4 changes: 3 additions & 1 deletion Jenkinsfile.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ def buildTestSteps(Map myParams, String kubeConfigRoot, String kubeconfig) {
"DEPLOYMENTNAMESPACE=${myParams.TESTNAMESPACE}-${env.GIT_COMMIT}",
"DOCKERNAMESPACE=${myParams.DOCKERNAMESPACE}",
"ENTERPRISEIMAGE=${myParams.ENTERPRISEIMAGE}",
"ARANGODIMAGE=${myParams.ARANGODIMAGE}",
"IMAGETAG=jenkins-test",
"KUBECONFIG=${kubeConfigRoot}/${kubeconfig}",
"LONG=${myParams.LONG ? 1 : 0}",
Expand Down Expand Up @@ -129,7 +130,8 @@ pipeline {
string(name: 'DOCKERNAMESPACE', defaultValue: 'arangodb', description: 'DOCKERNAMESPACE sets the docker registry namespace in which the operator docker image will be pushed', )
string(name: 'KUBECONFIGS', defaultValue: 'kube-ams1,scw-183a3b', description: 'KUBECONFIGS is a comma separated list of Kubernetes configuration files (relative to /home/jenkins/.kube) on which the tests are run', )
string(name: 'TESTNAMESPACE', defaultValue: 'jenkins', description: 'TESTNAMESPACE sets the kubernetes namespace to ru tests in (this must be short!!)', )
string(name: 'ENTERPRISEIMAGE', defaultValue: '', description: 'ENTERPRISEIMAGE sets the docker image used for enterprise tests)', )
string(name: 'ENTERPRISEIMAGE', defaultValue: '', description: 'ENTERPRISEIMAGE sets the docker image used for enterprise tests', )
string(name: 'ARANGODIMAGE', defaultValue: '', description: 'ARANGODIMAGE sets the docker image used for tests (except enterprise and update tests)', )
string(name: 'TESTOPTIONS', defaultValue: '', description: 'TESTOPTIONS is used to pass additional test options to the integration test', )
}
stages {
Expand Down
32 changes: 15 additions & 17 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -27,20 +27,20 @@ GOVERSION := 1.10.0-alpine
PULSAR := $(GOBUILDDIR)/bin/pulsar$(shell go env GOEXE)
GOASSETSBUILDER := $(GOBUILDDIR)/bin/go-assets-builder$(shell go env GOEXE)

DOCKERFILE := Dockerfile
DOCKERFILE := Dockerfile
DOCKERTESTFILE := Dockerfile.test
DOCKERDURATIONTESTFILE := tests/duration/Dockerfile

ifndef LOCALONLY
ifndef LOCALONLY
PUSHIMAGES := 1
IMAGESHA256 := true
else
IMAGESHA256 := false
endif

ifdef IMAGETAG
ifdef IMAGETAG
IMAGESUFFIX := :$(IMAGETAG)
else
else
IMAGESUFFIX := :dev
endif

Expand Down Expand Up @@ -84,8 +84,8 @@ TESTBINNAME := $(PROJECT)_test
TESTBIN := $(BINDIR)/$(TESTBINNAME)
DURATIONTESTBINNAME := $(PROJECT)_duration_test
DURATIONTESTBIN := $(BINDIR)/$(DURATIONTESTBINNAME)
RELEASE := $(GOBUILDDIR)/bin/release
GHRELEASE := $(GOBUILDDIR)/bin/github-release
RELEASE := $(GOBUILDDIR)/bin/release
GHRELEASE := $(GOBUILDDIR)/bin/github-release

TESTLENGTHOPTIONS := -test.short
TESTTIMEOUT := 20m
Expand All @@ -94,7 +94,7 @@ ifeq ($(LONG), 1)
TESTTIMEOUT := 180m
endif
ifdef VERBOSE
TESTVERBOSEOPTIONS := -v
TESTVERBOSEOPTIONS := -v
endif

SOURCES := $(shell find $(SRCDIR) -name '*.go' -not -path './test/*')
Expand Down Expand Up @@ -176,7 +176,7 @@ update-vendor:
# Manually restore arangosync vendor with: git checkout deps/github.com/arangodb/arangosync

.PHONY: update-generated
update-generated: $(GOBUILDDIR)
update-generated: $(GOBUILDDIR)
@docker build $(SRCDIR)/tools/codegen --build-arg GOVERSION=$(GOVERSION) -t k8s-codegen
docker run \
--rm \
Expand Down Expand Up @@ -232,7 +232,7 @@ ifdef PUSHIMAGES
docker push $(OPERATORIMAGE)
endif

# Manifests
# Manifests

.PHONY: manifests
manifests: $(GOBUILDDIR)
Expand Down Expand Up @@ -268,7 +268,7 @@ run-unit-tests: $(GOBUILDDIR) $(SOURCES)
$(REPOPATH)/pkg/util/k8sutil \
$(REPOPATH)/pkg/util/k8sutil/test \
$(REPOPATH)/pkg/util/probe \
$(REPOPATH)/pkg/util/validation
$(REPOPATH)/pkg/util/validation

$(TESTBIN): $(GOBUILDDIR) $(SOURCES)
@mkdir -p $(BINDIR)
Expand Down Expand Up @@ -299,13 +299,12 @@ ifneq ($(DEPLOYMENTNAMESPACE), default)
$(ROOTDIR)/scripts/kube_delete_namespace.sh $(DEPLOYMENTNAMESPACE)
kubectl create namespace $(DEPLOYMENTNAMESPACE)
endif
kubectl apply -f manifests/crd.yaml
kubectl apply -f $(MANIFESTPATHSTORAGE)
kubectl apply -f $(MANIFESTPATHDEPLOYMENT)
kubectl apply -f $(MANIFESTPATHDEPLOYMENTREPLICATION)
kubectl apply -f $(MANIFESTPATHTEST)
$(ROOTDIR)/scripts/kube_create_storage.sh $(DEPLOYMENTNAMESPACE)
$(ROOTDIR)/scripts/kube_run_tests.sh $(DEPLOYMENTNAMESPACE) $(TESTIMAGE) "$(ENTERPRISEIMAGE)" $(TESTTIMEOUT) $(TESTLENGTHOPTIONS)
$(ROOTDIR)/scripts/kube_run_tests.sh $(DEPLOYMENTNAMESPACE) $(TESTIMAGE) "$(ARANGODIMAGE)" "$(ENTERPRISEIMAGE)" $(TESTTIMEOUT) $(TESTLENGTHOPTIONS)

$(DURATIONTESTBIN): $(GOBUILDDIR) $(SOURCES)
@mkdir -p $(BINDIR)
Expand Down Expand Up @@ -377,20 +376,20 @@ $(RELEASE): $(GOBUILDDIR) $(SOURCES) $(GHRELEASE)
.PHONY: build-ghrelease
build-ghrelease: $(GHRELEASE)

$(GHRELEASE): $(GOBUILDDIR)
$(GHRELEASE): $(GOBUILDDIR)
GOPATH=$(GOBUILDDIR) go build -o $(GHRELEASE) github.com/aktau/github-release

.PHONY: release-patch
release-patch: $(RELEASE)
GOPATH=$(GOBUILDDIR) $(RELEASE) -type=patch
GOPATH=$(GOBUILDDIR) $(RELEASE) -type=patch

.PHONY: release-minor
release-minor: $(RELEASE)
GOPATH=$(GOBUILDDIR) $(RELEASE) -type=minor

.PHONY: release-major
release-major: $(RELEASE)
GOPATH=$(GOBUILDDIR) $(RELEASE) -type=major
GOPATH=$(GOBUILDDIR) $(RELEASE) -type=major

## Kubernetes utilities

Expand All @@ -407,9 +406,8 @@ delete-operator:

.PHONY: redeploy-operator
redeploy-operator: delete-operator manifests
kubectl apply -f manifests/crd.yaml
kubectl apply -f $(MANIFESTPATHSTORAGE)
kubectl apply -f $(MANIFESTPATHDEPLOYMENT)
kubectl apply -f $(MANIFESTPATHDEPLOYMENTREPLICATION)
kubectl apply -f $(MANIFESTPATHTEST)
kubectl get pods
kubectl get pods
12 changes: 5 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,27 +41,25 @@ it is intended to be.
```bash
# The following will install the operator for `ArangoDeployment` &
# `ArangoDeplomentReplication` resources.
helm install https://github.com/arangodb/kube-arangodb/releases/download/0.3.0/kube-arangodb.tgz
helm install https://github.com/arangodb/kube-arangodb/releases/download/0.3.1/kube-arangodb.tgz
# To use `ArangoLocalStorage`, also run
helm install https://github.com/arangodb/kube-arangodb/releases/download/0.3.0/kube-arangodb-storage.tgz
helm install https://github.com/arangodb/kube-arangodb/releases/download/0.3.1/kube-arangodb-storage.tgz
```

## Installation of latest release using Kubectl

```bash
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/0.3.0/manifests/crd.yaml
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/0.3.0/manifests/arango-deployment.yaml
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/0.3.1/manifests/arango-deployment.yaml
# To use `ArangoLocalStorage`, also run
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/0.3.0/manifests/arango-storage.yaml
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/0.3.1/manifests/arango-storage.yaml
# To use `ArangoDeploymentReplication`, also run
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/0.3.0/manifests/arango-deployment-replication.yaml
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/0.3.1/manifests/arango-deployment-replication.yaml
```

## Building

```bash
DOCKERNAMESPACE=<your dockerhub account> make
kubectl apply -f manifests/crd.yaml
kubectl apply -f manifests/arango-deployment-dev.yaml
# To use `ArangoLocalStorage`, also run
kubectl apply -f manifests/arango-storage-dev.yaml
Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.3.0+git
0.3.1+git
6 changes: 4 additions & 2 deletions docs/Manual/Deployment/Kubernetes/DeploymentResource.md
Original file line number Diff line number Diff line change
Expand Up @@ -325,10 +325,12 @@ servers.
When not specified, no monitoring token is used.
The default value is empty.

### `spec.ipv6.forbidden: bool`
### `spec.disableIPV6: bool`

This setting prevents the use of IPv6 addresses by ArangoDB servers.
The default is `false`.
The default is `false`.

This setting cannot be changed after the deployment has been created.

### `spec.<group>.count: number`

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ additions:
## Load balancer

If you want full control of the `Services` needed to access the ArangoDB deployment
from outside your Kubernetes cluster, set `spec.externalAccess.Type` of the `ArangoDeployment` to `None`
from outside your Kubernetes cluster, set `spec.externalAccess.type` of the `ArangoDeployment` to `None`
and create a `Service` as specified below.

Create a `Service` of type `LoadBalancer` or `NodePort`, depending on your
Expand Down
1 change: 0 additions & 1 deletion docs/Manual/Deployment/Kubernetes/Usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ run (replace `<version>` with the version of the operator that you want to insta

```bash
export URLPREFIX=https://raw.githubusercontent.com/arangodb/kube-arangodb/<version>/manifests
kubectl apply -f $URLPREFIX/crd.yaml
kubectl apply -f $URLPREFIX/arango-deployment.yaml
```

Expand Down
1 change: 0 additions & 1 deletion docs/Manual/Tutorials/Kubernetes/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ For now, any recent Kubernetes cluster will do (e.g. `minikube`).
Then run (replace `<version>` with the version of the operator that you want to install):

```bash
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/<version>/manifests/crd.yaml
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/<version>/manifests/arango-deployment.yaml
# Optional
kubectl apply -f https://raw.githubusercontent.com/arangodb/kube-arangodb/<version>/manifests/arango-storage.yaml
Expand Down
6 changes: 3 additions & 3 deletions docs/design/acceptance_test.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ Before the test, record the following parameters for the platform the test is ex

- Name of the platform
- Version of the platform
- Upstream Kubernetes version used by the platform
- Number of nodes used by the Kubernetes cluster
- Upstream Kubernetes version used by the platform (run `kubctrl version`)
- Number of nodes used by the Kubernetes cluster (run `kubectrl get node`)
- `StorageClasses` provided by the platform (run `kubectl get storageclass`)
- Does the platform use RBAC?
- Does the platform use RBAC? (run `kubectl describe clusterrolebinding`)
- Does the platform support services of type `LoadBalancer`?

If one of the above questions can have multiple answers (e.g. different Kubernetes versions)
Expand Down
2 changes: 1 addition & 1 deletion examples/cluster1-with-sync.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ metadata:
name: "cluster1-with-sync"
spec:
mode: Cluster
image: ewoutp/arangodb:3.3.8
image: arangodb/arangodb:3.3.17
tls:
altNames: ["kube-01", "kube-02", "kube-03"]
sync:
Expand Down
2 changes: 1 addition & 1 deletion examples/cluster2-with-sync.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ metadata:
name: "cluster2-with-sync"
spec:
mode: Cluster
image: ewoutp/arangodb:3.3.8
image: arangodb/arangodb:3.3.17
tls:
altNames: ["kube-01", "kube-02", "kube-03"]
sync:
Expand Down
2 changes: 1 addition & 1 deletion examples/production-cluster.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@ metadata:
name: "production-cluster"
spec:
mode: Cluster
image: arangodb/arangodb:3.3.10
image: arangodb/arangodb:3.3.17
environment: Production
2 changes: 1 addition & 1 deletion examples/simple-cluster.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ metadata:
name: "example-simple-cluster"
spec:
mode: Cluster
image: arangodb/arangodb:3.3.10
image: arangodb/arangodb:3.3.17
2 changes: 1 addition & 1 deletion examples/single-server.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ metadata:
name: "example-simple-single"
spec:
mode: Single
image: arangodb/arangodb-preview:3.3
image: arangodb/arangodb:3.3.17
22 changes: 21 additions & 1 deletion manifests/arango-deployment-replication.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
## deployment-replication/crd.yaml
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: arangodeploymentreplications.replication.database.arangodb.com
spec:
group: replication.database.arangodb.com
names:
kind: ArangoDeploymentReplication
listKind: ArangoDeploymentReplicationList
plural: arangodeploymentreplications
shortNames:
- arangorepl
singular: arangodeploymentreplication
scope: Namespaced
version: v1alpha


---

## deployment-replication/rbac.yaml


Expand Down Expand Up @@ -103,7 +123,7 @@ spec:
containers:
- name: operator
imagePullPolicy: IfNotPresent
image: arangodb/kube-arangodb@sha256:46053f371917445a52cbde69a9acc72bb065fa4a80f3fafa3fb98ab84911c570
image: arangodb/kube-arangodb@sha256:f1c0806031ca85e489a1abcd3cb6b80a7972e47ccf59826b0f8a86c38e443fbc
args:
- --operator.deployment-replication
env:
Expand Down
23 changes: 22 additions & 1 deletion manifests/arango-deployment.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
## deployment/crd.yaml
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: arangodeployments.database.arangodb.com
spec:
group: database.arangodb.com
names:
kind: ArangoDeployment
listKind: ArangoDeploymentList
plural: arangodeployments
shortNames:
- arangodb
- arango
singular: arangodeployment
scope: Namespaced
version: v1alpha


---

## deployment/rbac.yaml


Expand Down Expand Up @@ -103,7 +124,7 @@ spec:
containers:
- name: operator
imagePullPolicy: IfNotPresent
image: arangodb/kube-arangodb@sha256:46053f371917445a52cbde69a9acc72bb065fa4a80f3fafa3fb98ab84911c570
image: arangodb/kube-arangodb@sha256:f1c0806031ca85e489a1abcd3cb6b80a7972e47ccf59826b0f8a86c38e443fbc
args:
- --operator.deployment
- --chaos.allowed=false
Expand Down
22 changes: 21 additions & 1 deletion manifests/arango-storage.yaml
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
## storage/crd.yaml
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
name: arangolocalstorages.storage.arangodb.com
spec:
group: storage.arangodb.com
names:
kind: ArangoLocalStorage
listKind: ArangoLocalStorageList
plural: arangolocalstorages
shortNames:
- arangostorage
singular: arangolocalstorage
scope: Cluster
version: v1alpha


---

## storage/rbac.yaml


Expand Down Expand Up @@ -121,7 +141,7 @@ spec:
containers:
- name: operator
imagePullPolicy: IfNotPresent
image: arangodb/kube-arangodb@sha256:46053f371917445a52cbde69a9acc72bb065fa4a80f3fafa3fb98ab84911c570
image: arangodb/kube-arangodb@sha256:f1c0806031ca85e489a1abcd3cb6b80a7972e47ccf59826b0f8a86c38e443fbc
args:
- --operator.storage
env:
Expand Down
Loading

0 comments on commit 9019165

Please sign in to comment.