Krucible

Temporary Kubernetes clusters for testing and development

Write better tests

Temporary clusters allow you to run your tests in a fresh environment every time.

Debug with ease

Snapshot a cluster at a point in time so you can reproduce any problems simply.

Manage fewer clusters

Krucible creates and cleans up clusters for you, so you don't have to build your own solution.

const client = new KrucibleClient();
const { kubeConfig, cluster } = await client.createCluster({
  displayName: "my-test-client"
});

// kubeConfig is provided by the official Kubernetes client:
// https://github.com/kubernetes-client/javascript
const api = kubeConfig.makeApiClient(k8s.CoreV1Api);

// print a list of pod names
const { body } = await api.listNamespacedPod("kube-system");
console.log(body.items.map((pod) => pod.metadata.name));

console.log(cluster);
// {
//   id: '37bc9fb1-9039-43e5-b548-de0f3791eaa3',
//   displayName: 'my-test-client',
//   state: 'running',
//   createdAt: '2020-03-01T17:50:53.374Z',
//   expiresAt: '2020-03-01T18:50:53.374Z',
//   connectionDetails: {
//     server: 'https://usekrucible.com/servers/37bc9fb1-9039-43e5-b548-de0f3791eaa3',
//   },
// }