Version 3.2.0 ============= New Features ------------ * Added `--hostname` option for overridding generated hostname when creating a portal using the `educates create-portal` command. If only a single host name is given, the existing cluster ingress domain will still be added. If a fully qualified domain name is given it will be used as is. * Added `--image-repository` option to set the default image repository to be used used by all workshops, unless overridden for a specific workshop, when creating a portal using the `educates create-portal` command. * User details from the training portal are now saved to a `Secret` stored in the workshop namespace for each session, with a name of the form `$(session_name)-user`. Attributes are `username`, `first_name`, `last_name` and `email`. The secret can be used as a volume or as source of environment variables for the workshop session container, with caveat that since the secret is only available at the point a workshop session is allocated, it should not be used with reserved sessions. These are also available to use as data variables in `request.objects`. Features Changed ---------------- * Workshop base images were updated to Fedora 41. This has also resulted in the Python version being updated to 3.13. * Versions of `kubectl` provided in the workshop image are now 1.30, 1.31 and 1.32. From now on the intent is that only clients for supported Kubernetes versions will be included. The `kubectl-convert` plugin is now also included. * Updated `kind` version bundled with `educates` CLI. Default Kubernetes cluster version now created by `educates create-cluster` command will be 1.32. * Updated versions of numerous bundled applications, including Contour, Docker, Docker Registry, Helm, Hugo, Carvel tools, `dive`, `yq`, `k9s`, `skaffold`, `kustomize`, `reveal.js`. * Update bundled VS Code Server to version 1.97.2. Bugs Fixed ---------- * When using a touch device such as iPhone/iPad and a clickable action was run, the on screen keyboard would pop up when not desriable. The keyboard is now not displayed, but the terminal the clickable action was running a command in or where text was pasted, will still show as having had focus. * The `secure` property was missing in the `Workshop` CRD for `ingresses` even though was documented that existed. * When proxying in the workshop gateway process, the HTTP `Host` header was sent in lower case. This is allowed by HTTP specification as meant to be case insensitive, but some web services were only accepting mixed case, so use the mixed case convention so better chance of working with broken web services. * Password for `git` application server was not unique per workshop session but was the same for all workshop sessions within the workshop environment. The `git` credentials therefore only differed based on `git` username, which was predictable as was based on workshop session name.