mirror of
https://github.com/lensapp/lens.git
synced 2025-05-20 05:10:56 +00:00
* Refactor of excludeDeprecated helm service method Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Pick first helm chart from the list on load Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Removing helm filtering in UI Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Cleaning up Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Cleaning up type definitions Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Adding sorting charts by version Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Adding tests for methods that manipute chart listing Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Cleaning up tests a bit Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com> * Adding semver coercion before comparing versions Signed-off-by: Alex Andreev <alex.andreev.email@gmail.com>
109 lines
2.6 KiB
TypeScript
109 lines
2.6 KiB
TypeScript
import { HelmRepo, HelmRepoManager } from "../helm-repo-manager";
|
|
|
|
export class HelmChartManager {
|
|
private cache: any = {};
|
|
private repo: HelmRepo;
|
|
|
|
constructor(repo: HelmRepo){
|
|
this.cache = HelmRepoManager.cache;
|
|
this.repo = repo;
|
|
}
|
|
|
|
public async charts(): Promise<any> {
|
|
switch (this.repo.name) {
|
|
case "stable":
|
|
return Promise.resolve({
|
|
"apm-server": [
|
|
{
|
|
apiVersion: "3.0.0",
|
|
name: "apm-server",
|
|
version: "2.1.7",
|
|
repo: "stable",
|
|
digest: "test"
|
|
},
|
|
{
|
|
apiVersion: "3.0.0",
|
|
name: "apm-server",
|
|
version: "2.1.6",
|
|
repo: "stable",
|
|
digest: "test"
|
|
}
|
|
],
|
|
"redis": [
|
|
{
|
|
apiVersion: "3.0.0",
|
|
name: "apm-server",
|
|
version: "1.0.0",
|
|
repo: "stable",
|
|
digest: "test"
|
|
},
|
|
{
|
|
apiVersion: "3.0.0",
|
|
name: "apm-server",
|
|
version: "0.0.9",
|
|
repo: "stable",
|
|
digest: "test"
|
|
}
|
|
]
|
|
});
|
|
case "experiment":
|
|
return Promise.resolve({
|
|
"fairwind": [
|
|
{
|
|
apiVersion: "3.0.0",
|
|
name: "fairwind",
|
|
version: "0.0.1",
|
|
repo: "experiment",
|
|
digest: "test"
|
|
},
|
|
{
|
|
apiVersion: "3.0.0",
|
|
name: "fairwind",
|
|
version: "0.0.2",
|
|
repo: "experiment",
|
|
digest: "test",
|
|
deprecated: true
|
|
}
|
|
]
|
|
});
|
|
case "bitnami":
|
|
return Promise.resolve({
|
|
"hotdog": [
|
|
{
|
|
apiVersion: "3.0.0",
|
|
name: "hotdog",
|
|
version: "1.0.1",
|
|
repo: "bitnami",
|
|
digest: "test"
|
|
},
|
|
{
|
|
apiVersion: "3.0.0",
|
|
name: "hotdog",
|
|
version: "1.0.2",
|
|
repo: "bitnami",
|
|
digest: "test",
|
|
}
|
|
],
|
|
"pretzel": [
|
|
{
|
|
apiVersion: "3.0.0",
|
|
name: "pretzel",
|
|
version: "1.0",
|
|
repo: "bitnami",
|
|
digest: "test",
|
|
},
|
|
{
|
|
apiVersion: "3.0.0",
|
|
name: "pretzel",
|
|
version: "1.0.1",
|
|
repo: "bitnami",
|
|
digest: "test"
|
|
}
|
|
]
|
|
});
|
|
default:
|
|
return Promise.resolve({});
|
|
}
|
|
}
|
|
}
|