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:
Build statičkog sajta: