feat(astrololo): profil deployu swisseph (silnik B, AGPL) #1

Merged
gitea merged 1 commits from feat/swisseph-profile into master 2026-07-21 01:02:30 +00:00
Owner

Po co

Drugi, opcjonalny profil deployu astrololo, w ktorym warstwa logiczna liczy na
Swiss Ephemeris (silnik B, AGPL) zamiast na wlasnym Skyfieldzie. Odpowiedz na
prosbe: "przygotuj drugi profil deployu w ktorym odpalamy sie na silniku swisseph".

Jak zrobione

Overlay Kustomize nad baza ../astrololo (katalog astrololo-swisseph/):

  • dokłada usluge engine-swisseph (Deployment + Service, ClusterIP),
  • patchuje logic: EPHEMERIS_ENGINE=swisseph + ENGINE_SWISSEPH_URL=http://engine-swisseph:8003,
  • data/logic/presentation i ich tagi obrazow dziedziczy z bazy — profil sledzi
    te sama wersje co produkcja (podbija ja ten sam image-updater).

Wlaczenie ENGINE_SWISSEPH_URL uruchamia tez /chart/compare (own vs swisseph,
LOG-25/26) w jednej instancji logica — bez potrzeby stawiania drugiego stacku.

Izolacja AGPL

engine-swisseph to osobny proces/obraz wolany po HTTP, a Service jest ClusterIP
(swiadomie bez NodePort/Ingress): rozmawia z nim tylko logic, nie jest wystawiony
uzytkownikom koncowym. Permisywny produkt nie jest z nim linkowany.

Aktywacja

Profil zastepuje baze w tym samym ns astrololo — wskaz GitOps na katalog
astrololo-swisseph zamiast astrololo (albo kubectl apply -k astrololo-swisseph).
Nie trzymaj obu reconcilerow naraz na ns astrololo. Pelny opis w astrololo-swisseph/README.md.

Weryfikacja

Zwalidowane lokalnie kubectl kustomize astrololo-swisseph — 9 obiektow, logic dostaje
EPHEMERIS_ENGINE=swisseph + ENGINE_SWISSEPH_URL (DATA_URL zachowane), engine-swisseph
jako ClusterIP.

Zaleznosci / uwagi

  • Wymaga obrazu astrololo-engine-swisseph w registry — buduje go rownolegly PR
    w repo astrololo (ci/build-swisseph-image). Overlay uzywa tagu latest.
  • Uwaga GitOps: jesli uzywasz ApplicationSet z generatorem katalogow, sam merge
    moze automatycznie utworzyc Application i wdrozyc ten profil. Jesli ma byc naprawde
    opt-in — zmerguj swiadomie / zagejtuj aktywacje recznie.
## Po co Drugi, opcjonalny profil deployu astrololo, w ktorym warstwa logiczna liczy na **Swiss Ephemeris** (silnik B, AGPL) zamiast na wlasnym Skyfieldzie. Odpowiedz na prosbe: "przygotuj drugi profil deployu w ktorym odpalamy sie na silniku swisseph". ## Jak zrobione Overlay Kustomize nad baza `../astrololo` (katalog `astrololo-swisseph/`): - dokłada usluge **engine-swisseph** (Deployment + Service, **ClusterIP**), - patchuje `logic`: `EPHEMERIS_ENGINE=swisseph` + `ENGINE_SWISSEPH_URL=http://engine-swisseph:8003`, - data/logic/presentation i ich tagi obrazow **dziedziczy z bazy** — profil sledzi te sama wersje co produkcja (podbija ja ten sam image-updater). Wlaczenie `ENGINE_SWISSEPH_URL` uruchamia tez `/chart/compare` (own vs swisseph, LOG-25/26) w jednej instancji logica — bez potrzeby stawiania drugiego stacku. ## Izolacja AGPL `engine-swisseph` to osobny proces/obraz wolany po HTTP, a Service jest **ClusterIP** (swiadomie bez NodePort/Ingress): rozmawia z nim tylko `logic`, nie jest wystawiony uzytkownikom koncowym. Permisywny produkt nie jest z nim linkowany. ## Aktywacja Profil **zastepuje** baze w tym samym ns `astrololo` — wskaz GitOps na katalog `astrololo-swisseph` zamiast `astrololo` (albo `kubectl apply -k astrololo-swisseph`). Nie trzymaj obu reconcilerow naraz na ns astrololo. Pelny opis w `astrololo-swisseph/README.md`. ## Weryfikacja Zwalidowane lokalnie `kubectl kustomize astrololo-swisseph` — 9 obiektow, logic dostaje EPHEMERIS_ENGINE=swisseph + ENGINE_SWISSEPH_URL (DATA_URL zachowane), engine-swisseph jako ClusterIP. ## Zaleznosci / uwagi - Wymaga obrazu `astrololo-engine-swisseph` w registry — buduje go **rownolegly PR** w repo astrololo (`ci/build-swisseph-image`). Overlay uzywa tagu `latest`. - **Uwaga GitOps:** jesli uzywasz ApplicationSet z generatorem katalogow, sam merge moze automatycznie utworzyc Application i wdrozyc ten profil. Jesli ma byc naprawde opt-in — zmerguj swiadomie / zagejtuj aktywacje recznie.
gitea added 1 commit 2026-07-20 23:56:02 +00:00
Drugi, opcjonalny wariant deployu: ten sam stack co produkcja, ale logic
liczy na Swiss Ephemeris zamiast na wlasnym Skyfieldzie.

Overlay Kustomize nad ../astrololo:
- dokłada usluge engine-swisseph (Deployment + Service, ClusterIP — bez
  wejscia z zewnatrz, izolacja AGPL: rozmawia z nia tylko logic),
- patchuje logic: EPHEMERIS_ENGINE=swisseph + ENGINE_SWISSEPH_URL (wlacza
  tez /chart/compare, LOG-25/26),
- tagi data/logic/presentation dziedziczy z bazy (sledzi wersje produkcji).

Aktywacja przez wskazanie GitOps na katalog astrololo-swisseph zamiast
astrololo (profil zastepujacy baze w tym samym ns). Szczegoly w README.
Zwalidowane `kubectl kustomize` (9 obiektow, env logica i ClusterIP OK).

Wymaga obrazu astrololo-engine-swisseph w registry — buduje go osobny
workflow w repo astrololo (PR rownolegly).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
gitea merged commit d3b518273a into master 2026-07-21 01:02:30 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: gitea/deploy#1