Skip to content

Commit 6036f88

Browse files
authored
Merge branch 'main' into busola-k8s
2 parents 95ecbe4 + 67f841c commit 6036f88

File tree

5 files changed

+49
-19
lines changed

5 files changed

+49
-19
lines changed

examples/custom-extension/README.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,13 @@ This example contains a basic custom extension that queries all deployments of a
44

55
To set up and deploy your own custom Busola extension, follow these steps.
66

7-
1. Adjust the static HTML content.
7+
1. Enable custom extensions in your cluster:
8+
9+
```
10+
kubectl apply -f busola-config.yaml
11+
```
12+
13+
2. Adjust the static HTML content.
814

915
Edit the `ui.html` file to define the static HTML content for your custom extension.
1016

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
kind: ConfigMap
2+
apiVersion: v1
3+
metadata:
4+
name: busola-config
5+
namespace: kube-public
6+
data:
7+
config: |
8+
config:
9+
features:
10+
EXTENSIBILITY_CUSTOM_COMPONENTS:
11+
isEnabled: true

src/components/KymaModules/KymaModulesAddModule.js

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -127,9 +127,7 @@ export default function KymaModulesAddModule({
127127
{
128128
channel: channel.channel,
129129
version: channel.version,
130-
isBeta:
131-
module.metadata.labels['operator.kyma-project.io/beta'] ===
132-
'true',
130+
isBeta: moduleMetaRelase.spec.beta ?? false,
133131
isMetaRelease: true,
134132
},
135133
],
@@ -145,9 +143,7 @@ export default function KymaModulesAddModule({
145143
.channels.push({
146144
channel: channel.channel,
147145
version: channel.version,
148-
isBeta:
149-
module.metadata.labels['operator.kyma-project.io/beta'] ===
150-
'true',
146+
isBeta: moduleMetaRelase.spec.beta ?? false,
151147
isMetaRelease: true,
152148
});
153149
}
@@ -226,9 +222,11 @@ export default function KymaModulesAddModule({
226222
return false;
227223
}
228224
const moduleData = modulesAddData?.find(module => module.name === name);
225+
229226
return moduleData
230227
? moduleData.channels.some(
231-
({ channel: ch, isBeta }) => ch === channel && isBeta,
228+
({ channel: ch, isBeta }) =>
229+
ch === (channel || kymaResource.spec.channel) && isBeta,
232230
)
233231
: false;
234232
});
@@ -239,7 +237,8 @@ export default function KymaModulesAddModule({
239237
?.find(mod => mod.name === moduleName)
240238
?.channels.some(
241239
({ channel: ch, isBeta }) =>
242-
ch === findStatus(moduleName)?.channel && isBeta,
240+
ch === findStatus(moduleName)?.channel ||
241+
(kymaResource.spec.channel && isBeta),
243242
);
244243
};
245244

src/components/KymaModules/KymaModulesCreate.js

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -182,9 +182,7 @@ export default function KymaModulesCreate({ resource, ...props }) {
182182
{
183183
channel: channel.channel,
184184
version: channel.version,
185-
isBeta:
186-
module.metadata.labels['operator.kyma-project.io/beta'] ===
187-
'true',
185+
isBeta: moduleMetaRelase.spec.beta ?? false,
188186
isMetaRelease: true,
189187
},
190188
],
@@ -196,9 +194,7 @@ export default function KymaModulesCreate({ resource, ...props }) {
196194
.channels.push({
197195
channel: channel.channel,
198196
version: channel.version,
199-
isBeta:
200-
module.metadata.labels['operator.kyma-project.io/beta'] ===
201-
'true',
197+
isBeta: moduleMetaRelase.spec.beta ?? false,
202198
isMetaRelease: true,
203199
});
204200
}
@@ -226,9 +222,11 @@ export default function KymaModulesCreate({ resource, ...props }) {
226222
return false;
227223
}
228224
const moduleData = modulesEditData?.find(module => module.name === name);
225+
229226
return moduleData
230227
? moduleData.channels.some(
231-
({ channel: ch, isBeta }) => ch === channel && isBeta,
228+
({ channel: ch, isBeta }) =>
229+
ch === (channel || kymaResource.spec.channel) && isBeta,
232230
)
233231
: false;
234232
});

src/components/KymaModules/KymaModulesList.js

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,12 @@ export default function KymaModulesList({
7171
const namespace = 'kyma-system';
7272

7373
const modulesResourceUrl = `/apis/operator.kyma-project.io/v1beta2/moduletemplates`;
74+
const modulesReleaseMetaResourceUrl = `/apis/operator.kyma-project.io/v1beta2/modulereleasemetas`;
75+
76+
const { data: moduleReleaseMetas } = useGet(modulesReleaseMetaResourceUrl, {
77+
pollingInterval: 3000,
78+
skip: !resourceName,
79+
});
7480

7581
const { data: modules, loading: modulesLoading } = useGet(
7682
modulesResourceUrl,
@@ -124,6 +130,12 @@ export default function KymaModulesList({
124130
return moduleWithInfo ?? moduleWithoutInfo;
125131
};
126132

133+
const findModuleReleaseMeta = moduleName => {
134+
return moduleReleaseMetas?.items.find(
135+
item => item.spec.moduleName === moduleName,
136+
);
137+
};
138+
127139
const findStatus = moduleName => {
128140
return kymaResource?.status.modules?.find(
129141
module => moduleName === module.name,
@@ -136,9 +148,11 @@ export default function KymaModulesList({
136148
return extensionResource.kind === resourceKind;
137149
});
138150
};
139-
const checkBeta = module => {
151+
152+
const checkBeta = (module, currentModuleReleaseMeta) => {
140153
return (
141-
module?.metadata.labels['operator.kyma-project.io/beta'] === 'true'
154+
module?.metadata.labels['operator.kyma-project.io/beta'] === 'true' ||
155+
currentModuleReleaseMeta?.spec?.beta === true
142156
);
143157
};
144158

@@ -189,6 +203,8 @@ export default function KymaModulesList({
189203
resource?.version,
190204
);
191205

206+
const currentModuleReleaseMeta = findModuleReleaseMeta(resource.name);
207+
192208
const isChannelOverriden =
193209
kymaResource?.spec?.modules?.[moduleIndex]?.channel !== undefined;
194210

@@ -202,7 +218,7 @@ export default function KymaModulesList({
202218
) : (
203219
resource.name
204220
)}
205-
{checkBeta(currentModule) ? (
221+
{checkBeta(currentModule, currentModuleReleaseMeta) ? (
206222
<Badge style={spacing.sapUiTinyMarginBegin}>
207223
{t('kyma-modules.beta')}
208224
</Badge>

0 commit comments

Comments
 (0)