github loft-sh/loft v3.3.0

8 months ago

What's Changed

vCluster.Pro

Loft is now able to run as vCluster.Pro. We released a separate chart (vcluster-control-plane) as well as a separate image (ghcr.io/loft-sh/vcluster-control-plane) that can be used to start Loft in vCluster.Pro mode. This will show the vCluster.Pro branding and has specific features related to the vCluster.Pro distribution.

Merged Agent and Loft

From now on, there will be no separate chart or image for the loft agent. Instead the loft image and chart is reused for the agent. If you have dependant settings that require the loft-agent chart, or if you have your own loft-agent chart, please make sure it is based upon the loft chart now.

VCluster Token Forward

Its now possible to use service account tokens to authenticate through Loft to a vCluster. This also works with every other token such as OIDC that is configured on the virtual cluster.

UI Bar Redesign

We redesigned the Loft UI bar to allow easier interaction with virtual clusters and spaces.

Semantic Loft Logging

We now use semantic logging for Loft to make it easier to find error messages as well as other log entries.

Start Loft in Docker

It is now possible to start Loft in docker through loft start --docker. Internally Loft will use a headless k3s to store data, that doesn't need any privileged access.

Loft Router

From this version onwards, each Loft instance will get an optional public url on the host loft.host that can be used as an ingress alternative. This make it a lot easier to get started with Loft or vCluster.Pro.

Other Changes

  • fix(ui): adds a profile/settings page and allows users to use
  • feat: add --all and --output options to 'loft get secret' command
  • Added feature gate for central hostpath mapper
  • Switched agent feature proxy to uncached client
  • refactor: merge helm charts / dockerfiles / binaries
  • Fixed comments on feature types
  • fix: cluster values & update config
  • Added configurable timeout to loftctl
  • refactor: agent reaches out to loft for most part of the agent config
  • feat(ui): store sso provider name and try to redirect to logout url
  • fix(ui): check access to project in projectlayout and redirect if neccessary
  • fix: show name when the display name is different
  • fix: concurrent access of maps
  • build: delete dependency on loft-cli
  • build: remove dependency on package deploy/1691
  • Refactor Loft Logging
  • fix: local runner & log messages
  • feat: add --project flag to 'loft list secrets'
  • refactor: rename loft-agent services to avoid conflicts
  • Changed panics to errors and fixed validator logger
  • OIDC logout flow
  • fix: mispelling of kubernetes in api gen
  • refactor: update remotedialer, leader election fixes & instance scheduler
  • fix: user setup in Loft
  • fix: api inject issue
  • fix: sleep mode wakeup vcluster
  • refactor: tasks through runner
  • Integrate k3s into Loft
  • refactor: change paths to /var/lib/loft
  • Added logic for restarting loft in k3s mode
  • fix: remove "nginx" ingress class requirement
  • fix: use cluster if specified in loft cli
  • Added docker cli to loft
  • Remotedialer ha mode
  • refactor: remove instance token from version
  • refactor: make loft provider multi-level
  • fix: ready status & up command
  • fix(ui): log out without relying on the current user
  • Create space errors when using team access key
  • feat: add loft-router
  • feat(ui): connect to runner and display output on separate page
  • fix(ui): only refetch project if changes are requested to be saved
  • loft create vcluster (cluster selection)
  • Fix broken Sleep mode menu link
  • feat: deploy runner in cluster
  • refactor: use correct entrypoint and cmd
  • fix: update vcluster versions
  • feat: implement OIDC wildcard redirects
  • fix: allow clientId and clientSecret in oidc clients to be set through env vars
  • fix: volumes & volumeMounts helm values are not rendered correctly
  • fix: filter internal groups from issued OIDC token
  • fix: sleep mode not scaling down pods
  • refactor: allow access keys in direct cluster endpoints
  • feat: allow token forward for virtual clusters
  • Feat/eng 1889 vcluster pro standalone
  • refactor: use apimachinery constants issuer
  • fix: allow cluster annotations to be used as template variables
  • Fixed missing url_template for brew formulaes
  • fix token issuer bug and add ingress auth feature gate
  • fix: ui fixes & PRODUCT env variable
  • feat: project secrets permissions
  • link for import-workspace update
  • Rename Direct Cluster Endpoint to Multi-Region Mode
  • chore(ui): open share workspace link in new tab
  • redirect error fix & smaller improvements
  • feat: add --product flag to loft start
  • ui build; provider yaml by @pascalbreuninger
  • chore(ui): add dot to standalone products
  • chore(ui): update license page
  • fix: add namespace to workspace connection counter
  • fix: update templated labels & annotations on the instance
  • fix: use proper clients for sleeper implementations
  • feat: add --docker to loft start
  • Loftctl: Use per product descriptions
  • chore: send display name as well
  • Fixed sync actions by using Go 1.21
  • Added per product branding and helm chart release
  • fix: create argo accesskey correctly for team owned virtualclusters
  • Pinned yq version in release package action
  • fix(ui): display runner name instead of first rbac group
  • Updated the vcluster control plane name to vcluster-control-plane
  • Custom CLI layout for vCluster.Pro
  • Added missing commands for vcluster pro cli
  • Hardcoded loft.fullname to loft
  • refactor: move project secret syncing to a separate controller
  • Remove new line in the --link flag description
  • fix: panic when using shared secret ref
  • fix: abort forward if workspace is deleting
  • feat: add AWS, Gcloud, DO, Azure templates
  • feat: dind & deploy always same version
  • fix: dev environment building
  • refactor: sync metadata
  • docs: improve sample code
  • fix: add git to development environment
  • chore(ui): lsremove socketPath from devpod connect search params
  • fix: node-password secrets generation
  • Feat/create vcluster deeplink
  • Removed vcluster pro chart references
  • Loft start automatically logs in to loft
  • Refactoring of global error replaces
  • feat: add requireTemplate.disable
  • Added logout command to loftctl
  • Updated vcluster pro reset password localization
  • Exported logger in password reset command
  • refactor: loftctl to be reusable for vcluster pro
  • feat: add securityContext.runAsRoot
  • Added UI command to cli
  • fix: cluster selection question
  • refactor(ui): revamp sidebar header
  • feat(ui): auto populate login screen from hash parameter if provided
  • Export logger in import vcluster command
  • refactor: improve loft start experience
  • Added vcluster pro spec
  • chore(ui): minor improvements for vCluster.Pro release
  • Replaced hardcoded login strings with jit replacements
  • Updated loft utils
  • fix: auto login for loft router
  • fix: skip login if already logged
  • fix: skip login if already logged
  • fix: wait for pods to be deleted before updating ingress resources
  • Switched back to stable goreleaser
  • Added non-isolated vcluster pro template
  • chore(ui): switch to project after creation
  • Removed a couple of loft references
  • chore(ui): adjust spacing in sidebar
  • chore: bump vCluster version & hardcode features
  • Add flag/option to upgrade to vCluster.Pro on import
  • Renamed isolated and non-isolated vcluster pro templates
  • Updated goreleaser to generate sboms for binaries
  • Updated default vcluster version
  • fix: improve chart name check & improve success on vcluster start
  • fix: improve success on vcluster start
  • fix: use vcluster pro as default
  • chore: bump vcluster version
  • fix: ui references & improve login
  • Updated default vcluster version to latest beta
  • chore(ui): smaller vcluster pro improvements
  • chore: don't allow certain features by default
  • chore: add latest coredns image to loft-images.txt
  • chore(ui): add distro column to table
  • chore(docs): update vcluster pro docs url
  • chore: bump vcluster versiob
  • fix: don't fatal on audit error
  • Added failExtra bool to positional args validator
  • Add username & password fields to Virtualcluster helmrelease
  • license server changes
  • fix: do not send domaintoken to frontend
  • feat: loft.sh/skip-helm-deploy annotation for vclusters
  • fix(ui): enable monaco markdown
  • fix: use pointers for limits + resource quantities
  • chore: add deprecated
  • fix: runner message & update announcement
  • fix(ui): use default vcluster template when creating new vcluster from deeplink in project
  • fix(ui): adjust drawer layout based on yaml editor state
  • chore(ui): add feature flag for ingress authentication
  • fix(ui): preserver search params on redirect
  • Fixed local cluster not replacing product name
  • fix: remove use of deprecated annotation
  • fix(ui): remove sleep mode upgrade license link from clusters view
  • feat(ui): generate vcluster helm values schema based on go struct and integrate into editor
  • Project secrets do not get synced into namespace where virtual cluster is installed
  • fix(ui): argo cd link word break
  • refactor: simplify config / agent config
  • fix(ui): check version patterns in vcluster table for oss/pro badge
  • chore: bump k8s deps to 1.28
  • deprecate base values struct and import vcluster schemas

Don't miss a new loft release

NewReleases is sending notifications on new releases.