Agent skill

Educates Upgrade Cluster Services

by educates in educates/educates-training-platform

Upgrade a vendored upstream cluster-service Helm chart the Educates operator installs for EducatesClusterConfig — cert-manager, Contour, Kyverno, or external-dns.

Apache-2.0Auto-check: notesDevOps & Cloud

Install Educates Upgrade Cluster Services

skills CLI
$ npx skills add educates/educates-training-platform --skill educates-upgrade-cluster-services -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install educates/educates-training-platform educates-upgrade-cluster-services --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/educates/educates-training-platform.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/educates-upgrade-cluster-services .claude/skills/educates-upgrade-cluster-services && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
educates-upgrade-cluster-services
GitHub stars
161
Token cost
~3.2k tokens
SKILL.md length
1,225 words
Files
1
Skills in repo
7
Repo updated
First seen
Licence
Apache-2.0

At a glance

Upgrade a vendored upstream cluster-service Helm chart the Educates operator installs for EducatesClusterConfig — cert-manager, Contour, Kyverno, or external-dns.

  • Works in 4 steps: installer/operator/Makefile →… → installer/operator/vendored-charts/SHA256… → installer/operator/vendored-charts/embed.… → …
  • Tasks that involve Container orchestration
  • SKILL.md covers Where each piece of version…, Upstream sources and version…, Update process (per chart) and Re-verify reconciler assumptions, plus 4 more sections
  • Calls make, git and curl; reaches github.com and kyverno.github.io

What it does

Educates Upgrade Cluster Services is an agent skill from educates/educates-training-platform. Upgrade a vendored upstream cluster-service Helm chart the Educates operator installs for EducatesClusterConfig — cert-manager, Contour, Kyverno, or external-dns. Invoke when asked to "upgrade cert-manager / contour / kyverno / external-dns", "bump a vendored cluster-service chart", or "update the operator's bundled charts".

Its SKILL.md is about 3.2k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in DevOps & Cloud, covering Container orchestration. It works with Helm and Kubernetes. The repository describes itself as: A platform for hosting interactive workshop environments in Kubernetes, or on top of a local container runtime. The licence is Apache-2.0.

When your agent uses it

  • Tasks that involve Container orchestration

Example prompts

  • “upgrade cert-manager / contour / kyverno / external-dns”
  • “bump a vendored cluster-service chart”
  • “update the operator”
  • “/educates-upgrade-cluster-services”

Requirements

  • Pre-approved tools (allowed-tools): Read, Edit, Bash, WebFetch, Glob

Workflow steps

4 steps, taken from the first numbered list in SKILL.md.

  1. installer/operator/Makefile → VENDORED_CHARTS list: name=version=url.
  2. installer/operator/vendored-charts/SHA256SUMS: -.tgz.
  3. installer/operator/vendored-charts/embed.go: the //go:embed -.tgz
  4. The tarball file itself on disk.

What it can do on your machine

Read from SKILL.md and the folder at commit 36abce0. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Edit
    • Bash
    • WebFetch
    • Glob

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • make
    • git
    • curl
    • yq
    • helm

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • github.com
    • kyverno.github.io
    • charts.jetstack.io

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Educates Upgrade Cluster Services loads about 3.2k tokens when it runs. Until then it costs about 90 tokens; SKILL.md has 1,225 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~90
When it runs · the whole SKILL.md, loaded when a task matches
~3.2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Read, Edit, Bash, WebFetch, Glob

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from educates/educates-training-platform at commit 36abce0, republished under its Apache-2.0 licence (© educates). 1,225 words, ~3,170 tokens.

Download SKILL.mdSave it as .claude/skills/educates-upgrade-cluster-services/SKILL.md (or your agent's skills folder).
name
educates-upgrade-cluster-services
description
Upgrade a vendored upstream cluster-service Helm chart the Educates operator installs for EducatesClusterConfig — cert-manager, Contour, Kyverno, or external-dns. Invoke when asked to "upgrade cert-manager / contour / kyverno / external-dns", "bump a vendored cluster-service chart", or "update the operator's bundled charts".
allowed-tools
Read, Edit, Bash, WebFetch, Glob
argument-hint
[cert-manager|contour|kyverno|external-dns] (omit to check all four)

Educates Cluster-Service Chart Upgrade Protocol

The operator installs four upstream cluster services for EducatesClusterConfig (Managed mode) from Helm chart tarballs vendored at installer/operator/vendored-charts/: cert-manager, Contour, Kyverno, external-dns. The bytes are checked into the repo and embedded into the operator binary via //go:embed. This skill bumps one (or checks all) to a new upstream version.

installer/operator/vendored-charts/README.md is the canonical reference for this workflow — keep it and this skill in agreement.

If $ARGUMENTS names a service, upgrade only that one. With no argument, check all four for newer upstream versions and report before changing anything.

The same directory also holds the in-repo runtime subcharts (secrets-manager, lookup-service, session-manager, node-ca-injector, remote-access). Those are not in scope here — they are repackaged from source via make package-local-charts, not downloaded.

Where each piece of version state lives

A version is pinned in four canonical places that must stay in lockstep (a consistency test enforces it — see Verification):

  1. installer/operator/Makefile → VENDORED_CHARTS list: name=version=url.
  2. installer/operator/vendored-charts/SHA256SUMS: <sha256> <name>-<version>.tgz.
  3. installer/operator/vendored-charts/embed.go: the //go:embed <name>-<version>.tgz directive, the <X>ChartVersion constant, and (Contour / external-dns / Kyverno) the <X>AppVersion constant. cert-manager has a single CertManagerVersion (its chart version equals its appVersion).
  4. The tarball file itself on disk.

Beyond these four, some tests hardcode a version string rather than referencing the embed.go constant (an import cycle prevents the helm package's tests from importing vendoredcharts). The DirectoryConsistent test does not cover these, so they go stale silently and only surface as a CI test failure. The known one is installer/operator/internal/helm/load_test.go (TestLoadArchive_VendoredCertManager), which hardcodes the cert-manager version twice (the .tgz filename and the AppVersion assertion). Always finish a bump with the straggler grep below — do not rely on the four-place list alone.

Upstream sources and version semantics

ServiceUpstream releasesChart URL patternApp version
cert-managerhttps://github.com/cert-manager/cert-manager/releaseshttps://charts.jetstack.io/charts/cert-manager-v<VER>.tgz== chart version (v<VER>)
contourhttps://github.com/projectcontour/helm-charts/releaseshttps://github.com/projectcontour/helm-charts/releases/download/contour-<VER>/contour-<VER>.tgzContour binary version (e.g. 1.33.5)
external-dnshttps://github.com/kubernetes-sigs/external-dns/releaseshttps://github.com/kubernetes-sigs/external-dns/releases/download/external-dns-helm-chart-<VER>/external-dns-<VER>.tgzexternal-dns binary version
kyvernohttps://github.com/kyverno/kyverno/releaseshttps://kyverno.github.io/kyverno/kyverno-<VER>.tgzKyverno binary version (e.g. v1.18.1)

Use WebFetch on the releases page to find the latest stable chart version (not a pre-release). The chart version and the bundled app version differ for Contour, external-dns, and Kyverno — read the new app version from the tarball's Chart.yaml (appVersion:) after downloading.

Kyverno is the awkward one: its chart version and binary version are on different numbering tracks and live in different places. The github.com/kyverno/kyverno/releases page lists the binary version (appVersion, e.g. v1.18.1); the chart version (<VER> in the URL above, e.g. 3.8.1) only exists in the Helm repo's index.yaml. They are not aligned and you cannot derive one from the other by inspection — you must resolve the chart version that ships a given Kyverno binary from the repo index:

bash
# What chart version ships Kyverno binary v1.18.1? (stable, non-rc rows only)
curl -sSfL https://kyverno.github.io/kyverno/index.yaml \
  | yq -r '.entries.kyverno[]
      | select(.appVersion | test("rc")|not)
      | .version + "  =>  " + .appVersion' \
  | grep ' v1.18.1$'        # → 3.8.1  =>  v1.18.1

To browse the newest stable charts and the binary each one bundles (the first row is the latest stable chart), drop the grep:

bash
curl -sSfL https://kyverno.github.io/kyverno/index.yaml \
  | yq -r '.entries.kyverno[]
      | select(.appVersion | test("rc")|not)
      | .version + "  =>  " + .appVersion' \
  | head

Equivalently with the Helm CLI (helm repo add kyverno https://kyverno.github.io/kyverno/ && helm repo update kyverno && helm search repo kyverno/kyverno --versions), whose CHART VERSION / APP VERSION columns are the same two fields. Either way, that chart version is what goes in <VER> for the download URL, the Makefile, SHA256SUMS, and the embed.go filename + KyvernoChartVersion; the matching appVersion is KyvernoAppVersion (still confirm it from the downloaded tarball's Chart.yaml per step 5).

Current versions: read them from the Makefile VENDORED_CHARTS line and the embed.go constants.

Update process (per chart)

Worked example: contour 0.6.0 → <VER>. Other charts are identical except cert-manager has no separate AppVersion constant.

  1. Compute the new tarball's SHA256 from the upstream URL (the "I am deliberately trusting these bytes" step — make vendor-charts refuses to download anything whose hash isn't already recorded):

    bash
    curl -sSfL "https://github.com/projectcontour/helm-charts/releases/download/contour-<VER>/contour-<VER>.tgz" | shasum -a 256
  2. installer/operator/Makefile — update the chart's VENDORED_CHARTS entry (version and URL).

  3. SHA256SUMS — replace the chart's line with the new filename + hash.

  4. make -C installer/operator vendor-charts — downloads, verifies against SHA256SUMS, and writes the new tarball into place. Then git rm the old tarball (nothing prunes it automatically).

  5. embed.go — update the //go:embed filename, the <X>ChartVersion constant, and the <X>AppVersion constant. Read the new appVersion from the tarball:

    bash
    tar -xzOf installer/operator/vendored-charts/contour-<VER>.tgz contour/Chart.yaml | grep -E '^(version|appVersion):'
  6. Grep the repo for stragglers — hardcoded references to the old version that live outside the four canonical places (notably tests). Run this with the OLD version string before you forget it, and update every hit:

    bash
    # e.g. old cert-manager version v1.20.2 → catches internal/helm/load_test.go
    git grep -n "<old-version>" -- installer/operator

    For cert-manager this always includes internal/helm/load_test.go (filename + AppVersion assertion). Skip the vendored-charts/ line for the tarball you just git rm'd.

  7. Re-verify reconciler assumptions (the load-bearing step — see next section). The per-service reconciler gates readiness on specific workload names / webhook behaviour verified against a chart version.

  8. installer/operator/vendored-charts/README.md — update the "Current contents" version table.

  9. Kyverno only — also re-vendor the bundled policies. See "Kyverno special case" below.

Show full SKILL.md (471 more words)Show less

Re-verify reconciler assumptions

Each cluster service has a reconciler in installer/operator/internal/controller/config/ that gates readiness on workload names and, sometimes, CRD/webhook behaviour. A chart bump can rename a Deployment, change a values key, or move a CRD API version and silently break the gate. Render the new chart and confirm:

bash
# extract + template the new chart with the operator's values shape
helm template <name> <path-to-extracted-chart> [--set ...] | grep -E 'kind: (Deployment|DaemonSet)' -A2
ServiceReconcilerWhat it asserts (verify still true)
cert-managercertmanager.gocert-manager, cert-manager-cainjector, cert-manager-webhook Deployments ready; cert-manager.io API discovery responds; CRDs present (deferred watch)
contourcontour.gocontour-contour Deployment + contour-envoy DaemonSet (names from the chart fullname helper); no admission webhook; envoy.useHostPort / envoy.service.type values still honoured
external-dnsexternaldns.gothe external-dns Deployment is ready; provider value keys (Route53 / CloudDNS) unchanged
kyvernokyverno.gothe four controller Deployments (kyverno-{admission,background,cleanup,reports}-controller) ready; validatingpolicies.policies.kyverno.io CRD still installed; RBAC role names unchanged

If a name or values key changed, update the reconciler constant and its "verified against <version>" comment in the same change.

Kyverno special case

Bumping the Kyverno chart usually means bumping the Kyverno binary (KyvernoAppVersion), and the bundled Kyverno security policies are pinned to a matching kyverno/policies release branch. When KyvernoAppVersion changes (e.g. v1.18.x → v1.19.x):

  1. Re-vendor the policies from the matching release-1.NN branch — follow installer/charts/educates-training-platform/charts/session-manager/files/kyverno-policies/README.md.
  2. Repackage the session-manager subchart so the operator ships the refreshed policies:
    bash
    make -C installer/operator package-local-charts
    (then restore any subchart tarball that only changed by gzip timestamp).
  3. Re-check that kyverno.go's RBAC / CRD assumptions and the session-manager validatingpolicies ClusterRole still match the new Kyverno.

Verification

bash
make -C installer/operator verify-vendored-charts   # SHA256 of every on-disk tarball
make -C installer/operator test                     # runs the consistency + load tests

make test includes:

  • TestVendoredCharts_DirectoryConsistent — ties the Makefile VENDORED_CHARTS list, SHA256SUMS, embed.go constants, and the on-disk tarballs together; a half-finished bump (or a leftover old tarball) fails here.
  • Test<Service>_Embedded — asserts each embedded chart's name/version/appVersion match the embed.go constants.

The operator image //go:embeds these tarballs, so to test on a cluster rebuild the operator (make image-operator) and redeploy. For a real upgrade, also deploy EducatesClusterConfig in Managed mode and confirm the service reaches Ready and its reconciler condition flips (CertificatesReady, IngressReady, DNSReady, PolicyEnforcementReady).

Notes

  • Never edit a vendored tarball or unpack-and-repack it — ship the upstream chart unmodified. Configuration is applied through the operator's Helm values (the per-service render<Service>Values in the reconcilers), not by patching the bytes.
  • Major-version bumps: read the upstream chart's changelog for renamed values, workload names, or CRD API-version moves, and flag breaking changes.

Post-upgrade checklist

  • VENDORED_CHARTS (Makefile), SHA256SUMS, and embed.go all updated to the new version
  • New tarball downloaded via make vendor-charts (hash-verified); old tarball git rm'd
  • embed.go <X>AppVersion read from the new tarball's Chart.yaml
  • git grep "<old-version>" run; straggler hardcoded refs updated (cert-manager: internal/helm/load_test.go)
  • Reconciler workload-name / values / CRD assumptions re-verified; constants + comments updated if changed
  • Fine-grained install RBAC regenerated (make generate-installer-rbac) + CLI copy synced (make embed-installer-chart); an "unmapped Kind" error means adding the Kind to hack/generate-installer-rbac.sh
  • Kyverno: bundled policies re-vendored + session-manager subchart repackaged (if appVersion changed)
  • README "Current contents" table updated
  • make verify-vendored-charts and make test pass
  • Major-version bumps: changelog reviewed for breaking changes and flagged

© educates, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .claude/skills/educates-upgrade-cluster-services of educates/educates-training-platform.

Open the folder on GitHubat commit 36abce0

Compare with similar skills

Educates Upgrade Cluster Services next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Educates Upgrade Cluster Services compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Educates Upgrade Cluster Services this skilleducates/educates-training-platform161—~3.2kAutomated safety check: NotesApache-2.0
Sim Helmsimstudioai/sim30k—~2.2kAutomated safety check: PassApache-2.0
Helm Chart ScaffoldingCybereason-Public/owLSM28013 repos~381Automated safety check: PassGPL-2.0
Kubernetes SpecialistJeffallan/claude-skills12k1 repos~2.1kAutomated safety check: PassMIT
NGINX Ingress Controller Feature Checklistsnginx/kubernetes-ingress5.1k—~1.4kAutomated safety check: PassApache-2.0
KubeShark for KubernetesLukasNiessen/kubernetes-skill446—~1.2kAutomated safety check: PassMIT

Similar skills

  • Sim Helm

    simstudioai/sim

    Install, upgrade, and operate the Sim Helm chart on Kubernetes.

    30k GitHub stars~2.2k tokensUpdated today
    DevOps & CloudAuto-check passed
  • Helm Chart Scaffolding

    Cybereason-Public/owLSM

    Comprehensive guidance for creating, organizing, and managing Helm charts for packaging and deploying Kubernetes applications.

    280 GitHub starsUsed in 13 repos~381 tokens
    DevOps & CloudAuto-check passed
  • Kubernetes Specialist

    Jeffallan/claude-skills

    Creates and checks Kubernetes manifests, Helm charts, RBAC and network policies, and helps debug pod problems, with kubectl checks and rollback steps.

    12k GitHub starsUsed in 1 repo~2.1k tokens
    DevOps & CloudAuto-check passed
  • Gives step-by-step checklists for adding Ingress annotations, VirtualServer fields and Helm values to the NGINX Kubernetes Ingress Controller, with common gotchas.

    5.1k GitHub stars~1.4k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • KubeShark for Kubernetes

    LukasNiessen/kubernetes-skill

    Keeps Kubernetes manifests, Helm charts and policies grounded by diagnosing six failure modes, such as insecure defaults and API drift, and loading only matching references.

    446 GitHub stars~1.2k tokensUpdated 26 days ago
    DevOps & CloudAuto-check passed
  • Nim Operator Install

    NVIDIA/k8s-nim-operator

    Official

    Install NVIDIA NIM Operator on Kubernetes with prerequisite checks, optional NVIDIA GPU Operator dependency installation, public or local Helm chart selection, optional Dynamo support, and optional…

    159 GitHub stars~4.7k tokensUpdated 4 days ago
    DevOps & CloudAuto-check passed

More from educates/educates-training-platform

  • Educates Git Workflow

    educates/educates-training-platform

    Drives the Educates project's Gitflow-based branch and release workflow.

    161 GitHub stars~2.6k tokensUpdated yesterday
    Auto-check passed
  • Educates Release Notes

    educates/educates-training-platform

    Create release notes for an Educates version. An agent skill from educates/educates-training-platform.

    161 GitHub stars~1.2k tokensUpdated yesterday
    Auto-check: notes
  • Educates Upgrade Go

    educates/educates-training-platform

    Upgrade the Go version across the entire educates-training-platform project.

    161 GitHub stars~1.4k tokensUpdated yesterday
    Auto-check: notes
  • Educates Upgrade Kubernetes

    educates/educates-training-platform

    Upgrade Kubernetes version support across the educates-training-platform project.

    161 GitHub stars~1.9k tokensUpdated yesterday
    Auto-check: notes
  • Educates Upgrade Theme Libraries

    educates/educates-training-platform

    Upgrade the vendored third-party frontend libraries bundled into the Educates workshop dashboard theme (Bootstrap, Font Awesome, jQuery, Underscore.js, JSONForm, js-yaml).

    161 GitHub stars~2.6k tokensUpdated yesterday
    Auto-check: notes
  • Educates Upgrade Vcluster

    educates/educates-training-platform

    Upgrade the vcluster software version (and the Kubernetes versions the virtual cluster provisions) used by the vcluster workshop application in session-manager.

    161 GitHub stars~2.7k tokensUpdated yesterday
    Auto-check: notes

Works with

Categories

Questions about Educates Upgrade Cluster Services

What does Educates Upgrade Cluster Services do?

Upgrade a vendored upstream cluster-service Helm chart the Educates operator installs for EducatesClusterConfig — cert-manager, Contour, Kyverno, or external-dns. Educates Upgrade Cluster Services is an agent skill from educates/educates-training-platform. Upgrade a vendored upstream cluster-service Helm chart the Educates operator installs for EducatesClusterConfig — cert-manager, Contour, Kyverno, or external-dns.

When should I use Educates Upgrade Cluster Services?

Educates Upgrade Cluster Services fits situations like: tasks that involve Container orchestration.

How do I install Educates Upgrade Cluster Services in Claude Code?

Run `npx skills add educates/educates-training-platform --skill educates-upgrade-cluster-services -a claude-code`. Or copy the skill folder (.claude/skills/educates-upgrade-cluster-services in educates/educates-training-platform) into .claude/skills/educates-upgrade-cluster-services in your project. Claude Code loads it when a task matches its description.

How do I install Educates Upgrade Cluster Services in Codex?

Run `npx skills add educates/educates-training-platform --skill educates-upgrade-cluster-services -a codex`. Or copy the skill folder (.claude/skills/educates-upgrade-cluster-services in educates/educates-training-platform) into .agents/skills/educates-upgrade-cluster-services in your project. Codex loads it when a task matches its description.

Can I use Educates Upgrade Cluster Services in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add educates/educates-training-platform --skill educates-upgrade-cluster-services -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/educates-upgrade-cluster-services, .gemini/skills/educates-upgrade-cluster-services, .github/skills/educates-upgrade-cluster-services and .opencode/skills/educates-upgrade-cluster-services in your project.

What does Educates Upgrade Cluster Services need to run?

Going by SKILL.md and its folder, Educates Upgrade Cluster Services needs the command-line tools its instructions call (make, git, curl, yq and helm). Its frontmatter pre-approves these tools: Read, Edit, Bash, WebFetch, Glob.

Does Educates Upgrade Cluster Services access the network?

SKILL.md names 3 domains. In commands or code: github.com, kyverno.github.io and charts.jetstack.io; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Educates Upgrade Cluster Services safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Educates Upgrade Cluster Services use?

Educates Upgrade Cluster Services is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Educates Upgrade Cluster Services use?

About 3.2k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Educates Upgrade Cluster Services?

Skills that share tags, products or a category with Educates Upgrade Cluster Services: Sim Helm (simstudioai/sim, 30k stars), Helm Chart Scaffolding (Cybereason-Public/owLSM, 280 stars), Kubernetes Specialist (Jeffallan/claude-skills, 12k stars) and NGINX Ingress Controller Feature Checklists (nginx/kubernetes-ingress, 5.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Educates Upgrade Cluster Services?

educates (a GitHub organization) maintains it in educates/educates-training-platform, which has 161 GitHub stars. The repository holds 7 skills in this directory. The repository was last updated on October 8, 2026.

Source: educates/educates-training-platform on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.