Skip to content

Commit

Permalink
Add repoa api clients to KubeappsGrpcClient
Browse files Browse the repository at this point in the history
Signed-off-by: Antonio Gamez Diaz <agamez@vmware.com>
  • Loading branch information
antgamdia committed Jun 6, 2022
1 parent 4f34998 commit f95eb6a
Show file tree
Hide file tree
Showing 2 changed files with 41 additions and 7 deletions.
12 changes: 10 additions & 2 deletions dashboard/src/shared/KubeappsGrpcClient.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,26 @@ describe("kubeapps grpc client creation", () => {
const serviceClients = [
kubeappsGrpcClient.getPluginsServiceClientImpl(),
kubeappsGrpcClient.getPackagesServiceClientImpl(),
kubeappsGrpcClient.getRepositoriesServiceClientImpl(),
kubeappsGrpcClient.getResourcesServiceClientImpl(),
];
serviceClients.every(sc => expect(sc).not.toBeNull());
});

it("should create the clients for each plugin service", async () => {
const kubeappsGrpcClient = new KubeappsGrpcClient(fakeEmpyTransport);
const serviceClients = [
const packagesServiceClients = [
kubeappsGrpcClient.getHelmPackagesServiceClientImpl(),
kubeappsGrpcClient.getKappControllerPackagesServiceClientImpl(),
kubeappsGrpcClient.getFluxv2PackagesServiceClientImpl(),
];
serviceClients.every(sc => expect(sc).not.toBeNull());
const repositoriesServiceClients = [
kubeappsGrpcClient.getHelmRepositoriesServiceClientImpl(),
kubeappsGrpcClient.getKappControllerRepositoriesServiceClientImpl(),
kubeappsGrpcClient.getFluxV2RepositoriesServiceClientImpl(),
];
packagesServiceClients.every(sc => expect(sc).not.toBeNull());
repositoriesServiceClients.every(sc => expect(sc).not.toBeNull());
});
});

Expand Down
36 changes: 31 additions & 5 deletions dashboard/src/shared/KubeappsGrpcClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,20 @@

import { grpc } from "@improbable-eng/grpc-web";
import { PackagesServiceClientImpl } from "gen/kubeappsapis/core/packages/v1alpha1/packages";
import { RepositoriesServiceClientImpl } from "gen/kubeappsapis/core/packages/v1alpha1/repositories";
import { PluginsServiceClientImpl } from "gen/kubeappsapis/core/plugins/v1alpha1/plugins";
import { FluxV2PackagesServiceClientImpl } from "gen/kubeappsapis/plugins/fluxv2/packages/v1alpha1/fluxv2";
import { HelmPackagesServiceClientImpl } from "gen/kubeappsapis/plugins/helm/packages/v1alpha1/helm";
import { KappControllerPackagesServiceClientImpl } from "gen/kubeappsapis/plugins/kapp_controller/packages/v1alpha1/kapp_controller";
import {
FluxV2PackagesServiceClientImpl,
FluxV2RepositoriesServiceClientImpl,
} from "gen/kubeappsapis/plugins/fluxv2/packages/v1alpha1/fluxv2";
import {
HelmPackagesServiceClientImpl,
HelmRepositoriesServiceClientImpl,
} from "gen/kubeappsapis/plugins/helm/packages/v1alpha1/helm";
import {
KappControllerPackagesServiceClientImpl,
KappControllerRepositoriesServiceClientImpl,
} from "gen/kubeappsapis/plugins/kapp_controller/packages/v1alpha1/kapp_controller";
import {
GrpcWebImpl,
ResourcesServiceClientImpl,
Expand Down Expand Up @@ -46,6 +56,10 @@ export class KubeappsGrpcClient {
return new PackagesServiceClientImpl(this.getGrpcClient());
}

public getRepositoriesServiceClientImpl() {
return new RepositoriesServiceClientImpl(this.getGrpcClient());
}

public getPluginsServiceClientImpl() {
return new PluginsServiceClientImpl(this.getGrpcClient());
}
Expand All @@ -59,19 +73,31 @@ export class KubeappsGrpcClient {
return new ResourcesServiceClientImpl(this.getGrpcClient(token));
}

// Plugins (packages) APIs
// Plugins (packages/repositories) APIs
// TODO(agamez): ideally, these clients should be loaded automatically from a list of configured plugins

// Helm
public getHelmPackagesServiceClientImpl() {
return new HelmPackagesServiceClientImpl(this.getGrpcClient());
}
public getHelmRepositoriesServiceClientImpl() {
return new HelmRepositoriesServiceClientImpl(this.getGrpcClient());
}

// KappController
public getKappControllerPackagesServiceClientImpl() {
return new KappControllerPackagesServiceClientImpl(this.getGrpcClient());
}

public getKappControllerRepositoriesServiceClientImpl() {
return new KappControllerRepositoriesServiceClientImpl(this.getGrpcClient());
}
// Fluxv2
public getFluxv2PackagesServiceClientImpl() {
return new FluxV2PackagesServiceClientImpl(this.getGrpcClient());
}
public getFluxV2RepositoriesServiceClientImpl() {
return new FluxV2RepositoriesServiceClientImpl(this.getGrpcClient());
}
}

export default KubeappsGrpcClient;

0 comments on commit f95eb6a

Please sign in to comment.