Skip to content

Commit

Permalink
Various fixes (#252)
Browse files Browse the repository at this point in the history
- Update dependencies
- Install both main & enterprise chart
- ci: Update cluster version list
- ci: Use cert-manager v0.15.1
- ci: Use gcr docker-username=_json_key

Signed-off-by: Tamal Saha <tamal@appscode.com>
  • Loading branch information
tamalsaha committed Jun 8, 2020
1 parent 4860f2a commit 1a524d9
Show file tree
Hide file tree
Showing 170 changed files with 400 additions and 380 deletions.
220 changes: 119 additions & 101 deletions .github/workflows/ci.yml
Expand Up @@ -3,113 +3,131 @@ name: CI
on:
pull_request:
branches:
- '*'
- "*"
push:
branches:
- master

jobs:

build:
name: Build
runs-on: ubuntu-latest
steps:

- name: Set up Go 1.14
uses: actions/setup-go@v1
with:
go-version: 1.14
id: go

- name: Check out code into the Go module directory
uses: actions/checkout@v1

- name: Set up Docker Buildx
id: buildx
uses: crazy-max/ghaction-docker-buildx@v1
with:
buildx-version: latest
qemu-version: latest

- name: Available platforms
run: echo ${{ steps.buildx.outputs.platforms }}

- name: Prepare Host
run: |
sudo apt-get -qq update || true
sudo apt-get install -y bzr
- name: Run checks
run: |
make ci
- name: Build
env:
REGISTRY: kubedbci
DOCKER_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
USERNAME: 1gtm
run: |
docker login --username ${USERNAME} --password ${DOCKER_TOKEN}
make push
- name: Create Kubernetes cluster
id: kind
run: |
kind create cluster --config=hack/kubernetes/kind.yaml
# - name: Create Kubernetes ${{ matrix.cluster }} cluster
# id: kind
# uses: engineerd/setup-kind@v0.3.0
# with:
# version: v0.8.1
# config: hack/kubernetes/kind.yaml
# image: kindest/node:${{ matrix.cluster }}

- name: Prepare cluster for testing
id: local-path
env:
USERNAME: 1gtm
REGISTRY_SECRET: regcred
GCR_SERVICE_ACCOUNT_JSON_KEY: ${{ secrets.GCR_SERVICE_ACCOUNT_JSON_KEY }}
run: |
echo "waiting for nodes to be ready ..."
kubectl wait --for=condition=Ready nodes --all --timeout=5m
kubectl get nodes
echo
echo "install helm 3"
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
echo
echo "create docker-registry secret"
kubectl create secret docker-registry ${REGISTRY_SECRET} \
--namespace=kube-system \
--docker-server=https://gcr.io \
--docker-username=${USERNAME} \
--docker-email=${USERNAME}@appscode.com \
--docker-password="$(echo $GCR_SERVICE_ACCOUNT_JSON_KEY)"
- name: Check out installer
run: |
cd ..
git clone https://github.com/kubedb/installer.git
cd installer
git checkout master
- name: Install stash and addons
run: |
make stash-install
- name: Run e2e tests
env:
REGISTRY: kubedbci
REGISTRY_SECRET: regcred
TEST_CREDENTIALS: ${{ secrets.TEST_CREDENTIALS }}
GOOGLE_SERVICE_ACCOUNT_JSON_KEY: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_JSON_KEY }}
run: |
echo "preparing test credentials"
mkdir -p hack/config
echo -n "$TEST_CREDENTIALS" > hack/config/.env
echo >> hack/config/.env
echo "GOOGLE_SERVICE_ACCOUNT_JSON_KEY=$(echo $GOOGLE_SERVICE_ACCOUNT_JSON_KEY)" >> hack/config/.env
make install
# echo
# make e2e-parallel
- name: Set up Go 1.14
uses: actions/setup-go@v1
with:
go-version: 1.14
id: go

- name: Check out code into the Go module directory
uses: actions/checkout@v1

- name: Set up Docker Buildx
id: buildx
uses: crazy-max/ghaction-docker-buildx@v1
with:
buildx-version: latest
qemu-version: latest

- name: Available platforms
run: echo ${{ steps.buildx.outputs.platforms }}

- name: Prepare Host
run: |
sudo apt-get -qq update || true
sudo apt-get install -y bzr
- name: Run checks
run: |
make ci
- name: Build
env:
REGISTRY: kubedbci
DOCKER_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}
USERNAME: 1gtm
run: |
docker login --username ${USERNAME} --password ${DOCKER_TOKEN}
make push
kubernetes:
name: Kubernetes
runs-on: ubuntu-latest
needs: build
strategy:
fail-fast: false
matrix:
cluster: [v1.12.10, v1.14.10, v1.16.9, v1.18.2]
steps:
- name: Check out code into the Go module directory
uses: actions/checkout@v1

- name: Create Kubernetes ${{ matrix.cluster }} cluster
id: kind
uses: engineerd/setup-kind@v0.3.0
with:
version: v0.8.1
config: hack/kubernetes/kind.yaml
image: kindest/node:${{ matrix.cluster }}

- name: Prepare cluster for testing
id: local-path
env:
USERNAME: 1gtm
REGISTRY_SECRET: regcred
GCR_SERVICE_ACCOUNT_JSON_KEY: ${{ secrets.GCR_SERVICE_ACCOUNT_JSON_KEY }}
run: |
echo "waiting for nodes to be ready ..."
kubectl wait --for=condition=Ready nodes --all --timeout=5m
kubectl get nodes
echo
echo "install helm 3"
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
echo
echo "create docker-registry secret"
kubectl create secret docker-registry ${REGISTRY_SECRET} \
--namespace=kube-system \
--docker-server=https://gcr.io \
--docker-username=_json_key \
--docker-email=${USERNAME}@appscode.com \
--docker-password="$(echo $GCR_SERVICE_ACCOUNT_JSON_KEY)"
- name: Install cert-manager
run: |
kubectl create namespace cert-manager
# ref: https://github.com/cloudflare/semver_bash/blob/master/semver.sh#L3
RE='[^0-9]*\([0-9]*\)[.]\([0-9]*\)[.]\([0-9]*\)\([0-9A-Za-z-]*\)'
eval MAJOR=`echo ${{ matrix.cluster }} | sed -e "s#$RE#\1#"`
eval MINOR=`echo ${{ matrix.cluster }} | sed -e "s#$RE#\2#"`
if [ $MAJOR -eq 1 ] && [ $MINOR -lt 15 ]; then
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.15.1/cert-manager-legacy.yaml
else
kubectl apply --validate=false -f https://github.com/jetstack/cert-manager/releases/download/v0.15.1/cert-manager.yaml
fi
- name: Check out installer
run: |
cd ..
git clone https://github.com/kubedb/installer.git
cd installer
git checkout master
- name: Install stash and addons
run: |
make stash-install
- name: Run e2e tests
env:
REGISTRY: kubedbci
REGISTRY_SECRET: regcred
TEST_CREDENTIALS: ${{ secrets.TEST_CREDENTIALS }}
GOOGLE_SERVICE_ACCOUNT_JSON_KEY: ${{ secrets.GOOGLE_SERVICE_ACCOUNT_JSON_KEY }}
run: |
echo "preparing test credentials"
mkdir -p hack/config
echo -n "$TEST_CREDENTIALS" > hack/config/.env
echo >> hack/config/.env
echo "GOOGLE_SERVICE_ACCOUNT_JSON_KEY=$(echo $GOOGLE_SERVICE_ACCOUNT_JSON_KEY)" >> hack/config/.env
make install
# echo
# make e2e-parallel
26 changes: 15 additions & 11 deletions Makefile
Expand Up @@ -333,7 +333,8 @@ $(BUILD_DIRS):
@mkdir -p $@

REGISTRY_SECRET ?=
ENTERPRISE_TAG ?= v0.1.0-alpha.0
ENTERPRISE_TAG ?= v0.1.0-alpha.3
KUBE_NAMESPACE ?= kube-system

ifeq ($(strip $(REGISTRY_SECRET)),)
IMAGE_PULL_SECRETS =
Expand All @@ -345,18 +346,16 @@ endif
install:
@cd ../installer; \
helm install kubedb charts/kubedb --wait \
--namespace=kube-system \
--set kubedb.registry=$(REGISTRY) \
--set kubedb.repository=operator \
--set kubedb.tag=$(TAG) \
--set enterprise.enabled=true \
--set enterprise.tag=$(ENTERPRISE_TAG) \
--namespace=$(KUBE_NAMESPACE) \
--set operator.registry=$(REGISTRY) \
--set operator.repository=operator \
--set operator.tag=$(TAG) \
--set imagePullPolicy=Always \
$(IMAGE_PULL_SECRETS); \
kubectl wait --for=condition=Available apiservice -l 'app.kubernetes.io/name=kubedb,app.kubernetes.io/instance=kubedb' --timeout=5m; \
kubectl wait --for=condition=Established crds -l app.kubernetes.io/name=kubedb --timeout=5m; \
helm install kubedb-catalog charts/kubedb-catalog \
--namespace=kube-system \
--namespace=$(KUBE_NAMESPACE) \
--set catalog.elasticsearch=true \
--set catalog.etcd=true \
--set catalog.memcached=true \
Expand All @@ -366,13 +365,18 @@ install:
--set catalog.pgbouncer=true \
--set catalog.postgres=true \
--set catalog.proxysql=true \
--set catalog.redis=true
--set catalog.redis=true; \
helm install kubedb-enterprise charts/kubedb-enterprise --wait \
--namespace=$(KUBE_NAMESPACE) \
--set operator.tag=$(ENTERPRISE_TAG) \
--set imagePullPolicy=Always \
$(IMAGE_PULL_SECRETS)

.PHONY: uninstall
uninstall:
@cd ../installer; \
helm uninstall kubedb-catalog --namespace=kube-system || true; \
helm uninstall kubedb --namespace=kube-system || true
helm uninstall kubedb-catalog --namespace=$(KUBE_NAMESPACE) || true; \
helm uninstall kubedb --namespace=$(KUBE_NAMESPACE) || true

.PHONY: purge
purge: uninstall
Expand Down
22 changes: 11 additions & 11 deletions go.mod
Expand Up @@ -15,17 +15,17 @@ require (
kmodules.xyz/client-go v0.0.0-20200525195850-2fd180961371
kmodules.xyz/custom-resources v0.0.0-20200604135349-9e9f5c4fdba9
kmodules.xyz/webhook-runtime v0.0.0-20200522123600-ca70a7e28ed0
kubedb.dev/apimachinery v0.14.0-alpha.5
kubedb.dev/elasticsearch v0.13.0-rc.1.0.20200606050651-11517f71bca6
kubedb.dev/memcached v0.6.0-rc.1.0.20200606050855-2ed2c3a053b0
kubedb.dev/mongodb v0.6.0-rc.1.0.20200606050948-ca03db0931c3
kubedb.dev/mysql v0.6.0-rc.0.0.20200606050956-86eb33133d67
kubedb.dev/percona-xtradb v0.0.0-20200606051048-9b6c9a53cbbc
kubedb.dev/pgbouncer v0.0.0-20200606051000-c50c65de5c1a
kubedb.dev/postgres v0.13.0-rc.0.0.20200606051044-1a5df17c1192
kubedb.dev/proxysql v0.0.0-20200606051004-7235b0c5b8ea
kubedb.dev/redis v0.6.0-rc.0.0.20200606051124-e441809cd318
stash.appscode.dev/apimachinery v0.10.0-alpha.0
kubedb.dev/apimachinery v0.14.0-alpha.7
kubedb.dev/elasticsearch v0.14.0-alpha.0
kubedb.dev/memcached v0.7.0-alpha.0
kubedb.dev/mongodb v0.7.0-alpha.0
kubedb.dev/mysql v0.7.0-alpha.0
kubedb.dev/percona-xtradb v0.1.0-alpha.0
kubedb.dev/pgbouncer v0.1.0-alpha.0
kubedb.dev/postgres v0.14.0-alpha.0
kubedb.dev/proxysql v0.1.0-alpha.0
kubedb.dev/redis v0.7.0-alpha.0
stash.appscode.dev/apimachinery v0.10.0-alpha.1
)

replace bitbucket.org/ww/goautoneg => gomodules.xyz/goautoneg v0.0.0-20120707110453-a547fc61f48d
Expand Down
42 changes: 22 additions & 20 deletions go.sum
Expand Up @@ -1353,28 +1353,28 @@ kmodules.xyz/prober v0.0.0-20200521101241-adf06150535c h1:aV6O9NbDpnFVra/D8c7b7T
kmodules.xyz/prober v0.0.0-20200521101241-adf06150535c/go.mod h1:XYWZkfQquD09Mn+O7piHS+SEPq9oFV1Wy2WZ9DA+oeA=
kmodules.xyz/webhook-runtime v0.0.0-20200522123600-ca70a7e28ed0 h1:rEOWPdiRYShJdJxX0sf76JYWOMzPQH4v8ByT+DRCmVY=
kmodules.xyz/webhook-runtime v0.0.0-20200522123600-ca70a7e28ed0/go.mod h1:9hUftUcjvzDSiO5LIbe2U8Naz4tyS9Ndf1LRzsytMzs=
kubedb.dev/apimachinery v0.14.0-alpha.5 h1:SR9CekSXlgUneG6L5SlnANWsAXAQZwr+QrxguD3ZHA8=
kubedb.dev/apimachinery v0.14.0-alpha.5/go.mod h1:tF4Wxo0rkg3cE92siFG9Y1C1/6bDTnY4nmn7kphBNcg=
kubedb.dev/elasticsearch v0.13.0-rc.1.0.20200606050651-11517f71bca6 h1:wMpStQ5aQYSg2iuLq2wnI2h9DPcWOwzCEQonN9Cy8ro=
kubedb.dev/elasticsearch v0.13.0-rc.1.0.20200606050651-11517f71bca6/go.mod h1:vq84n1I6KbglV1z7xlvwIHDt0iGPpn2saSNY6XRN0t0=
kubedb.dev/memcached v0.6.0-rc.1.0.20200606050855-2ed2c3a053b0 h1:5XpOy+WpuTi1UDjf3v6gLMfv7yaYB3rh1zaLe62OsH4=
kubedb.dev/memcached v0.6.0-rc.1.0.20200606050855-2ed2c3a053b0/go.mod h1:fZ+74yQU8daHIRHh43N03Lud8BtnzUMPeOT3IQs6yzU=
kubedb.dev/mongodb v0.6.0-rc.1.0.20200606050948-ca03db0931c3 h1:IVeffDM9Sp16RnXGDkeZxrN8a7r1Smf3CIEfp00E7tY=
kubedb.dev/mongodb v0.6.0-rc.1.0.20200606050948-ca03db0931c3/go.mod h1:2rkMGoyZar6G3Fru/rwZKk5Q3uEUZpjEZ4QHtfaigA4=
kubedb.dev/mysql v0.6.0-rc.0.0.20200606050956-86eb33133d67 h1:qZ7aXxvwa6dYI/ElNZpzb7IkI14qLKbEm5rC7s6lnyY=
kubedb.dev/mysql v0.6.0-rc.0.0.20200606050956-86eb33133d67/go.mod h1:/cWO76feLc2T65yk2AwMCuG50Vs7Ssrly3R+43FDy18=
kubedb.dev/percona-xtradb v0.0.0-20200606051048-9b6c9a53cbbc h1:GZPbXS6u1S8XlP8zBmfgr3e0WbWm1iPd87kwABQkRrw=
kubedb.dev/percona-xtradb v0.0.0-20200606051048-9b6c9a53cbbc/go.mod h1:hf9TKQJac9tXPMk81kX/iWmclTW8F0v+SP07TQeIEJE=
kubedb.dev/apimachinery v0.14.0-alpha.7 h1:IY4G/Ob+xinwfEEmXa9iX0Kf6o7pjSN+tTI59oQbAqo=
kubedb.dev/apimachinery v0.14.0-alpha.7/go.mod h1:b7T4nvZnCgfc7MwiUgXH9/h5LV6XF0/lEmMdlhryJAg=
kubedb.dev/elasticsearch v0.14.0-alpha.0 h1:3pxwv4xtLPp6bKUhAzkCRUbYoitZSE7eCXvpUD5JuBw=
kubedb.dev/elasticsearch v0.14.0-alpha.0/go.mod h1:4IuKIjKN9XCcW5INmKaYzgK63erThWReywncBAi755U=
kubedb.dev/memcached v0.7.0-alpha.0 h1:qm3tr27+S9SkgYTiKjTiLOjTm1PyMLrSEtr9PKccTk4=
kubedb.dev/memcached v0.7.0-alpha.0/go.mod h1:nZpqp7/DHlQv268dvC14EvJsENxKzitPUni1IenCmuc=
kubedb.dev/mongodb v0.7.0-alpha.0 h1:+EuE68/NR2gUqNI9Fy7z9fB8ehpOlbIQHWAinEtdnvU=
kubedb.dev/mongodb v0.7.0-alpha.0/go.mod h1:56qiG9JtWfvvKGQ/T053qcYElg8/jTT0D3wrMocrt3s=
kubedb.dev/mysql v0.7.0-alpha.0 h1:rWp3O2x1cNjuIotzwRhBoJn04Luij+e1YsRqWjSlfEA=
kubedb.dev/mysql v0.7.0-alpha.0/go.mod h1:E7Yv7njAefg0zIish6rgcoSXWu5E2SVCgC+9mzngOak=
kubedb.dev/percona-xtradb v0.1.0-alpha.0 h1:fVsa/X66UV/CUr4Q2g20sdEX5iBvnIQ/RQsw081iyg0=
kubedb.dev/percona-xtradb v0.1.0-alpha.0/go.mod h1:eJ5FpG8w5+UEeBqfVrlbU5v3+lk6LcIoJXJa1xtpbTs=
kubedb.dev/pg-leader-election v0.2.0-alpha.0 h1:tLeJkF+Sll3+br6enwXoh/zmvltkFPKghbdhmqsBvmw=
kubedb.dev/pg-leader-election v0.2.0-alpha.0/go.mod h1:sSw5fnh1ExjVUdEvhh2fRFRQ1Z0AtV6/x4L6kKK+CFQ=
kubedb.dev/pgbouncer v0.0.0-20200606051000-c50c65de5c1a h1:vREuVb0tpNxvtkRHJpD3I5Jckvh5k1PfxPjy6FWIXlQ=
kubedb.dev/pgbouncer v0.0.0-20200606051000-c50c65de5c1a/go.mod h1:Kjp4Be2o0nCw7+RB8OM41N/aAqqrHC35sN9zWZTE8kQ=
kubedb.dev/postgres v0.13.0-rc.0.0.20200606051044-1a5df17c1192 h1:+KhFISsKuxZlwYB26YKPUhIHjLOhK+IX/kgc3DCAU2g=
kubedb.dev/postgres v0.13.0-rc.0.0.20200606051044-1a5df17c1192/go.mod h1:lPnhMW2ipUCfL3fn26hixF3RZyrAzQ2gNpw07NrszTQ=
kubedb.dev/proxysql v0.0.0-20200606051004-7235b0c5b8ea h1:LG+RDAThIdaxcucyl8NeoiApqDF2Jw8eDUN04Q8B7f0=
kubedb.dev/proxysql v0.0.0-20200606051004-7235b0c5b8ea/go.mod h1:LzzBp2fZjidMyaJQHu3F5CHXEmbphVfc73ADfe8kMVY=
kubedb.dev/redis v0.6.0-rc.0.0.20200606051124-e441809cd318 h1:o9FQUw23QD3Zl6pW3GTtB3us3LCmEO2OEnciCOXiqV4=
kubedb.dev/redis v0.6.0-rc.0.0.20200606051124-e441809cd318/go.mod h1:fL07b38Pa/5uW3zcPpzSDOMuqsk6a1xLAWei04noOro=
kubedb.dev/pgbouncer v0.1.0-alpha.0 h1:XElmHxPVE6UpRTUymyZVNxx/vrlgsgyiTA/mXTbTKaA=
kubedb.dev/pgbouncer v0.1.0-alpha.0/go.mod h1:VFkucijDhp1tf7SwWJQT1oJVaTfEO3W9dDlylCxj1t4=
kubedb.dev/postgres v0.14.0-alpha.0 h1:mqDFSuFMozCZ9JeQVbLaUhBb7jGHE4FhDCufO19ajjw=
kubedb.dev/postgres v0.14.0-alpha.0/go.mod h1:e5r7dpOZEBctVNFPFVZDhkGfG+gpVGrvB/eWETIBMK4=
kubedb.dev/proxysql v0.1.0-alpha.0 h1:xXokNs9nZxCswrIONIwts7vQEC2TQz4+6HmwJO8J9xY=
kubedb.dev/proxysql v0.1.0-alpha.0/go.mod h1:MxMPDoXPOkyUo6glc5ID83qQK0OuJFSK/3fpRqRlS6Y=
kubedb.dev/redis v0.7.0-alpha.0 h1:biJFoPZH4ZhMbQkEWihlPoG2ex+Xg50RkA+pLgbR4Ng=
kubedb.dev/redis v0.7.0-alpha.0/go.mod h1:6qkvJEq7CWhKSuZE+q1aGYwF4XNQWuIGkJL72GhyF8s=
modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw=
modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk=
modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
Expand Down Expand Up @@ -1407,6 +1407,8 @@ software.sslmate.com/src/go-pkcs12 v0.0.0-20180114231543-2291e8f0f237/go.mod h1:
sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0=
stash.appscode.dev/apimachinery v0.10.0-alpha.0 h1:/CBUctjDJyjo9a9lANjAPRq3Fj1KygXddgoJKdGQ0Q8=
stash.appscode.dev/apimachinery v0.10.0-alpha.0/go.mod h1:su9Q+3/B6+5PdGvVZBIkXoAik6iKKFUcdPNThpZPVV4=
stash.appscode.dev/apimachinery v0.10.0-alpha.1 h1:NzT8tRWNhSnvwBMihVhTfHMG06Aw93SMkv8z9AvXUB0=
stash.appscode.dev/apimachinery v0.10.0-alpha.1/go.mod h1:IzulL8Pi1zByc2Nlg+R6w2yPE15zc3Elksn8a/l8meg=
vbom.ml/util v0.0.0-20160121211510-db5cfe13f5cc/go.mod h1:so/NYdZXCz+E3ZpW0uAoCj6uzU2+8OWDFv/HxUSs7kI=
xorm.io/builder v0.3.6/go.mod h1:LEFAPISnRzG+zxaxj2vPicRwz67BdhFreKg8yv8/TgU=
xorm.io/core v0.7.2-0.20190928055935-90aeac8d08eb/go.mod h1:jJfd0UAEzZ4t87nbQYtVjmqpIODugN6PD2D9E+dJvdM=
10 changes: 8 additions & 2 deletions vendor/kubedb.dev/apimachinery/apis/catalog/register.go
Expand Up @@ -16,5 +16,11 @@ limitations under the License.

package catalog

// GroupName is the group name use in this package
const GroupName = "catalog.kubedb.com"
const (
// GroupName is the group name use in this package
GroupName = "catalog.kubedb.com"
// MutatorGroupName is the group name used to implement mutating webhooks for types in this package
MutatorGroupName = "mutators." + GroupName
// ValidatorGroupName is the group name used to implement validating webhooks for types in this package
ValidatorGroupName = "validators." + GroupName
)
Expand Up @@ -19,8 +19,8 @@ package v1alpha1
import (
"fmt"

"kubedb.dev/apimachinery/api/crds"
"kubedb.dev/apimachinery/apis"
"kubedb.dev/apimachinery/crds"

"kmodules.xyz/client-go/apiextensions"
)
Expand Down

0 comments on commit 1a524d9

Please sign in to comment.