mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
Move Cluster.apiUrl to seperate injectable (#7354)
* Refactor out Cluster.apiUrl to direct reading - Should help prevent using stale data - Removes some uses of synchronous FS operations Signed-off-by: Sebastian Malton <sebastian@malton.name> * Fix type errors Signed-off-by: Sebastian Malton <sebastian@malton.name> * Rename helper function to better communicate intent Signed-off-by: Sebastian Malton <sebastian@malton.name> * Improve prometheus handler tests to override less things Signed-off-by: Sebastian Malton <sebastian@malton.name> --------- Signed-off-by: Sebastian Malton <sebastian@malton.name>
This commit is contained in:
1 parent
18d660ea77
commit
fe2fd4c1fd
53 files changed
+472
-640
No files matched your search
@@ -0,0 +1,28 @@
|
||||
/**
|
||||
* Copyright (c) OpenLens Authors. All rights reserved.
|
||||
* Licensed under MIT License. See LICENSE in root directory for more information.
|
||||
*/
|
||||
import { getInjectable } from "@ogre-tools/injectable";
|
||||
import type { Cluster } from "../cluster/cluster";
|
||||
import readFileInjectable from "../fs/read-file.injectable";
|
||||
import type { ValidateKubeConfigResult } from "../kube-helpers";
|
||||
import { loadValidatedConfig } from "../kube-helpers";
|
||||
import resolveTildeInjectable from "../path/resolve-tilde.injectable";
|
||||
|
||||
export type LoadValidatedClusterConfig = (cluster: Cluster) => Promise<ValidateKubeConfigResult>;
|
||||
|
||||
const loadValidatedClusterConfigInjectable = getInjectable({
|
||||
id: "load-validated-cluster-config",
|
||||
instantiate: (di): LoadValidatedClusterConfig => {
|
||||
const readFile = di.inject(readFileInjectable);
|
||||
const resolveTilde = di.inject(resolveTildeInjectable);
|
||||
|
||||
return async (cluster) => {
|
||||
const data = await readFile(resolveTilde(cluster.kubeConfigPath.get()));
|
||||
|
||||
return loadValidatedConfig(data, cluster.contextName.get());
|
||||
};
|
||||
},
|
||||
});
|
||||
|
||||
export default loadValidatedClusterConfigInjectable;
|
||||
Reference in new issue
Block a user