Иди на текст

Infrastruktura

ordify-infrastructure — centralni repo za lokalni razvoj i deployment Ordify platforme.

  • Status: ⚠️ U pripremi
  • Repo: Marinkovic-Co/ordify-infrastructure

Struktura repoa

ordify-infrastructure/
├── docker-compose.yml          # osnova: postgres 18.4 + keycloak 26.7
├── docker-compose.dev.yml      # dev override (portovi, start-dev, realm import)
├── docker-compose.prod.yml     # prod nacrt (Faza 2)
├── db/init/                    # skripte za kreiranje baza (meni, porudzbine, zone, keycloak)
├── keycloak/realm/             # realm eksport (ordify-realm.json — korak 3)
├── monitoring/                 # Prometheus + Grafana + alerting (kraj Faze 1)
├── docs/                       # MkDocs sajt (ovaj sajt)
├── .env.example                # predložak okruženja (kopiraj u .env)
└── .env                        # lokalno okruženje (NE commit-uje se)

Komande

# Podizanje stack-a (dev): postgres + keycloak
docker compose -f docker-compose.yml -f docker-compose.dev.yml up -d

# Zaustavljanje
docker compose -f docker-compose.yml -f docker-compose.dev.yml down

# Keycloak admin konzola: http://localhost:${KEYCLOAK_PORT:-8080} (admin / iz .env)

Portovi se podešavaju u .env (POSTGRES_PORT, KEYCLOAK_PORT) — interni portovi kontejnera su fiksni (PG 5432, KC 8080), na host-u možeš da ih mapiraš kako hoćeš. Ukoliko promeniš port Keycloak-a, servisi će morati da znaju novi URL (vidi OIDC konfiguraciju u servisima).

Servisi aplikacije se u dev fazi pokreću lokalno (quarkus:dev) i povezuju na stack kroz env var-ove (vrednosti iz .env):

Env var Značenje Default
POSTGRES_USER / POSTGRES_PASSWORD Kredencijali za baze ordify / (iz .env)
POSTGRES_PORT Host port postgres-a 5432
OIDC_URL Keycloak realm URL za OIDC http://localhost:8080/realms/ordify
# Primer pokretanja menu servisa (iz .env se čitaju POSTGRES_*):
export $(grep -E '^POSTGRES_' .env | xargs)
cd ../ordify-menu-service && mvn quarkus:dev

Baze: jdbc:postgresql://localhost:${POSTGRES_PORT:-5432}/{meni,porudzbine,zone}.

Planirani sadržaj

Komponenta Svrha Status
docker-compose.yml + overrides Baze + Keycloak jednom komandom ⏳ u izradi (Faza 1)
keycloak/realm/ordify-realm.json Autentikacija: realm, klijenti, role, korisnici ⏳ korak 3 (Faza 1)
db/init/ Inicijalizacija PostgreSQL baza po servisu ⏳ u izradi (Faza 1)
monitoring/ Prometheus + Grafana + alerting (Discord + email) ⏳ kraj Faze 1
CI/CD (GitHub Actions) Build + test + native slike → GHCR ⏳ kraj Faze 1
Ova dokumentacija MkDocs sajt (docs/) ✅ radi

Deployment model

Ordify se prodaje on-premise — svaki klijent dobija svoju instancu na cloud serveru, sa paketima funkcionalnosti (subscription + dodaci). Infrastrukturni repo je osnova za to: jedna komanda podiže celu instancu. U produkciji (Faza 2+) cela instanca ide na Kubernetes — servisi su bez stanja i skaliraju se horizontalno; baze po servisu (StatefulSet) sa replikama za čitanje.

Dokumentacija sajta

Ovaj sajt je generisan sa MkDocs Material iz docs/ foldera.

Lokalno pokretanje:

mkdocs serve

Build statičkog sajta:

mkdocs build