build - prozess optimiert mit push nach zot
nginx-kill - > maint. site...
This commit is contained in:
1 parent
665135f87e
commit
64417d8353
19 files changed
+447
-61
No files matched your search
@@ -23,6 +23,7 @@ import (
|
||||
"net/http"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
@@ -162,13 +163,18 @@ type Server struct {
|
||||
// TLS-Zertifikat und Master-Key. Lauschen beginnt erst mit Start.
|
||||
func New(ctx context.Context, cfg Config) (*Server, error) {
|
||||
cfg = cfg.withDefaults()
|
||||
for i, raw := range cfg.PublicURLs {
|
||||
var urls []string
|
||||
for _, raw := range cfg.PublicURLs {
|
||||
if strings.TrimSpace(raw) == "" {
|
||||
continue // leere Einträge (z. B. leere Variable in Compose) ignorieren
|
||||
}
|
||||
u, err := crypto.ValidateServerURL(raw)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("server: --public-url: %w", err)
|
||||
}
|
||||
cfg.PublicURLs[i] = u
|
||||
urls = append(urls, u)
|
||||
}
|
||||
cfg.PublicURLs = urls
|
||||
if err := os.MkdirAll(cfg.DataDir, 0o700); err != nil {
|
||||
return nil, fmt.Errorf("server: Datenverzeichnis: %w", err)
|
||||
}
|
||||
|
||||
@@ -1200,3 +1200,15 @@ func TestConfigDefaults_EnrollLimitDisabled(t *testing.T) {
|
||||
t.Errorf("-1 (unbegrenzt) überschrieben: %d", c.EnrollLimit)
|
||||
}
|
||||
}
|
||||
|
||||
func TestPublicURLs_BlankEntriesIgnored(t *testing.T) {
|
||||
dir := filepath.Join(t.TempDir(), "suldata")
|
||||
s, err := New(ctx, Config{DataDir: dir, PublicURLs: []string{"", " ", "https://a.example:8443"}, Logger: slog.New(slog.DiscardHandler)})
|
||||
if err != nil {
|
||||
t.Fatalf("leere Einträge verhindern den Start: %v", err)
|
||||
}
|
||||
defer s.Shutdown(ctx)
|
||||
if got, _ := s.PublicURLs(ctx); !reflect.DeepEqual(got, []string{"https://a.example:8443"}) {
|
||||
t.Errorf("gespeichert: %v", got)
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user