Skip to content

Educates refactoring#871

Draft
jorgemoralespou wants to merge 41 commits into
educates:developfrom
jorgemoralespou:educates-refactoring
Draft

Educates refactoring#871
jorgemoralespou wants to merge 41 commits into
educates:developfrom
jorgemoralespou:educates-refactoring

Conversation

@jorgemoralespou

@jorgemoralespou jorgemoralespou commented Feb 2, 2026

Copy link
Copy Markdown
Collaborator
  •  Refactoring to avoid code duplication.
    • We have added examples to every command, added arguments validation and refactored/moved code around.
    • Upgraded functionality for educates local config edit that does validation and prevents saving on error
    • New educates local mirror list command
    •  Updates kind to latest (0.31.0)
    •  Adds a --kubernetes-version flag to educates create-cluster and defaults to 1.34 and defines the kind images by sha to use.
    • Refactored registry and mirror code to remove code duplication and improve performance
    • Enhancements to educates docker workshop deploy. It creates port bindings for additional services containers.
    • Adds labels to all educates containers in docker.
  • Docker compose has been upgraded from v2 to v5.0.1 to later support more local capabilities. Fixes Support docker compose v5 #817
  • Added multinode support for local educates (1 control plane, up to 5 worker nodes) (Added docs)
  • Added support for node labels and node taints. Specially useful on multinode. (Added docs)
  • Fixed ips for registry and mirrors. Fixes Local kind cluster ip change might cause issues #850
    • Local registry will now get by default 172.18.200.1 (so kind network with 200.1 as offset)
    • Every mirror will also get a similar offset but hashed by registry name and if there's collision, will increase by 1 until available.
    • We have simplified how the check for port 80/443 availability on cluster creation was done
    • We now detect if it's a disconnected install (by checking connection to docker hub) and if not available, we set do skip-image-resolution at install time.
  • Add overlays to installer Add overlays to installer #873
  • Remove options from help as we don't use global flags (a.k.a options). Fixes The new-workshop command help strings says it has an options sub command. #869
  • Add cluster portal export command to export a training portal and related workshops to stdout or files. Fixes new export-portal CLI command #91
  • Add docs for new features, updates
  • Add release notes for new features, updates, etc...

This has been rebased on latest develop, and updated to supersede #855. More commits will come later but guaranteeing that we keep this aligned with develop.
With these changes, you can now survive Docker Desktop restarts and also install Educates on a machine without internet connection (as long as prepopulated mirrors and docker images are already present on the system). Supersedes #851

Comment thread workshop-images/base-environment/opt/gateway/package.json Outdated
@jorgemoralespou jorgemoralespou force-pushed the educates-refactoring branch 2 times, most recently from 776ab36 to 3cc031b Compare February 12, 2026 09:54
@GrahamDumpleton

Copy link
Copy Markdown
Collaborator

Develop has been setup for 4.0.0 and project-docs/release-notes/version-4.0.0.md file added. Can you sort out conflicts on this PR and add anything appropriate to release notes file.

@jorgemoralespou jorgemoralespou marked this pull request as draft June 12, 2026 07:07
@jorgemoralespou

Copy link
Copy Markdown
Collaborator Author

@GrahamDumpleton due to the work I've been doing on the helm installer and that this PR is long outdated, I will keep it as reference for smaller targeted PR once that helm-installer PR is done and merged to 4.0

Since there's 2 bigs PR, and the change surface is similar, and the other one is way newer, that is the best approach.

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

Labels

None yet

Projects

None yet

2 participants