rebrand: Switchboard Core → Armature

- Rename Go module switchboard-core → armature (155+ files)
- Rename Docker image → gobha/armature
- Rename K8s resources, secrets, deployments
- Rename Prometheus metrics switchboard_* → armature_*
- Rename env vars SWITCHBOARD_ADMIN_* → ARMATURE_ADMIN_*
- Rename DB names switchboard_core* → armature*
- Update all frontend branding, notification templates, docs
- Update CI scripts, e2e tests, Keycloak realm, nginx conf
- Rename scripts/switchboard-ca.sh → scripts/armature-ca.sh
- Rename k8s/switchboard.yaml → k8s/armature.yaml
- Rename chart alerting/dashboard files
- Fix: DockerHub push uses env: binding for secret injection
- Helm chart updated (name, labels, template functions, dashboard, alerting)
- Replace favicon/icon assets with Armature brand

No functional changes. Pure mechanical rename + CI fix.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-31 21:39:58 +00:00
parent fb5284f667
commit f0dd43144e
287 changed files with 898 additions and 975 deletions

View File

@@ -6,7 +6,7 @@ import (
"github.com/gin-gonic/gin"
"switchboard-core/store"
"armature/store"
)
// TeamOption for template dropdowns.

View File

@@ -24,8 +24,8 @@ import (
"github.com/gin-gonic/gin"
"switchboard-core/config"
"switchboard-core/store"
"armature/config"
"armature/store"
)
//go:embed templates/*.html templates/components/*.html templates/surfaces/*.html
@@ -867,7 +867,7 @@ func (e *Engine) loadFooter() FooterConfig {
// loadBranding reads instance branding from global settings.
func (e *Engine) loadBranding() (name, logoURL, tagline string) {
name = "Switchboard Core" // default
name = "Armature" // default
if e.stores.GlobalConfig == nil {
return
}

View File

@@ -7,7 +7,7 @@ import (
"github.com/gin-gonic/gin"
"switchboard-core/middleware"
"armature/middleware"
)
// SeedSurfaces writes core surface manifests to the registry table.

View File

@@ -4,7 +4,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover, interactive-widget=resizes-content">
<title>{{block "title" .}}Switchboard Core{{end}}</title>
<title>{{block "title" .}}Armature{{end}}</title>
<link rel="icon" type="image/svg+xml" href="{{.BasePath}}/favicon.svg?v={{.Version}}">
<link rel="icon" type="image/x-icon" href="{{.BasePath}}/favicon.ico?v={{.Version}}">
{{/* Decomposed from monolithic styles.css (v0.22.9) */}}

View File

@@ -4,7 +4,7 @@
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Switchboard Core</title>
<title>Armature</title>
<link rel="icon" type="image/svg+xml" href="{{.BasePath}}/favicon.svg?v={{.Version}}">
<link rel="icon" type="image/x-icon" href="{{.BasePath}}/favicon.ico?v={{.Version}}">
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600;9..40,700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">