index.ts 952 B

123456789101112131415161718192021222324252627282930
  1. import * as grpc from "@grpc/grpc-js";
  2. import { ContainersClient } from "./grpc/containers_grpc_pb";
  3. import { ContextsClient } from "./grpc/contexts_grpc_pb";
  4. import { ListRequest, ListResponse } from "./grpc/containers_pb";
  5. import { SetCurrentRequest } from "./grpc/contexts_pb";
  6. let address = process.argv[3] || "unix:///tmp/backend.sock";
  7. const client = new ContainersClient(address, grpc.credentials.createInsecure());
  8. const contextsClient = new ContextsClient(
  9. address,
  10. grpc.credentials.createInsecure()
  11. );
  12. let backend = process.argv[2] || "moby";
  13. contextsClient.setCurrent(new SetCurrentRequest().setName(backend), () => {
  14. client.list(new ListRequest(), (err: any, response: ListResponse) => {
  15. if (err != null) {
  16. console.error(err);
  17. return;
  18. }
  19. const containers = response.getContainersList();
  20. containers.forEach((container) => {
  21. console.log(container.getId(), container.getImage());
  22. });
  23. });
  24. });