Add Eclipse Che applications to kustomization.yaml for improved development workspace management. This update includes application-devworkspace, application-operator, and application-checluster resources, enhancing the deployment capabilities for the Noble cluster.

This commit is contained in:
Nikholas Pcenicni
2026-03-28 19:53:01 -04:00
parent 544f75b0ee
commit 8a740019ad
7 changed files with 119 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
# Eclipse Che (optional — Argo CD)
Three **Application** resources (sync waves **0 → 1 → 2**):
| Wave | Application | Purpose |
|------|-------------|---------|
| 0 | `eclipse-che-devworkspace` | [DevWorkspace operator](https://github.com/devfile/devworkspace-operator) **v0.33.0** (`devworkspace/kustomization.yaml` → remote `combined.yaml`) |
| 1 | `eclipse-che-operator` | [Eclipse Che Helm chart](https://artifacthub.io/packages/helm/eclipse-che/eclipse-che) **7.116.0** (operator in **`eclipse-che`**) |
| 2 | `eclipse-che-cluster` | **`CheCluster`** (`checluster.yaml`) — Traefik + **cert-manager** TLS |
**Prerequisites (cluster):** **cert-manager** + **Traefik** (noble bootstrap). **DNS:** `che.apps.noble.lab.pcenicni.dev` → Traefik LB (edit **`checluster.yaml`** if your domain differs).
**First sync:** Wave ordering applies to **Application** CRs under **noble-root**; if the operator starts before DevWorkspace is ready, **Refresh**/**Sync** the child apps once. See [Eclipse Che on Kubernetes](https://eclipse.dev/che/docs/stable/administration-guide/installing-che-on-kubernetes/).
**URL:** `kubectl get checluster eclipse-che -n eclipse-che -o jsonpath='{.status.cheURL}{"\n"}'` after **Phase** is **Active**.

View File

@@ -0,0 +1,27 @@
# CheCluster CR — sync wave 2 (operator must be Ready to reconcile).
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: eclipse-che-cluster
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: "2"
finalizers:
- resources-finalizer.argocd.argoproj.io/background
spec:
project: default
source:
repoURL: https://gitea.pcenicni.ca/gsdavidp/home-server.git
targetRevision: HEAD
path: clusters/noble/apps/eclipse-che
directory:
include: checluster.yaml
destination:
server: https://kubernetes.default.svc
namespace: eclipse-che
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- ServerSideApply=true

View File

@@ -0,0 +1,26 @@
# DevWorkspace operator — must sync before Eclipse Che Helm (sync wave 0).
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: eclipse-che-devworkspace
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: "0"
finalizers:
- resources-finalizer.argocd.argoproj.io/background
spec:
project: default
source:
repoURL: https://gitea.pcenicni.ca/gsdavidp/home-server.git
targetRevision: HEAD
path: clusters/noble/apps/eclipse-che/devworkspace
destination:
server: https://kubernetes.default.svc
namespace: devworkspace-controller
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true

View File

@@ -0,0 +1,28 @@
# Eclipse Che operator (Helm) — sync wave 1 (after DevWorkspace CRDs/controller).
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: eclipse-che-operator
namespace: argocd
annotations:
argocd.argoproj.io/sync-wave: "1"
finalizers:
- resources-finalizer.argocd.argoproj.io/background
spec:
project: default
source:
repoURL: https://eclipse-che.github.io/che-operator/charts
chart: eclipse-che
targetRevision: 7.116.0
helm:
releaseName: eclipse-che
destination:
server: https://kubernetes.default.svc
namespace: eclipse-che
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
- ServerSideApply=true

View File

@@ -0,0 +1,14 @@
# Eclipse Che instance — applied after **che-operator** is running (sync wave 2).
# Edit **hostname** / **domain** if your ingress DNS differs from the noble lab pattern.
apiVersion: org.eclipse.che/v2
kind: CheCluster
metadata:
name: eclipse-che
namespace: eclipse-che
spec:
networking:
domain: apps.noble.lab.pcenicni.dev
hostname: che.apps.noble.lab.pcenicni.dev
ingressClassName: traefik
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod

View File

@@ -0,0 +1,6 @@
# DevWorkspace operator — prerequisite for Eclipse Che (pinned tag).
# https://github.com/devfile/devworkspace-operator
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- https://raw.githubusercontent.com/devfile/devworkspace-operator/v0.33.0/deploy/deployment/kubernetes/combined.yaml

View File

@@ -5,3 +5,6 @@ apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- homepage/application.yaml
- eclipse-che/application-devworkspace.yaml
- eclipse-che/application-operator.yaml
- eclipse-che/application-checluster.yaml