This commit is contained in:
Mike McFetridge
2026-07-20 09:23:17 -04:00
parent c1315882da
commit 72272e4006
3179 changed files with 562960 additions and 14 deletions
@@ -0,0 +1,16 @@
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: << resource_name >>
spec:
capacity:
storage: << storage_size >>
<%- if storage_class %>
storageClassName: << storage_class >>
<%- endif %>
accessModes:
- << access_mode >>
persistentVolumeReclaimPolicy: << reclaim_policy >>
hostPath:
path: << host_path >>
@@ -0,0 +1,195 @@
{
"slug": "core-persistentvolume",
"kind": "kubernetes",
"metadata": {
"name": "Kubernetes PersistentVolume",
"description": "Kubernetes PersistentVolume for provisioning cluster-wide storage resources. Cluster-scoped, typically created by administrators.",
"tags": [],
"icon": {
"provider": "simple-icons",
"id": "kubernetes"
},
"draft": false,
"version": {
"name": "1.31.0",
"source_dep_name": "manual/core-persistentvolume"
}
},
"variables": [
{
"title": "General",
"name": "general",
"items": [
{
"name": "resource_name",
"type": "str",
"title": "Resource Name",
"required": false,
"default": "pv-nfs",
"config": {
"placeholder": "pv-nfs"
}
},
{
"name": "storage_class",
"type": "str",
"title": "Storage class name",
"required": false,
"default": ""
},
{
"name": "storage_size",
"type": "str",
"title": "Storage Size",
"required": false,
"default": "10Gi",
"description": "Storage capacity (e.g., 10Gi, 1Ti)",
"config": {
"placeholder": "10Gi"
}
},
{
"name": "access_mode",
"type": "enum",
"title": "Access mode",
"required": false,
"default": "ReadWriteMany",
"config": {
"options": [
"ReadWriteOnce",
"ReadOnlyMany",
"ReadWriteMany",
"ReadWriteOncePod"
]
}
},
{
"name": "reclaim_policy",
"type": "enum",
"title": "Reclaim policy",
"required": false,
"default": "Retain",
"config": {
"options": [
"Retain",
"Recycle",
"Delete"
]
}
},
{
"name": "host_path",
"type": "str",
"title": "Host Path",
"required": false,
"default": "/data",
"description": "Host path for local storage (e.g., /path/to/data)",
"config": {
"placeholder": "/data"
}
}
]
},
{
"title": "Resource Limits",
"name": "resources",
"items": [
{
"name": "resources_enabled",
"type": "bool",
"title": "Resources",
"required": false,
"default": false
},
{
"name": "resources_cpu_limit",
"type": "str",
"title": "CPU limit",
"required": false,
"default": "100m",
"config": {
"placeholder": "100m"
}
},
{
"name": "resources_cpu_request",
"type": "str",
"title": "CPU request",
"required": false,
"default": "50m",
"config": {
"placeholder": "50m"
}
},
{
"name": "resources_memory_limit",
"type": "str",
"title": "Memory limit",
"required": false,
"default": "128Mi",
"config": {
"placeholder": "128Mi"
}
},
{
"name": "resources_memory_request",
"type": "str",
"title": "Memory request",
"required": false,
"default": "64Mi",
"config": {
"placeholder": "64Mi"
}
}
]
},
{
"title": "Traefik Integration",
"name": "traefik",
"items": [
{
"name": "traefik_enabled",
"type": "bool",
"title": "Traefik",
"required": false,
"default": false
},
{
"name": "traefik_host",
"type": "str",
"title": "Traefik host",
"required": true,
"config": {
"placeholder": "app"
}
},
{
"name": "traefik_domain",
"type": "str",
"title": "Traefik domain",
"required": true,
"config": {
"placeholder": "home.arpa"
}
},
{
"name": "traefik_tls_enabled",
"type": "bool",
"title": "TLS",
"required": false,
"default": true
},
{
"name": "traefik_tls_certresolver",
"type": "str",
"title": "TLS certificate resolver",
"required": false,
"default": "letsencrypt-prod",
"config": {
"placeholder": "letsencrypt-prod"
}
}
]
}
]
}