Rollout control, PVC resize, reclaim policy, certificates, tokens, node images, and an optional confirmed chat agent are in this release. YAML coloring now covers the whole document, including long lines.
5.2 KiB
Contributing to MaksIT.ClusterConsole
Maintainer agent conventions: AGENTS.md. Repo hygiene: maksit-repo-maintenance. C# style: common/csharp + repo-root .editorconfig.
Development setup
- .NET 10 SDK
- Git
- PowerShell 7+ (RepoUtils under
utils/)
Build
cd src
dotnet build MaksIT.ClusterConsole.slnx
Tests
utils\Invoke-TestEngine.bat
Coverage shields in README.md are rewritten by CoverageBadges.
Release
- Update CHANGELOG.md and bump
<Version>in src/Directory.Build.props. - Commit on
main, tagv{version}on HEAD (v1.2.3or SemVer prerelease such asv0.1.0-alpha.1,v0.1.0-beta.1,v0.1.0-rc.1). GitHub marks hyphenated versions as prerelease. - Run
utils\Invoke-ReleasePackage.bat. That run publishes the portable zip (win-x64), Windows setup exe, and Flatpak (Flatpak via WSL Debian on Windows). Publishing the GitHub Release starts macOS release assets, which attaches unsignedosx-arm64andosx-x64DMGs.
Microsoft Store (MSIX)
MsixPack writes releases/maksit-cluster-console-{version}.msix from the win-x64 publish. It is a full-trust desktop package (runFullTrust), x64, language English (en-us only). Upload that file on an MSIX product in Partner Center. The Store re-signs it. An EXE/MSI product listing cannot take this file.
The UI project sets SatelliteResourceLanguages to en, and MsixPack drops any leftover culture folder that contains *.resources.dll (AvaloniaEdit ships zh-Hans). If that folder is packed, makeappx treats it as a second package language. Partner Center then reports the English resources as incomplete, even though the app UI is English only. A Store listing language marked incomplete is separate: that means a required listing field for that language is still empty.
Partner Center package identity for this product:
| Field | Value |
|---|---|
| Package/Identity/Name | MAKS-IT.ClusterConsole |
| Package/Identity/Publisher | CN=FCC8C0E7-6D5F-4028-B8EE-903B88C0C8F9 |
| PublisherDisplayName | MAKS-IT |
| Package Family Name | MAKS-IT.ClusterConsole_pt3s39h1tn26a |
| Store ID | 9MX86PTHBNN4 |
Those name, publisher, and publisher display strings are packageName, publisher, and publisherDisplayName in utils/engines/release/scriptSettings.json. A placeholder publisher CN=PartnerCenter stops MsixPack until it is replaced.
The .msix is not a GitHub release asset.
Store listing copy:
| Field | Document |
|---|---|
| Short description, description, extra requirements | packaging/microsoft-store/description.md |
| Product features (up to 20 bullets, 200 characters each) | packaging/microsoft-store/product-features.md |
| Keywords (up to 7, 40 characters each, 21 words total) | packaging/microsoft-store/keywords.md |
| Copyright, additional license terms, Developed by | packaging/microsoft-store/additional-info.md |
| Store logos (9:16 poster, 1:1 box art, app tiles) | packaging/microsoft-store/logos.md |
System requirements (Properties)
Partner Center → Properties → System requirements. A blank cell stays unset. Minimum is what the Store may warn on; Recommended does not warn.
The app is a win-x64 desktop console (tables, YAML, terminal). It does not use a camera, microphone, radio, gamepad, or a specific GPU.
| Feature | Minimum | Recommended |
|---|---|---|
| Touch screen | ||
| Keyboard | Minimum | |
| Mouse | Minimum | |
| Camera | ||
| NFC HCE | ||
| NFC Proximity | ||
| Bluetooth LE | ||
| Telephony | ||
| Microphone | ||
| Xbox controller or gamepad | ||
| Windows Mixed Reality motion controllers | ||
| Windows Mixed Reality immersive headset | ||
| Memory | 2 GB | 4 GB |
| DirectX | Not specified | Not specified |
| Video memory | Not specified | Not specified |
| Processor | x64 | Not specified |
| Graphics | Not specified | Not specified |
GitHub setup exe
The GitHub Windows installer stays the WiX Burn setup.exe. Its switches are /quiet /norestart (install), /repair /quiet /norestart (repair), and /uninstall /quiet /norestart (uninstall). Signing that exe for an EXE/MSI Store listing needs a Trusted Root Authenticode certificate (homelab works/repostories-maintenance.md, §11 Code signing certificate) and the Burn order: payload PEs, then the MSI, then wix burn detach / sign the engine / wix burn reattach / sign setup.exe (WiX signing).
Commit format
(type): description
Types: (feature):, (bugfix):, (refactor):, (perf):, (test):, (docs):, (build):, (ci):, (style):, (revert):, (chore):.
Lowercase description; no trailing period.
License
By contributing, you agree that your contributions are licensed under the terms in LICENSE.md (Apache 2.0).