Commit graph

81 commits

Author SHA1 Message Date
Alexander Narsudinov
d3e89f164b Use atomics to make writing of results safe in removeObjectsOneByOne
Previous implementation didn't have any synchronization mechanism for
goroutines that does the work.

There are multiple approaches to make it work correctly, let's start with
the simplest - atomics.
2023-10-27 20:05:02 +02:00
Alexander Narsudinov
da3638eb56 Fix the goroutine variable capturing in removeObjectsOneByOne
This patch fixes classic golang for-loop variable capturing issue that
leeds to incorrect results in goroutines.

This is fixed in latest versions of golang, but this project uses go 1.15,
so it won't work as expected by an author.
2023-10-27 19:59:03 +02:00
x.zhou
37c35c788a fix compilation 2023-06-09 16:44:40 +08:00
x.zhou
680a649a21 Fix the wrong argument for credentials.NewStaticV4() 2023-06-09 16:10:33 +08:00
x.zhou
8ea6111b0d Don't call os.Setenv() 2023-06-03 15:36:03 +08:00
Vitaliy Filippov
7a415ae6ab Recheck and revive staged mount when mounting it to the real path 2023-05-23 14:58:01 +03:00
Vitaliy Filippov
96818e563a Cleanup mounts after stopping them using systemd 2023-05-23 14:40:53 +03:00
Vitaliy Filippov
701c86fa4d Filter out unsafe options 2023-04-26 12:04:40 +03:00
Vitaliy Filippov
c6af9556d7 Bump version to 0.34.7
It's larger than GeeseFS version and may collide with it, but screw it,
we can invent a new versioning scheme later %)
2023-03-07 12:47:56 +03:00
Vitaliy Filippov
ecf1031dfc Implement mounting via stage directory
Previously, multiple containers with the same mounted volume resulted in multiple
FUSE processes. This behaviour was breaking parallel modifications from different
containers, consumed extra resources, and after mounting via systemd was introduced,
led to the total inability to mount the same volume into multiple containers on
the same host.

Now only one FUSE process is started per volume, per host.
2023-03-07 00:49:12 +03:00
Vitaliy Filippov
2ad5d21714 Drop geesefs root privileges 2023-03-04 13:04:03 +03:00
Vitaliy Filippov
bfba08742c Implement support for running geesefs OUTSIDE of the container using systemd to not crash mountpoints when csi-s3 is upgraded or restarted 2023-03-03 00:44:05 +03:00
Vitaliy Filippov
f0c07b1704 Fix bucket/path split for volume names 2022-04-15 19:03:20 +03:00
Vitaliy Filippov
f3ff4f75c3 Fix Helm templates for empty bucket parameter 2022-02-10 17:21:30 +03:00
Vitaliy Filippov
fc9567cb05 Fix test pipeline 2021-10-27 21:54:26 +03:00
Vitaliy Filippov
7b422cfcbb Oops, of course it should be RWM 2021-09-14 13:36:37 +03:00
Vitaliy Filippov
95a3b041f1 Pass stderr through to not wait for it 2021-09-07 14:55:20 +03:00
Vitaliy Filippov
7c2bcfc4b0 Do not pass empty region, use stderr for GeeseFS log 2021-09-07 13:37:04 +03:00
Vitaliy Filippov
a0a0f62575 Rename repository to k8s-csi-s3 2021-08-24 13:33:26 +03:00
Vitaliy Filippov
cc7645db7d Remove default region 2021-07-27 13:56:51 +03:00
Vitaliy Filippov
b58f8589e5 geesefs/goofys does not accept options after arguments because of urfave/cli 2021-07-27 13:56:51 +03:00
Vitaliy Filippov
128b9d7738 Rename ctrox/csi-s3 to yandex-cloud/csi-s3 2021-07-27 13:56:51 +03:00
Vitaliy Filippov
49d7c3a488 Rename CSI driver to ru.yandex.s3.csi 2021-07-27 13:56:50 +03:00
Vitaliy Filippov
46da5a7002 Add mount options example 2021-07-27 13:56:50 +03:00
Vitaliy Filippov
ce0d5e7704 Delete objects in parallel when deleting auto-created volumes 2021-07-27 13:10:45 +03:00
Vitaliy Filippov
426a9623b6 Add manual (static) provisioning example 2021-07-27 13:10:45 +03:00
Vitaliy Filippov
1f29b29459 Remove s3backer mounter as it's mostly unusable 2021-07-27 13:10:44 +03:00
Vitaliy Filippov
f723bccaf3 Rename Goofys mounter to GeeseFS and use it by default 2021-07-26 21:11:32 +03:00
Vitaliy Filippov
322362ab88 It is. 2021-07-26 21:11:32 +03:00
Vitaliy Filippov
4ba5ca319b Call process.Wait to reap children 2021-07-26 21:11:32 +03:00
Vitaliy Filippov
55013c94bc Add 3 FIXMEs 2021-07-26 21:11:32 +03:00
Vitaliy Filippov
a0cf78dcbc Remove recursion in waitForProcess 2021-07-26 21:11:32 +03:00
Vitaliy Filippov
2089c40001 Do not store additional metadata in .metadata.json in the bucket itself 2021-07-26 21:11:32 +03:00
Vitaliy Filippov
9562699f1b Remove additional FSPath prefix 2021-07-19 15:41:45 +03:00
Vitaliy Filippov
63a2ab3476 Use goofys binary 2021-07-19 15:41:45 +03:00
Vitaliy Filippov
d78d476d6d Add mount options support 2021-07-16 16:12:57 +03:00
boxjan
8449c1e2e9 Although get a EOF error, we should still know it 2021-04-09 21:45:52 +08:00
boxjan
fa9ef78362 fix problem: log format; fs meta; 2021-04-08 22:35:31 +08:00
boxjan
7b5a3f6f4d fix problem
* rclone use 1.54.1
* add EnsureFSMetaExist func
* fix removeObjects have err check
* add removeObjectsOneByOne, when removeObjects failed, will try to use it
* fix repeat in yaml
2021-04-08 00:06:56 +08:00
Cyrill Troxler
676dbef6d3 Prepare release v1.2.0-rc.1 2021-04-06 19:31:43 +02:00
Cyrill Troxler
b11261ebe7 Only delete bucket if the volume is the alone user 2021-04-06 19:24:09 +02:00
Cyrill Troxler
26cb1d95e8 Use volume ID as a prefix if the bucket is fixed in the storage class
With this, each volume will get its own prefix within the bucket if it
is configured in the storage class. This also ensures backwards
compatibility with older volumes that have been created in earlier
versions of csi-s3.
2021-04-05 15:07:16 +02:00
Cyrill Troxler
7528b3297c Rename packages
Create separate packages for driver, s3 client and mounters.
2021-04-05 12:10:20 +02:00
Lin Yiming
fbc265dff7 If bucket is not created by csi-s3, it will not be deleted by csi-s3 automatically 2021-01-22 10:15:21 +08:00
Lin Yiming
fae1210aaf Do not create fs prefix for existing bucket 2021-01-22 10:15:21 +08:00
Lin Yiming
7e1842c274 mount existed bucket 2021-01-22 10:15:21 +08:00
Lin Yiming
a68fc3379e upgrade minio-go library to v7 2021-01-22 10:15:21 +08:00
Carl Lange
95962c2412
Use NewWithRegion not minio's region resolution 2019-06-30 16:32:59 +01:00
Cyrill Troxler
fb6584d7e4 Release new version 2019-05-18 11:55:37 +02:00
Cyrill Troxler
e133baaba1 Clean up old references to encryptionKey 2019-05-16 18:15:45 +02:00