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.
39 lines
1.7 KiB
Go
39 lines
1.7 KiB
Go
// Copyright (c) 2015-2016 Dave Collins <[email protected]>
|
|
//
|
|
// Permission to use, copy, modify, and distribute this software for any
|
|
// purpose with or without fee is hereby granted, provided that the above
|
|
// copyright notice and this permission notice appear in all copies.
|
|
//
|
|
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
|
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
|
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
|
// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
|
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
|
// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
|
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
|
|
|
// NOTE: Due to the following build constraints, this file will only be compiled
|
|
// when the code is running on Google App Engine, compiled by GopherJS, or
|
|
// "-tags safe" is added to the go build command line. The "disableunsafe"
|
|
// tag is deprecated and thus should not be used.
|
|
// +build js appengine safe disableunsafe !go1.4
|
|
|
|
package spew
|
|
|
|
import "reflect"
|
|
|
|
const (
|
|
// UnsafeDisabled is a build-time constant which specifies whether or
|
|
// not access to the unsafe package is available.
|
|
UnsafeDisabled = true
|
|
)
|
|
|
|
// unsafeReflectValue typically converts the passed reflect.Value into a one
|
|
// that bypasses the typical safety restrictions preventing access to
|
|
// unaddressable and unexported data. However, doing this relies on access to
|
|
// the unsafe package. This is a stub version which simply returns the passed
|
|
// reflect.Value when the unsafe package is not available.
|
|
func unsafeReflectValue(v reflect.Value) reflect.Value {
|
|
return v
|
|
}
|