Spread Versioning

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:

spread init

Here is our suggested workflow for versioning with Spread:

  1. Create or edit your Kubernetes objects
  2. Deploy your objects to a local or remote Kubernetes cluster (make sure you've set up your directory correctly): spread deploy .
  3. Stage an object: spread add <objectType>/<objectName>
  4. Repeat until all objects have been staged
  5. Commit your objects with a message: spread commit -m "commit message"
  6. Set up your remote repository: spread remote (add <name> <url> | remove <name> | set-url <name> <url>)
  7. Push your objects to your remote repository: spread push <remote> <refSpec>
  8. 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!


Did this page help you?