@dovetail-v2/refine 0.0.40-bowen.6 → 0.0.41
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/dist/{MonacoYamlDiffEditor-915e1b64.js → MonacoYamlDiffEditor-90b9132b.js} +1 -1
- package/dist/{index-70f11bd6.js → index-f702bf6d.js} +198 -190
- package/dist/refine.js +145 -144
- package/dist/refine.umd.cjs +54 -46
- package/dist/style.css +4 -5
- package/lib/src/components/Form/RefineFormContent.d.ts +2 -2
- package/lib/src/components/Form/type.d.ts +5 -1
- package/lib/src/components/ModalContextProvider/index.d.ts +12 -0
- package/lib/src/components/NetworkPolicyRulesTable/NetworkPolicyRulesTable.d.ts +2 -1
- package/lib/src/components/Table/index.d.ts +1 -0
- package/lib/src/components/YamlForm/index.d.ts +4 -0
- package/lib/src/hooks/useDeleteModal/useDeleteModal.d.ts +1 -0
- package/lib/src/hooks/useEagleForm.d.ts +2 -1
- package/lib/src/hooks/useModal.d.ts +0 -0
- package/lib/src/model/cronjob-model.d.ts +9 -0
- package/lib/src/model/index.d.ts +6 -0
- package/lib/src/model/job-model.d.ts +10 -0
- package/lib/src/model/pod-metrics-model.d.ts +7 -0
- package/lib/src/model/pod-model.d.ts +15 -0
- package/lib/src/model/resource-model.d.ts +17 -0
- package/lib/src/model/workload-model.d.ts +17 -0
- package/lib/src/types/metric.d.ts +25 -0
- package/package.json +1 -1
- package/lib/src/App.js +0 -91
- package/lib/src/Dovetail.js +0 -45
- package/lib/src/components/Breadcrumb/index.js +0 -20
- package/lib/src/components/ConditionsTable/ConditionsTable.js +0 -56
- package/lib/src/components/ConditionsTable/index.js +0 -1
- package/lib/src/components/CreateButton/index.js +0 -10
- package/lib/src/components/CronJobDropdown/index.js +0 -26
- package/lib/src/components/CronjobJobsTable/index.js +0 -49
- package/lib/src/components/DeleteButton/index.js +0 -13
- package/lib/src/components/DeleteManyButton/index.js +0 -16
- package/lib/src/components/DrawerShow/DrawerShow.js +0 -13
- package/lib/src/components/DrawerShow/index.js +0 -1
- package/lib/src/components/EditButton/index.js +0 -13
- package/lib/src/components/EditField/index.js +0 -47
- package/lib/src/components/ErrorContent/index.js +0 -36
- package/lib/src/components/EventsTable/EventsTable.js +0 -59
- package/lib/src/components/EventsTable/index.js +0 -1
- package/lib/src/components/Form/KeyValueListWidget.js +0 -56
- package/lib/src/components/Form/MetadataForm.js +0 -9
- package/lib/src/components/Form/NameInputWidget.js +0 -50
- package/lib/src/components/Form/NamespaceSelectWidget.js +0 -21
- package/lib/src/components/Form/index.js +0 -4
- package/lib/src/components/Form/widget.js +0 -1
- package/lib/src/components/FormErrorAlert/index.js +0 -8
- package/lib/src/components/FormLayout/index.js +0 -21
- package/lib/src/components/FormModal/index.js +0 -51
- package/lib/src/components/ImageNames/index.js +0 -14
- package/lib/src/components/IngressRulesComponent/index.js +0 -11
- package/lib/src/components/IngressRulesTable/IngressRulesTable.js +0 -51
- package/lib/src/components/IngressRulesTable/index.js +0 -1
- package/lib/src/components/K8sDropdown/index.js +0 -31
- package/lib/src/components/KeyValue/KeyValue.js +0 -27
- package/lib/src/components/KeyValue/index.js +0 -1
- package/lib/src/components/KeyValueData/index.js +0 -50
- package/lib/src/components/Layout/index.js +0 -39
- package/lib/src/components/ListPage/index.js +0 -25
- package/lib/src/components/Menu/index.js +0 -36
- package/lib/src/components/NamespacesFilter/index.js +0 -34
- package/lib/src/components/NetworkPolicyRulesTable/NetworkPolicyRulesTable.js +0 -77
- package/lib/src/components/NetworkPolicyRulesTable/index.js +0 -1
- package/lib/src/components/PageShow/PageShow.js +0 -11
- package/lib/src/components/PageShow/index.js +0 -1
- package/lib/src/components/PodContainersTable/PodContainersTable.js +0 -78
- package/lib/src/components/PodContainersTable/index.js +0 -1
- package/lib/src/components/PodLog/index.js +0 -136
- package/lib/src/components/ReferenceLink/index.js +0 -17
- package/lib/src/components/RefineForm/RefineFormContent.d.ts +0 -10
- package/lib/src/components/RefineForm/RefineFormModal.d.ts +0 -8
- package/lib/src/components/RefineForm/RefineFormPage.d.ts +0 -7
- package/lib/src/components/RefineForm/index.d.ts +0 -3
- package/lib/src/components/RefineForm/type.d.ts +0 -20
- package/lib/src/components/RefineForm/useRefineForm.d.ts +0 -10
- package/lib/src/components/ResourceCRUD/ResourceCRUD.js +0 -15
- package/lib/src/components/ResourceCRUD/create/index.js +0 -13
- package/lib/src/components/ResourceCRUD/index.js +0 -4
- package/lib/src/components/ResourceCRUD/list/index.js +0 -19
- package/lib/src/components/ResourceCRUD/show/index.js +0 -6
- package/lib/src/components/ResourceLink/index.js +0 -21
- package/lib/src/components/ResourceUsageBar/index.js +0 -81
- package/lib/src/components/Separator/index.js +0 -11
- package/lib/src/components/ShowContent/ShowContent.js +0 -157
- package/lib/src/components/ShowContent/fields.js +0 -157
- package/lib/src/components/ShowContent/index.js +0 -2
- package/lib/src/components/StateTag/StateTag.js +0 -22
- package/lib/src/components/StateTag/index.js +0 -1
- package/lib/src/components/Table/ErrorContent.js +0 -36
- package/lib/src/components/Table/TableToolBar.js +0 -14
- package/lib/src/components/Table/TableWidgets.js +0 -28
- package/lib/src/components/Table/index.js +0 -69
- package/lib/src/components/Tags/index.js +0 -22
- package/lib/src/components/Time/index.js +0 -14
- package/lib/src/components/WorkloadDropdown/index.js +0 -24
- package/lib/src/components/WorkloadPodsTable/WorkloadPodsTable.js +0 -39
- package/lib/src/components/WorkloadPodsTable/index.js +0 -1
- package/lib/src/components/WorkloadReplicas/index.js +0 -50
- package/lib/src/components/YamlEditor/MonacoYamlDiffEditor.js +0 -34
- package/lib/src/components/YamlEditor/MonacoYamlEditor.js +0 -149
- package/lib/src/components/YamlEditor/YamlEditorComponent.js +0 -90
- package/lib/src/components/YamlEditor/index.js +0 -1
- package/lib/src/components/YamlEditor/style.js +0 -102
- package/lib/src/components/YamlEditor/yaml.worker.js +0 -1
- package/lib/src/components/YamlForm/index.js +0 -61
- package/lib/src/components/index.js +0 -38
- package/lib/src/constants/index.js +0 -2
- package/lib/src/constants/k8s.js +0 -203
- package/lib/src/constants/state.js +0 -15
- package/lib/src/contexts/component.js +0 -3
- package/lib/src/contexts/configs.js +0 -3
- package/lib/src/contexts/global-store.js +0 -3
- package/lib/src/contexts/index.js +0 -3
- package/lib/src/hooks/index.js +0 -7
- package/lib/src/hooks/useDeleteModal/index.js +0 -1
- package/lib/src/hooks/useDeleteModal/useDeleteManyModal.js +0 -31
- package/lib/src/hooks/useDeleteModal/useDeleteModal.js +0 -38
- package/lib/src/hooks/useDownloadYAML.js +0 -10
- package/lib/src/hooks/useEagleForm.js +0 -177
- package/lib/src/hooks/useEagleTable/columns.js +0 -246
- package/lib/src/hooks/useEagleTable/index.js +0 -2
- package/lib/src/hooks/useEagleTable/useEagleTable.js +0 -63
- package/lib/src/hooks/useEdit.js +0 -19
- package/lib/src/hooks/useGlobalStore.js +0 -5
- package/lib/src/hooks/useK8sYamlEditor.js +0 -37
- package/lib/src/hooks/useOpenForm.js +0 -43
- package/lib/src/hooks/useSchema.js +0 -37
- package/lib/src/hooks/useSubmitForm.js +0 -42
- package/lib/src/i18n.js +0 -19
- package/lib/src/index.js +0 -13
- package/lib/src/locales/en-US/dovetail.json +0 -18
- package/lib/src/locales/en-US/index.js +0 -4
- package/lib/src/locales/index.js +0 -6
- package/lib/src/locales/zh-CN/dovetail.json +0 -91
- package/lib/src/locales/zh-CN/index.js +0 -4
- package/lib/src/main.js +0 -12
- package/lib/src/models/cronjob-model.js +0 -32
- package/lib/src/models/daemonset-model.js +0 -17
- package/lib/src/models/deployment-model.js +0 -17
- package/lib/src/models/event-model.js +0 -11
- package/lib/src/models/index.js +0 -14
- package/lib/src/models/ingress-model.js +0 -24
- package/lib/src/models/job-model.js +0 -56
- package/lib/src/models/network-policy-model.js +0 -10
- package/lib/src/models/pod-metrics-model.js +0 -34
- package/lib/src/models/pod-model.js +0 -78
- package/lib/src/models/resource-model.js +0 -34
- package/lib/src/models/server-instance-model.d.ts +0 -10
- package/lib/src/models/service-model.js +0 -17
- package/lib/src/models/statefulset-model.js +0 -17
- package/lib/src/models/types/index.js +0 -1
- package/lib/src/models/types/metric.js +0 -1
- package/lib/src/models/workload-base-model.js +0 -22
- package/lib/src/models/workload-model.js +0 -51
- package/lib/src/pages/configmaps/index.js +0 -15
- package/lib/src/pages/cronjobs/create/index.js +0 -6
- package/lib/src/pages/cronjobs/index.js +0 -3
- package/lib/src/pages/cronjobs/list/index.js +0 -42
- package/lib/src/pages/cronjobs/show/index.js +0 -16
- package/lib/src/pages/daemonsets/create/index.js +0 -6
- package/lib/src/pages/daemonsets/index.js +0 -3
- package/lib/src/pages/daemonsets/list/index.js +0 -32
- package/lib/src/pages/daemonsets/show/index.js +0 -16
- package/lib/src/pages/deployments/create/index.js +0 -7
- package/lib/src/pages/deployments/index.js +0 -3
- package/lib/src/pages/deployments/list/index.js +0 -26
- package/lib/src/pages/deployments/show/index.js +0 -16
- package/lib/src/pages/ingresses/index.js +0 -26
- package/lib/src/pages/jobs/index.js +0 -34
- package/lib/src/pages/networkPolicies/index.js +0 -67
- package/lib/src/pages/pods/create/index.js +0 -6
- package/lib/src/pages/pods/index.js +0 -3
- package/lib/src/pages/pods/list/index.js +0 -81
- package/lib/src/pages/pods/show/index.js +0 -54
- package/lib/src/pages/secrets/index.js +0 -15
- package/lib/src/pages/services/index.js +0 -26
- package/lib/src/pages/statefulsets/create/index.js +0 -6
- package/lib/src/pages/statefulsets/index.js +0 -3
- package/lib/src/pages/statefulsets/list/index.js +0 -26
- package/lib/src/pages/statefulsets/show/index.js +0 -16
- package/lib/src/plugins/index.js +0 -3
- package/lib/src/plugins/model-plugin.js +0 -46
- package/lib/src/plugins/relation-plugin.js +0 -81
- package/lib/src/plugins/type.js +0 -1
- package/lib/src/providers/index.js +0 -1
- package/lib/src/providers/router-provider/index.js +0 -100
- package/lib/src/types/index.js +0 -1
- package/lib/src/types/resource.js +0 -12
- package/lib/src/utils/addId.js +0 -8
- package/lib/src/utils/download.js +0 -9
- package/lib/src/utils/error.js +0 -53
- package/lib/src/utils/form.js +0 -9
- package/lib/src/utils/k8s.js +0 -6
- package/lib/src/utils/labels.js +0 -15
- package/lib/src/utils/match-selector.js +0 -12
- package/lib/src/utils/openapi.js +0 -33
- package/lib/src/utils/schema.js +0 -117
- package/lib/src/utils/selector.js +0 -12
- package/lib/src/utils/string.js +0 -6
- package/lib/src/utils/time.js +0 -46
- package/lib/src/utils/unit.js +0 -69
- package/lib/src/utils/yaml.js +0 -44
- package/lib/vite.config.js +0 -60
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { cx } from '@linaria/core';
|
|
3
|
-
import * as monaco from 'monaco-editor';
|
|
4
|
-
import { setDiagnosticsOptions } from 'monaco-yaml';
|
|
5
|
-
import { useEffect, useRef } from 'react';
|
|
6
|
-
import ReactDOM from 'react-dom';
|
|
7
|
-
import { YamlEditorStyle } from './style';
|
|
8
|
-
import YamlWorker from './yaml.worker?worker';
|
|
9
|
-
if (!import.meta.env.PROD) {
|
|
10
|
-
window.MonacoEnvironment = {
|
|
11
|
-
getWorker(_, label) {
|
|
12
|
-
switch (label) {
|
|
13
|
-
// Handle other cases
|
|
14
|
-
case 'yaml':
|
|
15
|
-
return new YamlWorker();
|
|
16
|
-
default:
|
|
17
|
-
throw new Error(`Unknown label ${label}`);
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
const schemaMap = new Map();
|
|
23
|
-
const MonacoYamlEditor = props => {
|
|
24
|
-
const ref = useRef(null);
|
|
25
|
-
const instanceRef = useRef({ editor: null });
|
|
26
|
-
const { defaultValue, id, height, readOnly, schema, isScrollOnFocus, onChange, onValidate, getInstance, onEditorCreate, onBlur, } = props;
|
|
27
|
-
const uri = id ? monaco.Uri.parse(`${id}.yaml`) : undefined;
|
|
28
|
-
useEffect(() => {
|
|
29
|
-
if (schema) {
|
|
30
|
-
schemaMap.set(id, {
|
|
31
|
-
// Id of the first schema
|
|
32
|
-
uri: String(uri),
|
|
33
|
-
// Associate with our model
|
|
34
|
-
fileMatch: uri ? [String(uri)] : [],
|
|
35
|
-
schema,
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
const schemas = [...schemaMap.values()];
|
|
39
|
-
// config monaco yaml
|
|
40
|
-
setDiagnosticsOptions({
|
|
41
|
-
enableSchemaRequest: false,
|
|
42
|
-
hover: true,
|
|
43
|
-
completion: true,
|
|
44
|
-
validate: true,
|
|
45
|
-
format: true,
|
|
46
|
-
isKubernetes: true,
|
|
47
|
-
schemas,
|
|
48
|
-
});
|
|
49
|
-
const model = monaco.editor.createModel(defaultValue, 'yaml', uri);
|
|
50
|
-
const editor = monaco.editor.create(ref.current, {
|
|
51
|
-
automaticLayout: true,
|
|
52
|
-
scrollBeyondLastLine: false,
|
|
53
|
-
model,
|
|
54
|
-
scrollbar: {
|
|
55
|
-
handleMouseWheel: !isScrollOnFocus,
|
|
56
|
-
},
|
|
57
|
-
tabSize: 2,
|
|
58
|
-
readOnly: readOnly,
|
|
59
|
-
autoIndent: import.meta.env.VITE_IS_TEST ? 'none' : 'advanced',
|
|
60
|
-
});
|
|
61
|
-
instanceRef.current.editor = editor;
|
|
62
|
-
getInstance?.(editor);
|
|
63
|
-
onEditorCreate?.(editor);
|
|
64
|
-
return () => {
|
|
65
|
-
instanceRef.current.editor = null;
|
|
66
|
-
schemaMap.delete(id);
|
|
67
|
-
model.dispose();
|
|
68
|
-
editor.dispose();
|
|
69
|
-
};
|
|
70
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
71
|
-
}, [defaultValue, schema, id, readOnly, isScrollOnFocus, getInstance]);
|
|
72
|
-
useEffect(() => {
|
|
73
|
-
const editor = instanceRef.current.editor;
|
|
74
|
-
if (editor) {
|
|
75
|
-
const stop = editor.onDidChangeModelContent(() => {
|
|
76
|
-
ReactDOM.unstable_batchedUpdates(() => {
|
|
77
|
-
onChange?.(editor.getValue());
|
|
78
|
-
});
|
|
79
|
-
});
|
|
80
|
-
return () => {
|
|
81
|
-
stop.dispose();
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
}, [onChange, instanceRef.current.editor]);
|
|
85
|
-
useEffect(() => {
|
|
86
|
-
const editor = instanceRef.current.editor;
|
|
87
|
-
if (editor) {
|
|
88
|
-
const stop = monaco.editor.onDidChangeMarkers((uri) => {
|
|
89
|
-
const model = instanceRef.current.editor?.getModel();
|
|
90
|
-
const currentEditorUri = model?.uri;
|
|
91
|
-
if (model && uri.toString() === currentEditorUri?.toString()) {
|
|
92
|
-
const marks = monaco.editor.getModelMarkers({ owner: 'yaml', resource: currentEditorUri });
|
|
93
|
-
const yamlMarks = marks.filter(m => m.source === 'YAML');
|
|
94
|
-
const schemaMarks = marks.filter(m => m.source !== 'YAML');
|
|
95
|
-
const yamlValid = yamlMarks.length === 0;
|
|
96
|
-
const schemaValid = schemaMarks.length === 0;
|
|
97
|
-
onValidate?.(yamlValid, schemaValid);
|
|
98
|
-
if (marks.some(mark => mark.source?.includes('yaml-schema'))) {
|
|
99
|
-
monaco.editor.setModelMarkers(model, 'yaml', marks.map(mark => ({ ...mark, source: '', resource: {} })));
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
});
|
|
103
|
-
return () => {
|
|
104
|
-
stop.dispose();
|
|
105
|
-
};
|
|
106
|
-
}
|
|
107
|
-
}, [onValidate, instanceRef.current.editor]);
|
|
108
|
-
useEffect(() => {
|
|
109
|
-
const editor = instanceRef.current.editor;
|
|
110
|
-
if (editor) {
|
|
111
|
-
const stop = editor.onDidBlurEditorWidget(() => {
|
|
112
|
-
ReactDOM.unstable_batchedUpdates(() => {
|
|
113
|
-
onBlur?.();
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
|
-
return () => {
|
|
117
|
-
stop.dispose();
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
}, [onBlur, instanceRef.current.editor]);
|
|
121
|
-
useEffect(() => {
|
|
122
|
-
const editor = instanceRef.current.editor;
|
|
123
|
-
const stops = [];
|
|
124
|
-
if (editor && isScrollOnFocus) {
|
|
125
|
-
stops.push(editor.onDidFocusEditorWidget(() => {
|
|
126
|
-
editor.updateOptions({
|
|
127
|
-
scrollbar: {
|
|
128
|
-
handleMouseWheel: true,
|
|
129
|
-
}
|
|
130
|
-
});
|
|
131
|
-
}));
|
|
132
|
-
stops.push(editor.onDidBlurEditorWidget(() => {
|
|
133
|
-
editor.updateOptions({
|
|
134
|
-
scrollbar: {
|
|
135
|
-
handleMouseWheel: false,
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
}));
|
|
139
|
-
}
|
|
140
|
-
return () => {
|
|
141
|
-
stops.forEach(stop => stop.dispose());
|
|
142
|
-
};
|
|
143
|
-
}, [instanceRef.current.editor, isScrollOnFocus]);
|
|
144
|
-
return (_jsx("div", { ref: ref, className: cx(YamlEditorStyle, props.className), style: {
|
|
145
|
-
width: '100%',
|
|
146
|
-
height: height || '500px',
|
|
147
|
-
} }));
|
|
148
|
-
};
|
|
149
|
-
export default MonacoYamlEditor;
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useUIKit } from '@cloudtower/eagle';
|
|
3
|
-
import { Icon } from '@cloudtower/eagle';
|
|
4
|
-
import { ClipboardCopy16GradientGrayIcon, ClipboardCopy16GradientBlueIcon, HierarchyTriangleRight16GrayIcon, HierarchyTriangleRight16BlueIcon, Retry16GradientGrayIcon, Retry16GradientBlueIcon, XmarkFailedSeriousWarningFill16RedIcon, EditPen16GradientGrayIcon, EditPen16GradientBlueIcon, Showdiff16GradientGrayIcon, Showdiff16GradientBlueIcon, } from '@cloudtower/icons-react';
|
|
5
|
-
import { cx } from '@linaria/core';
|
|
6
|
-
import React, { Suspense, useCallback, useRef, useState, useImperativeHandle, forwardRef, } from 'react';
|
|
7
|
-
import { useD2Translation } from '../../i18n';
|
|
8
|
-
import { Separator } from '../Separator';
|
|
9
|
-
import { ErrorMsgStyle, IconStyle, PlainCodeStyle, TitleStyle, ToolBarStyle, ToolBarHeaderStyle, ErrorIconStyle, WrapperStyle, ErrorWrapperStyle, } from './style';
|
|
10
|
-
const MonacoYamlEditor = React.lazy(() => import('./MonacoYamlEditor'));
|
|
11
|
-
const MonacoYamlDiffEditor = React.lazy(() => import('./MonacoYamlDiffEditor'));
|
|
12
|
-
export const YamlEditorComponent = forwardRef(function YamlEditorComponent(props, ref) {
|
|
13
|
-
const { title, collapsable = true, isDefaultCollapsed, defaultValue = '', height, readOnly, errorMsgs = [], schema, eleRef, className, } = props;
|
|
14
|
-
const kit = useUIKit();
|
|
15
|
-
const { t } = useD2Translation();
|
|
16
|
-
const [isCollapsed, setIsCollapsed] = useState(collapsable ? isDefaultCollapsed : false);
|
|
17
|
-
const [isDiff, setIsDiff] = useState(false);
|
|
18
|
-
const [value, setValue] = useState(defaultValue);
|
|
19
|
-
const editorInstance = useRef();
|
|
20
|
-
const [copyTooltip, setCopyTooltip] = useState(t('dovetail.copy'));
|
|
21
|
-
const [resetTooltip, setResetTooltip] = useState(t('dovetail.reset_arguments'));
|
|
22
|
-
useImperativeHandle(ref, () => {
|
|
23
|
-
return {
|
|
24
|
-
setValue,
|
|
25
|
-
setEditorValue: (value) => {
|
|
26
|
-
editorInstance.current?.getModel()?.setValue(value);
|
|
27
|
-
},
|
|
28
|
-
getEditorValue: () => {
|
|
29
|
-
return editorInstance.current?.getValue() ?? '';
|
|
30
|
-
},
|
|
31
|
-
getEditorInstance: () => editorInstance.current || null,
|
|
32
|
-
};
|
|
33
|
-
});
|
|
34
|
-
const onChange = useCallback((newVal) => {
|
|
35
|
-
setValue(newVal);
|
|
36
|
-
props.onChange?.(newVal);
|
|
37
|
-
}, [props.onChange]);
|
|
38
|
-
const onValidate = useCallback((valid, schemaValid) => {
|
|
39
|
-
props.onValidate?.(valid, schemaValid);
|
|
40
|
-
}, [props.onValidate]);
|
|
41
|
-
const onEditorCreate = useCallback((editor) => {
|
|
42
|
-
if (editor.getValue() !== value) {
|
|
43
|
-
editorInstance.current?.getModel()?.setValue(value);
|
|
44
|
-
}
|
|
45
|
-
props.onEditorCreate?.(editor);
|
|
46
|
-
}, [value, props.onEditorCreate]);
|
|
47
|
-
const getInstance = useCallback((ins) => {
|
|
48
|
-
editorInstance.current = ins;
|
|
49
|
-
}, []);
|
|
50
|
-
return (_jsxs("div", { className: cx(WrapperStyle, className), "data-is-error": !!errorMsgs.length, ref: eleRef, children: [_jsxs(kit.space, { className: cx(ToolBarStyle, isCollapsed ? 'collapsed' : ''), direction: "vertical", size: 0, children: [_jsxs(kit.space, { className: ToolBarHeaderStyle, children: [_jsxs(kit.space, { size: 8, children: [collapsable && (_jsx(Icon, { src: HierarchyTriangleRight16GrayIcon, hoverSrc: HierarchyTriangleRight16BlueIcon, className: cx(IconStyle, isCollapsed ? '' : 'arrow-down'), iconWidth: 16, iconHeight: 16, onClick: () => setIsCollapsed(!isCollapsed) })), _jsx("div", { className: cx(TitleStyle, 'yaml-editor-title'), children: title || t('dovetail.configure_file') })] }), _jsxs(kit.space, { size: 14, children: [isDiff ? undefined : (_jsxs(_Fragment, { children: [_jsx(kit.tooltip, { title: isCollapsed ? '' : copyTooltip, onVisibleChange: visible => {
|
|
51
|
-
if (!visible) {
|
|
52
|
-
setTimeout(() => {
|
|
53
|
-
setCopyTooltip(t('dovetail.copy'));
|
|
54
|
-
}, 80);
|
|
55
|
-
}
|
|
56
|
-
}, children: _jsx(Icon, { "data-disabled": isCollapsed, src: ClipboardCopy16GradientGrayIcon, hoverSrc: isCollapsed ? undefined : ClipboardCopy16GradientBlueIcon, className: IconStyle, iconWidth: 16, iconHeight: 16, onClick: () => {
|
|
57
|
-
if (!isCollapsed) {
|
|
58
|
-
copyToClipboard(value);
|
|
59
|
-
setCopyTooltip(t('dovetail.copied'));
|
|
60
|
-
}
|
|
61
|
-
} }) }), _jsx(Separator, {}), _jsx(kit.tooltip, { title: isCollapsed ? '' : resetTooltip, onVisibleChange: visible => {
|
|
62
|
-
if (!visible) {
|
|
63
|
-
setTimeout(() => {
|
|
64
|
-
setResetTooltip(t('dovetail.reset_arguments'));
|
|
65
|
-
}, 80);
|
|
66
|
-
}
|
|
67
|
-
}, children: _jsx(Icon, { "data-disabled": isCollapsed, src: Retry16GradientGrayIcon, hoverSrc: isCollapsed ? undefined : Retry16GradientBlueIcon, className: IconStyle, iconWidth: 16, iconHeight: 16, onClick: () => {
|
|
68
|
-
if (!isCollapsed) {
|
|
69
|
-
editorInstance.current?.setValue(defaultValue);
|
|
70
|
-
setResetTooltip(t('dovetail.already_reset'));
|
|
71
|
-
}
|
|
72
|
-
} }) }), _jsx(Separator, {})] })), _jsx(kit.tooltip, { title: isCollapsed
|
|
73
|
-
? ''
|
|
74
|
-
: isDiff
|
|
75
|
-
? t('dovetail.back_to_edit')
|
|
76
|
-
: t('dovetail.view_changes'), children: isDiff ? (_jsx(Icon, { "data-disabled": isCollapsed, src: EditPen16GradientGrayIcon, hoverSrc: isCollapsed ? undefined : EditPen16GradientBlueIcon, className: IconStyle, iconWidth: 16, iconHeight: 16, onClick: () => (isCollapsed ? undefined : setIsDiff(false)) })) : (_jsx(Icon, { "data-disabled": isCollapsed, src: Showdiff16GradientGrayIcon, hoverSrc: isCollapsed ? undefined : Showdiff16GradientBlueIcon, className: IconStyle, iconWidth: 16, iconHeight: 16, onClick: () => (isCollapsed ? undefined : setIsDiff(true)) })) })] })] }), errorMsgs.length ? (_jsxs(kit.space, { className: ErrorWrapperStyle, size: 8, align: "start", children: [_jsx(XmarkFailedSeriousWarningFill16RedIcon, { className: ErrorIconStyle }), _jsx("div", { children: errorMsgs.map((errorMsg, index) => (_jsxs("div", { className: ErrorMsgStyle, children: [errorMsgs.length > 1 ? `${index + 1}. ` : '', errorMsg] }, errorMsg))) })] })) : undefined] }), _jsx("div", { style: {
|
|
77
|
-
display: isCollapsed ? 'none' : 'block',
|
|
78
|
-
width: '100%',
|
|
79
|
-
height: height || '500px',
|
|
80
|
-
zIndex: 1,
|
|
81
|
-
}, children: isDiff ? (_jsx(Suspense, { fallback: _jsx("pre", { className: PlainCodeStyle, children: value }), children: _jsx(MonacoYamlDiffEditor, { id: props.id, origin: defaultValue, modified: value, height: height }) })) : (_jsx(Suspense, { fallback: _jsx("pre", { className: PlainCodeStyle, children: value }), children: _jsx(MonacoYamlEditor, { id: props.id, getInstance: getInstance, defaultValue: defaultValue, height: height, onChange: onChange, onValidate: onValidate, onEditorCreate: onEditorCreate, onBlur: props.onBlur, schema: schema, readOnly: readOnly }) })) })] }));
|
|
82
|
-
});
|
|
83
|
-
function copyToClipboard(text) {
|
|
84
|
-
const input = document.createElement('textarea');
|
|
85
|
-
input.value = text;
|
|
86
|
-
document.body.appendChild(input);
|
|
87
|
-
input.select();
|
|
88
|
-
document.execCommand('copy');
|
|
89
|
-
document.body.removeChild(input);
|
|
90
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './YamlEditorComponent';
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { css } from '@linaria/core';
|
|
2
|
-
export const ToolBarStyle = css `
|
|
3
|
-
width: 100%;
|
|
4
|
-
padding: 11px;
|
|
5
|
-
border-bottom: 1px solid rgba(211, 218, 235, 0.6);
|
|
6
|
-
background: rgba(225, 230, 241, 0.6);
|
|
7
|
-
border-top-left-radius: 8px;
|
|
8
|
-
border-top-right-radius: 8px;
|
|
9
|
-
|
|
10
|
-
&.collapsed {
|
|
11
|
-
border-bottom: 0;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
& svg {
|
|
15
|
-
margin: auto;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
& > .dovetail-ant-space-item {
|
|
19
|
-
line-height: 16px;
|
|
20
|
-
}
|
|
21
|
-
`;
|
|
22
|
-
export const ToolBarHeaderStyle = css `
|
|
23
|
-
display: flex;
|
|
24
|
-
width: 100%;
|
|
25
|
-
height: 20px;
|
|
26
|
-
justify-content: space-between;
|
|
27
|
-
|
|
28
|
-
.ant-space-item {
|
|
29
|
-
line-height: 1;
|
|
30
|
-
}
|
|
31
|
-
`;
|
|
32
|
-
export const ErrorIconStyle = css `
|
|
33
|
-
margin-top: 1px;
|
|
34
|
-
`;
|
|
35
|
-
export const WrapperStyle = css `
|
|
36
|
-
width: 100%;
|
|
37
|
-
border: 1px solid rgba(211, 218, 235, 0.6);
|
|
38
|
-
border-radius: 8px;
|
|
39
|
-
|
|
40
|
-
&[data-is-error='true'] {
|
|
41
|
-
border-color: #f0483e;
|
|
42
|
-
|
|
43
|
-
& .${ToolBarStyle} {
|
|
44
|
-
padding-bottom: 7px;
|
|
45
|
-
background: #ffecec;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
`;
|
|
49
|
-
export const TitleStyle = css `
|
|
50
|
-
color: #00122e;
|
|
51
|
-
font-size: 13px;
|
|
52
|
-
font-weight: 700;
|
|
53
|
-
line-height: 20px;
|
|
54
|
-
`;
|
|
55
|
-
export const IconStyle = css `
|
|
56
|
-
cursor: pointer;
|
|
57
|
-
margin: auto 0;
|
|
58
|
-
|
|
59
|
-
&.arrow-down svg {
|
|
60
|
-
transform: rotate(90deg);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
&[data-disabled='true'] {
|
|
64
|
-
cursor: not-allowed;
|
|
65
|
-
opacity: 0.5;
|
|
66
|
-
}
|
|
67
|
-
`;
|
|
68
|
-
export const DisabledIconStyle = css `
|
|
69
|
-
fill: rgba(#2c3852, 0.6);
|
|
70
|
-
cursor: not-allowed;
|
|
71
|
-
`;
|
|
72
|
-
export const PlainCodeStyle = css `
|
|
73
|
-
font-family: Menlo, Monaco, 'Courier New', monospace;
|
|
74
|
-
font-size: 12px;
|
|
75
|
-
font-style: normal;
|
|
76
|
-
font-weight: 400;
|
|
77
|
-
padding-left: 62px;
|
|
78
|
-
overflow: auto;
|
|
79
|
-
`;
|
|
80
|
-
export const ErrorMsgStyle = css `
|
|
81
|
-
color: #f0483e;
|
|
82
|
-
font-size: 12px;
|
|
83
|
-
line-height: 18px;
|
|
84
|
-
word-break: break-all;
|
|
85
|
-
`;
|
|
86
|
-
export const ErrorWrapperStyle = css `
|
|
87
|
-
margin-top: 8px;
|
|
88
|
-
`;
|
|
89
|
-
export const YamlEditorStyle = css `
|
|
90
|
-
.monaco-editor {
|
|
91
|
-
border-bottom-left-radius: 8px;
|
|
92
|
-
border-bottom-right-radius: 8px;
|
|
93
|
-
|
|
94
|
-
.margin {
|
|
95
|
-
border-bottom-left-radius: 8px;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
.monaco-scrollable-element {
|
|
99
|
-
border-bottom-right-radius: 8px;
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
`;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import 'monaco-yaml/yaml.worker.js';
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { useUIKit } from '@cloudtower/eagle';
|
|
3
|
-
import { css } from '@linaria/core';
|
|
4
|
-
import React, { useMemo, useCallback, useEffect } from 'react';
|
|
5
|
-
import ErrorContent from 'src/components/ErrorContent';
|
|
6
|
-
import { FormErrorAlert } from 'src/components/FormErrorAlert';
|
|
7
|
-
import FormLayout from 'src/components/FormLayout';
|
|
8
|
-
import { YamlEditorComponent } from 'src/components/YamlEditor/YamlEditorComponent';
|
|
9
|
-
import { BASE_INIT_VALUE } from 'src/constants/k8s';
|
|
10
|
-
import useEagleForm from 'src/hooks/useEagleForm';
|
|
11
|
-
import { getCommonErrors } from 'src/utils/error';
|
|
12
|
-
import { useD2Translation } from '../../i18n';
|
|
13
|
-
const FormStyle = css `
|
|
14
|
-
`;
|
|
15
|
-
const EditorStyle = css `
|
|
16
|
-
flex: 1;
|
|
17
|
-
height: 100%;
|
|
18
|
-
margin-bottom: 16px;
|
|
19
|
-
`;
|
|
20
|
-
export var SchemaStrategy;
|
|
21
|
-
(function (SchemaStrategy) {
|
|
22
|
-
SchemaStrategy["Required"] = "Required";
|
|
23
|
-
SchemaStrategy["Optional"] = "Optional";
|
|
24
|
-
SchemaStrategy["None"] = "None";
|
|
25
|
-
})(SchemaStrategy || (SchemaStrategy = {}));
|
|
26
|
-
function YamlForm(props) {
|
|
27
|
-
const { id, schemaStrategy = SchemaStrategy.Optional, isShowLayout = true, onSaveButtonPropsChange } = props;
|
|
28
|
-
const { formProps, saveButtonProps, editorProps, errorResponseBody, mutationResult, isLoadingSchema, fetchSchema, } = useEagleForm({
|
|
29
|
-
id,
|
|
30
|
-
action: id ? 'edit' : 'create',
|
|
31
|
-
editorOptions: {
|
|
32
|
-
isSkipSchema: schemaStrategy === SchemaStrategy.None,
|
|
33
|
-
},
|
|
34
|
-
liveMode: 'off',
|
|
35
|
-
initialValuesForCreate: props.initialValues ?? BASE_INIT_VALUE
|
|
36
|
-
});
|
|
37
|
-
const kit = useUIKit();
|
|
38
|
-
const { t, i18n } = useD2Translation();
|
|
39
|
-
const responseErrors = errorResponseBody
|
|
40
|
-
? getCommonErrors(errorResponseBody, i18n)
|
|
41
|
-
: [];
|
|
42
|
-
const FormWrapper = isShowLayout ? FormLayout : React.Fragment;
|
|
43
|
-
// use useMemo to keep {} the same
|
|
44
|
-
const schema = useMemo(() => {
|
|
45
|
-
return editorProps.schema || {};
|
|
46
|
-
}, [editorProps.schema]);
|
|
47
|
-
const onFinish = useCallback(async (store) => {
|
|
48
|
-
await formProps.onFinish?.(store);
|
|
49
|
-
props.onFinish?.();
|
|
50
|
-
}, [formProps, props]);
|
|
51
|
-
useEffect(() => {
|
|
52
|
-
onSaveButtonPropsChange?.(saveButtonProps);
|
|
53
|
-
}, [saveButtonProps, onSaveButtonPropsChange]);
|
|
54
|
-
return (_jsx(FormWrapper, { saveButtonProps: saveButtonProps, children: _jsx(kit.form, { ...formProps, initialValues: formProps.initialValues, layout: "horizontal", className: FormStyle, onFinish: onFinish, children: (() => {
|
|
55
|
-
if (isLoadingSchema) {
|
|
56
|
-
return _jsx(kit.loading, {});
|
|
57
|
-
}
|
|
58
|
-
return editorProps.schema || schemaStrategy !== SchemaStrategy.Required ? (_jsxs(_Fragment, { children: [_jsx(kit.form.Item, { style: { flex: 1 }, children: _jsx(YamlEditorComponent, { ...editorProps, className: EditorStyle, schema: schema, collapsable: false }) }), _jsx(kit.form.Item, { children: mutationResult.error && (_jsx(FormErrorAlert, { errorMsgs: errorResponseBody ? responseErrors : [mutationResult.error.message], style: { marginBottom: 16 } })) })] })) : (_jsx(ErrorContent, { errorText: t('dovetail.fetch_schema_fail'), refetch: fetchSchema }));
|
|
59
|
-
})() }) }));
|
|
60
|
-
}
|
|
61
|
-
export default YamlForm;
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
export * from './Breadcrumb';
|
|
2
|
-
export * from './Form';
|
|
3
|
-
export * from './PageShow';
|
|
4
|
-
export * from './Time';
|
|
5
|
-
export * from './ConditionsTable';
|
|
6
|
-
export * from './FormLayout';
|
|
7
|
-
export * from './PodContainersTable';
|
|
8
|
-
export * from './WorkloadDropdown';
|
|
9
|
-
export * from './CreateButton';
|
|
10
|
-
export * from './ImageNames';
|
|
11
|
-
export * from './ResourceCRUD';
|
|
12
|
-
export * from './WorkloadPodsTable';
|
|
13
|
-
export * from './CronJobDropdown';
|
|
14
|
-
export * from './K8sDropdown';
|
|
15
|
-
export * from './ResourceUsageBar';
|
|
16
|
-
export * from './WorkloadReplicas';
|
|
17
|
-
export * from './CronjobJobsTable';
|
|
18
|
-
export * from './KeyValue';
|
|
19
|
-
export * from './Separator';
|
|
20
|
-
export * from './YamlEditor';
|
|
21
|
-
export * from './DeleteButton';
|
|
22
|
-
export * from './Layout';
|
|
23
|
-
export * from './ShowContent';
|
|
24
|
-
export * from './YamlForm';
|
|
25
|
-
export * from './DeleteManyButton';
|
|
26
|
-
export * from './ListPage';
|
|
27
|
-
export * from './StateTag';
|
|
28
|
-
export * from './DrawerShow';
|
|
29
|
-
export * from './Menu';
|
|
30
|
-
export * from './Table';
|
|
31
|
-
export * from './EditButton';
|
|
32
|
-
export * from './ReferenceLink';
|
|
33
|
-
export * from './ResourceLink';
|
|
34
|
-
export * from './NamespacesFilter';
|
|
35
|
-
export * from './Tags';
|
|
36
|
-
export * from './PodLog';
|
|
37
|
-
export * from './FormModal';
|
|
38
|
-
export * from './NetworkPolicyRulesTable';
|
package/lib/src/constants/k8s.js
DELETED
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
export const BASE_INIT_VALUE = {
|
|
2
|
-
metadata: {
|
|
3
|
-
name: '',
|
|
4
|
-
namespace: 'default',
|
|
5
|
-
annotations: {},
|
|
6
|
-
labels: {},
|
|
7
|
-
},
|
|
8
|
-
};
|
|
9
|
-
const DEFAULT_MATCH_LABEL = 'sks.user.kubesmart.smtx.io/app';
|
|
10
|
-
const BASE_CONTAINER_INIT_VALUE = {
|
|
11
|
-
name: 'container-0',
|
|
12
|
-
imagePullPolicy: 'Always',
|
|
13
|
-
image: '',
|
|
14
|
-
};
|
|
15
|
-
const BASE_WORKLOAD_SPEC_INIT_VALUE = {
|
|
16
|
-
affinity: {},
|
|
17
|
-
imagePullSecrets: [],
|
|
18
|
-
initContainers: [],
|
|
19
|
-
volumes: [],
|
|
20
|
-
};
|
|
21
|
-
export const DEPLOYMENT_INIT_VALUE = {
|
|
22
|
-
apiVersion: 'apps/v1',
|
|
23
|
-
kind: 'Deployment',
|
|
24
|
-
...BASE_INIT_VALUE,
|
|
25
|
-
spec: {
|
|
26
|
-
replicas: 1,
|
|
27
|
-
selector: {
|
|
28
|
-
matchLabels: {
|
|
29
|
-
[DEFAULT_MATCH_LABEL]: '',
|
|
30
|
-
},
|
|
31
|
-
},
|
|
32
|
-
template: {
|
|
33
|
-
metadata: {
|
|
34
|
-
labels: {
|
|
35
|
-
[DEFAULT_MATCH_LABEL]: '',
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
spec: {
|
|
39
|
-
containers: [BASE_CONTAINER_INIT_VALUE],
|
|
40
|
-
restartPolicy: 'Always',
|
|
41
|
-
...BASE_WORKLOAD_SPEC_INIT_VALUE,
|
|
42
|
-
},
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
};
|
|
46
|
-
export const CRONJOB_INIT_VALUE = {
|
|
47
|
-
apiVersion: 'batch/v1',
|
|
48
|
-
kind: 'CronJob',
|
|
49
|
-
...BASE_INIT_VALUE,
|
|
50
|
-
spec: {
|
|
51
|
-
schedule: '',
|
|
52
|
-
jobTemplate: {
|
|
53
|
-
metadata: {
|
|
54
|
-
labels: {},
|
|
55
|
-
},
|
|
56
|
-
spec: {
|
|
57
|
-
template: {
|
|
58
|
-
spec: {
|
|
59
|
-
containers: [BASE_CONTAINER_INIT_VALUE],
|
|
60
|
-
restartPolicy: 'Never',
|
|
61
|
-
...BASE_WORKLOAD_SPEC_INIT_VALUE,
|
|
62
|
-
},
|
|
63
|
-
},
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
};
|
|
68
|
-
export const DAEMONSET_INIT_VALUE = {
|
|
69
|
-
apiVersion: 'apps/v1',
|
|
70
|
-
kind: 'DaemonSet',
|
|
71
|
-
...BASE_INIT_VALUE,
|
|
72
|
-
spec: {
|
|
73
|
-
replicas: 1,
|
|
74
|
-
selector: {
|
|
75
|
-
matchLabels: {
|
|
76
|
-
[DEFAULT_MATCH_LABEL]: '',
|
|
77
|
-
},
|
|
78
|
-
},
|
|
79
|
-
template: {
|
|
80
|
-
metadata: {
|
|
81
|
-
labels: {
|
|
82
|
-
[DEFAULT_MATCH_LABEL]: '',
|
|
83
|
-
},
|
|
84
|
-
},
|
|
85
|
-
spec: {
|
|
86
|
-
containers: [BASE_CONTAINER_INIT_VALUE],
|
|
87
|
-
restartPolicy: 'Always',
|
|
88
|
-
...BASE_WORKLOAD_SPEC_INIT_VALUE,
|
|
89
|
-
},
|
|
90
|
-
},
|
|
91
|
-
},
|
|
92
|
-
};
|
|
93
|
-
export const JOB_INIT_VALUE = {
|
|
94
|
-
apiVersion: 'batch/v1',
|
|
95
|
-
kind: 'Job',
|
|
96
|
-
...BASE_INIT_VALUE,
|
|
97
|
-
spec: {
|
|
98
|
-
replicas: 1,
|
|
99
|
-
selector: {
|
|
100
|
-
matchLabels: {},
|
|
101
|
-
},
|
|
102
|
-
template: {
|
|
103
|
-
metadata: {
|
|
104
|
-
labels: {},
|
|
105
|
-
},
|
|
106
|
-
spec: {
|
|
107
|
-
containers: [BASE_CONTAINER_INIT_VALUE],
|
|
108
|
-
restartPolicy: 'Never',
|
|
109
|
-
...BASE_WORKLOAD_SPEC_INIT_VALUE,
|
|
110
|
-
},
|
|
111
|
-
},
|
|
112
|
-
},
|
|
113
|
-
};
|
|
114
|
-
export const STATEFULSET_INIT_VALUE = {
|
|
115
|
-
apiVersion: 'apps/v1',
|
|
116
|
-
kind: 'StatefulSet',
|
|
117
|
-
...BASE_INIT_VALUE,
|
|
118
|
-
spec: {
|
|
119
|
-
replicas: 1,
|
|
120
|
-
selector: {
|
|
121
|
-
matchLabels: {
|
|
122
|
-
[DEFAULT_MATCH_LABEL]: '',
|
|
123
|
-
},
|
|
124
|
-
},
|
|
125
|
-
template: {
|
|
126
|
-
metadata: {
|
|
127
|
-
labels: {
|
|
128
|
-
[DEFAULT_MATCH_LABEL]: '',
|
|
129
|
-
},
|
|
130
|
-
},
|
|
131
|
-
spec: {
|
|
132
|
-
containers: [BASE_CONTAINER_INIT_VALUE],
|
|
133
|
-
restartPolicy: 'Always',
|
|
134
|
-
...BASE_WORKLOAD_SPEC_INIT_VALUE,
|
|
135
|
-
},
|
|
136
|
-
},
|
|
137
|
-
},
|
|
138
|
-
};
|
|
139
|
-
export const POD_INIT_VALUE = {
|
|
140
|
-
apiVersion: 'v1',
|
|
141
|
-
kind: 'Pod',
|
|
142
|
-
...BASE_INIT_VALUE,
|
|
143
|
-
spec: {
|
|
144
|
-
containers: [BASE_CONTAINER_INIT_VALUE],
|
|
145
|
-
},
|
|
146
|
-
};
|
|
147
|
-
export const SERVICE_INIT_VALUE = {
|
|
148
|
-
apiVersion: 'v1',
|
|
149
|
-
kind: 'Service',
|
|
150
|
-
...BASE_INIT_VALUE,
|
|
151
|
-
spec: {
|
|
152
|
-
selector: {},
|
|
153
|
-
clusterIP: null,
|
|
154
|
-
ports: [
|
|
155
|
-
{
|
|
156
|
-
name: '',
|
|
157
|
-
port: null,
|
|
158
|
-
protocol: 'TCP',
|
|
159
|
-
targetPort: null,
|
|
160
|
-
},
|
|
161
|
-
],
|
|
162
|
-
sessionAffinity: 'None',
|
|
163
|
-
type: 'ClusterIP',
|
|
164
|
-
},
|
|
165
|
-
};
|
|
166
|
-
export const INGRESS_INIT_VALUE = {
|
|
167
|
-
apiVersion: 'networking.k8s.io/v1',
|
|
168
|
-
kind: 'Ingress',
|
|
169
|
-
...BASE_INIT_VALUE,
|
|
170
|
-
spec: {
|
|
171
|
-
rules: [
|
|
172
|
-
{
|
|
173
|
-
host: 'example.com',
|
|
174
|
-
http: {
|
|
175
|
-
paths: [
|
|
176
|
-
{
|
|
177
|
-
path: '/testpath',
|
|
178
|
-
pathType: 'Prefix',
|
|
179
|
-
backend: {
|
|
180
|
-
service: {
|
|
181
|
-
name: 'test',
|
|
182
|
-
port: {
|
|
183
|
-
number: 80,
|
|
184
|
-
},
|
|
185
|
-
},
|
|
186
|
-
},
|
|
187
|
-
},
|
|
188
|
-
],
|
|
189
|
-
},
|
|
190
|
-
},
|
|
191
|
-
],
|
|
192
|
-
},
|
|
193
|
-
};
|
|
194
|
-
export const NETWORK_POLICY_INIT_VALUE = {
|
|
195
|
-
apiVersion: 'networking.k8s.io/v1',
|
|
196
|
-
kind: 'NetworkPolicy',
|
|
197
|
-
...BASE_INIT_VALUE,
|
|
198
|
-
spec: {
|
|
199
|
-
podSelector: {},
|
|
200
|
-
policyTypes: [],
|
|
201
|
-
},
|
|
202
|
-
};
|
|
203
|
-
export const TIMESTAMP_LABEL = 'sks.user.kubesmart.smtx.io/timestamp';
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export var WorkloadState;
|
|
2
|
-
(function (WorkloadState) {
|
|
3
|
-
WorkloadState["UPDATEING"] = "updating";
|
|
4
|
-
WorkloadState["READY"] = "ready";
|
|
5
|
-
WorkloadState["COMPLETED"] = "completed";
|
|
6
|
-
WorkloadState["FAILED"] = "failed";
|
|
7
|
-
WorkloadState["SUSPENDED"] = "suspended";
|
|
8
|
-
WorkloadState["RUNNING"] = "running";
|
|
9
|
-
WorkloadState["SUCCEEDED"] = "succeeded";
|
|
10
|
-
WorkloadState["UNKNOWN"] = "unknown";
|
|
11
|
-
WorkloadState["TERMINATING"] = "terminating";
|
|
12
|
-
WorkloadState["PENDING"] = "pending";
|
|
13
|
-
WorkloadState["WAITING"] = "waiting";
|
|
14
|
-
})(WorkloadState || (WorkloadState = {}));
|
|
15
|
-
// export type DeploymentState = WorkloadState.UPDATEING | WorkloadState.READY;
|