豪华游艇是一款用于管理 Kubernetes 集群的桌面应用程序。
Luxury Yacht is a desktop app for managing Kubernetes clusters

原始链接: https://github.com/luxury-yacht/app

## 豪华游艇:Kubernetes 集群管理 豪华游艇是一款用于管理 Kubernetes 集群的桌面应用程序,适用于 Linux、macOS 和 Windows。可以从 Releases 页面下载预构建包 (amd64/arm64),或通过 Homebrew 安装 (`brew install --cask luxury-yacht`)。Linux 用户可能需要安装 `webkit2 4.1` 才能运行该应用。 对于开发者,豪华游艇使用 Wails (Go 框架) 构建,并利用 Mage 进行跨平台构建。安装需要 Go 和 Wails (`go install github.com/wailsapp/wails/v2/cmd/[email protected]`),以及 Mage (`go install github.com/magefile/mage@latest`)。开发模式提供热重载,以实现高效调试。 版本控制至关重要;应用、Go、Wails 和 Node 版本分别直接从 `wails.json`、`go.mod` 和 `.nvmrc` 获取。发布通过 Git 标签自动进行,在更新 `wails.json` 中的版本并提交更改后。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 工作 | 提交 登录 豪华游艇是一个用于管理 Kubernetes 集群的桌面应用程序 (github.com/luxury-yacht) 6 分,来自 mooreds 2 小时前 | 隐藏 | 过去的 | 收藏 | 1 条评论 caniszczyk 8 分钟前 [–] 对于那些不知道的人,https://headlamp.dev 已经存在并且在 CNCF 中。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:
相关文章

原文

Luxury Yacht is a desktop app for managing Kubernetes clusters, available for Linux, macOS, and Windows.

Luxury Yacht

New to Luxury Yacht? Read the primer!

Go to the Releases page to download the latest version.

Packages are available for amd64 (x86_64) and arm64 (aarch64). Be sure to download the correct package for your architecture.

Uses a standard DMG. Open the DMG and drag to Applications.

Can also be installed via Homebrew.

brew tap luxury-yacht/tap
brew install --cask luxury-yacht

Install via .deb or .rpm package.

Uses a standard installer. Note that these are unsigned, so will require extra confirmation steps to run. Given the cost of a code-signing certificate, these will likely remain unsigned.

If you prefer to build the app from source, see the Development section.

The app won't start on Linux

Luxury Yacht requires webkit2 4.1. Some distros don't include it, or don't install it by default. Installation will vary depending on your distro.

Distro Installation
Ubuntu 20.04 Unsupported
Ubuntu 22.04 sudo apt install libwebkit2gtk-4.1-0

If your distro isn't on this (admittedly short) list, you'll have to search your package manager to determine the exact package name. If you have info you'd like to add to this list, email [email protected] or open an issue.

Luxury Yacht is built with Wails, a framework for building cross-platform apps in Go.

To install Wails:

 go install github.com/wailsapp/wails/v2/cmd/[email protected]

Once Wails is installed, run wails doctor to see what other dependencies are required for your OS.

For scripting builds, testing, releases, etc., Luxury Yacht uses Mage for cross-platform compatibilty. Makefiles and bash scripts are fine for Linux and macOS, but they don't work in Windows. The magefile is written in Go, so should work the same in any OS.

To install Mage:

go install github.com/magefile/mage@latest

To see what mage targets are available, run mage -l in the repo root.

The fastest way to get the app up and running for development is to run in Wails development mode. This gives you hot-reloads and access to the browser console for debugging.

Note that hot-reload of the Go backend will cause the app to restart, while changes to frontend code will be reflected immediately without an app restart.

To install the app locally:

When updating versions in the app, these are the canonical sources. All scripts/workflows should get app and toolset versions from these sources and these sources only.

App version is derived from info.productVersion in wails.json

APP_VERSION=$(jq -r '.info.productVersion' wails.json)

Go version is derived from go.mod

GO_VERSION=$(grep '^go ' go.mod | awk '{print $2}')

Wails version is derived from go.mod

WAILS_VERSION=$(grep 'github.com/wailsapp/wails/v2' go.mod | awk '{print $2}')

Node version is derived from .nvmrc

NODE_VERSION=$(cat .nvmrc | tr -d 'v')

Run the prerelease checks. This should surface any problems that could cause the release to fail.

  1. Update the version in wails.json

  2. Commit and push the change.

  3. Create and push a tag. The release workflow will do the rest.

git tag $(jq -r '.info.productVersion' wails.json)
git push origin main --tags
联系我们 contact @ memedata.com