Releases: configurator/kubefs
v0.4
Readonly mode
Due to popular demand, this release adds the --readonly
flag. With this flag,
it is safe to use kubefs with any kubernetes environment, as it will never make
any changes - you can still view the yaml files, but you cannot write, delete,
or create new ones.
A finishing touch
In v0.3, the linux command touch
would fail because it tries to set the file's
modification time as well as create it (if it doesn't exist). We've fixed that by
adding the modification time functionality - it is a noop, but will no longer
break touch
.
Logs
We've added lots of logging; the process will now output every fuse system call
as it happens.
v0.3
Writable fs
This release expends the fs so it is no longer read-only. Now you can:
- Delete objects by deleting the
.yaml
files - Duplicate objects by copying
.yaml
files into new ones - Create new objects from scratch by copying files into the right place in the file system
Warning
rm -rf
your entire cluster.
Some notes
When writing a file, the apiVersion
, kind
, name
and namespace
are completely ignored and replaced by whatever is appropriate to that file's location and name. This means if I write a file into <context>/deployment/ns/my-deployment.yaml
, I will always get the following header:
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: ns
name: my-deployment
The end result is that copying yaml (or json) files around will create new objects rather than overwriting the old ones - because we changed the filename.
Things to try
- Duplicate a deployment
cp $context/deployments/default/app.yaml $context/deployments/default/app-copy.yaml
- Create a new secret - since these don't have default values, we don't actually need to include anything in the file to create an empty object
echo > $context/secrets/default/my-secret # Now edit it in our favorite IDE code $context/secrets/default/my-secret nano $context/secrets/default/my-secret vi $context/secrets/default/my-secret
What we're working on next
See our roadmap for some missing functionality - for example:
- you can't create new files with vs code, because it tries to read the file and errors out
- file system watchers aren't implemented yet, so IDEs can't show updated object values
- some quirks still exist in how missing fs functionality is worked around
- we'd like to add comments to the yaml when applying them fails, showing hints on how to fix them
v0.2
In this release:
-
Windows support
The entire project was rewritten to use a different backend which supports running on Windows.
-
Auth plugins
Auth plugins from kubectl are now loaded, so working with external authorization mechanisms,
such as those needed to connect to GCP and Azure clusters, is fully supported. -
New command line options
- It is now possible to see json files in directory listings with
--show-json-files
- You can now hide yaml files from directory listings with
--show-yaml-files=false
- You can now pretty print all json files by using
--pretty-json
- It is now possible to see json files in directory listings with
-
Minor bugfixes
-
Missing files now correctly report file not found instead of I/O error
-
Namespace directories, which can be listed for any name and don't check for existance, wreak
havoc with some third-party programs that check for file existance and break when it is a
directory (see for example b-ryan/powerline-shell#495).The fix is to now allow opening such directories when they contain a
.
character, which isn't
allowed in namespace names anyway. -
Attempting to open files with unknown extensions will now result in a file not found instead
of defaulting to yaml.
-
v0.1 - public beta
Sensible short flag for --kubeconfig