Skip to content

Releases: xphyr/synology-csi

v1.5.1-alpha

06 Apr 14:47
cdef0b4

Choose a tag to compare

THIS IS AN ALPHA RELEASE

  • Made change to how we handle nfsClientAccess lists. Previously we would set up a static entry as part of the client-config.yaml file. We are now settings this as a part of the storageclass definition. This allows for better control over the nfsClientAccess list and allows for the use of CIDR notation and wildcard notation.
    • NOTE: This is a "breaking change". You will need to update your storageclass definition file to include the nfsClientAccess list, if you need this feature. If you do not include the nfsClientAccess list, the default value is "node" which reverts to the upstream behavior of only allowing the node to access the share.

v1.5.0

26 Feb 16:24
1e0a19e

Choose a tag to compare

v1.5.0

  • Merged PR 3 from @ressu brining code up to sync with the upstream Synology driver
  • Added new function to synocli to get list of targets
  • NOTE: The following changes have been made by Antigravity and the Gemini 3 Pro AI agent in an attempt to improve the code quality and fix some issues.
    • Critical Concurrency Fix: Added mutex locking to DsmService to prevent race conditions during concurrent volume operations.
    • Refactoring: Removed global variables in main.go. Configuration is now properly encapsulated in a Config struct and passed to the driver.
    • Code Quality:
      • Introduced DSMClient interface for better modularity and testing support.
      • Updated .golangci.yml with a comprehensive set of linters.
      • Addressed numerous linting issues including whitespace cleanup and variable naming.
    • Release Process:
      • Enhanced CI: Added go test and golangci-lint to the GitHub Actions CI workflow to ensure code quality on every push.
      • Security:
        • Enabled Container Image Signing using cosign (Keyless signing).
        • Added SBOM (Software Bill of Materials) generation for all release artifacts.
      • Build Hygiene: Removed mutating hooks (e.g., go mod tidy) from the release pipeline to ensure immutable builds.

v1.5.0-alpha

09 Jan 16:13
4beed4e

Choose a tag to compare

This is a PRE-RELEASE I would suggest not using it just yet. I am testing a large number of things to try and make this a more sustainable project for me to keep running, including a lot of code cleanup and adding in linters and formatters to clean up the code. This will make this code base diverge from the upstream a fair amount. Hopefully, it will result in a more stable project.

v1.5.0
Merged PR 3 from @ressu brining code up to sync with the upstream Synology driver
NOTE: The following changes have been made by Antigravity and the Gemini 3 Pro AI agent in an attempt to improve the code quality and fix some issues.
Critical Concurrency Fix: Added mutex locking to DsmService to prevent race conditions during concurrent volume operations.
Refactoring: Removed global variables in main.go. Configuration is now properly encapsulated in a Config struct and passed to the driver.
Code Quality:
Introduced DSMClient interface for better modularity and testing support.
Updated .golangci.yml with a comprehensive set of linters.
Addressed numerous linting issues including whitespace cleanup and variable naming.
Release Process:
Enhanced CI: Added go test and golangci-lint to the GitHub Actions CI workflow to ensure code quality on every push.
Security:
Enabled Container Image Signing using cosign (Keyless signing).
Added SBOM (Software Bill of Materials) generation for all release artifacts.
Build Hygiene: Removed mutating hooks (e.g., go mod tidy) from the release pipeline to ensure immutable builds.

v1.4.5

24 Sep 19:54
6a15b0a

Choose a tag to compare

  • Added additional functionality to the webapi to work with DNS records for another project
  • Fixed a bug with NFS share creation. Description can be only 64 characters long MAX otherwise the API throws an error. This only effects NFS/SMB shares

v1.4.4

05 Sep 15:08
09e93ad

Choose a tag to compare

  • Updated the synocli to list out hosts.
  • Added additional functionality to the webapi module for use in another project.
  • Updated the PersistentVolume VolumeAttributes field to include the LUN UUID

v1.4.3

29 Aug 15:16
v1.4.3
aa7cf3a

Choose a tag to compare

Updated description to include the kubernetes cluster name to help in resolving where a lun is in use if you have multiple clusters. This will update the description to have the following <clusterName>/<namespace>/<pvcname> This will help in identifying what cluster a LUN or share belongs to if you have multiple clusters. If you do not supply a clusterName the original description of <namespace>/<pvcname> will be used

v1.4.2

29 Aug 13:16
d019e76

Choose a tag to compare

Added support for using a dedicated subnet for storage access. In prior releases if you were connecting to a Synology array over a dedicated subnet, NFS would not work due to NFS ACLs. There is now a "clientsubnetoverride" as part of the client-info.yaml file which will allow you to override the NFS client permissions to a subnet as defined in CIDR notation.

Changelog

  • 359f7f0 added support for dedicated storage networks
  • d019e76 fixing major bug in csi driver

v1.4.1

01 Aug 18:44
098e8de

Choose a tag to compare

v1.4.1

  • Release 1.4.0 had an issue with the cluster-role for the snapshotter. Changes made in the deployment file in v1.3.2 were lost in the change over to supporting v1.25 or higher.

v1.4.0

25 Jul 18:32
538769b

Choose a tag to compare

v1.4.0

This release introduces potentially BREAKING CHANGES If you are converting from the Upstream synology/synology-csi driver or a prior version of xphyr/synology-csi driver please read the following.

  • All go pkg imports are now pointed to xphyr/synology-csi
  • Support for Kubernetes prior to v1.25 has been dropped. Kubernetes 1.20 is over 5.5 years old, and its EoL was February of 2022
    • removed deployment files for kubernetes 1.19 and kubernetes 1.20
  • In order to start code cleanup, I have removed code that is duplicated by go built in packages such as strconv.ParseBool(). This means that use of the term "yes" in any configuration file is NO LONGER SUPPORTED. If your storageClass definition contains the word "yes" or "no" for settings, you need to update to "true" or "false". This also aligns with kubernetes defaults for boolean values
  • By default the Synology RecycleBin is DISABLED for NFS and SMB shares.
    • NOTE: This is a "breaking change". Previous releases enabled the recyclebin by default. This causes issues with many apps in K8s, so going forward all NEW shares will have the recyclebin disabled by default. You can enable the recyclebin by setting recycleBin: true in the storageClass definition file.
    • NOTE: This is also "breaking change". Previous releases with the recyclebin enabled an option that only allowed "Administrator" access to the files in the recycleBin. This causes issues with many apps in K8s, so going forward all NEW shares that have the recyclebin enabled will allow anyone access to the recycleBin. You can change this recyclebin by setting recycleBinAdminOnly: true in the storageClass definition file.
  • removed the final deprecated function calls from k8s.io/mount-utils from code base

v1.4.0-alpha2

21 Jul 15:31
71f11a1

Choose a tag to compare

Fixed issues with test file imports