@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.
Files changed (59) hide show
  1. package/assets/translations/en-us.yaml +53 -31
  2. package/components/PromptRemove.vue +8 -3
  3. package/components/ResourceDetail/Masthead.vue +1 -0
  4. package/components/ResourceDetail/index.vue +2 -1
  5. package/components/SideNav.vue +1 -1
  6. package/components/TableDataUserIcon.vue +1 -1
  7. package/components/fleet/FleetClusters.vue +0 -3
  8. package/components/fleet/FleetRepos.vue +0 -7
  9. package/components/formatter/CloudCredExpired.vue +69 -0
  10. package/components/formatter/ClusterProvider.vue +3 -3
  11. package/components/formatter/Date.vue +1 -1
  12. package/components/nav/Header.vue +9 -5
  13. package/components/nav/TopLevelMenu.vue +127 -63
  14. package/components/nav/__tests__/TopLevelMenu.test.ts +53 -27
  15. package/config/labels-annotations.js +3 -0
  16. package/core/types-provisioning.ts +5 -0
  17. package/core/types.ts +26 -1
  18. package/detail/catalog.cattle.io.app.vue +17 -4
  19. package/detail/fleet.cattle.io.bundle.vue +5 -68
  20. package/detail/fleet.cattle.io.cluster.vue +11 -9
  21. package/detail/fleet.cattle.io.gitrepo.vue +3 -2
  22. package/edit/provisioning.cattle.io.cluster/__tests__/DirectoryConfig.test.ts +109 -24
  23. package/edit/provisioning.cattle.io.cluster/index.vue +10 -4
  24. package/edit/provisioning.cattle.io.cluster/rke2.vue +13 -2
  25. package/edit/provisioning.cattle.io.cluster/tabs/Advanced.vue +1 -0
  26. package/edit/provisioning.cattle.io.cluster/tabs/DirectoryConfig.vue +177 -26
  27. package/list/provisioning.cattle.io.cluster.vue +56 -5
  28. package/mixins/chart.js +6 -2
  29. package/models/__tests__/management.cattle.io.cluster.test.ts +3 -3
  30. package/models/__tests__/provisioning.cattle.io.cluster.test.ts +0 -86
  31. package/models/catalog.cattle.io.app.js +108 -21
  32. package/models/cloudcredential.js +159 -2
  33. package/models/fleet.cattle.io.bundle.js +3 -1
  34. package/models/fleet.cattle.io.gitrepo.js +50 -61
  35. package/models/management.cattle.io.cluster.js +15 -7
  36. package/models/provisioning.cattle.io.cluster.js +62 -15
  37. package/package.json +1 -1
  38. package/pages/c/_cluster/apps/charts/install.vue +2 -1
  39. package/pages/c/_cluster/explorer/__tests__/index.test.ts +1 -1
  40. package/pages/c/_cluster/explorer/index.vue +1 -2
  41. package/pages/c/_cluster/fleet/index.vue +12 -5
  42. package/pages/c/_cluster/manager/cloudCredential/index.vue +68 -4
  43. package/pages/c/_cluster/uiplugins/index.vue +4 -2
  44. package/pages/home.vue +1 -0
  45. package/scripts/extension/bundle +1 -1
  46. package/scripts/extension/helm/charts/ui-plugin-server/Chart.yaml +0 -2
  47. package/scripts/extension/parse-tag-name +21 -12
  48. package/scripts/publish-shell.sh +10 -4
  49. package/scripts/typegen.sh +27 -22
  50. package/store/features.js +1 -0
  51. package/types/resources/fleet.d.ts +40 -0
  52. package/types/shell/index.d.ts +4692 -0
  53. package/utils/auth.js +1 -1
  54. package/utils/cluster.js +1 -1
  55. package/utils/fleet.ts +159 -0
  56. package/utils/string.js +9 -0
  57. package/utils/v-sphere.ts +282 -0
  58. package/vue.config.js +3 -3
  59. 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
- await this.$store.dispatch('management/findAll', { type: SECRET });
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 = await this.$store.dispatch('rancher/findAll', { type: NORMAN.CLOUD_CREDENTIAL });
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
- return [
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
- const hasExtensionReposBannerSetting = this.addExtensionReposBannerSetting?.value === 'true';
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
- if (this.addExtensionReposBannerSetting?.value === 'true') {
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
@@ -373,6 +373,7 @@ export default {
373
373
  :rows="kubeClusters"
374
374
  :headers="clusterHeaders"
375
375
  :loading="!kubeClusters"
376
+ :paging="true"
376
377
  >
377
378
  <template #header-left>
378
379
  <div class="row table-heading">
@@ -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 -printf '%P\n' | sort > ./${pkg}/files.txt
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
- # Ensure "catalog" workflow release tag name does not match a pkg/<pkg-name>
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
- PKG_NAME="${pkg}-${PKG_VERSION}"
27
+ CURR_PKG_TAG="${pkg}-${PKG_VERSION}"
14
28
 
15
- if [[ "${GITHUB_RELEASE_TAG}" == "${PKG_NAME}" ]]; then
16
- gh run cancel ${GITHUB_RUN_ID}
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 [[ "${GITHUB_RELEASE_TAG}" == "${BASE_EXT}-${EXT_VERSION}" ]]; then
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
@@ -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
 
@@ -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="$( cd $SCRIPT_DIR && cd ../.. & pwd)"
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 shell/utils/*.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/utils > /dev/null
16
- ${BASE_DIR}/node_modules/.bin/tsc shell/utils/validators/*.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/utils/validators > /dev/null
17
- ${BASE_DIR}/node_modules/.bin/tsc shell/utils/crypto/*.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/utils/crypto > /dev/null
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 shell/config/query-params.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/config > /dev/null
21
- ${BASE_DIR}/node_modules/.bin/tsc shell/config/table-headers.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/config > /dev/null
22
- ${BASE_DIR}/node_modules/.bin/tsc shell/config/types.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/config > /dev/null
23
- ${BASE_DIR}/node_modules/.bin/tsc shell/config/labels-annotations.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/config > /dev/null
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 shell/store/features.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/store > /dev/null
27
- ${BASE_DIR}/node_modules/.bin/tsc shell/store/prefs.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/store > /dev/null
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 shell/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/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/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/plugins/dashboard-store/actions.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/plugins/dashboard-store/ > /dev/null
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 shell/mixins/create-edit-view/index.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/mixins/create-edit-view > /dev/null
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 shell/models/namespace.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/models/ > /dev/null
40
- ${BASE_DIR}/node_modules/.bin/tsc shell/models/networking.k8s.io.ingress.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/models/ > /dev/null
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 shell/plugins/dashboard-store/*.js --declaration --allowJs --emitDeclarationOnly --outDir ${SHELL_DIR}/tmp/plugins/dashboard-store > /dev/null
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
+ }