diff --git a/VERSION b/VERSION index b59e8c3..2053fc9 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.1.146 +1.1.147 diff --git a/cmd/edgeguard-api/main.go b/cmd/edgeguard-api/main.go index 2955841..022cee6 100644 --- a/cmd/edgeguard-api/main.go +++ b/cmd/edgeguard-api/main.go @@ -60,7 +60,7 @@ import ( usersvc "git.netcell-it.de/projekte/edgeguard-native/internal/services/users" ) -var version = "1.1.146" +var version = "1.1.147" func main() { addr := os.Getenv("EDGEGUARD_API_ADDR") diff --git a/cmd/edgeguard-ctl/main.go b/cmd/edgeguard-ctl/main.go index d81a8ec..55c9a86 100644 --- a/cmd/edgeguard-ctl/main.go +++ b/cmd/edgeguard-ctl/main.go @@ -11,7 +11,7 @@ import ( "git.netcell-it.de/projekte/edgeguard-native/internal/services/setup" ) -var version = "1.1.146" +var version = "1.1.147" const usage = `edgeguard-ctl — EdgeGuard CLI diff --git a/cmd/edgeguard-scheduler/main.go b/cmd/edgeguard-scheduler/main.go index a32a22e..44d0392 100644 --- a/cmd/edgeguard-scheduler/main.go +++ b/cmd/edgeguard-scheduler/main.go @@ -41,7 +41,7 @@ import ( "git.netcell-it.de/projekte/edgeguard-native/internal/services/tlscerts" ) -var version = "1.1.146" +var version = "1.1.147" const ( // renewTickInterval — how often we re-evaluate expiring certs. diff --git a/internal/database/migrations/0002_cluster.sql b/internal/database/migrations/0002_cluster.sql index af05b34..e21355e 100644 --- a/internal/database/migrations/0002_cluster.sql +++ b/internal/database/migrations/0002_cluster.sql @@ -15,8 +15,8 @@ CREATE TABLE IF NOT EXISTS ha_nodes ( name TEXT NOT NULL, fqdn TEXT NOT NULL, api_url TEXT NOT NULL, - public_ip INET, - internal_ip INET, + public_ip TEXT, + internal_ip TEXT, role TEXT NOT NULL DEFAULT 'peer', last_seen TIMESTAMPTZ, joined_at TIMESTAMPTZ NOT NULL DEFAULT NOW(), diff --git a/internal/database/migrations/0020_ha_nodes_ext.sql b/internal/database/migrations/0020_ha_nodes_ext.sql index 75980e5..e18d29a 100644 --- a/internal/database/migrations/0020_ha_nodes_ext.sql +++ b/internal/database/migrations/0020_ha_nodes_ext.sql @@ -14,7 +14,7 @@ ALTER TABLE ha_nodes ADD COLUMN IF NOT EXISTS version TEXT, ADD COLUMN IF NOT EXISTS config_hash TEXT, - ADD COLUMN IF NOT EXISTS mgmt_ip INET, + ADD COLUMN IF NOT EXISTS mgmt_ip TEXT, ADD COLUMN IF NOT EXISTS status TEXT NOT NULL DEFAULT 'unknown'; ALTER TABLE ha_nodes @@ -33,7 +33,7 @@ ALTER TABLE ha_nodes DROP CONSTRAINT IF EXISTS ha_nodes_status_check; ALTER TABLE ha_nodes DROP COLUMN IF EXISTS status, - DROP COLUMN IF EXISTS mgmt_ip, + DROP COLUMN IF EXISTS mgmt_ip, -- TEXT DROP COLUMN IF EXISTS config_hash, DROP COLUMN IF EXISTS version; -- +goose StatementEnd diff --git a/internal/database/migrations/0028_ha_nodes_ip_text.sql b/internal/database/migrations/0028_ha_nodes_ip_text.sql new file mode 100644 index 0000000..b7b9d50 --- /dev/null +++ b/internal/database/migrations/0028_ha_nodes_ip_text.sql @@ -0,0 +1,20 @@ +-- +goose Up +-- +goose StatementBegin + +-- pgx scannt INET-Spalten nicht direkt in *string (OID 869-Fehler). +-- Go-Modell speichert IPs als string — TEXT ist hier korrekt. +-- Bestehende Werte bleiben erhalten (USING public_ip::TEXT). +ALTER TABLE ha_nodes + ALTER COLUMN public_ip TYPE TEXT USING public_ip::TEXT, + ALTER COLUMN internal_ip TYPE TEXT USING internal_ip::TEXT, + ALTER COLUMN mgmt_ip TYPE TEXT USING mgmt_ip::TEXT; + +-- +goose StatementEnd + +-- +goose Down +-- +goose StatementBegin +ALTER TABLE ha_nodes + ALTER COLUMN public_ip TYPE INET USING public_ip::INET, + ALTER COLUMN internal_ip TYPE INET USING internal_ip::INET, + ALTER COLUMN mgmt_ip TYPE INET USING mgmt_ip::INET; +-- +goose StatementEnd