Skip to content

Commit cea2a96

Browse files
SuperMarioYLclaude
andcommitted
release: v0.0.25 — Helm values.schema.json + kubeVersion
Added values.schema.json so Helm type-checks values at install time (catches e.g. string replicaCount) and kubeVersion >=1.22 so unsupported clusters fail fast. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent c519c0a commit cea2a96

4 files changed

Lines changed: 125 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,13 @@ All notable changes to the Bison project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.0.25] - 2026-06-19
9+
10+
### Added — Chart validation
11+
12+
- Added `values.schema.json` so Helm validates value types at install/upgrade time (e.g. a string `replicaCount` or non-boolean `enabled` now fails fast instead of being silently mis-applied). The schema type-checks known keys while remaining lenient about additions.
13+
- Added `kubeVersion: ">=1.22.0-0"` to `Chart.yaml` so unsupported clusters are rejected up front.
14+
815
## [0.0.24] - 2026-06-19
916

1017
### Changed — Frontend re-render reduction

deploy/charts/bison/Chart.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@ apiVersion: v2
22
name: bison
33
description: Bison - GPU 资源计费平台,基于 Capsule 多租户 + OpenCost 成本追踪
44
type: application
5-
version: 0.0.24
6-
appVersion: "0.0.24"
5+
version: 0.0.25
6+
appVersion: "0.0.25"
7+
kubeVersion: ">=1.22.0-0"
78
keywords:
89
- gpu
910
- billing
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
{
2+
"$schema": "https://json-schema.org/draft-07/schema#",
3+
"title": "Bison Helm values",
4+
"type": "object",
5+
"properties": {
6+
"global": {
7+
"type": "object",
8+
"properties": {
9+
"imageRegistry": { "type": "string" },
10+
"imagePullSecrets": { "type": "array" }
11+
}
12+
},
13+
"auth": {
14+
"type": "object",
15+
"properties": {
16+
"enabled": { "type": "boolean" },
17+
"admin": {
18+
"type": "object",
19+
"properties": {
20+
"username": { "type": "string" },
21+
"password": { "type": "string" },
22+
"existingSecret": { "type": "string" }
23+
}
24+
},
25+
"jwt": {
26+
"type": "object",
27+
"properties": {
28+
"secret": { "type": "string" },
29+
"existingSecret": { "type": "string" }
30+
}
31+
}
32+
}
33+
},
34+
"dependencies": {
35+
"type": "object",
36+
"properties": {
37+
"capsule": {
38+
"type": "object",
39+
"properties": { "enabled": { "type": "boolean" } }
40+
},
41+
"opencost": {
42+
"type": "object",
43+
"properties": {
44+
"enabled": { "type": "boolean" },
45+
"apiUrl": { "type": "string" }
46+
}
47+
},
48+
"prometheus": {
49+
"type": "object",
50+
"properties": {
51+
"enabled": { "type": "boolean" },
52+
"url": { "type": "string" }
53+
}
54+
}
55+
}
56+
},
57+
"apiServer": { "$ref": "#/$defs/component" },
58+
"webUI": { "$ref": "#/$defs/component" },
59+
"ingress": {
60+
"type": "object",
61+
"properties": {
62+
"enabled": { "type": "boolean" },
63+
"className": { "type": "string" },
64+
"annotations": { "type": "object" },
65+
"host": { "type": "string" },
66+
"tls": {
67+
"type": "object",
68+
"properties": {
69+
"enabled": { "type": "boolean" },
70+
"secretName": { "type": "string" }
71+
}
72+
}
73+
}
74+
},
75+
"serviceAccount": {
76+
"type": "object",
77+
"properties": {
78+
"create": { "type": "boolean" },
79+
"annotations": { "type": "object" },
80+
"name": { "type": "string" }
81+
}
82+
},
83+
"podSecurityContext": { "type": "object" },
84+
"securityContext": { "type": "object" }
85+
},
86+
"$defs": {
87+
"component": {
88+
"type": "object",
89+
"properties": {
90+
"enabled": { "type": "boolean" },
91+
"replicaCount": { "type": "integer", "minimum": 0 },
92+
"image": {
93+
"type": "object",
94+
"properties": {
95+
"repository": { "type": "string" },
96+
"tag": { "type": "string" },
97+
"pullPolicy": { "type": "string" }
98+
}
99+
},
100+
"service": {
101+
"type": "object",
102+
"properties": {
103+
"type": { "type": "string" },
104+
"port": { "type": "integer" }
105+
}
106+
},
107+
"resources": { "type": "object" },
108+
"nodeSelector": { "type": "object" },
109+
"tolerations": { "type": "array" },
110+
"affinity": { "type": "object" }
111+
}
112+
}
113+
}
114+
}

web-ui/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "bison-web-ui",
3-
"version": "0.0.24",
3+
"version": "0.0.25",
44
"private": true,
55
"scripts": {
66
"dev": "vite",

0 commit comments

Comments
 (0)