@rancher/shell 2.0.2-rc.1 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/translations/en-us.yaml +53 -31
- package/components/PromptRemove.vue +8 -3
- package/components/ResourceDetail/Masthead.vue +1 -0
- package/components/ResourceDetail/index.vue +2 -1
- package/components/SideNav.vue +1 -1
- package/components/TableDataUserIcon.vue +1 -1
- package/components/fleet/FleetClusters.vue +0 -3
- package/components/fleet/FleetRepos.vue +0 -7
- package/components/formatter/CloudCredExpired.vue +69 -0
- package/components/formatter/ClusterProvider.vue +3 -3
- package/components/formatter/Date.vue +1 -1
- package/components/nav/Header.vue +9 -5
- package/components/nav/TopLevelMenu.vue +127 -63
- package/components/nav/__tests__/TopLevelMenu.test.ts +53 -27
- package/config/labels-annotations.js +3 -0
- package/core/types-provisioning.ts +5 -0
- package/core/types.ts +26 -1
- package/detail/catalog.cattle.io.app.vue +17 -4
- package/detail/fleet.cattle.io.bundle.vue +5 -68
- package/detail/fleet.cattle.io.cluster.vue +11 -9
- package/detail/fleet.cattle.io.gitrepo.vue +3 -2
- package/edit/provisioning.cattle.io.cluster/__tests__/DirectoryConfig.test.ts +109 -24
- package/edit/provisioning.cattle.io.cluster/index.vue +10 -4
- package/edit/provisioning.cattle.io.cluster/rke2.vue +13 -2
- package/edit/provisioning.cattle.io.cluster/tabs/Advanced.vue +1 -0
- package/edit/provisioning.cattle.io.cluster/tabs/DirectoryConfig.vue +177 -26
- package/list/provisioning.cattle.io.cluster.vue +56 -5
- package/mixins/chart.js +6 -2
- package/models/__tests__/management.cattle.io.cluster.test.ts +3 -3
- package/models/__tests__/provisioning.cattle.io.cluster.test.ts +0 -86
- package/models/catalog.cattle.io.app.js +108 -21
- package/models/cloudcredential.js +159 -2
- package/models/fleet.cattle.io.bundle.js +3 -1
- package/models/fleet.cattle.io.gitrepo.js +50 -61
- package/models/management.cattle.io.cluster.js +15 -7
- package/models/provisioning.cattle.io.cluster.js +62 -15
- package/package.json +1 -1
- package/pages/c/_cluster/apps/charts/install.vue +2 -1
- package/pages/c/_cluster/explorer/__tests__/index.test.ts +1 -1
- package/pages/c/_cluster/explorer/index.vue +1 -2
- package/pages/c/_cluster/fleet/index.vue +12 -5
- package/pages/c/_cluster/manager/cloudCredential/index.vue +68 -4
- package/pages/c/_cluster/uiplugins/index.vue +4 -2
- package/pages/home.vue +1 -0
- package/scripts/extension/bundle +1 -1
- package/scripts/extension/helm/charts/ui-plugin-server/Chart.yaml +0 -2
- package/scripts/extension/parse-tag-name +21 -12
- package/scripts/publish-shell.sh +10 -4
- package/scripts/typegen.sh +27 -22
- package/store/features.js +1 -0
- package/types/resources/fleet.d.ts +40 -0
- package/types/shell/index.d.ts +4692 -0
- package/utils/auth.js +1 -1
- package/utils/cluster.js +1 -1
- package/utils/fleet.ts +159 -0
- package/utils/string.js +9 -0
- package/utils/v-sphere.ts +282 -0
- package/vue.config.js +3 -3
- package/shell/types/shell/index.d.ts +0 -2
|
@@ -9,21 +9,31 @@ import {
|
|
|
9
9
|
ID_UNLINKED,
|
|
10
10
|
NAME_UNLINKED,
|
|
11
11
|
} from '@shell/config/table-headers';
|
|
12
|
+
import { allHash } from 'utils/promise';
|
|
13
|
+
import { Banner } from '@components/Banner';
|
|
12
14
|
|
|
13
15
|
export default {
|
|
14
16
|
components: {
|
|
15
17
|
Loading,
|
|
16
18
|
ResourceTable,
|
|
17
19
|
Masthead,
|
|
20
|
+
Banner
|
|
18
21
|
},
|
|
19
22
|
|
|
20
23
|
async fetch() {
|
|
24
|
+
const promises = {};
|
|
25
|
+
|
|
21
26
|
if (this.$store.getters['management/schemaFor'](SECRET) && !this.$store.getters[`cluster/paginationEnabled`](SECRET)) {
|
|
22
27
|
// Having secrets allows showing the public portion of more types but not all users can see them.
|
|
23
|
-
|
|
28
|
+
promises.secrets = this.$store.dispatch('management/findAll', { type: SECRET });
|
|
24
29
|
}
|
|
30
|
+
promises.allCredentials = this.$store.dispatch('rancher/findAll', { type: NORMAN.CLOUD_CREDENTIAL });
|
|
31
|
+
|
|
32
|
+
const hash = await allHash(promises);
|
|
25
33
|
|
|
26
|
-
this.allCredentials =
|
|
34
|
+
this.allCredentials = hash.allCredentials;
|
|
35
|
+
// This can be optimized in future to to a quick fetch for those with annotation `"provisioning.cattle.io/driver": "harvester"`
|
|
36
|
+
this.hasHarvester = !!this.allCredentials.find((cc) => !!cc.harvestercredentialConfig);
|
|
27
37
|
},
|
|
28
38
|
|
|
29
39
|
data() {
|
|
@@ -40,7 +50,7 @@ export default {
|
|
|
40
50
|
},
|
|
41
51
|
|
|
42
52
|
headers() {
|
|
43
|
-
|
|
53
|
+
const headers = [
|
|
44
54
|
ID_UNLINKED,
|
|
45
55
|
NAME_UNLINKED,
|
|
46
56
|
{
|
|
@@ -52,8 +62,21 @@ export default {
|
|
|
52
62
|
formatter: 'CloudCredPublicData',
|
|
53
63
|
},
|
|
54
64
|
DESCRIPTION,
|
|
55
|
-
AGE_NORMAN,
|
|
56
65
|
];
|
|
66
|
+
|
|
67
|
+
if (this.hasHarvester) {
|
|
68
|
+
headers.push({
|
|
69
|
+
name: 'expiresDate',
|
|
70
|
+
labelKey: 'tableHeaders.expires',
|
|
71
|
+
value: 'expires',
|
|
72
|
+
sort: 'expiresForSort',
|
|
73
|
+
formatter: 'CloudCredExpired',
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
headers.push(AGE_NORMAN);
|
|
78
|
+
|
|
79
|
+
return headers;
|
|
57
80
|
},
|
|
58
81
|
|
|
59
82
|
createLocation() {
|
|
@@ -65,6 +88,29 @@ export default {
|
|
|
65
88
|
},
|
|
66
89
|
};
|
|
67
90
|
},
|
|
91
|
+
|
|
92
|
+
expiredData() {
|
|
93
|
+
const counts = this.allCredentials.reduce((res, cc) => {
|
|
94
|
+
const expireData = cc.expireData;
|
|
95
|
+
|
|
96
|
+
if (expireData?.expiring) {
|
|
97
|
+
res.expiring++;
|
|
98
|
+
}
|
|
99
|
+
if (expireData?.expired) {
|
|
100
|
+
res.expired++;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
return res;
|
|
104
|
+
}, {
|
|
105
|
+
expiring: 0,
|
|
106
|
+
expired: 0
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
return {
|
|
110
|
+
expiring: counts.expiring ? this.t('manager.cloudCredentials.banners.expiring', { count: counts.expiring }) : '',
|
|
111
|
+
expired: counts.expired ? this.t('manager.cloudCredentials.banners.expired', { count: counts.expired }) : '',
|
|
112
|
+
};
|
|
113
|
+
}
|
|
68
114
|
},
|
|
69
115
|
|
|
70
116
|
};
|
|
@@ -79,6 +125,18 @@ export default {
|
|
|
79
125
|
:create-location="createLocation"
|
|
80
126
|
:type-display="t('manager.cloudCredentials.label')"
|
|
81
127
|
/>
|
|
128
|
+
<Banner
|
|
129
|
+
v-if="expiredData.expiring"
|
|
130
|
+
data-testid="cert-expiring-banner"
|
|
131
|
+
color="warning"
|
|
132
|
+
:label="expiredData.expiring"
|
|
133
|
+
/>
|
|
134
|
+
<Banner
|
|
135
|
+
v-if="expiredData.expired"
|
|
136
|
+
color="error"
|
|
137
|
+
:label="expiredData.expired"
|
|
138
|
+
/>
|
|
139
|
+
|
|
82
140
|
<ResourceTable
|
|
83
141
|
:schema="schema"
|
|
84
142
|
:rows="rows"
|
|
@@ -92,3 +150,9 @@ export default {
|
|
|
92
150
|
</ResourceTable>
|
|
93
151
|
</div>
|
|
94
152
|
</template>
|
|
153
|
+
|
|
154
|
+
<style lang="scss" scoped>
|
|
155
|
+
.banner {
|
|
156
|
+
margin: 0 0 10px 0
|
|
157
|
+
}
|
|
158
|
+
</style>
|
|
@@ -153,7 +153,8 @@ export default {
|
|
|
153
153
|
},
|
|
154
154
|
|
|
155
155
|
showAddReposBanner() {
|
|
156
|
-
|
|
156
|
+
// because of https://github.com/rancher/rancher/pull/45894 we need to consider other start values
|
|
157
|
+
const hasExtensionReposBannerSetting = this.addExtensionReposBannerSetting?.value === 'true' || this.addExtensionReposBannerSetting?.value === '' || this.addExtensionReposBannerSetting?.value === undefined;
|
|
157
158
|
const uiPluginsRepoNotFound = isRancherPrime() && !this.repos?.find((r) => r.urlDisplay === UI_PLUGINS_REPO_URL);
|
|
158
159
|
const uiPluginsPartnersRepoNotFound = !this.repos?.find((r) => r.urlDisplay === UI_PLUGINS_PARTNERS_REPO_URL);
|
|
159
160
|
|
|
@@ -623,7 +624,8 @@ export default {
|
|
|
623
624
|
},
|
|
624
625
|
|
|
625
626
|
updateAddReposSetting() {
|
|
626
|
-
|
|
627
|
+
// because of https://github.com/rancher/rancher/pull/45894 we need to consider other start values
|
|
628
|
+
if (this.addExtensionReposBannerSetting?.value === 'true' || this.addExtensionReposBannerSetting?.value === '' || this.addExtensionReposBannerSetting?.value === undefined) {
|
|
627
629
|
this.addExtensionReposBannerSetting.value = 'false';
|
|
628
630
|
this.addExtensionReposBannerSetting.save();
|
|
629
631
|
}
|
package/pages/home.vue
CHANGED
package/scripts/extension/bundle
CHANGED
|
@@ -43,7 +43,7 @@ for d in ${BASE_DIR}/dist-pkg/*; do
|
|
|
43
43
|
mkdir plugin && mv ./${pkg}/* ./plugin
|
|
44
44
|
rm -rf ./${pkg}/* && mv ./plugin ./${pkg}
|
|
45
45
|
|
|
46
|
-
find ${pkg} -type f
|
|
46
|
+
find ${pkg} -type f | sed "s|^${pkg}/||" | sort > ./${pkg}/files.txt
|
|
47
47
|
popd > /dev/null
|
|
48
48
|
|
|
49
49
|
cp -R ${BASE_DIR}/dist-pkg/${pkg} ${TMP}/container/plugin
|
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
annotations:
|
|
2
2
|
catalog.cattle.io/certified: rancher # Any application we are adding as a helm chart
|
|
3
|
-
catalog.cattle.io/kube-version: '>= 1.16.0-0'
|
|
4
3
|
catalog.cattle.io/namespace: cattle-ui-plugin-system # Must prefix with cattle- and suffix with -system=
|
|
5
4
|
catalog.cattle.io/os: linux
|
|
6
5
|
catalog.cattle.io/permits-os: linux, windows
|
|
7
|
-
catalog.cattle.io/rancher-version: '>= 2.7.0-0 < 2.9.0-0'
|
|
8
6
|
catalog.cattle.io/scope: management
|
|
9
7
|
catalog.cattle.io/ui-component: plugins
|
|
10
8
|
apiVersion: v2
|
|
@@ -4,27 +4,36 @@ GITHUB_RELEASE_TAG=$1
|
|
|
4
4
|
GITHUB_RUN_ID=$2
|
|
5
5
|
GITHUB_WORKFLOW_TYPE=$3
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
echo "Parse tag name - evaluating release tag $GITHUB_RELEASE_TAG"
|
|
8
|
+
|
|
9
|
+
# Ensure "catalog" workflow release tag name matches the root <pkg-name>
|
|
8
10
|
if [[ "${GITHUB_WORKFLOW_TYPE}" == "catalog" ]]; then
|
|
11
|
+
BASE_EXT=$(jq -r .name package.json)
|
|
12
|
+
EXT_VERSION=$(jq -r .version package.json)
|
|
13
|
+
|
|
14
|
+
if [[ "${GITHUB_RELEASE_TAG}" != "${BASE_EXT}-${EXT_VERSION}" ]]; then
|
|
15
|
+
echo -e "release tag doesn't match catalog tag: release tag -> ${GITHUB_RELEASE_TAG} ::: curr catalog tag -> ${BASE_EXT}-${EXT_VERSION}"
|
|
16
|
+
gh run cancel ${GITHUB_RUN_ID}
|
|
17
|
+
exit 1
|
|
18
|
+
fi
|
|
19
|
+
# Ensure "chart" workflow release tag name matches some pkg/<pkg-name>
|
|
20
|
+
else
|
|
21
|
+
NO_MATCHES="true"
|
|
22
|
+
|
|
9
23
|
for d in pkg/*/ ; do
|
|
10
24
|
pkg=$(basename $d)
|
|
11
25
|
|
|
12
26
|
PKG_VERSION=$(jq -r .version pkg/${pkg}/package.json)
|
|
13
|
-
|
|
27
|
+
CURR_PKG_TAG="${pkg}-${PKG_VERSION}"
|
|
14
28
|
|
|
15
|
-
if [[ "${GITHUB_RELEASE_TAG}" == "${
|
|
16
|
-
|
|
17
|
-
else
|
|
18
|
-
continue
|
|
29
|
+
if [[ "${GITHUB_RELEASE_TAG}" == "${CURR_PKG_TAG}" ]]; then
|
|
30
|
+
NO_MATCHES="false"
|
|
19
31
|
fi
|
|
20
32
|
done
|
|
21
|
-
else
|
|
22
|
-
# Ensure "charts" workflow release tag name does not match the root <pkg-name>
|
|
23
|
-
BASE_EXT=$(jq -r .name package.json)
|
|
24
|
-
EXT_VERSION=$(jq -r .version package.json)
|
|
25
33
|
|
|
26
|
-
if [[ "${
|
|
27
|
-
echo -e "tag: ${GITHUB_RELEASE_TAG}"
|
|
34
|
+
if [[ "${NO_MATCHES}" == "true" ]]; then
|
|
35
|
+
echo -e "release tag doesn't match any chart tag: ${GITHUB_RELEASE_TAG}. Check your pkg/<!-YOUR-EXT-> folders and corresponding versions to complete the match"
|
|
28
36
|
gh run cancel ${GITHUB_RUN_ID}
|
|
37
|
+
exit 1
|
|
29
38
|
fi
|
|
30
39
|
fi
|
package/scripts/publish-shell.sh
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
|
|
3
|
+
set -eo pipefail
|
|
4
|
+
|
|
3
5
|
SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd)"
|
|
4
|
-
BASE_DIR="$(
|
|
5
|
-
cd $SCRIPT_DIR && cd ../.. &
|
|
6
|
-
pwd
|
|
7
|
-
)"
|
|
6
|
+
BASE_DIR="$(cd $SCRIPT_DIR && cd ../.. && pwd)"
|
|
8
7
|
SHELL_DIR=$BASE_DIR/shell/
|
|
9
8
|
CREATORS_DIR=$BASE_DIR/creators/extension
|
|
10
9
|
FORCE_PUBLISH_TO_NPM="false"
|
|
@@ -65,6 +64,13 @@ function publish() {
|
|
|
65
64
|
PUBLISH_ARGS="$PUBLISH_ARGS --tag legacy-v2"
|
|
66
65
|
fi
|
|
67
66
|
|
|
67
|
+
# when testing the workflow, we don't want to actually do an npm publish but only a dry run
|
|
68
|
+
if [ ${DRY_RUN} == "true" ]; then
|
|
69
|
+
PUBLISH_ARGS="$PUBLISH_ARGS --dry-run"
|
|
70
|
+
fi
|
|
71
|
+
|
|
72
|
+
echo "Publish to NPM - arguments ::: ${PUBLISH_ARGS}"
|
|
73
|
+
|
|
68
74
|
# Make a note of dependency versions, if required
|
|
69
75
|
node ${SCRIPT_DIR}/record-deps.js
|
|
70
76
|
|
package/scripts/typegen.sh
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
|
|
3
3
|
SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
|
4
|
-
BASE_DIR="$(
|
|
4
|
+
BASE_DIR="$(git rev-parse --show-toplevel)"
|
|
5
5
|
SHELL_DIR=$BASE_DIR/shell
|
|
6
6
|
|
|
7
7
|
echo "Generating typescript definitions"
|
|
@@ -12,37 +12,42 @@ mkdir -p ${SHELL_DIR}/tmp
|
|
|
12
12
|
echo "Generating ..."
|
|
13
13
|
|
|
14
14
|
# utils
|
|
15
|
-
${BASE_DIR}/node_modules/.bin/tsc
|
|
16
|
-
${BASE_DIR}/node_modules/.bin/tsc
|
|
17
|
-
${BASE_DIR}/node_modules/.bin/tsc
|
|
15
|
+
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/utils/*.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/utils > /dev/null
|
|
16
|
+
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/utils/validators/*.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/utils/validators > /dev/null
|
|
17
|
+
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/utils/crypto/*.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/utils/crypto > /dev/null
|
|
18
18
|
|
|
19
19
|
# config
|
|
20
|
-
${BASE_DIR}/node_modules/.bin/tsc
|
|
21
|
-
${BASE_DIR}/node_modules/.bin/tsc
|
|
22
|
-
${BASE_DIR}/node_modules/.bin/tsc
|
|
23
|
-
${BASE_DIR}/node_modules/.bin/tsc
|
|
20
|
+
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/config/query-params.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/config > /dev/null
|
|
21
|
+
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/config/table-headers.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/config > /dev/null
|
|
22
|
+
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/config/types.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/config > /dev/null
|
|
23
|
+
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/config/labels-annotations.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/config > /dev/null
|
|
24
24
|
|
|
25
|
-
# store
|
|
26
|
-
${BASE_DIR}/node_modules/.bin/tsc
|
|
27
|
-
${BASE_DIR}/node_modules/.bin/tsc
|
|
25
|
+
# # store
|
|
26
|
+
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/store/features.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/store > /dev/null
|
|
27
|
+
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/store/prefs.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/store > /dev/null
|
|
28
28
|
|
|
29
|
-
# plugins
|
|
30
|
-
${BASE_DIR}/node_modules/.bin/tsc
|
|
31
|
-
${BASE_DIR}/node_modules/.bin/tsc
|
|
32
|
-
${BASE_DIR}/node_modules/.bin/tsc
|
|
33
|
-
${BASE_DIR}/node_modules/.bin/tsc
|
|
29
|
+
# # plugins
|
|
30
|
+
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/plugins/dashboard-store/normalize.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/plugins/dashboard-store/ > /dev/null
|
|
31
|
+
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/plugins/dashboard-store/resource-class.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/plugins/dashboard-store/ > /dev/null
|
|
32
|
+
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/plugins/dashboard-store/classify.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/plugins/dashboard-store/ > /dev/null
|
|
33
|
+
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/plugins/dashboard-store/actions.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/plugins/dashboard-store/ > /dev/null
|
|
34
|
+
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/plugins/steve/steve-class.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/plugins/steve/ > /dev/null
|
|
34
35
|
|
|
35
|
-
# mixins
|
|
36
|
-
${BASE_DIR}/node_modules/.bin/tsc
|
|
36
|
+
# # mixins
|
|
37
|
+
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/mixins/create-edit-view/index.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/mixins/create-edit-view > /dev/null
|
|
38
|
+
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/mixins/resource-fetch.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/mixins > /dev/null
|
|
37
39
|
|
|
38
|
-
# models
|
|
39
|
-
${BASE_DIR}/node_modules/.bin/tsc
|
|
40
|
-
${BASE_DIR}/node_modules/.bin/tsc
|
|
40
|
+
# # models
|
|
41
|
+
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/models/namespace.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/models/ > /dev/null
|
|
42
|
+
${BASE_DIR}/node_modules/.bin/tsc ${SHELL_DIR}/models/networking.k8s.io.ingress.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/models/ > /dev/null
|
|
41
43
|
|
|
42
|
-
#./node_modules/.bin/tsc
|
|
44
|
+
#./node_modules/.bin/tsc ${SHELL_DIR}/plugins/dashboard-store/*.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/plugins/dashboard-store
|
|
43
45
|
|
|
44
46
|
# Go through all of the folders and combine by wrapping with 'declare module'
|
|
45
47
|
|
|
48
|
+
echo "Contents of ${SHELL_DIR}/tmp after tsc commands:"
|
|
49
|
+
find ${SHELL_DIR}/tmp
|
|
50
|
+
|
|
46
51
|
echo "Combining type definitions ..."
|
|
47
52
|
|
|
48
53
|
DEST=${SHELL_DIR}/types/shell
|
package/store/features.js
CHANGED
|
@@ -35,6 +35,7 @@ export const HARVESTER_CONTAINER = create('harvester-baremetal-container-workloa
|
|
|
35
35
|
export const FLEET_WORKSPACE_BACK = create('provisioningv2-fleet-workspace-back-population', false);
|
|
36
36
|
export const STEVE_CACHE = create('ui-sql-cache', false);
|
|
37
37
|
export const UIEXTENSION = create('uiextension', true);
|
|
38
|
+
export const PROVISIONING_PRE_BOOTSTRAP = create('provisioningprebootstrap', false);
|
|
38
39
|
|
|
39
40
|
// Not currently used.. no point defining ones we don't use
|
|
40
41
|
// export const EMBEDDED_CLUSTER_API = create('embedded-cluster-api', true);
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export interface BundleResourceKey {
|
|
2
|
+
kind: string,
|
|
3
|
+
apiVersion: string,
|
|
4
|
+
namespace?: string,
|
|
5
|
+
name: string,
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface BundleDeploymentResource extends BundleResourceKey {
|
|
9
|
+
createdAt?: string,
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface BundleModifiedResource extends BundleResourceKey {
|
|
13
|
+
missing?: boolean,
|
|
14
|
+
delete?: boolean,
|
|
15
|
+
patch: string,
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface BundleNonReadyResource extends BundleResourceKey {
|
|
19
|
+
summary: { [state: string]: string }
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface BundleNonReadyBundle {
|
|
23
|
+
modifiedStatus: BundleModifiedResource[],
|
|
24
|
+
nonReadyStatus: BundleNonReadyResource[],
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface BundleDeploymentStatus {
|
|
28
|
+
resources?: BundleDeploymentResource[],
|
|
29
|
+
modifiedStatus?: BundleModifiedResource[],
|
|
30
|
+
nonReadyStatus?: BundleNonReadyResource[],
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export interface BundleStatusSummary {
|
|
34
|
+
nonReadyResources?: BundleNonReadyBundle[],
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface BundleStatus {
|
|
38
|
+
resourceKey?: BundleResourceKey[],
|
|
39
|
+
summary?: BundleStatusSummary,
|
|
40
|
+
}
|