Compare commits

...

6 Commits

Author SHA1 Message Date
Dario Tranchitella
3b75b23e05 chore(ci): building edge releases (#498) 2024-07-26 16:02:46 +02:00
Dario Tranchitella
a707c618d5 docs: openinfra day france 2024 video (#495) 2024-07-17 13:57:10 +02:00
Mario Valderrama
84e669316a chore: update default konnectivity version (#492)
Signed-off-by: Mario Valderrama <mario.valderrama@ionos.com>
2024-07-17 11:34:43 +02:00
Mario Valderrama
2e235a4e32 fix: silence ginkgo versions mismatch warning (#493)
Signed-off-by: Mario Valderrama <mario.valderrama@ionos.com>
2024-07-17 11:32:44 +02:00
Dario Tranchitella
52c1ee8aba chore(kine): upgrading to v0.11.10
Signed-off-by: Dario Tranchitella <dario@tranchitella.eu>
2024-07-11 14:16:31 +02:00
Johann Wagner
b541962163 fix(ipv6): use net.JoinHostPort instead of fmt.Sprintf 2024-07-11 13:20:02 +02:00
14 changed files with 34 additions and 31 deletions

View File

@@ -4,6 +4,7 @@ on:
push:
tags:
- "v*"
- "edge-*"
jobs:
docker-ci:

View File

@@ -77,7 +77,7 @@ helm: ## Download helm locally if necessary.
GINKGO = $(shell pwd)/bin/ginkgo
ginkgo: ## Download ginkgo locally if necessary.
$(call go-install-tool,$(GINKGO),github.com/onsi/ginkgo/v2/ginkgo@v2.6.0)
$(call go-install-tool,$(GINKGO),github.com/onsi/ginkgo/v2/ginkgo)
KIND = $(shell pwd)/bin/kind
kind: ## Download kind locally if necessary.

View File

@@ -122,6 +122,7 @@ Since Kamaji is just focusing on the Control Plane a [Kamaji's Cluster API Contr
- YouTube ▶️ [Equinix, Kamaji, and Cluster API](https://www.youtube.com/watch?v=TLBTqROj_wA)
- YouTube ▶️ [Rancher & Kamaji: solving multitenancy challenges in the Kubernetes world](https://www.youtube.com/watch?v=VXHNrMmlF8U)
- YouTube ▶️ [Enabling Self-Service Kubernetes clusters with Kamaji and Paralus](https://www.youtube.com/watch?v=JWA2LwZazM0)
- YouTube ▶️ [Hosted Control Plane on Kubernetes (HPC) with Kamaji and K0mostron by Hervé Leclerc, ALTER WAY](https://www.youtube.com/watch?v=vmRdE2ngn78)
### 🏷️ Versioning
@@ -157,4 +158,4 @@ The code is provided as-is with no warranties.
If you're looking to run Kamaji in production and would like to learn more, **CLASTIX** can help by offering [Open Source support plans](https://clastix.io/support),
as well as providing a comprehensive Enterprise Platform named [CLASTIX Enterprise Platform](https://clastix.cloud/), built on top of the Kamaji and [Capsule](https://capsule.clastix.io/) project (now donated to CNCF as a Sandbox project).
Feel free to get in touch with the provided [Contact form](https://clastix.io/contact).
Feel free to get in touch with the provided [Contact form](https://clastix.io/contact).

View File

@@ -204,7 +204,7 @@ type KonnectivityServerSpec struct {
// The port which Konnectivity server is listening to.
Port int32 `json:"port"`
// Container image version of the Konnectivity server.
// +kubebuilder:default=v0.0.32
// +kubebuilder:default=v0.28.6
Version string `json:"version,omitempty"`
// Container image used by the Konnectivity server.
// +kubebuilder:default=registry.k8s.io/kas-network-proxy/proxy-server
@@ -219,7 +219,7 @@ type KonnectivityAgentSpec struct {
// +kubebuilder:default=registry.k8s.io/kas-network-proxy/proxy-agent
Image string `json:"image,omitempty"`
// Version for Konnectivity agent.
// +kubebuilder:default=v0.0.32
// +kubebuilder:default=v0.28.6
Version string `json:"version,omitempty"`
// Tolerations for the deployed agent.
// Can be customized to start the konnectivity-agent even if the nodes are not ready or tainted.
@@ -230,9 +230,9 @@ type KonnectivityAgentSpec struct {
// KonnectivitySpec defines the spec for Konnectivity.
type KonnectivitySpec struct {
// +kubebuilder:default={version:"v0.0.32",image:"registry.k8s.io/kas-network-proxy/proxy-server",port:8132}
// +kubebuilder:default={version:"v0.28.6",image:"registry.k8s.io/kas-network-proxy/proxy-server",port:8132}
KonnectivityServerSpec KonnectivityServerSpec `json:"server,omitempty"`
// +kubebuilder:default={version:"v0.0.32",image:"registry.k8s.io/kas-network-proxy/proxy-agent"}
// +kubebuilder:default={version:"v0.28.6",image:"registry.k8s.io/kas-network-proxy/proxy-agent"}
KonnectivityAgentSpec KonnectivityAgentSpec `json:"agent,omitempty"`
}

View File

@@ -104,7 +104,7 @@ spec:
agent:
default:
image: registry.k8s.io/kas-network-proxy/proxy-agent
version: v0.0.32
version: v0.28.6
properties:
extraArgs:
description: |-
@@ -165,7 +165,7 @@ spec:
type: object
type: array
version:
default: v0.0.32
default: v0.28.6
description: Version for Konnectivity agent.
type: string
type: object
@@ -173,7 +173,7 @@ spec:
default:
image: registry.k8s.io/kas-network-proxy/proxy-server
port: 8132
version: v0.0.32
version: v0.28.6
properties:
extraArgs:
description: |-
@@ -252,7 +252,7 @@ spec:
type: object
type: object
version:
default: v0.0.32
default: v0.28.6
description: Container image version of the Konnectivity
server.
type: string

View File

@@ -297,7 +297,7 @@ func NewCmd(scheme *runtime.Scheme) *cobra.Command {
cmd.Flags().StringVar(&healthProbeBindAddress, "health-probe-bind-address", ":8081", "The address the probe endpoint binds to.")
cmd.Flags().BoolVar(&leaderElect, "leader-elect", true, "Enable leader election for controller manager. Enabling this will ensure there is only one active controller manager.")
cmd.Flags().StringVar(&tmpDirectory, "tmp-directory", "/tmp/kamaji", "Directory which will be used to work with temporary files.")
cmd.Flags().StringVar(&kineImage, "kine-image", "rancher/kine:v0.9.2-amd64", "Container image along with tag to use for the Kine sidecar container (used only if etcd-storage-type is set to one of kine strategies).")
cmd.Flags().StringVar(&kineImage, "kine-image", "rancher/kine:v0.11.10-amd64", "Container image along with tag to use for the Kine sidecar container (used only if etcd-storage-type is set to one of kine strategies).")
cmd.Flags().StringVar(&datastore, "datastore", "etcd", "The default DataStore that should be used by Kamaji to setup the required storage.")
cmd.Flags().StringVar(&migrateJobImage, "migrate-image", fmt.Sprintf("clastix/kamaji:%s", internal.GitTag), "Specify the container image to launch when a TenantControlPlane is migrated to a new datastore.")
cmd.Flags().IntVar(&maxConcurrentReconciles, "max-concurrent-tcp-reconciles", 1, "Specify the number of workers for the Tenant Control Plane controller (beware of CPU consumption)")

View File

@@ -95,7 +95,7 @@ spec:
agent:
default:
image: registry.k8s.io/kas-network-proxy/proxy-agent
version: v0.0.32
version: v0.28.6
properties:
extraArgs:
description: |-
@@ -156,7 +156,7 @@ spec:
type: object
type: array
version:
default: v0.0.32
default: v0.28.6
description: Version for Konnectivity agent.
type: string
type: object
@@ -164,7 +164,7 @@ spec:
default:
image: registry.k8s.io/kas-network-proxy/proxy-server
port: 8132
version: v0.0.32
version: v0.28.6
properties:
extraArgs:
description: |-
@@ -243,7 +243,7 @@ spec:
type: object
type: object
version:
default: v0.0.32
default: v0.28.6
description: Container image version of the Konnectivity
server.
type: string

View File

@@ -394,7 +394,7 @@ spec:
agent:
default:
image: registry.k8s.io/kas-network-proxy/proxy-agent
version: v0.0.32
version: v0.28.6
properties:
extraArgs:
description: |-
@@ -454,7 +454,7 @@ spec:
type: object
type: array
version:
default: v0.0.32
default: v0.28.6
description: Version for Konnectivity agent.
type: string
type: object
@@ -462,7 +462,7 @@ spec:
default:
image: registry.k8s.io/kas-network-proxy/proxy-server
port: 8132
version: v0.0.32
version: v0.28.6
properties:
extraArgs:
description: |-
@@ -537,7 +537,7 @@ spec:
type: object
type: object
version:
default: v0.0.32
default: v0.28.6
description: Container image version of the Konnectivity server.
type: string
required:

View File

@@ -44,7 +44,7 @@ spec:
secretName: mysql-certs
containers:
- name: kine-tenant
image: rancher/kine:v0.9.2-amd64
image: rancher/kine:v0.11.10-amd64
ports:
- containerPort: 2379
name: server

View File

@@ -13509,7 +13509,7 @@ Enables the Konnectivity addon in the Tenant Cluster, required if the worker nod
<td>
<br/>
<br/>
<i>Default</i>: map[image:registry.k8s.io/kas-network-proxy/proxy-agent version:v0.0.32]<br/>
<i>Default</i>: map[image:registry.k8s.io/kas-network-proxy/proxy-agent version:v0.28.6]<br/>
</td>
<td>false</td>
</tr><tr>
@@ -13518,7 +13518,7 @@ Enables the Konnectivity addon in the Tenant Cluster, required if the worker nod
<td>
<br/>
<br/>
<i>Default</i>: map[image:registry.k8s.io/kas-network-proxy/proxy-server port:8132 version:v0.0.32]<br/>
<i>Default</i>: map[image:registry.k8s.io/kas-network-proxy/proxy-server port:8132 version:v0.28.6]<br/>
</td>
<td>false</td>
</tr></tbody>
@@ -13575,7 +13575,7 @@ Can be customized to start the konnectivity-agent even if the nodes are not read
<td>
Version for Konnectivity agent.<br/>
<br/>
<i>Default</i>: v0.0.32<br/>
<i>Default</i>: v0.28.6<br/>
</td>
<td>false</td>
</tr></tbody>
@@ -13704,7 +13704,7 @@ unxpected ways. Only modify if you know what you are doing.<br/>
<td>
Container image version of the Konnectivity server.<br/>
<br/>
<i>Default</i>: v0.0.32<br/>
<i>Default</i>: v0.28.6<br/>
</td>
<td>false</td>
</tr></tbody>

View File

@@ -10,7 +10,7 @@ Available flags are the following:
| `--health-probe-bind-address` | The address the probe endpoint binds to. | `:8081` |
| `--leader-elect` | Enable leader election for controller manager. Enabling this will ensure there is only one active controller manager. | `true` |
| `--tmp-directory` | Directory which will be used to work with temporary files. | `/tmp/kamaji` |
| `--kine-image` | Container image along with tag to use for the Kine sidecar container (used only if etcd-storage-type is set to one of kine strategies). | `rancher/kine:v0.9.2-amd64` |
| `--kine-image` | Container image along with tag to use for the Kine sidecar container (used only if etcd-storage-type is set to one of kine strategies). | `rancher/kine:v0.11.10-amd64` |
| `--datastore` | The default DataStore that should be used by Kamaji to setup the required storage. | `etcd` |
| `--migrate-image` | Specify the container image to launch when a TenantControlPlane is migrated to a new datastore. | `migrate-image` |
| `--max-concurrent-tcp-reconciles` | Specify the number of workers for the Tenant Control Plane controller (beware of CPU consumption). | `1` |

View File

@@ -23,7 +23,7 @@ type ConnectionEndpoint struct {
}
func (r ConnectionEndpoint) String() string {
return fmt.Sprintf("%s:%d", r.Host, r.Port)
return net.JoinHostPort(r.Host, strconv.FormatInt(int64(r.Port), 10))
}
type ConnectionConfig struct {

View File

@@ -5,7 +5,8 @@ package resources
import (
"context"
"fmt"
"net"
"strconv"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -53,8 +54,7 @@ func (r *KubernetesServiceResource) UpdateTenantControlPlaneStatus(ctx context.C
return err
}
tenantControlPlane.Status.ControlPlaneEndpoint = fmt.Sprintf("%s:%d", address, tenantControlPlane.Spec.NetworkProfile.Port)
tenantControlPlane.Status.ControlPlaneEndpoint = net.JoinHostPort(address, strconv.FormatInt(int64(tenantControlPlane.Spec.NetworkProfile.Port), 10))
return nil
}

View File

@@ -5,7 +5,8 @@ package resources
import (
"context"
"fmt"
"net"
"strconv"
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -74,7 +75,7 @@ func (r *KubeadmConfigResource) getControlPlaneEndpoint(ingress *kamajiv1alpha1.
address, port = utilities.GetControlPlaneAddressAndPortFromHostname(ingress.Hostname, port)
}
return fmt.Sprintf("%s:%d", address, port)
return net.JoinHostPort(address, strconv.FormatInt(int64(port), 10))
}
func (r *KubeadmConfigResource) mutate(ctx context.Context, tenantControlPlane *kamajiv1alpha1.TenantControlPlane) controllerutil.MutateFn {