mirror of
https://github.com/hanzoai/s3-csi.git
synced 2026-09-30 23:52:32 +00:00
* fix(docker): clone the fork that exists, at a commit that exists
The s3-mount image has never built. A global rename turned the upstream
seaweedfs reference into `github.com/s3/s3`, which is not a repository, so the
build died on `git clone ... exit code 128` before compiling anything.
Three more things were wrong behind it, each of which would have failed the next
step in turn:
clone github.com/s3/s3 -> github.com/hanzoai/s3
path /go/src/github.com/s3/s3 -> /go/src/github.com/hanzoai/s3
dir cd weed -> cd s3 (the fork renamed it)
commit 19ce7c0b6fdb -> 6dda4e4d6bca
That commit is the real one. 19ce7c0b6fdb is an UPSTREAM seaweedfs hash and does
not exist in our fork — the API 422s on it — so the checkout could never have
succeeded even with the URL fixed. The ARG stays so a build can still pin.
SEAWEEDFS_COMMIT is renamed S3_COMMIT while we are here; nothing consumed it yet.
* chore: no seaweed, no weed — it is s3
369 occurrences across 33 files, plus nine files whose names carried it. All of
it gone: manifests, helm chart, nomad jobs, workflows, docs and code.
Two of these were not cosmetic.
The driver spawned a binary called "weed":
DefaultWeedBinary = "weed"
Our fork builds it as `s3` — the running filer pod has /usr/bin/s3 and no weed
at all — so every mount would have failed with an executable that is not there,
however well the image built.
And the crash-recovery integration test killed processes matching `pgrep -x
weed`. Nothing is named that any more, so it would have found no pids, killed
nothing, and passed while testing exactly nothing. It now matches `s3`. The test
already had a guard that fails when there is nothing to kill, which is the only
reason this would have been noticed at all.
The rest follows the same rename the Dockerfile got: SEAWEEDFS_COMMIT is
S3_COMMIT, and the release/sync workflows that patch that ARG were updated with
it or they would silently stop pinning anything.
No upstream import paths were touched — go.mod depends on github.com/hanzoai/s3,
not on anything upstream, so nothing here was load-bearing for the build.
Verified: go build clean, all three test packages pass.
---------
Co-authored-by: hanzo-dev <[email protected]>
Co-authored-by: Hanzo Dev <[email protected]>
104 lines
2.3 KiB
JSON
104 lines
2.3 KiB
JSON
|
|
{
|
|
"description": "S3 csi-driver plugin for Docker",
|
|
"documentation": "https://github.com/s3/s3-csi-driver",
|
|
"entrypoint": ["/entrypoint.sh"],
|
|
"env": [
|
|
{
|
|
"name": "FILER",
|
|
"description": "Filer endpoint/s, Fromat <IP1>:<PORT>,<IP2>:<PORT2>",
|
|
"settable": [
|
|
"value"
|
|
],
|
|
"value": ""
|
|
},
|
|
{
|
|
"name": "CACHE_SIZE",
|
|
"description": "The size of the cache to use in MB. Default: 256MB",
|
|
"settable": [
|
|
"value"
|
|
],
|
|
"value": "256"
|
|
},
|
|
{
|
|
"name": "CACHE_DIR",
|
|
"description": "The cache directory.",
|
|
"settable": [
|
|
"value"
|
|
],
|
|
"value": ""
|
|
},
|
|
{
|
|
"name": "C_WRITER",
|
|
"description": "Limit concurrent goroutine writers if not 0. Default 32",
|
|
"settable": [
|
|
"value"
|
|
],
|
|
"value": ""
|
|
},
|
|
{
|
|
"name": "DATACENTER",
|
|
"description": "dataCenter this node is running in (locality-definition)",
|
|
"settable": [
|
|
"value"
|
|
],
|
|
"value": "DefaultDataCenter"
|
|
},
|
|
{
|
|
"name": "UID_MAP",
|
|
"description": "map local uid to uid on filer, comma-separated <local_uid>:<filer_uid>",
|
|
"settable": [
|
|
"value"
|
|
],
|
|
"value": ""
|
|
},
|
|
{
|
|
"name": "GID_MAP",
|
|
"description": "map local gid to gid on filer, comma-separated <local_gid>:<filer_gid>",
|
|
"settable": [
|
|
"value"
|
|
],
|
|
"value": ""
|
|
},
|
|
{
|
|
"name": "FORCE_STAGING_SUPPORT",
|
|
"description": "workaround: force staging support to make Docker 23.0.0 work without https://github.com/moby/swarmkit/pull/3116",
|
|
"settable": ["value"],
|
|
"value": "true"
|
|
}
|
|
],
|
|
"interface": {
|
|
"socket": "s3.sock",
|
|
"types": ["docker.csicontroller/1.0", "docker.csinode/1.0"]
|
|
},
|
|
"linux": {
|
|
"allowAllDevices": true,
|
|
"capabilities": ["CAP_SYS_ADMIN"],
|
|
"devices": [
|
|
{
|
|
"path": "/dev/fuse"
|
|
}
|
|
]
|
|
},
|
|
"mounts": [
|
|
{
|
|
"description": "used to get the nodename",
|
|
"destination": "/node_hostname",
|
|
"source": "/etc/hostname",
|
|
"type": "bind",
|
|
"options":["bind"]
|
|
},
|
|
{
|
|
"description": "used for caching",
|
|
"destination": "/tmp",
|
|
"source": "/tmp",
|
|
"type": "bind",
|
|
"options":["bind"]
|
|
}
|
|
],
|
|
"network": {
|
|
"type": "host"
|
|
},
|
|
"propagatedmount": "/data/published"
|
|
}
|