migrate
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: Middleware
|
||||
metadata:
|
||||
name: << resource_name >>
|
||||
namespace: << namespace >>
|
||||
spec:
|
||||
<%- if middleware_type == 'redirectScheme' %>
|
||||
redirectScheme:
|
||||
scheme: https
|
||||
permanent: true
|
||||
<%- elif middleware_type == 'stripPrefix' %>
|
||||
stripPrefix:
|
||||
prefixes:
|
||||
- /api
|
||||
<%- elif middleware_type == 'addPrefix' %>
|
||||
addPrefix:
|
||||
prefix: /api
|
||||
<%- elif middleware_type == 'headers' %>
|
||||
headers:
|
||||
customRequestHeaders:
|
||||
X-Forwarded-Proto: https
|
||||
<%- elif middleware_type == 'rateLimit' %>
|
||||
rateLimit:
|
||||
average: 100
|
||||
burst: 50
|
||||
<%- endif %>
|
||||
@@ -0,0 +1,163 @@
|
||||
{
|
||||
"slug": "traefik-middleware",
|
||||
"kind": "kubernetes",
|
||||
"metadata": {
|
||||
"name": "Traefik Middleware",
|
||||
"description": "Traefik Middleware CRD for modifying HTTP requests and responses. Supports headers, redirects, rate-limiting, authentication, and more.",
|
||||
"tags": [],
|
||||
"icon": {
|
||||
"provider": "selfhst",
|
||||
"id": "traefik"
|
||||
},
|
||||
"draft": true,
|
||||
"version": {
|
||||
"name": "3.5.3",
|
||||
"source_dep_name": "manual/traefik-middleware"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"title": "General",
|
||||
"name": "general",
|
||||
"items": [
|
||||
{
|
||||
"name": "resource_name",
|
||||
"type": "str",
|
||||
"title": "Resource Name",
|
||||
"required": false,
|
||||
"default": "app-middleware",
|
||||
"config": {
|
||||
"placeholder": "app-middleware"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "namespace",
|
||||
"type": "str",
|
||||
"title": "Namespace",
|
||||
"required": false,
|
||||
"default": "default",
|
||||
"config": {
|
||||
"placeholder": "default"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "middleware_type",
|
||||
"type": "enum",
|
||||
"title": "Middleware type",
|
||||
"required": false,
|
||||
"default": "redirectScheme",
|
||||
"config": {
|
||||
"options": [
|
||||
"redirectScheme",
|
||||
"stripPrefix",
|
||||
"addPrefix",
|
||||
"headers",
|
||||
"rateLimit"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"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"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user