Skip to content

Commit e68145f

Browse files
author
Paul C
committed
Merge beta: v25.2.80 Homelab Plus in cap-warning ladder + AI KB
2 parents a9cf2df + e7bfb31 commit e68145f

4 files changed

Lines changed: 21 additions & 11 deletions

File tree

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "wolfstack"
3-
version = "25.2.79"
3+
version = "25.2.80"
44
edition = "2024"
55
authors = ["Wolf Software Systems Ltd"]
66
description = "Server management platform for the Wolf software suite"

src/ai/wolfstack-kb.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -412,9 +412,10 @@ One page (Storage & Network → Internet Exposure) to give any Docker/LXC contai
412412
- Endpoints: `/api/logs/{stats,ingest,search,config}` + `/api/logs/cluster/{search,stats}`
413413

414414
## Pricing & Tiers
415-
Four paid tiers on Stripe plus free Community use. Authoritative pricing lives at wolfstack.org — verify there for current numbers; as of 2026-05 (the `wolfstack_<tier>_2026_05` Stripe lookup keys):
415+
Five paid tiers on Stripe plus free Community use. Authoritative pricing lives at wolfstack.org — verify there for current numbers; as of 2026-07:
416416
- **Community** (no licence) — source-available under PolyForm Noncommercial: free for personal & non-commercial use. **No code-enforced host cap** — the limits are licence terms, not software blocks
417417
- **Homelab £12/mo** — licence issued with max_nodes=10. Clustering, WireGuard bridge, branded status pages, scheduled backups, AI agent, Predictive Inbox + AUTOFIX, OSV scanner, REST API keys
418+
- **Homelab Plus £29/mo** — max_nodes=25. Same feature bundle as Homelab, just a bigger host cap — the enthusiast "missing middle" between Homelab (10) and Team (50). Binary maps tier `homelab_plus` → the homelab feature bundle in compat::resolve_tier
418419
- **Team £149/mo** — max_nodes=50. Adds OIDC/SSO and 24-hour email support (feature bundle is sso + api_keys — plugin store and white-label are MSP+)
419420
- **MSP £499/mo** — unlimited hosts (max_nodes=0). Adds WolfCustom white-label, multi-tenant client portals, plugin SDK, WolfHost, priority support. Was "Pro" before the 2026-05 rebrand
420421
- **Enterprise** — sales-led only, no public price. Custom cap per contract, custom SLA, SOC2/ISO collateral, on-prem/air-gap, bespoke development

src/api/mod.rs

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4389,19 +4389,28 @@ pub async fn add_node(req: HttpRequest, state: web::Data<AppState>, body: web::J
43894389
let current = state.cluster.get_all_nodes().len() as u32;
43904390
if current + 1 > cap {
43914391
// Tier names/prices/caps per web/includes/stripe-tiers.php
4392-
// (homelab £12/10 hosts, team £149/50, msp £499/unlimited).
4393-
// resolve_tier never returns "pro" — it aliases to "msp".
4394-
let upgrade = match tier {
4395-
"homelab" => "Upgrade to Team (£149/mo, 50 hosts) at https://wolfstack.org/enterprise.php",
4396-
"team" => "Upgrade to MSP (£499/mo, unlimited hosts) at https://wolfstack.org/enterprise.php",
4397-
_ => "Contact sales@wolf.uk.com to raise the cap",
4392+
// (homelab £12/10, homelab_plus £29/25, team £149/50, msp
4393+
// £499/unlimited). Suggest the NEXT rung of the ladder.
4394+
//
4395+
// Key the suggestion off the RAW tier slug, not resolve_tier:
4396+
// resolve_tier collapses `homelab_plus` → `homelab` (same
4397+
// feature bundle), so it can't tell the two apart — but their
4398+
// upgrade paths differ (Homelab → Homelab Plus, Homelab Plus →
4399+
// Team). Fall back to resolve_tier's name for tier-less legacy
4400+
// licences.
4401+
let raw_tier = if dm.tier.is_empty() { tier } else { dm.tier.as_str() };
4402+
let (tier_label, upgrade): (&str, &str) = match raw_tier {
4403+
"homelab" => ("Homelab", "Upgrade to Homelab Plus (£29/mo, 25 hosts) at https://wolfstack.org/enterprise.php"),
4404+
"homelab_plus" => ("Homelab Plus", "Upgrade to Team (£149/mo, 50 hosts) at https://wolfstack.org/enterprise.php"),
4405+
"team" => ("Team", "Upgrade to Enterprise (unlimited hosts) at https://wolfstack.org/enterprise-contact.php"),
4406+
other => (other, "Contact sales@wolf.uk.com to raise the cap"),
43984407
};
43994408
Some(serde_json::json!({
44004409
"message": format!(
44014410
"Host added — but your cluster now exceeds the {} tier ({} of {} hosts). {}",
4402-
tier, current + 1, cap, upgrade
4411+
tier_label, current + 1, cap, upgrade
44034412
),
4404-
"tier": tier,
4413+
"tier": raw_tier,
44054414
"max_nodes": cap,
44064415
"current_nodes": current + 1,
44074416
"feature": "host_cap",

0 commit comments

Comments
 (0)