Now, use traefik

Ingress-nginx is now deprecated, so we changed ingress management:
- traefik is now the default ingress class to use
- we add traefik ingressroute management too
This commit is contained in:
2026-05-03 21:19:59 +02:00
parent 9924ede999
commit a1e6726763
10 changed files with 520 additions and 34 deletions

View File

@@ -110,11 +110,25 @@
long: |-
Declare an ingress rule for the service. The port should be exposed or
declared with {{ printf "%s/%s" .KatenaryPrefix "ports" }}.
The default ingress class is "traefik".
**Files generated:** Both `ingress.yaml` (standard Kubernetes Ingress) and
`ingressroute.yaml` (Traefik IngressRoute CRD) are generated. You can
control which one is installed via values.yaml:
- `ingress.enabled` - controls standard Ingress installation
- `ingress.ingressRouteEnabled` - controls IngressRoute installation
Setting `type: ingressroute` automatically sets `ingressRouteEnabled: true`.
example: |-
labels:
{{ .KatenaryPrefix }}/ingress: |-
port: 80
hostname: mywebsite.com (optional)
# Use Traefik IngressRoute instead of standard Ingress
type: ingressroute
enabled: true
type: "object"
"map-env":

View File

@@ -17,7 +17,8 @@ type Ingress struct {
Annotations map[string]string `yaml:"annotations,omitempty" jsonschema:"nullable" json:"annotations,omitempty"`
Hostname string `yaml:"hostname,omitempty" json:"hostname,omitempty"`
Path *string `yaml:"path,omitempty" json:"path,omitempty"`
Class *string `yaml:"class,omitempty" json:"class,omitempty" jsonschema:"default:-"`
Class *string `yaml:"class,omitempty" json:"class,omitempty" jsonschema:"default:traefik"`
Type string `yaml:"type,omitempty" json:"type,omitempty"`
Enabled bool `yaml:"enabled,omitempty" json:"enabled,omitempty"`
TLS *TLS `yaml:"tls,omitempty" json:"tls,omitempty"`
}
@@ -28,7 +29,8 @@ func IngressFrom(data string) (*Ingress, error) {
Hostname: "",
Path: utils.StrPtr("/"),
Enabled: false,
Class: utils.StrPtr("-"),
Class: utils.StrPtr("traefik"),
Type: "ingress",
Port: nil,
TLS: &TLS{Enabled: true},
}