Files
zeekay b61441f7d7 Volume: node-local persistent volumes, under our own name
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.
2026-09-07 17:30:01 -07:00

52 lines
1.1 KiB
YAML

apiVersion: v1
kind: Pod
metadata:
name: local-path-test
labels:
app.kubernetes.io/name: local-path-test
spec:
containers:
- name: test
# Jenkins image used for illustration purposes because it has a user
# with uid=1000 and gid=1000 that matches the specified security context
image: jenkins/jenkins
command:
- /config/test.sh
volumeMounts:
- name: test
mountPath: /test
- name: config
mountPath: /config
restartPolicy: Never
securityContext:
fsGroup: 1000
runAsNonRoot: true
runAsUser: 1000
terminationGracePeriodSeconds: 0
volumes:
- name: test
persistentVolumeClaim:
claimName: local-path-pvc
- name: config
configMap:
name: local-path-test
defaultMode: 0555
---
apiVersion: v1
kind: ConfigMap
metadata:
name: local-path-test
labels:
app.kubernetes.io/name: local-path-test
data:
test.sh: |
#!/bin/sh
id
ls -al /test && \
echo 'Hello from local-path-test' && \
cp /config/text.txt /test/test.txt && \
touch /test/foo && \
ls -al /test
text.txt: |
some test content