2023-06-23 12:21:35 -07:00
|
|
|

|
|
|
|
|
2022-03-18 16:14:06 -07:00
|
|
|
# Katbox 
|
2021-04-12 12:00:01 -07:00
|
|
|
|
|
|
|
Katbox is an inline ephemeral volume manager with delayed deletion for Kubernetes.
|
|
|
|
|
|
|
|
It is inspired by the "Sandbox" functionality provided by
|
|
|
|
[Apache Mesos](http://mesos.apache.org/documentation/latest/sandbox/).
|
|
|
|
|
|
|
|
## Pre-requisite
|
|
|
|
- Kubernetes cluster
|
|
|
|
- Running version 1.18 or later
|
|
|
|
- Access to terminal with `kubectl` installed
|
|
|
|
|
|
|
|
## Deployment
|
|
|
|
Deployment varies depending on the Kubernetes version your cluster is running:
|
|
|
|
- [Deployment for Kubernetes 1.18 and later](docs/deploy-1.18-and-later.md)
|
|
|
|
|
|
|
|
## Examples
|
2021-04-12 14:49:58 -07:00
|
|
|
Assuming katbox has been successfully deployed, the following example can be run using `kubectl`:
|
|
|
|
|
|
|
|
`$ kubectl apply -f https://raw.githubusercontent.com/paypal/katbox/main/examples/csi-app-inline.yaml`
|
2021-04-12 12:00:01 -07:00
|
|
|
|
|
|
|
## Building the binaries
|
2021-04-12 14:49:58 -07:00
|
|
|
To build the driver, run the following command from the root of the repository:
|
2021-04-12 12:00:01 -07:00
|
|
|
|
|
|
|
```shell
|
|
|
|
make
|
|
|
|
```
|
|
|
|
|
|
|
|
## Building a docker image
|
2021-04-12 14:49:58 -07:00
|
|
|
To build a docker image to be used on a kubernetes cluster, run the following command from the root of the repository:
|
2021-04-12 12:00:01 -07:00
|
|
|
|
|
|
|
```shell
|
|
|
|
docker build . -t <image name>
|
|
|
|
```
|
|
|
|
|
|
|
|
## Documentation
|
|
|
|
A high level overview of how katbox works can be found [here](docs/overview.md)
|
|
|
|
|
|
|
|
A closer look at how the creation and deletion of volumes works can be found [here](docs/create-delete-flow.md)
|
|
|
|
|
|
|
|
# Credits
|
|
|
|
This project was initially a fork of
|
2021-09-12 08:50:23 -07:00
|
|
|
[CSI Hostpath driver](https://github.com/kubernetes-csi/csi-driver-host-path).
|