Skip to content

Commit aca3b13

Browse files
authored
Merge pull request #15 from TIBCOSoftware/wip/PCP-15720
[PCP-15720] update provisioner ui
2 parents dc51551 + adcc38e commit aca3b13

25 files changed

Lines changed: 1810 additions & 819 deletions

.github/workflows/helm-lint-test.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121

2222
- uses: actions/setup-python@v5
2323
with:
24-
python-version: '3.x'
24+
python-version: '3.13' # 3.14 will not work
2525
check-latest: true
2626

2727
- name: Set up chart-testing

charts/platform-provisioner-ui/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
apiVersion: v2
88
name: platform-provisioner-ui
9-
version: "1.0.9"
9+
version: "1.0.10"
1010
appVersion: "2.0.0"
1111
description: A Helm chart for platform-provisioner-ui
1212
type: application

charts/platform-provisioner-ui/templates/deployment.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ spec:
8383
resources:
8484
{{- toYaml .Values.resources | nindent 12 }}
8585
volumeMounts:
86+
- name: tmp
87+
mountPath: /tmp
8688
{{- if .Values.guiConfig.dataConfigMapName }}
8789
- name: {{ .Values.guiConfig.dataConfigMapName }}
8890
mountPath: /workspace/data
@@ -101,6 +103,8 @@ spec:
101103
{{- toYaml . | nindent 12 }}
102104
{{- end }}
103105
volumes:
106+
- name: tmp
107+
emptyDir: {}
104108
{{- if .Values.guiConfig.dataConfigMapName }}
105109
- name: {{ .Values.guiConfig.dataConfigMapName }}
106110
configMap:

provisioner-webui/CHANGELOG.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,34 @@
1+
## [3.1.6] - 2025-11-25
2+
### Added
3+
- Support for config Helm Charts Url in landing page
4+
- Support for loading Helm Chart name from custom Url
5+
- Support for loading Helm Chart version from custom Url
6+
- Support for autocomplete guiType
7+
- Added some of npm dependencies
8+
- Add "dayjs-plugin-utc": "0.1.2"
9+
- Add "semver": "7.7.3"
10+
- Add "sha256-es": "1.8.2"
11+
- Add "@types/semver": "7.7.1",
12+
- Add "cross-env": "10.1.0",
13+
### Changed
14+
- Fixed some of npm audit issues after upgrade dependencies
15+
- Upgrade "js-yaml" from "4.1.0" to "4.1.1"
16+
- Upgrade "vite" from "5.4.8" to "5.4.21"
17+
### Fixed
18+
- Fixed dev process issue in Windows system
19+
- Use "cross-env" to replace "export" to set environment variables in npm scripts
20+
21+
## [3.1.5] - 2025-10-22
22+
### Added
23+
- Support for store original yaml json from API server
24+
- Support for enableOtherFieldsWhenSet in yaml file
25+
- when current reference is set, the target reference will be enabled, default is disabled
26+
### Changed
27+
- Fixed some of npm audit issues after upgrade dependencies
28+
- Upgrade "axios" from "1.8.3" to "1.12.2"
29+
- Upgrade "koa" from "2.15.4" to "2.16.3"
30+
- Upgrade "@playwright/test" from "1.47.2" to "1.56.1"
31+
132
## [3.1.4] - 2025-03-24
233
### Changed
334
- Support for build local dev image with supervisord

provisioner-webui/README.md

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
# Running from source
22

33
## Prerequisite
4-
4+
* Use node version 22.14.0
5+
```bash
6+
nvm install v22.14.0
7+
nvm alias default v22.14.0
8+
```
59
* Running kubernetes cluster (Docker Desktop in following sample)
610
* Install the tekton and pipelines in the kubernetes cluster
11+
* For UI error `No pipelines found.` in local side, also need to run below command.
712
```bash
813
export PIPELINE_SKIP_PROVISIONER_UI=true
914
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/TIBCOSoftware/platform-provisioner/main/dev/platform-provisioner-install.sh)"
@@ -36,7 +41,6 @@ See [Configuration Reference](https://cli.vuejs.org/config/).
3641
Clone platform provisioner repo: https://github.com/tibco/platform-provisioner
3742
```shell
3843
export TEKTON_API_VERSION=v1 # for v1, v0.58.0 latest
39-
export START_FROM_SOURCE=true
4044
export PIPELINE_TEMPLATE_LABEL_KEY_ACCOUNT="env.cloud.tibco.com/account"
4145
export PIPELINE_TEMPLATE_LABEL_KEY_ACTION="env.cloud.tibco.com/action"
4246
export PIPELINE_TEMPLATE_LABEL_KEY_CONFIG="env.cloud.tibco.com/config"
@@ -60,6 +64,7 @@ See [Configuration Reference](https://cli.vuejs.org/config/).
6064
### Hot reload for local development (Local dev steps)
6165
1. start the vue hot reload server, then build UI code in dev mode and start local project server
6266
```shell
67+
# make sure node version is 22.14.0
6368
export TEKTON_API_VERSION=v1 # for v1, v0.58.0 latest
6469

6570
npm run build:client:dev # build UI client code in development mode

provisioner-webui/docs/README.md

Lines changed: 75 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ The Platform Provisioner local menu configuration is defined in https://github.c
44
Please clone the `platform-provisioner` repo and navigate to the `charts/provisioner-config-local` directory.
55

66
### Config top menu items: menuContent.yaml
7-
This file is used to define the menu items in the top navigation bar.
7+
#### 1. Define the menu items in the top navigation bar.
88

99
* Real data: `charts/provisioner-config-local/config/menuContent.yaml`
1010

@@ -55,6 +55,24 @@ menuConfig:
5555
target: "_blank" # Opens the link in a new tab.
5656
```
5757
58+
#### 2. Define the helm chart config urls.
59+
60+
- [X] Support for config helm chart urls. `chartConfig:`
61+
- Helm repo index.yaml `url` support for: GitHub url, or GitHub raw content url.
62+
63+
The format is as follows:
64+
65+
```yaml
66+
chartConfig:
67+
chartUrls:
68+
# Helm repo index.yaml file url format support for:
69+
# GitHub url, or GitHub raw content url.
70+
- url: "https://github.com/TIBCOSoftware/tp-helm-charts/blob/gh-pages/index.yaml"
71+
description: "TIBCO Helm Charts"
72+
- url: "https://github.com/tibco/tp-helm-charts/blob/gh-pages/index.yaml"
73+
description: "TIBCO Internal Helm Charts"
74+
```
75+
5876
![top-menus.png](images/top-menus.png)
5977

6078
### Config pipeline input options: pp-*.yaml
@@ -64,6 +82,32 @@ This file is used to define the additional input options of the pipeline.
6482
* Real data: `charts/provisioner-config-local/config/pp-*.yaml`
6583
* Mock data: `provisioner-webui/server/data/pp-*.yaml`
6684

85+
- [X] Support for `autocomplete` guiType from `3.1.6`.
86+
```yaml
87+
- name: "AutoComplete platform-base version"
88+
dataSourceUrl: "/cic2-ws/v1/helm-chart-version?chartName=platform-base"
89+
type: string
90+
guiType: autocomplete
91+
required: true
92+
reference: "meta.autoComplete.platformBase"
93+
description: "The AutoComplete platform-base version dropdown list"
94+
enableOtherFieldsWhenSet: ["meta.autoComplete.platform-bootstrap"]
95+
```
96+
![option-autocomplete.png](images/option-autocomplete.png)
97+
* Note: `dataSourceUrl` is required for `autocomplete` guiType.
98+
* Note: `dataSourceUrl` API must return an array of string, example:
99+
```json
100+
[
101+
"1.0.0",
102+
"1.1.0",
103+
"1.2.0",
104+
"2.0.0"
105+
]
106+
```
107+
- [X] Support for field mutual exclusion(will enable other fields if current field is set) from `3.1.5`.
108+
* Note: `enableOtherFieldsWhenSet` is support for any field type, it means when current filed is set, will enable other defined disabled fields.
109+
* Note: `enableOtherFieldsWhenSet` is an array, the value is other filed reference, example: `["installation.tibco.bw5ce", "installation.tibco.others"]`.
110+
67111
- [X] Support for field mutual exclusion(will disable other fields if current field is set) from `3.1.2`.
68112
* Note: `disableOtherFieldsWhenSet` is support for any field type, it means when current filed is set, will disable other defined fields.
69113
* Note: `disableOtherFieldsWhenSet` is an array, the value is other filed reference, example: `["meta.fileContent", "networking.vpcs[1].cidrs"]`.
@@ -72,7 +116,7 @@ This file is used to define the additional input options of the pipeline.
72116
* Note: default `fileSize` is 100, the unit is KB.
73117
* ![<input type="file">](images/option-file.png)
74118
- [X] Support for group option fields from `3.1.0`.
75-
```
119+
```yaml
76120
groups:
77121
- title: "Step 1: Deploy Control Plane"
78122
index: 1
@@ -92,7 +136,7 @@ This file is used to define the additional input options of the pipeline.
92136
- name: "pipeline field 3"
93137
groupIndex: 3
94138
- name: "pipeline field others"
95-
// no groupIndex item will be in the others group
139+
# If an item does not have a groupIndex, it will appear in a group named others.
96140
```
97141
![Group options](images/group-options.png)
98142
- [X] Support for define the title of the field. `name: "Field name"`
@@ -103,7 +147,7 @@ This file is used to define the additional input options of the pipeline.
103147
- [X] Support for reference to the JSON path. `reference: "networking.vpcs[1].identifier"`
104148
- [X] Support for a test reference path. See the `Test reference path` button in the pipeline page.
105149
- [X] Support for using a custom recipe to override the default value.
106-
```
150+
```yaml
107151
recipe: |
108152
version: 2.0.0
109153
```
@@ -135,10 +179,12 @@ This file is used to define the additional input options of the pipeline.
135179
| input(description) | <pre style="width: 400px;width: 400px; white-space: pre-wrap; word-wrap: break-word; overflow-wrap: break-word;">- name: "Installation Owner"<br/> type: string<br> guiType: input<br/> description: "This is a description. &lt;a href='#'&gt;Cloud&lt;/a&gt;"<br/> reference: "meta.installationOwner"</pre> | ![input-string](images/option-input-string.png) |
136180
| checkbox | <pre>- name: "Is connect cic1"<br/> type: boolean<br> guiType: checkbox<br/> reference: "installation.tibco.connectCic1"</pre> | ![checkbox](images/option-checkbox.png) |
137181
| checkbox<br/>(disable other fields) | <pre>- name: "Is connect cic1"<br/> type: boolean<br> guiType: checkbox<br/> reference: "installation.tibco.connectCic1"<br/> disableOtherFieldsWhenSet: ["meta.fileContent", "networking.vpcs[1].cidrs"]</pre> | ![checkbox](images/option-disable-other-fields-when-set.png) |
182+
| checkbox<br/>(enable other fields) | <pre>- name: "Deploy and Provision BWCE"<br/> type: boolean<br/> guiType: checkbox<br/> reference: "installation.tibco.bwce"<br/> enableOtherFieldsWhenSet: ["installation.tibco.bw5ce", "installation.tibco.others"]</pre> | ![checkbox](images/option-enable-other-fields-when-set.png) |
138183
| textarea | <pre>- name: "Description<br/> cic-gatekeeper:\n enabled: false"<br/> type: string<br> guiType: textarea<br/> lang: yaml<br/> reference: "helmCharts[0].values.content"</pre> | ![textarea](images/option-textarea.png) |
139184
| multiselect | <pre>- name: "Multiselect<br/> labels:<br/> - "10.195.0.0/16"<br/> - "10.195.0.0/17"<br/> values:<br/> - "10.195.0.0/16"<br/> - "10.195.0.0/17"<br/> type: array<br/> guiType: multiselect<br/> reference: "networking.vpcs[1].cidrs"</pre> | ![multiselect](images/option-multiselect.png) |
140185
| radio | <pre>- name: "Radio<br/> labels:<br/> - "Install"<br/> - "Upgrade"<br/> values:<br/> - "install"<br/> - "upgrade"<br/> type: string<br/> guiType: radio<br/> reference: "networking.vpcs[1].cidrs"</pre> | ![radio](images/option-radio.png) |
141186
| dropdown | <pre>- name: "Flag timeout"<br/> type: string<br/> guiType: dropdown<br/> required: true<br/> labels:<br/> - "30 minutes"<br/> - "1 hours"<br/> - "2 hours"<br/> - "4 hours"<br/> values:<br/> - "30m"<br/> - "1h"<br/> - "2h"<br/> - "4h"<br/> reference: "helmCharts[0].flags.timeout"<br/> description: "flags timeout description"</pre> | ![radio](images/option-dropdown.png) |
187+
| autocomplete | <pre>- name: "AutoComplete"<br/> dataSourceUrl: "/cic2-ws/v1/helm-chart-version?chartName=platform-base"<br/> type: string<br/> guiType: autocomplete<br/> reference: "meta.autoComplete.platformBase"<br/> description: "autocomplete description"</pre> | ![radio](images/option-autocomplete.png) |
142188
| file | <pre>- name: "File upload"<br/> type: string<br/> guiType: file<br/> required: true<br/> description: "Select file to upload"<br/> accept: ".zip,.tar,.gz"<br/> fileSize: 100<br/> reference: "meta.fileContent"</pre> | ![file](images/option-file.png) |
143189

144190
The format is as follows:
@@ -233,4 +279,29 @@ options:
233279
type: string
234280
guiType: textarea
235281
reference: "helmCharts[0].values.content"
282+
- name: "Deploy and Provision BWCE"
283+
type: boolean
284+
required: true
285+
description: "Deploy and Provision BWCE"
286+
guiType: checkbox
287+
reference: "installation.tibco.bwce"
288+
enableOtherFieldsWhenSet: ["installation.tibco.bw5ce", "installation.tibco.others"]
289+
- name: "Deploy and Provision BW5CE"
290+
type: boolean
291+
description: "Deploy and Provision BW5CE"
292+
guiType: checkbox
293+
reference: "installation.tibco.bw5ce"
294+
- name: "Deploy and Provision others"
295+
type: boolean
296+
description: "Deploy and Provision others"
297+
guiType: checkbox
298+
reference: "installation.tibco.others"
299+
- name: "AutoComplete platform-base version"
300+
dataSourceUrl: "/cic2-ws/v1/helm-chart-version?chartName=platform-base"
301+
type: string
302+
guiType: autocomplete
303+
required: true
304+
reference: "meta.autoComplete.platformBase"
305+
description: "The AutoComplete platform-base version dropdown list"
306+
enableOtherFieldsWhenSet: ["meta.autoComplete.platform-bootstrap"]
236307
```
25 KB
Loading
23.7 KB
Loading

0 commit comments

Comments
 (0)