mirror of
https://github.com/YuzuZensai/Minikura.git
synced 2026-09-13 10:49:21 +00:00
🐛 fix: harden operator reconciliation and install
This commit is contained in:
@@ -1,23 +1,39 @@
|
||||
package resources
|
||||
|
||||
import (
|
||||
"crypto/sha256"
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
v1alpha1 "github.com/YuzuZensai/Minikura/operator/api/v1alpha1"
|
||||
)
|
||||
|
||||
func ServerName(name string) string { return fmt.Sprintf("minecraft-%s", name) }
|
||||
const dnsLabelMaxLength = 63
|
||||
|
||||
func ServerName(name string) string { return limitedName("minecraft-"+name, dnsLabelMaxLength) }
|
||||
func ProxyName(kind v1alpha1.ProxyKind, name string) string {
|
||||
return fmt.Sprintf("%s-%s", strings.ToLower(string(kind)), name)
|
||||
return limitedName(fmt.Sprintf("%s-%s", strings.ToLower(string(kind)), name), dnsLabelMaxLength)
|
||||
}
|
||||
func ConfigMapName(base string) string { return limitedName(base+"-config", dnsLabelMaxLength) }
|
||||
|
||||
func limitedName(name string, limit int) string {
|
||||
if len(name) <= limit {
|
||||
return name
|
||||
}
|
||||
sum := sha256.Sum256([]byte(name))
|
||||
suffix := fmt.Sprintf("-%x", sum[:4])
|
||||
return strings.TrimRight(name[:limit-len(suffix)], "-") + suffix
|
||||
}
|
||||
|
||||
func labelValue(value string) string {
|
||||
return limitedName(value, dnsLabelMaxLength)
|
||||
}
|
||||
func ConfigMapName(base string) string { return base + "-config" }
|
||||
|
||||
func ServerLabels(mc *v1alpha1.MinecraftServer) map[string]string {
|
||||
return map[string]string{
|
||||
"app": ServerName(mc.Name),
|
||||
v1alpha1.LabelServerType: strings.ToLower(string(mc.Spec.Type)),
|
||||
v1alpha1.LabelServerID: mc.Name,
|
||||
v1alpha1.LabelServerID: labelValue(mc.Name),
|
||||
v1alpha1.LabelManagedBy: v1alpha1.ManagerName,
|
||||
}
|
||||
}
|
||||
@@ -26,7 +42,7 @@ func ProxyLabels(rp *v1alpha1.ReverseProxyServer) map[string]string {
|
||||
return map[string]string{
|
||||
"app": ProxyName(rp.Spec.Type, rp.Name),
|
||||
v1alpha1.LabelServerType: strings.ToLower(string(rp.Spec.Type)),
|
||||
v1alpha1.LabelProxyID: rp.Name,
|
||||
v1alpha1.LabelProxyID: labelValue(rp.Name),
|
||||
v1alpha1.LabelManagedBy: v1alpha1.ManagerName,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user