Skip to content

Commit

Permalink
Prepare for v1.0.0 release (#1)
Browse files Browse the repository at this point in the history
* Prepare for v1.0.0 release

Signed-off-by: Waleed Malik <[email protected]>

* Update chart docs

Signed-off-by: Waleed Malik <[email protected]>

* Update README

Signed-off-by: Waleed Malik <[email protected]>

---------

Signed-off-by: Waleed Malik <[email protected]>
  • Loading branch information
ahmedwaleedmalik authored Mar 12, 2024
1 parent 1122894 commit 3bac397
Show file tree
Hide file tree
Showing 14 changed files with 42 additions and 82 deletions.
2 changes: 0 additions & 2 deletions DCO
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@ Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
660 York Street, Suite 102,
San Francisco, CA 94110 USA

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.
Expand Down
10 changes: 5 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
SHELL = /bin/bash -eu -o pipefail

# Image URL to use all building/pushing image targets
KUBELB_IMG ?= quay.io/kubermatic/kubelb-manager-ee
KUBELB_CCM_IMG ?= quay.io/kubermatic/kubelb-ccm-ee
KUBELB_IMG ?= quay.io/kubermatic/kubelb-manager
KUBELB_CCM_IMG ?= quay.io/kubermatic/kubelb-ccm
# ENVTEST_K8S_VERSION refers to the version of kubebuilder assets to be downloaded by envtest binary.
ENVTEST_K8S_VERSION = 1.28.0

Expand All @@ -13,7 +13,7 @@ export GO111MODULE=on
export GOFLAGS?=-mod=readonly -trimpath
export GIT_TAG ?= $(shell git tag --points-at HEAD)

GO_VERSION = 1.22.0
GO_VERSION = 1.22.1

IMAGE_TAG = \
$(shell echo $$(git rev-parse HEAD && if [[ -n $$(git status --porcelain) ]]; then echo '-dirty'; fi)|tr -d ' ')
Expand Down Expand Up @@ -170,8 +170,8 @@ undeploy-%: ## Undeploy controller from the K8s cluster specified in ~/.kube/con

.PHONY: bump
bump: kustomize
cd config/deploy/kubelb && $(KUSTOMIZE) edit set image controller=quay.io/kubermatic/kubelb-manager-ee:$(IMAGE_TAG)
cd config/deploy/ccm && $(KUSTOMIZE) edit set image controller=quay.io/kubermatic/kubelb-ccm-ee:$(IMAGE_TAG)
cd config/deploy/kubelb && $(KUSTOMIZE) edit set image controller=quay.io/kubermatic/kubelb-manager:$(IMAGE_TAG)
cd config/deploy/ccm && $(KUSTOMIZE) edit set image controller=quay.io/kubermatic/kubelb-ccm:$(IMAGE_TAG)

##@ Build Dependencies

Expand Down
41 changes: 14 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,52 +30,39 @@ directory.

### Manager

Deploy the manager to the load balancer cluster

Install the LoadBalancers CRD: `make install`

Deploy to load balancer cluster: `make deploy-kubelb`
Please refer to the [KubeLB Manager README](./charts/kubelb-manager/README.md) for installation instructions.

### CCM

Deploy the agent to every user cluster where you want to use KubeLB

Inside the deployment you need to change the ClusterName parameter to its actual name. Also make sure that a namespace
is created inside the kubelb cluster and has the label `kubelb.k8c.io/managed-by: kubelb`, so the agent can create the CRDs inside its cluster namespace.

The agent expects a `Secret` with a kubeconf file named `kubelb` to access the load balancer cluster.

To create such run: `kubectl --namespace kubelb create secret generic kubelb-cluster --from-file=<path to kubelb kubeconf file>`

Deploy to user cluster: `make deploy-ccm`
Please refer to the [KubeLB CCM README](./charts/kubelb-ccm/README.md) for installation instructions.

## Troubleshooting

If you encounter issues [file an issue][1] or talk to us on the [#KubeLB channel][12] on the [Kubermatic Slack][15].
If you encounter issues [file an issue][1] or talk to us on the [#kubermatic channel][6] on the [Kubermatic Slack][7].

## Contributing

Thanks for taking the time to join our community and start contributing!

Feedback and discussion are available on [the mailing list][11].
Feedback and discussion are available on [the mailing list][5].

### Before you start

* Please familiarize yourself with the [Code of Conduct][4] before contributing.
* See [CONTRIBUTING.md][2] for instructions on the developer certificate of origin that we require.
- Please familiarize yourself with the [Code of Conduct][4] before contributing.
- See [CONTRIBUTING.md][2] for instructions on the developer certificate of origin that we require.

### Pull requests

* We welcome pull requests. Feel free to dig through the [issues][1] and jump in.
- We welcome pull requests. Feel free to dig through the [issues][1] and jump in.

## Changelog

See [the list of releases][3] to find out about feature changes.

[1]: https://github.com/kubermatic/KubeLB/issues
[2]: https://github.com/kubermatic/KubeLB/blob/main/CONTRIBUTING.md
[3]: https://github.com/kubermatic/KubeLB/releases
[4]: https://github.com/kubermatic/KubeLB/blob/main/CODE_OF_CONDUCT.md
[11]: https://groups.google.com/forum/#!forum/kubelb-dev
[12]: https://kubermatic.slack.com/messages/kubelb
[15]: http://slack.kubermatic.io/
[1]: https://github.com/kubermatic/kubelb/issues
[2]: https://github.com/kubermatic/kubelb/blob/main/CONTRIBUTING.md
[3]: https://github.com/kubermatic/kubelb/releases
[4]: https://github.com/kubermatic/kubelb/blob/main/CODE_OF_CONDUCT.md
[5]: https://groups.google.com/forum/#!forum/kubermatic-dev
[6]: https://kubermatic.slack.com/messages/kubermatic
[7]: http://slack.kubermatic.io/
4 changes: 2 additions & 2 deletions charts/kubelb-ccm/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ maintainers:
email: [email protected]

# Helm chart Version.
version: v0.6.0
version: v1.0.0
# Application version to be deployed.
appVersion: v0.6.0
appVersion: v1.0.0
12 changes: 4 additions & 8 deletions charts/kubelb-ccm/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,19 @@

Helm chart for KubeLB CCM. This is used to deploy the KubeLB CCM to a Kubernetes cluster. The CCM is responsible for propagating the load balancer configurations to the management cluster.

![Version: v0.6.0](https://img.shields.io/badge/Version-v0.6.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.6.0](https://img.shields.io/badge/AppVersion-v0.6.0-informational?style=flat-square)
![Version: v1.0.0](https://img.shields.io/badge/Version-v1.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.0.0](https://img.shields.io/badge/AppVersion-v1.0.0-informational?style=flat-square)

## Installing the chart

### Pre-requisites

* Create a namespace `kubelb` for the CCM to be deployed in.
* Create imagePullSecrets for the chart to pull the image from the registry.
* The agent expects a `Secret` with a kubeconf file named `kubelb` to access the load balancer cluster. To create such run: `kubectl --namespace kubelb create secret generic kubelb-cluster --from-file=<path to kubelb kubeconf file>`. The name of secret cant be overridden using `.Values.kubelb.clusterSecretName`
* Update the `tenantName` in the values.yaml to a unique identifier for the tenant. This is used to identify the tenant in the manager cluster. This can be any unique string that follows [lower case RFC 1123](https://www.rfc-editor.org/rfc/rfc1123).

At this point a minimal values.yaml should look like this:

```yaml
imagePullSecrets:
- name: <imagePullSecretName>
kubelb:
clusterSecretName: kubelb-cluster
tenantName: <unique-identifier-for-tenant>
Expand All @@ -28,8 +25,7 @@ kubelb:
Now, we can install the helm chart:
```sh
helm registry login quay.io --username ${REGISTRY_USER} --password ${REGISTRY_PASSWORD}
helm pull oci://quay.io/kubermatic/helm-charts/kubelb-ccm --version=v0.6.0 --untardir "kubelb-ccm" --untar
helm pull oci://quay.io/kubermatic/helm-charts/kubelb-ccm --version=v1.0.0 --untardir "kubelb-ccm" --untar
## Create and update values.yaml with the required values.
helm install kubelb-ccm kubelb-ccm --namespace kubelb -f values.yaml
```
Expand All @@ -48,8 +44,8 @@ helm install kubelb-ccm kubelb-ccm --namespace kubelb -f values.yaml
| extraVolumes | list | `[]` | |
| fullnameOverride | string | `""` | |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"quay.io/kubermatic/kubelb-ccm-ee"` | |
| image.tag | string | `"v0.6.0"` | |
| image.repository | string | `"quay.io/kubermatic/kubelb-ccm"` | |
| image.tag | string | `"v1.0.0"` | |
| imagePullSecrets | list | `[]` | |
| kubelb.clusterSecretName | string | `"kubelb-cluster"` | |
| kubelb.enableLeaderElection | bool | `true` | |
Expand Down
6 changes: 1 addition & 5 deletions charts/kubelb-ccm/README.md.gotmpl
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,12 @@ Helm chart for KubeLB CCM. This is used to deploy the KubeLB CCM to a Kubernetes
### Pre-requisites

* Create a namespace `kubelb` for the CCM to be deployed in.
* Create imagePullSecrets for the chart to pull the image from the registry.
* The agent expects a `Secret` with a kubeconf file named `kubelb` to access the load balancer cluster. To create such run: `kubectl --namespace kubelb create secret generic kubelb-cluster --from-file=<path to kubelb kubeconf file>`. The name of secret cant be overridden using `.Values.kubelb.clusterSecretName`
* Update the `tenantName` in the values.yaml to a unique identifier for the tenant. This is used to identify the tenant in the manager cluster. This can be any unique string that follows [lower case RFC 1123](https://www.rfc-editor.org/rfc/rfc1123).

At this point a minimal values.yaml should look like this:

```yaml
imagePullSecrets:
- name: <imagePullSecretName>
kubelb:
clusterSecretName: kubelb-cluster
tenantName: <unique-identifier-for-tenant>
Expand All @@ -28,8 +25,7 @@ kubelb:
Now, we can install the helm chart:

```sh
helm registry login quay.io --username ${REGISTRY_USER} --password ${REGISTRY_PASSWORD}
helm pull oci://quay.io/kubermatic/helm-charts/kubelb-ccm --version=v0.6.0 --untardir "kubelb-ccm" --untar
helm pull oci://quay.io/kubermatic/helm-charts/kubelb-ccm --version=v1.0.0 --untardir "kubelb-ccm" --untar
## Create and update values.yaml with the required values.
helm install kubelb-ccm kubelb-ccm --namespace kubelb -f values.yaml
```
Expand Down
4 changes: 2 additions & 2 deletions charts/kubelb-ccm/values.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
replicaCount: 1

image:
repository: quay.io/kubermatic/kubelb-ccm-ee
repository: quay.io/kubermatic/kubelb-ccm
pullPolicy: IfNotPresent
tag: v0.6.0
tag: v1.0.0
imagePullSecrets: []

kubelb:
Expand Down
4 changes: 2 additions & 2 deletions charts/kubelb-manager/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@ maintainers:
email: [email protected]

# Helm chart Version.
version: v0.6.0
version: v1.0.0
# Application version to be deployed.
appVersion: v0.6.0
appVersion: v1.0.0
17 changes: 4 additions & 13 deletions charts/kubelb-manager/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,20 @@

Helm chart for KubeLB Manager. This is used to deploy the KubeLB CCM to a Kubernetes cluster. The CCM is responsible for propagating the load balancer configurations to the management cluster.

![Version: v0.6.0](https://img.shields.io/badge/Version-v0.6.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v0.6.0](https://img.shields.io/badge/AppVersion-v0.6.0-informational?style=flat-square)
![Version: v1.0.0](https://img.shields.io/badge/Version-v1.0.0-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: v1.0.0](https://img.shields.io/badge/AppVersion-v1.0.0-informational?style=flat-square)

## Installing the chart

### Pre-requisites

* Create a namespace `kubelb` for the CCM to be deployed in.
* Create imagePullSecrets for the chart to pull the image from the registry.

At this point a minimal values.yaml should look like this:

```yaml
imagePullSecrets:
- name: <imagePullSecretName>
```

### Install helm chart

Now, we can install the helm chart:

```sh
helm registry login quay.io --username ${REGISTRY_USER} --password ${REGISTRY_PASSWORD}
helm pull oci://quay.io/kubermatic/helm-charts/kubelb-manager --version=v0.6.0 --untardir "kubelb-manager" --untar
helm pull oci://quay.io/kubermatic/helm-charts/kubelb-manager --version=v1.0.0 --untardir "kubelb-manager" --untar
## Create and update values.yaml with the required values.
helm install kubelb-manager kubelb-manager --namespace kubelb -f values.yaml
```
Expand All @@ -41,8 +32,8 @@ helm install kubelb-manager kubelb-manager --namespace kubelb -f values.yaml
| autoscaling.targetMemoryUtilizationPercentage | int | `80` | |
| fullnameOverride | string | `""` | |
| image.pullPolicy | string | `"IfNotPresent"` | |
| image.repository | string | `"quay.io/kubermatic/kubelb-manager-ee"` | |
| image.tag | string | `"v0.6.0"` | |
| image.repository | string | `"quay.io/kubermatic/kubelb-manager"` | |
| image.tag | string | `"v1.0.0"` | |
| imagePullSecrets | list | `[]` | |
| kubelb.debug | bool | `false` | |
| kubelb.enableLeaderElection | bool | `true` | |
Expand Down
11 changes: 1 addition & 10 deletions charts/kubelb-manager/README.md.gotmpl
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,13 @@ Helm chart for KubeLB Manager. This is used to deploy the KubeLB CCM to a Kubern
### Pre-requisites

* Create a namespace `kubelb` for the CCM to be deployed in.
* Create imagePullSecrets for the chart to pull the image from the registry.

At this point a minimal values.yaml should look like this:

```yaml
imagePullSecrets:
- name: <imagePullSecretName>
```

### Install helm chart

Now, we can install the helm chart:

```sh
helm registry login quay.io --username ${REGISTRY_USER} --password ${REGISTRY_PASSWORD}
helm pull oci://quay.io/kubermatic/helm-charts/kubelb-manager --version=v0.6.0 --untardir "kubelb-manager" --untar
helm pull oci://quay.io/kubermatic/helm-charts/kubelb-manager --version=v1.0.0 --untardir "kubelb-manager" --untar
## Create and update values.yaml with the required values.
helm install kubelb-manager kubelb-manager --namespace kubelb -f values.yaml
```
Expand Down
4 changes: 2 additions & 2 deletions charts/kubelb-manager/values.yaml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
replicaCount: 1

image:
repository: quay.io/kubermatic/kubelb-manager-ee
repository: quay.io/kubermatic/kubelb-manager
pullPolicy: IfNotPresent
tag: v0.6.0
tag: v1.0.0
imagePullSecrets: []

kubelb:
Expand Down
4 changes: 2 additions & 2 deletions config/deploy/ccm/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ resources:
- ../../ccm
images:
- name: controller
newName: quay.io/kubermatic/kubelb-ccm-ee
newTag: v0.6.0
newName: quay.io/kubermatic/kubelb-ccm
newTag: v1.0.0
4 changes: 2 additions & 2 deletions config/deploy/kubelb/kustomization.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,5 @@ resources:
- ../../kubelb
images:
- name: controller
newName: quay.io/kubermatic/kubelb-manager-ee
newTag: v0.6.0
newName: quay.io/kubermatic/kubelb-manager
newTag: v1.0.0
1 change: 1 addition & 0 deletions hack/create-sa.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ clusterId=$1
namespace="cluster-$clusterId"

kubectl create namespace "$namespace"
kubectl label namespace "$namespace" kubelb.k8c.io/managed-by=kubelb
cat <<EOF | kubectl apply -n "$namespace" -f -
---
apiVersion: v1
Expand Down

0 comments on commit 3bac397

Please sign in to comment.