diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..2dc4c82 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,13 @@ +# Changelog + +All notable changes to this project will be documented in this file. +See updating [Changelog example here](https://keepachangelog.com/en/1.0.0/) + +## [Unreleased] + +## [1.0.0] + +First stable release + +[Unreleased]: https://github.com/UpCloudLtd/upcloud-csi/compare/v1.0.0...HEAD +[1.0.0]: https://github.com/UpCloudLtd/upcloud-csi/releases/tag/1.0.0 diff --git a/DEVELOPING.md b/DEVELOPING.md index 00e3027..b90c75d 100644 --- a/DEVELOPING.md +++ b/DEVELOPING.md @@ -24,14 +24,13 @@ $ make build-plugin Project's application can be found under `cmd` directory: - `upcloud-csi-plugin` is monolith CSI driver that can be run as controller or node driver (or both). -### Driver -Required interfaces are implemented by `Driver` type in `driver` package. For clarity, interface implementations are separated based on their role to files `controller.go`, `node.go` and `identity.go`. -Driver's gRPC server exposes endpoints described in following interfaces: +### Plugin +Required CSI interfaces are implemented in `controller`, `node` and `ìdentity` packages. +Plugin's gRPC server uses these packages to expose endpoints described in following interfaces: - [csi.IdentityServer](https://pkg.go.dev/github.com/container-storage-interface/spec@v1.6.0/lib/go/csi#IdentityServer) - [csi.ControllerServer](https://pkg.go.dev/github.com/container-storage-interface/spec@v1.6.0/lib/go/csi#ControllerServer) - [csi.NodeServer](https://pkg.go.dev/github.com/container-storage-interface/spec@v1.6.0/lib/go/csi#NodeServer) -It's good to keep in mind that althought same `Driver` type implementes all the interfaces, node (`csi.NodeServer`) and controller (`csi.ControllerServer`) endpoints are normally executed on different hosts. ## Testing Run tests using `make` diff --git a/README.md b/README.md index 7768414..e30b06b 100644 --- a/README.md +++ b/README.md @@ -11,10 +11,6 @@ Additional info about the CSI can be found in [Kubernetes CSI Developer Documentation](https://kubernetes-csi.github.io/docs/) and [Kubernetes Blog](https://kubernetes.io/blog/2019/01/15/container-storage-interface-ga/). -## Disclaimer - -Before reaching the **v1.0.0** version, UpCloud CSI Driver is **NOT** recommended for production environment usage. - ## Deployment ### Kubernetes Kubernetes deployment [README](deploy/kubernetes/README.md) describes how to deploy UpCloud CSI driver using `kubectl` and sidecar containers. diff --git a/RELEASING.md b/RELEASING.md new file mode 100644 index 0000000..e4463ce --- /dev/null +++ b/RELEASING.md @@ -0,0 +1,15 @@ +# Releasing + +1. Merge all your changes to the stable branch +3. Update CHANGELOG.md + 1. Add new heading with the correct version e.g. `## [1.0.1]` + 2. Update links at the bottom of the page + 3. Leave `## Unreleased` section at the top empty +5. Test GoReleaser config with `goreleaser check` +6. Tag a commit with the version you want to release e.g. `v1.2.0` +7. Push the tag & commit to GitHub + - GitHub action automatically + - sets the version based on the tag + - creates a draft release to GitHub +8. Verify that [release notes](https://github.com/UpCloudLtd/upcloud-csi/releases) are in line with `CHANGELOG.md` +9. Publish the drafted release