mirror of
https://github.com/hanzoai/volume.git
synced 2026-10-01 00:48:00 +00:00
A fork of Rancher's local-path-provisioner at v0.0.36. The behaviour is unchanged and deliberately so — a directory on the node a pod lands on is the right thing for a disk. What changes is identity. The provisioner answers to hanzo.ai/volume rather than rancher.io/local-path. That is not branding: two provisioners sharing one name race for the same claims, and a stock k3s carries the upstream one, so a cluster running both would settle our storage by chance. Data lives at /var/lib/hanzo/volume, so reading a Hanzo cluster does not mean learning another vendor's directory. Apache-2.0 as published, unaltered, with Rancher's attribution in NOTICE. The README says what this is not: durability. A volume here dies with its node. That is hanzoai/replicate's question, one layer up, and keeping the two apart is what lets the disk stay this simple.
37 lines
585 B
Go
37 lines
585 B
Go
package test
|
|
|
|
import (
|
|
"fmt"
|
|
"reflect"
|
|
)
|
|
|
|
const (
|
|
LabelKey = "app"
|
|
LabelValue = "local-path-provisioner"
|
|
)
|
|
|
|
//nolint:unused
|
|
type testConfig struct {
|
|
IMAGE string
|
|
}
|
|
|
|
//nolint:unused
|
|
func (t *testConfig) envs() []string {
|
|
return testEnvs(t)
|
|
}
|
|
|
|
//nolint:unused
|
|
func testEnvs(config interface{}) []string {
|
|
var envs []string
|
|
value := reflect.ValueOf(config).Elem()
|
|
|
|
for i := 0; i < value.NumField(); i++ {
|
|
fieldName := value.Type().Field(i).Name
|
|
fieldValue := value.Field(i).Interface()
|
|
|
|
envs = append(envs, fmt.Sprintf("%s=%v", fieldName, fieldValue))
|
|
}
|
|
|
|
return envs
|
|
}
|