wydanie server

Wdróż Spectrum dla zespołu

Wydanie Server działa w kontenerze i korzysta z bazy PostgreSQL firmy. Poniższe kroki prowadzą od przygotowania obrazu do pierwszego importu, konfiguracji dostępu i aktualizacji. Obraz obsługuje wymagania OpenShift, w tym uruchomienie bez uprawnień root, z dowolnym UID w grupie 0.

1. Przygotuj obraz kontenera

Nazwa i rejestr są w mailu z kluczem oraz w manifest.json wydania: <rejestr>/viewer-pro-server:<wersja>. Gdy klaster nie ma dostępu do rejestru zewnętrznego, załaduj obraz z pliku viewer-pro-server-<wersja>.tar do rejestru wewnętrznego:

podman load -i viewer-pro-server-1.4.2.tar
podman tag viewer-pro-server:1.4.2 default-route-openshift-image-registry.apps.firma.local/viewer-pro/viewer-pro-server:1.4.2
podman push default-route-openshift-image-registry.apps.firma.local/viewer-pro/viewer-pro-server:1.4.2

2. Przygotuj bazę PostgreSQL

Przygotuj serwer PostgreSQL 16 z bazą utworzoną z lokalizacją ICU pl-PL, jedną bazę i rolę z prawem tworzenia tabel w schemacie public. Parametry bazy sprawdź w instrukcji dołączonej do wybranego wydania.

CREATE ROLE viewer_pro LOGIN PASSWORD '...';
CREATE DATABASE viewer_pro OWNER viewer_pro;

Zaplanuj miejsce na konfigurację, historię oraz kopie zapasowe. Wielkość zasobów potwierdź podczas pilotażu. Opcjonalny plik postgres.yaml służy wyłącznie do testów; dla produkcji przygotuj bazę zgodnie z zasadami utrzymania organizacji.

3. Zapisz dane dostępowe i klucz licencji

Utwórz zasób Secret z adresem bazy, kluczem szyfrującym magazyn sekretów i kluczem licencji. Plik secret.example.yaml jest szablonem — po uzupełnieniu danymi dostępowymi przechowuj go poza repozytorium.

oc new-project viewer-pro
oc create secret generic viewer-pro \
  --from-literal=WC_PG_URL='postgres://viewer_pro:HASLO@pg.firma.local:5432/viewer_pro?sslmode=require' \
  --from-literal=WEBCON_SECRET_KEY="$(openssl rand -base64 32)" \
  --from-literal=WEBCON_LICENSE='WCR1....'

4. Zastosuj pliki wdrożeniowe

Paczka viewer-pro-openshift-<wersja>.zip zawiera deployment.yaml, service.yaml, route.yaml, secret.example.yaml i kustomization.yaml. Wpisz adres obrazu i nazwę hosta trasy, a następnie uruchom:

cd deploy/openshift
# kustomization.yaml: images[0].newName / newTag; route.yaml: spec.host
oc apply -k .
oc rollout status deploy/viewer-pro
oc get route viewer-pro -o jsonpath='{.spec.host}{"\n"}'

Standardowe wdrożenie wymaga jednej repliki aplikacji. Nie zwiększaj liczby replik bez potwierdzenia obsługi takiej konfiguracji dla wybranego wydania.

elementwartość
port kontenera8080 (zmienna PORT, OpenShift może nadać inny)
readiness / livenessGET /healthz → 200 z wersją programu
użytkowniknie-root, dowolny UID w grupie 0 (chgrp 0, chmod g=u na katalogach zapisu)
zasobyrequests 250m / 512Mi, limits 1 CPU / 2Gi — wartości początkowe; dostosuj je do wielkości konfiguracji i obciążenia
trasaTLS edge albo reencrypt; program obsługuje X-Forwarded-* i ustawia nagłówki bezpieczeństwa (CSP z nonce, HSTS)
logowanielogi JSON na stdout; ograniczenie częstotliwości prób logowania (rate limit)

5. Docker / Podman bez orkiestratora

docker run -d --name viewer-pro \
  -p 8080:8080 \
  -e WC_PG_URL='postgres://viewer_pro:HASLO@pg.firma.local:5432/viewer_pro' \
  -e WEBCON_SECRET_KEY="$(openssl rand -base64 32)" \
  -e WEBCON_LICENSE='WCR1....' \
  --restart unless-stopped \
  <rejestr>/viewer-pro-server:1.4.2

curl -s http://localhost:8080/healthz

Skonfiguruj przed kontenerem reverse proxy z obsługą TLS, np. nginx, Traefik lub Caddy. To proxy obsługuje szyfrowane połączenie HTTPS.

6. Skonfiguruj dostęp zespołu

  1. Na pustej bazie otwórz aplikację i utwórz pierwsze konto administratora, podając własny login i silne hasło. Wykonaj ten krok, zanim udostępnisz adres aplikacji pozostałym użytkownikom. Konto i hasło nie są tworzone automatycznie w logu.
  2. Role i nadania: załóż role (np. „Analitycy”, „Wdrożeniowcy”), nadaj im zakresy (wszystkie środowiska / workspace / środowisko / aplikacja - na odczyt), dodaj konta do ról. Konto bez roli po zalogowaniu widzi pustą listę; „Efektywny dostęp” pokazuje, co dana osoba zobaczy.
  3. Logowanie. Opisane tutaj wydanie obsługuje konta lokalne oraz role. Dla organizacji korzystających z Microsoft Entra ID dostępne jest również wydanie z integracją SSO. Dobór obrazu i konfigurację logowania potwierdź przed wdrożeniem; sama brama przed aplikacją nie zastępuje jej kontroli uprawnień.

7. Wczytaj konfigurację i ustaw harmonogram

Paczki .bpe możesz przesłać w zakładce Import. Alternatywnie skopiuj pliki do kontenera i uruchom import przez oc exec:

oc cp ./eksport/DEV viewer-pro-xxxx:/tmp/dev
oc exec deploy/viewer-pro -- viewer-pro ingest import "/tmp/dev/*.bpe" --workspace "Klient A" --env DEV

Źródła MS SQL skonfiguruj w zakładce Źródła SQL, a harmonogram w Workspace. Wybierz częstotliwość lub godzinę pobierania, a poprawność wykonania sprawdzaj w dzienniku pobrań. Brak zmian w konfiguracji nie wymaga utworzenia nowej migawki.

Limity dostępu. Plan dla firmy określa liczbę aktywnych użytkowników, a plan partnerski — liczbę przestrzeni klientów. Po wykorzystaniu limitu program zablokuje dodanie kolejnego konta lub przestrzeni i wyświetli komunikat. Dotychczasowe dane pozostaną dostępne. Definicje aktywnego użytkownika i przestrzeni klienta znajdziesz w tabeli planów, a zasady zmiany planu w instrukcji licencji.

8. Wykonaj aktualizację

pg_dump -Fc viewer_pro > viewer_pro-przed-1.5.0.dump
oc set image deploy/viewer-pro viewer-pro=<rejestr>/viewer-pro-server:1.5.0
oc rollout status deploy/viewer-pro

Przed zmianą obrazu wykonaj kopię bazy. Aktualizację wykonaj zgodnie z instrukcją wydania. Zapisane migawki pozostają dostępne. Powrót do starszego obrazu wymaga przywrócenia kopii sprzed aktualizacji. Sprawdź również ważność rocznej subskrypcji. Brak opłacenia odnowienia blokuje dostęp po karencji określonej w zamówieniu, również po powrocie do starszej wersji.

9. Sprawdź wymagane połączenia

Pełna lista tego, co opuszcza sieć: bezpieczeństwo.