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

@@ -14,10 +14,10 @@ import (
"github.com/robfig/cron/v3"
"switchboard-core/events"
"switchboard-core/models"
"switchboard-core/sandbox"
"switchboard-core/store"
"armature/events"
"armature/models"
"armature/sandbox"
"armature/store"
)
// Engine orchestrates trigger lifecycle: loading, firing, and cleanup.

View File

@@ -9,9 +9,9 @@ import (
"go.starlark.net/starlark"
"switchboard-core/events"
"switchboard-core/models"
"switchboard-core/sandbox"
"armature/events"
"armature/models"
"armature/sandbox"
)
// wireEventTrigger subscribes to the bus pattern for an event trigger.

View File

@@ -10,8 +10,8 @@ import (
starlarkjson "go.starlark.net/lib/json"
"switchboard-core/models"
"switchboard-core/sandbox"
"armature/models"
"armature/sandbox"
)
// wireScheduledTask registers a cron entry for a scheduled task.

View File

@@ -12,7 +12,7 @@ import (
"github.com/gin-gonic/gin"
"go.starlark.net/starlark"
"switchboard-core/models"
"armature/models"
)
// HandleWebhook is the Gin handler for inbound webhook triggers.
@@ -51,7 +51,7 @@ func (e *Engine) HandleWebhook(c *gin.Context) {
// Verify HMAC signature if secret is set
if trigger.Secret != "" {
sig := c.GetHeader("X-Switchboard-Signature")
sig := c.GetHeader("X-Armature-Signature")
if !verifyHMAC(body, trigger.Secret, sig) {
c.JSON(http.StatusUnauthorized, gin.H{"error": "invalid signature"})
return