Skip to content
Open
Show file tree
Hide file tree
Changes from 47 commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
deb7b1d
UPSTREAM - Use getent instead of nslookup for starting scripts (#5)
amuraru Sep 26, 2020
9b2126f
INTERNAL - Revert "ZooKeeper Operator API Resource Hook. (#221)"
amuraru Jun 9, 2021
e8dbedc
INTERNAL - Publish docker images to adobe dockerhub repos
amuraru Jul 8, 2020
548644c
INTERNAL - Upgrade to zookeeper 3.7.1 and use openjdk-17
amuraru May 29, 2022
0cd63c1
INTERNAL - Zookeeper migration patches (#10)
dobrerazvan Apr 19, 2021
c7fe08f
Added support for additional labels that will be added to all resourc…
ecojan Jul 19, 2021
4c4026f
Allow overriding logging level
amuraru Jun 9, 2022
11a2886
TEMP - Don't mark ZookeeperCluster resource as updated when PDB field…
amuraru Jun 9, 2022
11ff8ef
Release 0.2.15-adobe-20230422
amuraru Apr 22, 2023
cd91bcc
Bump kub libs
AKamyshnikova Sep 4, 2023
b114324
Upgrade to java-21
amuraru Nov 17, 2023
a2f682a
Upgrade to zookeeper 3.8.3
amuraru Nov 17, 2023
accab8c
add reconfigenabled flag
Nov 29, 2023
e3d8295
try making reconfigEnabled a pointer to make it default to true
Nov 29, 2023
e6c4aa2
DisableReconfigEnabled instead of EnableReconfigEnabled
Nov 29, 2023
f15cf97
fix json value
Nov 29, 2023
6c4236d
set repo to mine in the dockerfile
Nov 30, 2023
4bbc3e4
test comment to verify image use
cstaff14 Nov 30, 2023
cd4188c
try disable reconfig with ! denotation
cstaff14 Nov 30, 2023
61ed1aa
fix previous commit
cstaff14 Nov 30, 2023
c33071b
update test comment to see if disableReconfigEnabled is getting picke…
cstaff14 Nov 30, 2023
f9b8b9a
remove duplicate configenabled
cstaff14 Nov 30, 2023
5b63142
try setting standaloneEnabled explicitly for testing (will revert later)
cstaff14 Nov 30, 2023
36e69e3
add additional addresses attribute
cstaff14 Dec 6, 2023
4ad908b
reconfig enabled true
cstaff14 Dec 6, 2023
7f1ca83
add dynamic zookeeper config to configmap
cstaff14 Dec 7, 2023
0163bf8
fix configMap with new lines
cstaff14 Dec 7, 2023
6301d90
write additional address to dynamic config file
cstaff14 Dec 7, 2023
aa06439
test comments
cstaff14 Dec 7, 2023
6421ac7
extra dynamic config check outside of write config
cstaff14 Dec 7, 2023
78bd97a
use castaffo docker image
cstaff14 Dec 11, 2023
7d676cd
add multiaddress.enabled to zkserver.sh
cstaff14 Dec 11, 2023
636c2dd
use multiaddress zk server image in operator dockerfile
cstaff14 Dec 12, 2023
6682c82
differentiate apache image
cstaff14 Dec 12, 2023
09c3c5e
can add multiple addresses and can write to dynamic config file
cstaff14 Dec 13, 2023
40e06cd
more verification on adding to the dynamic config
cstaff14 Dec 13, 2023
e12019f
add extra address to the line
cstaff14 Dec 14, 2023
c56bbce
have write configuration working, zk client is unable to resolve the …
cstaff14 Jan 15, 2024
ad08bb4
some repo clean up and testing cases where extra addresses are not pr…
cstaff14 Jan 16, 2024
f4f13bd
observer and participant address writing working, need to clean up; z…
cstaff14 Jan 17, 2024
168894c
multiaddress feature is functioning, will clean up and make dryer
cstaff14 Jan 17, 2024
c36628b
cleaned up some unecassary comments
cstaff14 Jan 18, 2024
7fe8338
clean up unneeded code in generators and the CRD
cstaff14 Jan 18, 2024
2bbed54
consolidate extra address function
cstaff14 Jan 19, 2024
7aa58c6
clean up and copy of extra servers file
cstaff14 Jan 22, 2024
fa647e4
adding more than one address per server
cstaff14 Jan 24, 2024
8d9eb97
multiple addresses for the same server works
cstaff14 Jan 31, 2024
311c5d7
remove need for extra server file (to use you must have the multiaddr…
cstaff14 Feb 13, 2024
7b1c8e3
test gh acces
cstaff14 Feb 14, 2024
95ff263
revert test
cstaff14 Feb 14, 2024
800e6e9
add readme on using multiple addresses
cstaff14 Feb 23, 2024
ccbe85e
remove reference to old zkServer.sh
cstaff14 Jun 26, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
71 changes: 71 additions & 0 deletions .github/workflows/build-push-docker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
name: build-publish-docker-image

on:
push:
tags:
- '*'

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Set up Go 1.21
uses: actions/setup-go@v2
with:
go-version: 1.21
id: go
- name: Set up Go for root
run: |
sudo ln -sf `which go` `sudo which go` || true
sudo go version
- uses: actions/checkout@v2
- name: get go version
run: go version
- name: Gofmt and License checks
run: make check
- name: unit tests
run: make test
- name: Get tag name
id: vars
run: |
ref=${GITHUB_REF:10}
ref="${ref////-}"
echo $ref
echo ::set-output name=tag::$ref
- name: Build and push zookeeper Apache image
uses: docker/build-push-action@v1
if: ${{ startsWith(github.ref, 'refs/tags/zk') }}
with:
path: docker/zookeeper-image
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: adobe/zookeeper
tags: 3.8.3-apache-${{ steps.vars.outputs.tag }}
add_git_labels: true
always_pull: true
push: ${{ startsWith(github.ref, 'refs/tags/zk') }}
- name: Build and push zookeeper image
if: ${{ !startsWith(github.ref, 'refs/tags/zk') }}
uses: docker/build-push-action@v1
with:
path: docker
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: adobe/zookeeper
tags: 3.8.3-${{ steps.vars.outputs.tag }}
add_git_labels: true
always_pull: true
push: ${{ startsWith(github.ref, 'refs/tags/') && !startsWith(github.ref, 'refs/tags/zk') }}
- name: Build and push zookeeper-operator image
if: ${{ !startsWith(github.ref, 'refs/tags/zk') }}
uses: docker/build-push-action@v1
with:
dockerfile: Dockerfile
build_args: VERSION=${{ steps.vars.outputs.tag }},GIT_SHA=${{ github.sha }}
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
repository: adobe/zookeeper-operator
tag_with_ref: true
add_git_labels: true
always_pull: true
push: ${{ startsWith(github.ref, 'refs/tags/') && !startsWith(github.ref, 'refs/tags/zk') }}
80 changes: 0 additions & 80 deletions .github/workflows/ci.yaml

This file was deleted.

2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ ARG ALPINE_VERSION=3.18
FROM ${DOCKER_REGISTRY:+$DOCKER_REGISTRY/}golang:1.20-alpine${ALPINE_VERSION} as go-builder

ARG PROJECT_NAME=zookeeper-operator
ARG REPO_PATH=github.com/pravega/$PROJECT_NAME
ARG REPO_PATH=github.com/cstaff14/$PROJECT_NAME

# Build version and commit should be passed in when performing docker build
ARG VERSION=0.0.0-localdev
Expand Down
58 changes: 38 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,47 @@ The project is currently alpha. While no breaking API changes are currently plan

## Table of Contents

* [Overview](#overview)
* [Requirements](#requirements)
* [Usage](#usage)
* [Installation of the Operator](#install-the-operator)
* [Deploy a sample Zookeeper Cluster](#deploy-a-sample-zookeeper-cluster)
* [Deploy a sample ZooKeeper Cluster with Ephemeral Storage](#Deploy-a-sample-zookeeper-cluster-with-ephemeral-storage)
* [Deploy a sample Zookeeper Cluster to a cluster using Istio](#deploy-a-sample-zookeeper-cluster-with-istio)
* [Upgrade a Zookeeper Cluster](#upgrade-a-zookeeper-cluster)
* [Uninstall the Zookeeper Cluster](#uninstall-the-zookeeper-cluster)
* [Upgrade the Zookeeper Operator](#upgrade-the-operator)
* [Uninstall the Operator](#uninstall-the-operator)
* [The AdminServer](#the-adminserver)
* [Development](#development)
* [Build the Operator Image](#build-the-operator-image)
* [Direct Access to Cluster](#direct-access-to-the-cluster)
* [Run the Operator Locally](#run-the-operator-locally)
* [Installation on GKE](#installation-on-google-kubernetes-engine)
* [Installation on Minikube](#installation-on-minikube)
- [Zookeeper Operator](#zookeeper-operator)
- [Project status: alpha](#project-status-alpha)
- [Table of Contents](#table-of-contents)
- [Overview](#overview)
- [Requirements](#requirements)
- [Usage](#usage)
- [Install the operator](#install-the-operator)
- [Install via helm](#install-via-helm)
- [Manual deployment](#manual-deployment)
- [Deploy a sample Zookeeper cluster](#deploy-a-sample-zookeeper-cluster)
- [Install via helm](#install-via-helm-1)
- [Manual deployment](#manual-deployment-1)
- [Deploy a sample Zookeeper cluster with Ephemeral storage](#deploy-a-sample-zookeeper-cluster-with-ephemeral-storage)
- [Deploy a sample Zookeeper cluster with Istio](#deploy-a-sample-zookeeper-cluster-with-istio)
- [Upgrade a Zookeeper cluster](#upgrade-a-zookeeper-cluster)
- [Trigger the upgrade via helm](#trigger-the-upgrade-via-helm)
- [Trigger the upgrade manually](#trigger-the-upgrade-manually)
- [Upgrade the Operator](#upgrade-the-operator)
- [Uninstall the Zookeeper cluster](#uninstall-the-zookeeper-cluster)
- [Uninstall via helm](#uninstall-via-helm)
- [Manual uninstall](#manual-uninstall)
- [Uninstall the operator](#uninstall-the-operator)
- [Uninstall via helm](#uninstall-via-helm-1)
- [Manual uninstall](#manual-uninstall-1)
- [The AdminServer](#the-adminserver)
- [Development](#development)
- [Build the operator image](#build-the-operator-image)
- [Direct access to the cluster](#direct-access-to-the-cluster)
- [Run the operator locally](#run-the-operator-locally)
- [Installation on Google Kubernetes Engine](#installation-on-google-kubernetes-engine)
- [Installation on Minikube](#installation-on-minikube)
- [Minikube Setup](#minikube-setup)
- [Cluster Deployment](#cluster-deployment)
- [Zookeeper YAML Exporter](#zookeeper-yaml--exporter)
- [How to build Zookeeper Operator](#how-to-build-zookeeper-operator)
- [How to use exporter](#how-to-use-exporter)


### Overview

This operator runs a Zookeeper 3.7.1 cluster, and uses Zookeeper dynamic reconfiguration to handle node membership.
This operator runs a Zookeeper 3.8.3 cluster, and uses Zookeeper dynamic reconfiguration to handle node membership.

The operator itself is built with the [Operator framework](https://github.com/operator-framework/operator-sdk).

Expand Down Expand Up @@ -371,7 +389,7 @@ The list of available commands are
### Build the operator image

Requirements:
- Go 1.17+
- Go 1.21+

Use the `make` command to build the Zookeeper operator image.

Expand Down
2 changes: 1 addition & 1 deletion api/v1beta1/zookeepercluster_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,7 @@ func (s *ZookeeperClusterSpec) withDefaults(z *ZookeeperCluster) (changed bool)
}
if s.MaxUnavailableReplicas < 1 {
s.MaxUnavailableReplicas = 1
changed = true
//changed = true
}
return changed
}
Expand Down
3 changes: 3 additions & 0 deletions charts/zookeeper-operator/templates/_helpers.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,9 @@ app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
helm.sh/chart: "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
{{- range $k, $v := $.Values.labels }}
{{ $k }}: {{ $v | quote }}
{{- end }}
{{- end -}}

{{/*
Expand Down
123 changes: 0 additions & 123 deletions charts/zookeeper-operator/templates/post-install-upgrade-hooks.yaml

This file was deleted.

Loading