Skip to content

Add shared cache node helm chart#16

Open
KevinGruber2001 wants to merge 121 commits into
mainfrom
feat/15-integrate-shared-cache-node-into-theia-cloud-combined
Open

Add shared cache node helm chart#16
KevinGruber2001 wants to merge 121 commits into
mainfrom
feat/15-integrate-shared-cache-node-into-theia-cloud-combined

Conversation

@KevinGruber2001

@KevinGruber2001 KevinGruber2001 commented Nov 16, 2025

Copy link
Copy Markdown
Contributor

Summary by CodeRabbit

  • New Features
    • Optional shared cache component and configurable resource limits
    • New monitoring dashboards and scrape targets for shared cache and repository service observability
    • Operator flags to enable/disable build and dependency caching (optional acceleration)

@coderabbitai

coderabbitai Bot commented Nov 16, 2025

Copy link
Copy Markdown

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds a new cluster-scoped internal TLS Helm chart and workflow step, integrates a shared cache into the main Theia Cloud helm values and deployments, and introduces monitoring dashboards and ServiceMonitors for the shared cache and Reposilite; documentation and value references updated accordingly.

Changes

Cohort / File(s) Summary
Internal TLS Chart
charts/theia-internal-tls/Chart.yaml, charts/theia-internal-tls/templates/internal-ca.yml, charts/theia-internal-tls/templates/trust-bundle.yml
New Helm chart creating a long-lived CA Certificate, a ClusterIssuer, and a cert-manager Bundle that emits a trust ConfigMap (and JKS) to target namespaces.
Workflow
.github/workflows/deploy-theia.yml
Inserted Helm step to install theia-internal-tls (uses workflow KUBECONFIG) between cluster-wide monitoring and subsequent deployment steps.
Certificates
charts/theia-certificates/templates/cache-internal-certificate.yml
Added cert-manager Certificate cache-internal-cert issued by theia-internal-ca-issuer for the shared cache service, stored in cache-internal-cert-secret.
Shared Cache Integration
charts/theia-cloud-combined/Chart.yaml, charts/theia-cloud-combined/values.yaml, deployments/.../values.yaml
Added theia-shared-cache values (enabled flag and resources), changed dependency version formatting, and added operator cache-related flags/URLs; test deployment values enable cache + TLS and resource settings.
Monitoring
charts/theia-monitoring/templates/dashboard-cache.yaml, charts/theia-monitoring/templates/dashboard-reposilite.yaml, charts/theia-monitoring/templates/servicemonitor-cache.yaml, charts/theia-monitoring/templates/servicemonitor-reposilite.yaml, charts/theia-monitoring/values.yaml
Added Grafana dashboards for shared cache and Reposilite, ServiceMonitors for both services, and a small values file whitespace cleanup.
Docs & References
README.md, docs/adding-environments.md, value-reference-files/theia-cloud-helm-values.yml
README Quick Start updated to include internal TLS install step and chart entry; docs note cluster-wide install of internal TLS; value-reference updated operator image and disabled caching defaults.

Sequence Diagram(s)

mermaid
sequenceDiagram
participant CI as GitHub Actions
participant Helm as Helm CLI
participant K8s as Kubernetes API
participant CM as cert-manager
participant NS as Namespace ConfigMaps
participant Service as Shared Cache Service

CI->>Helm: helm upgrade --install theia-internal-tls (uses KUBECONFIG)
Helm->>K8s: Create Certificate (theia-internal-ca) & ClusterIssuer
K8s->>CM: cert-manager issues CA cert, creates secret
CM->>K8s: Create Bundle (theia-internal-trust) targeting namespaces
K8s->>NS: Distribute trust ConfigMap (`trust-bundle.pem`, `truststore.jks`)
Service->>K8s: Use ConfigMap + certificate secret for internal TLS

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related issues

Possibly related PRs

Suggested labels

ready to merge

Suggested reviewers

  • lukaskratzel
  • CodeByNikolas
  • Mtze

Poem

🐇 A Rabbit's Note on Trust and Cache
New CA seeds the meadow green and wide,
Trust bundles travel, placed in every side,
Caches hum and metrics glow, dashboards gleam,
Helm charts hop forward — together we stream.

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The PR title mentions 'shared cache node' but the changes encompass much more: internal TLS infrastructure, monitoring dashboards, caching policies, and deployment configurations. The title is incomplete and doesn't capture the full scope of the changeset. Revise the title to reflect the broader scope, such as: 'Add shared cache integration with internal TLS and monitoring infrastructure' or 'Integrate shared cache and internal TLS with monitoring dashboards.'
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/15-integrate-shared-cache-node-into-theia-cloud-combined

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 19 out of 19 changed files in this pull request and generated 9 comments.

Comment thread charts/theia-cloud-combined/values.yaml
Comment thread deployments/test2.theia-test.artemis.cit.tum.de/values.yaml Outdated
Comment thread charts/theia-internal-tls/templates/trust-bundle.yml Outdated
Comment thread README.md Outdated
Comment thread .github/workflows/deploy-theia.yml Outdated
Comment thread charts/theia-cloud-combined/values.yaml
Comment thread deployments/test1.theia-test.artemis.cit.tum.de/values.yaml
Comment thread deployments/test2.theia-test.artemis.cit.tum.de/values.yaml
Comment thread deployments/test3.theia-test.artemis.cit.tum.de/values.yaml

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated 5 comments.

Comment thread charts/theia-cloud-combined/Chart.yaml
Comment thread .github/workflows/deploy-theia.yml Outdated
Comment thread README.md Outdated
Comment thread docs/adding-environments.md Outdated
Comment thread charts/theia-cloud-combined/values.yaml

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Comment thread charts/theia-cloud-combined/values.yaml
Comment thread deployments/test2.theia-test.artemis.cit.tum.de/values.yaml Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Comment thread charts/theia-cloud-combined/Chart.yaml
Comment thread charts/theia-cloud-combined/values.yaml

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 11 out of 11 changed files in this pull request and generated 3 comments.

Comment thread charts/theia-cloud-combined/Chart.yaml
Comment thread charts/theia-cloud-combined/values.yaml

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 12 out of 12 changed files in this pull request and generated 5 comments.

Comment on lines +70 to +74
enableBuildCaching: false
buildCacheUrl: ""
enableBuildCachePush: false
enableDependencyCaching: false
dependencyCacheUrl: ""
Comment on lines +60 to +63
cache:
hostname: cache.staging.theia-test.artemis.cit.tum.de
repo:
hostname: repo.staging.theia-test.artemis.cit.tum.de
Comment on lines +116 to +117
gradleUrl: "https://cache.staging.theia-test.artemis.cit.tum.de/gradle/"
bazelUrl: "https://cache.staging.theia-test.artemis.cit.tum.de/bazel/"
enablePush: true
dependencyCache:
enabled: true
url: "https://repo.staging.theia-test.artemis.cit.tum.de/releases/"

conversion:
image: ghcr.io/eduide/eduide-cloud/conversion-webhook:latest-e431a13
image: ghcr.io/eduide/eduide-cloud/conversion-webhook:latest

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Integrate Shared cache node into theia-cloud-combined

3 participants