Skip to content

Commit afe79c7

Browse files
committed
chore(k8s): add opensandbox release chart(all-in-one) & update controller release name
1 parent ae0e290 commit afe79c7

11 files changed

Lines changed: 258 additions & 40 deletions

File tree

.github/workflows/publish-helm-chart.yml

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ on:
99
type: choice
1010
options:
1111
- opensandbox-controller
12+
- opensandbox-server
13+
- opensandbox
1214
default: 'opensandbox-controller'
1315
app_version:
1416
description: 'App version (without v prefix, e.g., 0.1.0)'
@@ -66,6 +68,10 @@ jobs:
6668
6769
if [ "$COMPONENT" == "opensandbox-controller" ]; then
6870
CHART_PATH="kubernetes/charts/opensandbox-controller"
71+
elif [ "$COMPONENT" == "opensandbox-server" ]; then
72+
CHART_PATH="kubernetes/charts/opensandbox-server"
73+
elif [ "$COMPONENT" == "opensandbox" ]; then
74+
CHART_PATH="kubernetes/charts/opensandbox"
6975
else
7076
echo "Error: Unknown component: $COMPONENT"
7177
exit 1
@@ -92,6 +98,13 @@ jobs:
9298
echo "Updated Chart.yaml:"
9399
cat $CHART_PATH/Chart.yaml
94100
101+
- name: Build dependencies (for opensandbox all-in-one chart)
102+
if: ${{ steps.parse_tag.outputs.component == 'opensandbox' }}
103+
run: |
104+
CHART_PATH="${{ steps.chart_path.outputs.path }}"
105+
echo "Building dependencies for all-in-one chart..."
106+
helm dependency build $CHART_PATH
107+
95108
- name: Lint Helm chart
96109
run: |
97110
CHART_PATH="${{ steps.chart_path.outputs.path }}"
@@ -118,7 +131,7 @@ jobs:
118131
直接从 GitHub Release 安装:
119132
120133
```bash
121-
helm install opensandbox \
134+
helm install ${{ steps.parse_tag.outputs.component }} \
122135
https://github.com/${{ github.repository }}/releases/download/helm/${{ steps.parse_tag.outputs.component }}/${{ steps.parse_tag.outputs.app_version }}/${{ steps.parse_tag.outputs.component }}-${{ steps.chart_version.outputs.version }}.tgz \
123136
--namespace opensandbox-system \
124137
--create-namespace
@@ -131,11 +144,13 @@ jobs:
131144
wget https://github.com/${{ github.repository }}/releases/download/helm/${{ steps.parse_tag.outputs.component }}/${{ steps.parse_tag.outputs.app_version }}/${{ steps.parse_tag.outputs.component }}-${{ steps.chart_version.outputs.version }}.tgz
132145
133146
# 安装
134-
helm install opensandbox ./${{ steps.parse_tag.outputs.component }}-${{ steps.chart_version.outputs.version }}.tgz \
147+
helm install ${{ steps.parse_tag.outputs.component }} ./${{ steps.parse_tag.outputs.component }}-${{ steps.chart_version.outputs.version }}.tgz \
135148
--namespace opensandbox-system \
136149
--create-namespace
137150
```
138151
152+
${{ steps.parse_tag.outputs.component == 'opensandbox' && '**Note**: This is an all-in-one chart that bundles controller and server. The packaged chart already includes all dependencies, no need to run `helm dependency build` when installing from release.' || '' }}
153+
139154
### What's Changed
140155
141156
- Chart version: ${{ steps.chart_version.outputs.version }}

kubernetes/Makefile

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -428,14 +428,14 @@ helm-lint: ## Lint the Helm chart
428428
.PHONY: helm-template
429429
helm-template: ## Generate Kubernetes manifests from Helm chart
430430
@echo "Generating manifests from Helm chart..."
431-
helm template opensandbox $(HELM_CHART_PATH) \
431+
helm template opensandbox-controller $(HELM_CHART_PATH) \
432432
--set controller.image.repository=$(IMAGE_TAG_BASE) \
433433
--set controller.image.tag=v$(VERSION)
434434

435435
.PHONY: helm-template-debug
436436
helm-template-debug: ## Generate Kubernetes manifests with debug output
437437
@echo "Generating manifests from Helm chart with debug..."
438-
helm template opensandbox $(HELM_CHART_PATH) \
438+
helm template opensandbox-controller $(HELM_CHART_PATH) \
439439
--set controller.image.repository=$(IMAGE_TAG_BASE) \
440440
--set controller.image.tag=v$(VERSION) \
441441
--debug
@@ -449,7 +449,7 @@ helm-package: ## Package the Helm chart
449449
.PHONY: helm-install
450450
helm-install: ## Install the Helm chart
451451
@echo "Installing Helm chart..."
452-
helm install opensandbox $(HELM_CHART_PATH) \
452+
helm install opensandbox-controller $(HELM_CHART_PATH) \
453453
--set controller.image.repository=$(IMAGE_TAG_BASE) \
454454
--set controller.image.tag=v$(VERSION) \
455455
--namespace opensandbox-system \
@@ -458,20 +458,20 @@ helm-install: ## Install the Helm chart
458458
.PHONY: helm-upgrade
459459
helm-upgrade: ## Upgrade the Helm chart
460460
@echo "Upgrading Helm chart..."
461-
helm upgrade opensandbox $(HELM_CHART_PATH) \
461+
helm upgrade opensandbox-controller $(HELM_CHART_PATH) \
462462
--set controller.image.repository=$(IMAGE_TAG_BASE) \
463463
--set controller.image.tag=v$(VERSION) \
464464
--namespace opensandbox-system
465465

466466
.PHONY: helm-uninstall
467467
helm-uninstall: ## Uninstall the Helm chart
468468
@echo "Uninstalling Helm chart..."
469-
helm uninstall opensandbox --namespace opensandbox-system
469+
helm uninstall opensandbox-controller --namespace opensandbox-system
470470

471471
.PHONY: helm-test
472472
helm-test: ## Run Helm chart tests
473473
@echo "Running Helm chart tests..."
474-
helm test opensandbox --namespace opensandbox-system
474+
helm test opensandbox-controller --namespace opensandbox-system
475475

476476
.PHONY: helm-docs
477477
helm-docs: ## Generate Helm chart documentation (requires helm-docs)
@@ -486,7 +486,7 @@ helm-docs: ## Generate Helm chart documentation (requires helm-docs)
486486
.PHONY: helm-dry-run
487487
helm-dry-run: ## Perform a dry-run install of the Helm chart
488488
@echo "Performing dry-run installation..."
489-
helm install opensandbox $(HELM_CHART_PATH) \
489+
helm install opensandbox-controller $(HELM_CHART_PATH) \
490490
--set controller.image.repository=$(IMAGE_TAG_BASE) \
491491
--set controller.image.tag=v$(VERSION) \
492492
--namespace opensandbox-system \

kubernetes/README-ZH.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -156,15 +156,15 @@ kind delete cluster
156156

157157
```sh
158158
# 将 <version> 替换为所需版本(例如:0.1.0)
159-
helm install opensandbox \
159+
helm install opensandbox-controller \
160160
https://github.com/alibaba/OpenSandbox/releases/download/helm/opensandbox-controller/<version>/opensandbox-controller-<version>.tgz \
161161
--namespace opensandbox-system \
162162
--create-namespace
163163
```
164164

165165
具体版本示例:
166166
```sh
167-
helm install opensandbox \
167+
helm install opensandbox-controller \
168168
https://github.com/alibaba/OpenSandbox/releases/download/helm/opensandbox-controller/0.1.0/opensandbox-controller-0.1.0.tgz \
169169
--namespace opensandbox-system \
170170
--create-namespace
@@ -176,7 +176,7 @@ helm install opensandbox \
176176
wget https://github.com/alibaba/OpenSandbox/releases/download/helm/opensandbox-controller/<version>/opensandbox-controller-<version>.tgz
177177

178178
# 从本地文件安装
179-
helm install opensandbox ./opensandbox-controller-<version>.tgz \
179+
helm install opensandbox-controller ./opensandbox-controller-<version>.tgz \
180180
--namespace opensandbox-system \
181181
--create-namespace
182182
```
@@ -187,7 +187,7 @@ helm install opensandbox ./opensandbox-controller-<version>.tgz \
187187

188188
```sh
189189
# 示例:自定义资源限制
190-
helm install opensandbox \
190+
helm install opensandbox-controller \
191191
https://github.com/alibaba/OpenSandbox/releases/download/helm/opensandbox-controller/0.1.0/opensandbox-controller-0.1.0.tgz \
192192
--namespace opensandbox-system \
193193
--create-namespace \
@@ -196,7 +196,7 @@ helm install opensandbox \
196196
--set controller.resources.limits.memory=512Mi
197197

198198
# 示例:自定义日志级别
199-
helm install opensandbox \
199+
helm install opensandbox-controller \
200200
https://github.com/alibaba/OpenSandbox/releases/download/helm/opensandbox-controller/0.1.0/opensandbox-controller-0.1.0.tgz \
201201
--namespace opensandbox-system \
202202
--create-namespace \
@@ -221,7 +221,7 @@ controller:
221221
EOF
222222

223223
# 使用自定义 values 安装
224-
helm install opensandbox \
224+
helm install opensandbox-controller \
225225
https://github.com/alibaba/OpenSandbox/releases/download/helm/opensandbox-controller/0.1.0/opensandbox-controller-0.1.0.tgz \
226226
--namespace opensandbox-system \
227227
--create-namespace \
@@ -243,7 +243,7 @@ helm install opensandbox \
243243

244244
2. **使用 Helm 安装:**
245245
```sh
246-
helm install opensandbox ./charts/opensandbox-controller \
246+
helm install opensandbox-controller ./charts/opensandbox-controller \
247247
--set controller.image.repository=<some-registry>/opensandbox-controller \
248248
--set controller.image.tag=<tag> \
249249
--namespace opensandbox-system \
@@ -265,15 +265,15 @@ kubectl logs -n opensandbox-system -l control-plane=controller-manager -f
265265

266266
```sh
267267
# 升级到新版本
268-
helm upgrade opensandbox \
268+
helm upgrade opensandbox-controller \
269269
https://github.com/alibaba/OpenSandbox/releases/download/helm/opensandbox-controller/<new-version>/opensandbox-controller-<new-version>.tgz \
270270
--namespace opensandbox-system
271271
```
272272

273273
**卸载:**
274274

275275
```sh
276-
helm uninstall opensandbox -n opensandbox-system
276+
helm uninstall opensandbox-controller -n opensandbox-system
277277
```
278278

279279
有关更多配置选项和高级用法,请参阅 [Helm Chart README](charts/opensandbox-controller/README.md)

kubernetes/README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -155,15 +155,15 @@ You can install OpenSandbox Controller directly from GitHub Releases. Check the
155155

156156
```sh
157157
# Replace <version> with the desired version (e.g., 0.1.0)
158-
helm install opensandbox \
158+
helm install opensandbox-controller \
159159
https://github.com/alibaba/OpenSandbox/releases/download/helm/opensandbox-controller/<version>/opensandbox-controller-<version>.tgz \
160160
--namespace opensandbox-system \
161161
--create-namespace
162162
```
163163

164164
Example with specific version:
165165
```sh
166-
helm install opensandbox \
166+
helm install opensandbox-controller \
167167
https://github.com/alibaba/OpenSandbox/releases/download/helm/opensandbox-controller/0.1.0/opensandbox-controller-0.1.0.tgz \
168168
--namespace opensandbox-system \
169169
--create-namespace
@@ -175,7 +175,7 @@ You can also download the chart first and then install:
175175
wget https://github.com/alibaba/OpenSandbox/releases/download/helm/opensandbox-controller/<version>/opensandbox-controller-<version>.tgz
176176

177177
# Install from local file
178-
helm install opensandbox ./opensandbox-controller-<version>.tgz \
178+
helm install opensandbox-controller ./opensandbox-controller-<version>.tgz \
179179
--namespace opensandbox-system \
180180
--create-namespace
181181
```
@@ -186,7 +186,7 @@ Use `--set` flags to customize the configuration:
186186

187187
```sh
188188
# Example: Custom resource limits
189-
helm install opensandbox \
189+
helm install opensandbox-controller \
190190
https://github.com/alibaba/OpenSandbox/releases/download/helm/opensandbox-controller/0.1.0/opensandbox-controller-0.1.0.tgz \
191191
--namespace opensandbox-system \
192192
--create-namespace \
@@ -195,7 +195,7 @@ helm install opensandbox \
195195
--set controller.resources.limits.memory=512Mi
196196

197197
# Example: Custom log level
198-
helm install opensandbox \
198+
helm install opensandbox-controller \
199199
https://github.com/alibaba/OpenSandbox/releases/download/helm/opensandbox-controller/0.1.0/opensandbox-controller-0.1.0.tgz \
200200
--namespace opensandbox-system \
201201
--create-namespace \
@@ -220,7 +220,7 @@ controller:
220220
EOF
221221

222222
# Install with custom values
223-
helm install opensandbox \
223+
helm install opensandbox-controller \
224224
https://github.com/alibaba/OpenSandbox/releases/download/helm/opensandbox-controller/0.1.0/opensandbox-controller-0.1.0.tgz \
225225
--namespace opensandbox-system \
226226
--create-namespace \
@@ -242,7 +242,7 @@ If you're developing or need to customize the chart:
242242

243243
2. **Install with Helm:**
244244
```sh
245-
helm install opensandbox ./charts/opensandbox-controller \
245+
helm install opensandbox-controller ./charts/opensandbox-controller \
246246
--set controller.image.repository=<some-registry>/opensandbox-controller \
247247
--set controller.image.tag=<tag> \
248248
--namespace opensandbox-system \
@@ -264,15 +264,15 @@ kubectl logs -n opensandbox-system -l control-plane=controller-manager -f
264264

265265
```sh
266266
# Upgrade to a new version
267-
helm upgrade opensandbox \
267+
helm upgrade opensandbox-controller \
268268
https://github.com/alibaba/OpenSandbox/releases/download/helm/opensandbox-controller/<new-version>/opensandbox-controller-<new-version>.tgz \
269269
--namespace opensandbox-system
270270
```
271271

272272
**Uninstall:**
273273

274274
```sh
275-
helm uninstall opensandbox -n opensandbox-system
275+
helm uninstall opensandbox-controller -n opensandbox-system
276276
```
277277

278278
For more configuration options and advanced usage, see the [Helm Chart README](charts/opensandbox-controller/README.md).

kubernetes/charts/opensandbox-controller/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ This chart bootstraps an OpenSandbox Controller deployment on a Kubernetes clust
1919

2020
## Installing the Chart
2121

22-
To install the chart with the release name `opensandbox`:
22+
To install the chart with the release name `opensandbox-controller`:
2323

2424
```bash
25-
helm install opensandbox ./opensandbox-controller \
25+
helm install opensandbox-controller ./opensandbox-controller \
2626
--set controller.image.repository=<your-registry>/opensandbox-controller \
2727
--set controller.image.tag=v0.1.0 \
2828
--namespace opensandbox-system \
@@ -33,10 +33,10 @@ The command deploys OpenSandbox Controller on the Kubernetes cluster with defaul
3333

3434
## Uninstalling the Chart
3535

36-
To uninstall/delete the `opensandbox` deployment:
36+
To uninstall/delete the `opensandbox-controller` deployment:
3737

3838
```bash
39-
helm delete opensandbox -n opensandbox-system
39+
helm delete opensandbox-controller -n opensandbox-system
4040
```
4141

4242
The command removes all the Kubernetes components associated with the chart. Note that CRDs are kept by default (can be changed via `crds.keep`).
@@ -190,7 +190,7 @@ spec:
190190
To upgrade the chart:
191191
192192
```bash
193-
helm upgrade opensandbox ./opensandbox-controller \
193+
helm upgrade opensandbox-controller ./opensandbox-controller \
194194
--namespace opensandbox-system \
195195
-f custom-values.yaml
196196
```
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Helm dependencies - auto-generated by 'helm dependency build'
2+
# Do not commit packaged sub-charts; they will be rebuilt from source
3+
charts/
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
dependencies:
2+
- name: opensandbox-controller
3+
repository: file://../opensandbox-controller
4+
version: 0.1.0
5+
- name: opensandbox-server
6+
repository: file://../opensandbox-server
7+
version: 0.1.0
8+
digest: sha256:c66976fab3f4eea75ec3004c1842079d754387ea430c56cce5514e4f457ee40c
9+
generated: "2026-03-04T17:56:49.467373+08:00"
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Copyright 2026 Alibaba Group Holding Ltd.
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
apiVersion: v2
16+
name: opensandbox
17+
description: All-in-one Helm chart for deploying OpenSandbox controller and server
18+
type: application
19+
version: 0.1.0
20+
appVersion: "0.1.0"
21+
22+
keywords:
23+
- sandbox
24+
- kubernetes
25+
- operator
26+
- api
27+
- lifecycle
28+
- batchsandbox
29+
30+
home: https://github.com/alibaba/OpenSandbox
31+
sources:
32+
- https://github.com/alibaba/OpenSandbox/tree/main/kubernetes
33+
34+
maintainers:
35+
- name: OpenSandbox Team
36+
email: opensandbox@example.com
37+
38+
# Kubernetes version constraints
39+
kubeVersion: ">=1.21.1-0"
40+
41+
dependencies:
42+
- name: opensandbox-controller
43+
version: "0.1.0"
44+
repository: "file://../opensandbox-controller"
45+
- name: opensandbox-server
46+
version: "0.1.0"
47+
repository: "file://../opensandbox-server"
48+
49+
annotations:
50+
artifacthub.io/category: integration-delivery
51+
artifacthub.io/license: Apache-2.0
52+
artifacthub.io/prerelease: "false"
53+
artifacthub.io/links: |
54+
- name: Documentation
55+
url: https://github.com/alibaba/OpenSandbox/blob/main/kubernetes/README.md
56+
- name: Support
57+
url: https://github.com/alibaba/OpenSandbox/issues

0 commit comments

Comments
 (0)