The Rig tool adds changeset semantics to Kubernetes operations. For example:
# upsert a daemon set (changeset is created automatically)
rig upsert -c change1 -f daemonset.yaml
# delete a service
rig delete -c change1 svc/service1
# update config map
rig delete -c change1 configmaps/cf1
# check status
rig status -c change1
# revert everything
rig revert -c change1
# or freeze changeset, so it can no longer be updated
rig freeze -c change1You can view changesets to see what happened:
View all changesets
rig getGet detailed operations log for a changeset
rig get change1
rig get change1 -o yamlDelete a changeset
rig cs delete change1Environment variables can be used to bind rig to particular changeset:
export RIG_CHANGESET=cs1
rig upsert -f daemonset.yamlThe following resources are supported:
- ConfigMap
- DaemonSet
- ReplicationController
- Service
- Secret
- Deployment
Only Deployment updates are rolling, updating of daemon sets or replication controllers simply deletes all the pods
As a precondition to declaring Deployment, DaemonSet or ReplicatonController as ready, rig requires all pods must be in Running state.
Rig is developed by Teleport. If you'd like to contribute to Rig, check out our contributing guidelines and Code of Conduct.