Spread versions your software environment (i.e. a Kubernetes cluster) like Git versions source code. Because Spread is built on top of libgit2, it takes advantage of Git's interface and functionality. This means after you deploy a Kubernetes object to a cluster, you can version the object by staging, committing, and pushing it to a Spread repository.
To get started, initialize Spread and set up a local Spread repository:
Here is our suggested workflow for versioning with Spread:
- Create or edit your Kubernetes objects
- Deploy your objects to a local or remote Kubernetes cluster (make sure you've set up your directory correctly):
spread deploy .
- Stage an object:
spread add <objectType>/<objectName>
- Repeat until all objects have been staged
- Commit your objects with a message:
spread commit -m "commit message"
- Set up your remote repository:
spread remote (add <name> <url> | remove <name> | set-url <name> <url>)
- Push your objects to your remote repository:
spread push <remote> <refSpec>
- Go ahead and try out the other commands - anything not documented can be accessed using
spread git ...
If you find any bugs or have any feature requests for Spread versioning, please file an issue!
Updated less than a minute ago