arepos-server

0

Описание

Сервис wArchi Backend для управления доменными моделями, нотациями и связанными сущностями с полной поддержкой аудита изменений.

https://warchi.ru

Языки

  • Kotlin91,3%
  • Shell5,4%
  • PLpgSQL2,9%
  • Smarty0,4%
месяц назад
месяц назад
9 дней назад
9 дней назад
месяц назад
9 дней назад
9 дней назад
месяц назад
месяц назад
месяц назад
месяц назад
месяц назад
месяц назад
месяц назад
месяц назад
месяц назад
9 дней назад
месяц назад
месяц назад
месяц назад
месяц назад
месяц назад
месяц назад
месяц назад
README.md

arepos-server

Backend service for managing domain models, notations, and related entities with full audit trail support.

Русская версия:

README.ru.md

The project is built with Kotlin + Spring Boot, stores flexible entity attributes in PostgreSQL JSONB, and is designed to run both locally and in Kubernetes.

Features

  • REST API under
    /api/v1/*
    for users, models, notations, node/link types, components, relations, and relation rules
  • Automatic database migrations via Liquibase
  • Audit logging for data changes
  • JWT-based authentication and refresh flow
  • PostgreSQL-first schema with semantic versioning constraints
  • Helm chart and deployment scripts for Kubernetes

Tech Stack

  • Kotlin 2.2.x
  • Spring Boot 3.5.x
  • JDK 24/25
  • PostgreSQL 16+
  • Liquibase
  • Gradle (Kotlin DSL)

Project Structure

Requirements

  • JDK 24 or 25
  • Docker (for local image build and Testcontainers-based tests)
  • PostgreSQL (if running outside Testcontainers)
  • MinIO (if
    FILE_STORAGE=minio
    , default mode)
  • Kubernetes + Helm (for cluster deployment)

Local Development

1) Configure environment

Default values are defined in

src/main/resources/application.yaml
.

Important environment variables:

  • DB_URL
    (default:
    jdbc:postgresql://localhost:5432/arepos
    )
  • DB_USERNAME
    (default:
    arepos
    )
  • DB_PASSWORD
    (default:
    arepos
    )
  • JWT_SECRET
    (required for production)
  • ADMIN_SECRET
    (recommended for admin bootstrap flow)
  • FILE_STORAGE
    (
    minio
    by default; use
    disabled
    for local run without file storage)
  • MINIO_ENDPOINT
    ,
    MINIO_ACCESS_KEY
    ,
    MINIO_SECRET_KEY
    ,
    MINIO_BUCKET
    (when
    FILE_STORAGE=minio
    )

2) Build and run

3) Run tests

Build Commands

API

  • Swagger UI:
    /swagger-ui.html
    — interactive API documentation
  • OpenAPI spec (JSON):
    /v3/api-docs
  • Health endpoints:
    • /actuator/health/liveness
    • /actuator/health/readiness
  • Prometheus metrics:
    • /actuator/prometheus

Deployment

  • deploy.sh
    - deploy to Kubernetes using Helm
  • undeploy.sh
    - uninstall release
  • helmCheck.sh
    - lint/template smoke checks
  • Chart docs:
    charts/arepos-server/README.md

For blue/green and deployment flags, see

charts/arepos-server/README.md
.

Open Source Guide

If you plan to publish the project publicly, start with:

  • CONTRIBUTING.md
    /
    CONTRIBUTING.ru.md
  • SECURITY.md
    /
    SECURITY.ru.md
  • CODE_OF_CONDUCT.md
    /
    CODE_OF_CONDUCT.ru.md

Contributing

Please read

CONTRIBUTING.md
before opening a pull request.

Security

Please read

SECURITY.md
for reporting vulnerabilities.

License

This project uses dual licensing:

  • AGPL-3.0-or-later
    for open-source usage
  • Commercial license for proprietary/closed-source commercial usage

See:

  • LICENSE
  • LICENSE_COMMERCIAL.md