diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..7dc0626 --- /dev/null +++ b/README.md @@ -0,0 +1,59 @@ +# K9P + +A virtual filesystem for Kubernetes cluster state. + +## Install + +K9P uses Go modules, and can be installed with a Go 1.13+. Goal is to allow operators to +use familiar unix tools to interact with their Kubernetes clusters, rather than learning kubectl. + +```console +$ git clone https://git.terinstock.com/k9p && cd k9p +$ go get ./cmd/k9p/... +``` + +## Mounting + +### Plan 9 + +K9P can be mounded like other remote 9P servers: + +```console +$ import 'tcp!localhost!1564` /k8s +``` + +### Linux + +Supported on systems compiled with `CONFIG_NET_9P`, otherwise use 9pfuse. + +```console +# mount -t 9p -o trans=tcp,port=1564 127.0.0.1 /mnt/k8s +``` + +### FUSE + +K9P can be mounted as a remote 9P server using 9pfuse: + +```console +$ 9pfuse 'tcp!127.0.0.1!1564' $HOME/k8s +``` + +### Applications + +So applications can directly interact with 9P servers, such as 9p from plan9ports: + +```console +$ p9 -a 'tcp!9p.example.com!1564' ls -l / +d-r-xr-x-r-x I 0 terin terin 0 July 3 2019 cluster-scoped +d-r-xr-x-r-x I 0 terin terin 0 July 3 2019 namespaces +``` + +## Future + +K9P is in a very early WIP state. There's lots of improvements, contributions welcome. + +* Support passing authentication to the server for the attach mount. +* Load resources on-demand, rather than creating informers on attach. +* Add support for way more resource types, including CRDs. +* Mutate and remove resources. +* Port forwards modeled after Plan 9's netfs? |