Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/actions/api-tests/action.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: API Tests
description: >
Start service containers (PostgreSQL, Elasticsearch, RabbitMQ, MinIO),
Start service containers (PostgreSQL, Elasticsearch, RabbitMQ, Silo),
download pre-compiled artifacts, and run API tests for a single shard.
Requires job-level env vars:
SPRING_DATASOURCE_URL, SPRING_DATASOURCE_USERNAME,
Expand Down Expand Up @@ -172,12 +172,12 @@ runs:
done
docker exec rabbitmq rabbitmq-diagnostics -q check_running || { echo "❌ RabbitMQ failed to start"; exit 1; }

echo "⏳ Waiting for MinIO..."
echo "⏳ Waiting for Silo..."
for i in $(seq 1 30); do
curl -sf http://localhost:11000/minio/health/live && break
sleep 1
done
curl -sf http://localhost:11000/minio/health/live || { echo "❌ MinIO failed to start"; exit 1; }
curl -sf http://localhost:11000/minio/health/live || { echo "❌ Silo failed to start"; exit 1; }

echo "✅ All services ready"

Expand Down
6 changes: 3 additions & 3 deletions .github/actions/api-types-check/action.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: API Types Check
description: >
Start service containers (PostgreSQL, Elasticsearch, RabbitMQ, MinIO),
Start service containers (PostgreSQL, Elasticsearch, RabbitMQ, Silo),
download and run the backend JAR, and verify that generated API types
are up to date.
Requires job-level env vars: SPRING_DATASOURCE_URL,
Expand Down Expand Up @@ -103,12 +103,12 @@ runs:
done
docker exec rabbitmq rabbitmq-diagnostics -q check_running || { echo "❌ RabbitMQ failed to start"; exit 1; }

echo "⏳ Waiting for MinIO..."
echo "⏳ Waiting for Silo..."
for i in $(seq 1 30); do
curl -sf http://localhost:11000/minio/health/live && break
sleep 1
done
curl -sf http://localhost:11000/minio/health/live || { echo "❌ MinIO failed to start"; exit 1; }
curl -sf http://localhost:11000/minio/health/live || { echo "❌ Silo failed to start"; exit 1; }

echo "✅ All services ready"

Expand Down
6 changes: 3 additions & 3 deletions .github/actions/e2e-tests/action.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: E2E Tests
description: >
Start service containers (PostgreSQL, Elasticsearch, RabbitMQ, MinIO),
Start service containers (PostgreSQL, Elasticsearch, RabbitMQ, Silo),
download and run the backend Docker image, and run Playwright E2E tests.
The Docker image is built in parallel by the docker-build job; this action
waits for a registry marker or image artifact and loads the first usable source.
Expand Down Expand Up @@ -177,12 +177,12 @@ runs:
done
docker exec rabbitmq rabbitmq-diagnostics -q check_running || { echo "❌ RabbitMQ failed to start"; exit 1; }

echo "⏳ Waiting for MinIO..."
echo "⏳ Waiting for Silo..."
for i in $(seq 1 30); do
curl -sf http://localhost:11000/minio/health/live && break
sleep 1
done
curl -sf http://localhost:11000/minio/health/live || { echo "❌ MinIO failed to start"; exit 1; }
curl -sf http://localhost:11000/minio/health/live || { echo "❌ Silo failed to start"; exit 1; }

echo "✅ All services ready"

Expand Down
2 changes: 1 addition & 1 deletion .github/actions/start-dev-services/action.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: Start Dev Services
description: >
Start the backing service containers shared by the test jobs (PostgreSQL,
Elasticsearch or OpenSearch, RabbitMQ, MinIO) in the background and assert
Elasticsearch or OpenSearch, RabbitMQ, Silo) in the background and assert
they came up. Image tags come from openaev-dev/docker-compose.yml. Containers
are named pgsql, search-engine, rabbitmq and minio. Readiness polling is left
to the caller so the containers can boot while other setup runs.
Expand Down
6 changes: 3 additions & 3 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ strategic levels.

### Architecture

- **Backend**: Spring Boot (Java), PostgreSQL, Elasticsearch/OpenSearch, MinIO, RabbitMQ
- **Backend**: Spring Boot (Java), PostgreSQL, Elasticsearch/OpenSearch, Silo (S3 object storage), RabbitMQ
- **Frontend**: React, TypeScript, Vite, Material-UI
- **Multi-module Maven project** with 3 modules: `openaev-model`, `openaev-framework`, `openaev-api`
- ⚠️ **`openaev-framework` is deprecated** — it will be removed. **Never add new code to `openaev-framework`**. Place
Expand Down Expand Up @@ -60,7 +60,7 @@ CI runs on GitHub Actions (see `.github/workflows/`):
3. **E2E Tests**: Full app test with Playwright
4. **Type Check**: `yarn generate-types-from-api` verification

**Services**: PostgreSQL, MinIO, Elasticsearch, RabbitMQ (see workflow files for exact versions)
**Services**: PostgreSQL, Silo, Elasticsearch, RabbitMQ (see workflow files for exact versions)

### Key Workflows

Expand Down Expand Up @@ -167,7 +167,7 @@ Examples:
2. **Trust these instructions**: Only search for information if instructions are incomplete or incorrect.
3. **Pre-existing issues**: Don't fix unrelated linting/build issues unless they block your task.
4. **Frontend must build first**: The backend copies frontend build artifacts.
5. **Services required**: PostgreSQL, MinIO, Elasticsearch/OpenSearch, and RabbitMQ must be running for tests.
5. **Services required**: PostgreSQL, Silo, Elasticsearch/OpenSearch, and RabbitMQ must be running for tests.
6. **Java 21 is mandatory**: The project will not compile with earlier versions.
7. **Node.js version**: Check `openaev-front/package.json` engines field for the minimum required version.
8. **API types**: After API changes, run `yarn generate-types-from-api` in frontend to update TypeScript types.
Expand Down
2 changes: 1 addition & 1 deletion .github/skills/activate-tenant-table/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -1480,7 +1480,7 @@ mvn -B -ntp spotless:check || mvn -ntp spotless:apply
mvn -ntp clean install -DskipTests

# 8.3 your tests, then the FULL API suite (needs the Docker services from
# openaev-dev/docker-compose.yml: PostgreSQL, MinIO, OpenSearch, RabbitMQ)
# openaev-dev/docker-compose.yml: PostgreSQL, Silo, OpenSearch, RabbitMQ)
mvn -ntp -pl openaev-api test -Dtest='{Entity}*IsolationTest'
```

Expand Down
8 changes: 4 additions & 4 deletions docs/docs/deployment/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ If the OpenAEV container exits immediately after starting:

1. Check the logs: `docker compose logs openaev`
2. Verify all required environment variables are set in your `.env` file
3. Ensure all dependency containers (PostgreSQL, ElasticSearch, RabbitMQ, MinIO) are healthy:
3. Ensure all dependency containers (PostgreSQL, ElasticSearch, RabbitMQ, Silo) are healthy:
```bash
docker compose ps
```
Expand All @@ -128,7 +128,7 @@ You may refer to [the official Docker documentation](https://docs.docker.com/ref

Otherwise, you are responsible for providing the dependencies yourself by installing and running them.
You need at least a Java Runtime, PostgreSQL (database), ElasticSearch (database), RabbitMQ (queue management), and
MinIO (for object storage).
Silo or any other S3-compatible service (for object storage).

!!! note "Supported dependency versions"

Expand All @@ -140,7 +140,7 @@ If you choose to install the dependencies manually, please refer to their respec
* PostgreSQL: the [PostgreSQL documentation portal](https://www.postgresql.org/docs/)
* ElasticSearch: the [ElasticSearch documentation portal](https://www.elastic.co/docs)
* RabbitMQ: the [RabbitMQ documentation portal](https://www.rabbitmq.com/docs)
* MinIO: the [MinIO website](https://min.io/docs).
* Silo (the community-maintained fork of MinIO): the [Silo documentation](https://silo.pgsty.com/docs/).

#### Download the application files

Expand Down Expand Up @@ -174,7 +174,7 @@ See the relevant Configuration sections for more details:
- [PostgreSQL](configuration.md#postgresql)
- [ElasticSearch](configuration.md#engine)
- [RabbitMQ](configuration.md#rabbitmq)
- [MinIO](configuration.md#s3-bucket)
- [S3 bucket / Silo](configuration.md#s3-bucket)

#### Start the application

Expand Down
2 changes: 1 addition & 1 deletion docs/docs/deployment/platform/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ if an inject (execution, emails, etc.) has been detected or prevented and fill t
| PostgreSQL | ≥ 17.0 | 2 cores | ≥ 8GB | SSD | ≥ 16GB |
| ElasticSearch | ≥ 8.19 | 2 cores | ≥ 8GB | SSD | ≥ 16GB |
| RabbitMQ | >= 4.1 | 1 core | ≥ 512MB | Standard | ≥ 2GB |
| S3 / MinIO | ≥ RELEASE.2025-06-13T11-33-47Z | 1 core | ≥ 128MB | SSD | ≥ 16GB |
| S3 / Silo | latest (Silo is a MinIO fork) | 1 core | ≥ 128MB | SSD | ≥ 16GB |

Please note that while the versions of these dependencies are the recommended ones, OpenAEV may still function with
earlier versions. However, we will not provide support for versions prior to the recommended ones.
Expand Down
4 changes: 2 additions & 2 deletions docs/docs/development/build-from-source.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ cp ./openaev-api/src/main/resources/application.properties ./openaev-api/src/mai

**Start the development dependencies docker stack**

Preconfigured containers for all the needed support containers (PostgreSQL, MinIO, RabbitMQ, Elasticsearch...)
Preconfigured containers for all the needed support containers (PostgreSQL, Silo, RabbitMQ, Elasticsearch...)
can be found as a docker compose file in `./openaev/openaev-dev`.

Create a file a this location: `./openaev/openaev-dev/.env` and populate it with a minimal set of keys:
Expand Down Expand Up @@ -69,7 +69,7 @@ and any additional configuration. Make sure the file contains settings for at th
the following dependencies:

- PostgreSQL
- MinIO
- S3 object storage (Silo in the development stack)
- RabbitMQ
- Engine (Elasticsearch or OpenSearch)

Expand Down
4 changes: 2 additions & 2 deletions docs/docs/development/environment-windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ mvn -version

### Docker Desktop

Docker Desktop is required to run the development services (PostgreSQL, Elasticsearch, RabbitMQ, MinIO).
Docker Desktop is required to run the development services (PostgreSQL, Elasticsearch, RabbitMQ, Silo).

1. Download and install [Docker Desktop for Windows](https://docs.docker.com/desktop/install/windows-install/).
2. Enable the WSL 2 backend for better performance (recommended).
Expand Down Expand Up @@ -91,7 +91,7 @@ This starts:
| Service | Port | Description |
|---|---|---|
| PostgreSQL 17 | 5432 | Database |
| MinIO | 10000, 10001 | S3-compatible object storage |
| Silo | 10000, 10001 | S3-compatible object storage (MinIO fork) |
| Elasticsearch 8 | 9200 | Analytics engine |
| RabbitMQ 4 | 5672, 15672 | Message broker |

Expand Down
6 changes: 3 additions & 3 deletions openaev-dev/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ docker compose up -d openaev-dev-pgsql openaev-dev-minio openaev-dev-elasticsear
| Service | Port | Why it's required |
|---------|------|-------------------|
| **PostgreSQL (dev)** | 5432 | Primary data store — all entities, users, scenarios |
| **MinIO** | 10000 (API), 10001 (Console) | File/document storage (S3-compatible) |
| **Silo** | 10000 (API), 10001 (Console) | File/document storage (S3-compatible, MinIO fork) |
| **Elasticsearch (dev)** | 9200, 9300 | Full-text search & indexing engine |
| **RabbitMQ** | 5672 (AMQP), 15672 (Management) | Async messaging between backend components |

Expand All @@ -79,7 +79,7 @@ This starts everything, including optional services:
|---------|------|-------------|
| PostgreSQL (dev) | 5432 | Main development database (persistent) |
| PostgreSQL (test) | 5433 | Test database (ephemeral, no volume) |
| MinIO | 10000 (API), 10001 (Console) | Object storage |
| Silo | 10000 (API), 10001 (Console) | Object storage (S3-compatible) |
| RabbitMQ | 5672 (AMQP), 15672 (Management) | Message queue |
| Elasticsearch (dev) | 9200, 9300 | Search engine |
| Elasticsearch (test) | 9201, 9301 | Test search engine |
Expand All @@ -90,7 +90,7 @@ This starts everything, including optional services:

### 4. Access services

- **MinIO Console**: http://localhost:10001 (minioadmin/minioadmin)
- **Silo Console**: http://localhost:10001 (minioadmin/minioadmin)
- **RabbitMQ Management**: http://localhost:15672 (guest/guest)
- **pgAdmin**: http://localhost:5050 (admin@openaev.io/admin by default, see `.env`)
- **Kibana**: http://localhost:5601
Expand Down
8 changes: 4 additions & 4 deletions openaev-dev/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@ services:
interval: 10s
timeout: 5s
retries: 5
# MinIO object storage (S3-compatible)
# Silo object storage (S3-compatible, community-maintained MinIO fork)
# API: http://localhost:10000, Console: http://localhost:10001
# Credentials: minioadmin/minioadmin
openaev-dev-minio:
container_name: openaev-dev-minio
image: quay.io/minio/minio:RELEASE.2025-06-13T11-33-47Z
image: pgsty/silo:latest
ports:
- "10000:9000"
- "10001:9001"
Expand Down Expand Up @@ -110,10 +110,10 @@ services:
interval: 10s
timeout: 5s
retries: 5
# Test MinIO object storage (S3-compatible)
# Test Silo object storage (S3-compatible)
openaev-test-minio:
container_name: openaev-test-minio
image: quay.io/minio/minio:RELEASE.2025-06-13T11-33-47Z
image: pgsty/silo:latest
ports:
- "11000:9000"
- "11001:9001"
Expand Down
Loading