diff --git a/README.md b/README.md index 5de5b619..248a7fe2 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,9 @@ Helm's [documentation](https://helm.sh/docs) to get started. Once Helm has been set up correctly, add the repo as follows: +``` helm repo add k3k https://galal-hussein.github.io/k3k +``` If you had already added this repo earlier, run `helm repo update` to retrieve the latest versions of the packages. You can then run `helm search repo @@ -37,9 +39,9 @@ To uninstall the chart: To create a new cluster you need to install and run the cli or create a cluster object, to install the cli: ``` -wget https://github.com/galal-hussein/k3k/releases/download/v0.0.0-alpha2/k3k -chmod +x k3k -sudo cp k3k /usr/local/bin +wget https://github.com/galal-hussein/k3k/releases/download/v0.0.0-alpha2/k3kcli +chmod +x k3kcli +sudo cp k3kcli /usr/local/bin ``` To create a new cluster you can use: diff --git a/charts/k3k/Chart.yaml b/charts/k3k/Chart.yaml index 08a89d17..406569fc 100644 --- a/charts/k3k/Chart.yaml +++ b/charts/k3k/Chart.yaml @@ -2,5 +2,5 @@ apiVersion: v2 name: k3k description: A Helm chart for K3K type: application -version: 0.1.1 +version: 0.1.1-k3k1 appVersion: 0.0.0-alpha3 \ No newline at end of file diff --git a/charts/k3k/values.yaml b/charts/k3k/values.yaml index 946437ec..1f2cf9f4 100644 --- a/charts/k3k/values.yaml +++ b/charts/k3k/values.yaml @@ -5,7 +5,7 @@ image: repository: husseingalal/k3k pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. - tag: "v0.0.0-alpha3" + tag: "v0.0.0-alpha5" imagePullSecrets: [] nameOverride: "" diff --git a/cli/cmds/cluster/create.go b/cli/cmds/cluster/create.go index ff94c4cf..fc02ff8c 100644 --- a/cli/cmds/cluster/create.go +++ b/cli/cmds/cluster/create.go @@ -82,7 +82,7 @@ var ( Name: "version", Usage: "k3s version", Destination: &version, - Value: "v1.26.1+k3s1", + Value: "v1.26.1-k3s1", }, } ) diff --git a/pkg/apis/k3k.io/v1alpha1/register.go b/pkg/apis/k3k.io/v1alpha1/register.go index 5e1273b8..5a4a80f8 100644 --- a/pkg/apis/k3k.io/v1alpha1/register.go +++ b/pkg/apis/k3k.io/v1alpha1/register.go @@ -19,7 +19,11 @@ func Resource(resource string) schema.GroupResource { } func addKnownTypes(s *runtime.Scheme) error { - s.AddKnownTypes(SchemeGroupVersion, &Cluster{}, &ClusterList{}) + s.AddKnownTypes(SchemeGroupVersion, + &Cluster{}, + &ClusterList{}, + &CIDRAllocationPool{}, + &CIDRAllocationPoolList{}) metav1.AddToGroupVersion(s, SchemeGroupVersion) return nil } diff --git a/pkg/apis/k3k.io/v1alpha1/types.go b/pkg/apis/k3k.io/v1alpha1/types.go index ed66aea7..76e3707d 100644 --- a/pkg/apis/k3k.io/v1alpha1/types.go +++ b/pkg/apis/k3k.io/v1alpha1/types.go @@ -28,7 +28,7 @@ type ClusterSpec struct { ServerArgs []string `json:"serverArgs,omitempty"` AgentArgs []string `json:"agentArgs,omitempty"` - Expose ExposeConfig `json:"expose,omitempty"` + Expose *ExposeConfig `json:"expose,omitempty"` } // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object diff --git a/pkg/apis/k3k.io/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/k3k.io/v1alpha1/zz_generated.deepcopy.go index cca69b3a..06d5e040 100644 --- a/pkg/apis/k3k.io/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/k3k.io/v1alpha1/zz_generated.deepcopy.go @@ -207,7 +207,11 @@ func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec) { *out = make([]string, len(*in)) copy(*out, *in) } - in.Expose.DeepCopyInto(&out.Expose) + if in.Expose != nil { + in, out := &in.Expose, &out.Expose + *out = new(ExposeConfig) + (*in).DeepCopyInto(*out) + } return } diff --git a/pkg/controller/cluster/controller.go b/pkg/controller/cluster/controller.go index 1dd2aed3..4ce98960 100644 --- a/pkg/controller/cluster/controller.go +++ b/pkg/controller/cluster/controller.go @@ -64,13 +64,11 @@ func Add(ctx context.Context, mgr manager.Manager) error { }, } if err := reconciler.Client.Create(ctx, &cidrClusterPool); err != nil { - if !apierrors.IsConflict(err) { + if !apierrors.IsAlreadyExists(err) { // return nil since the resource has // already been created - return nil + return err } - - return err } clusterServiceSubnets, err := generateSubnets(defaultClusterServiceCIDR) @@ -97,13 +95,11 @@ func Add(ctx context.Context, mgr manager.Manager) error { }, } if err := reconciler.Client.Create(ctx, &cidrServicePool); err != nil { - if !apierrors.IsConflict(err) { + if !apierrors.IsAlreadyExists(err) { // return nil since the resource has // already been created - return nil + return err } - - return err } // create a new controller and add it to the manager @@ -202,15 +198,17 @@ func (c *ClusterReconciler) createCluster(ctx context.Context, cluster *v1alpha1 return util.WrapErr("failed to create servers and agents deployment", err) } - if cluster.Spec.Expose.Ingress.Enabled { - serverIngress, err := server.Ingress(ctx, cluster, c.Client) - if err != nil { - return util.WrapErr("failed to create ingress object", err) - } + if cluster.Spec.Expose != nil { + if cluster.Spec.Expose.Ingress != nil { + serverIngress, err := server.Ingress(ctx, cluster, c.Client) + if err != nil { + return util.WrapErr("failed to create ingress object", err) + } - if err := c.Client.Create(ctx, serverIngress); err != nil { - if !apierrors.IsAlreadyExists(err) { - return util.WrapErr("failed to create server ingress", err) + if err := c.Client.Create(ctx, serverIngress); err != nil { + if !apierrors.IsAlreadyExists(err) { + return util.WrapErr("failed to create server ingress", err) + } } } }