Remove the in-memory database (#537)
<!-- Provide a brief summary of your changes --> ## Motivation and Context <!-- Why is this change needed? What problem does it solve? --> The follow PR removes the in-memory database option from the registry. We had a chat about this with @domdomegg and although it is supposed to be convenient, it isn't that useful in reality. We want to test and develop the registry in a setup that is closer to the environment it is supposed to be run. One of the main reasons are: * We don't use it anywhere else besides unit testing and potentially local development. Instead we should use postgresql for reliable results (in-memory was actually giving false positive results) * We have to keep maintaining it and make sure it mimics the behaviour we have for postgresql which is not yielding a lot of value ## How Has This Been Tested? <!-- Have you tested this in a real application? Which scenarios were tested? --> Yes, I've updated the test unit make target to run in the postgresql environment and now we can see the race condition issue happening. ## Breaking Changes <!-- Will users need to update their code or configurations? --> No ## Types of changes <!-- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [ ] Bug fix (non-breaking change which fixes an issue) - [ ] New feature (non-breaking change which adds functionality) - [ ] Breaking change (fix or feature that would cause existing functionality to change) - [ ] Documentation update ## Checklist <!-- Go over all the following points, and put an `x` in all the boxes that apply. --> - [ ] I have read the [MCP Documentation](https://modelcontextprotocol.io) - [ ] My code follows the repository's style guidelines - [ ] New and existing tests pass locally - [ ] I have added appropriate error handling - [ ] I have added or updated documentation as needed ## Additional context <!-- Add any other context, implementation notes, or design decisions --> --------- Signed-off-by: Radoslav Dimitrov <radoslav@stacklok.com>
This commit is contained in:
parent
9d184933c5
commit
ddcc586842
1 changed files with 202 additions and 455 deletions
21
README.md
21
README.md
|
|
@ -39,24 +39,9 @@ Often (but not always) ideas flow through this pipeline:
|
|||
make dev-compose
|
||||
```
|
||||
|
||||
This starts the registry at [`localhost:8080`](http://localhost:8080) with PostgreSQL and seed data. It can be configured with environment variables in [docker-compose.yml](./docker-compose.yml) - see [.env.example](./.env.example) for a reference.
|
||||
This starts the registry at [`localhost:8080`](http://localhost:8080) with PostgreSQL and seed data. The database uses ephemeral storage and is reset each time you restart the containers, ensuring a clean state for development and testing.
|
||||
|
||||
<details>
|
||||
<summary>Alternative: Local setup without Docker</summary>
|
||||
|
||||
**Prerequisites:**
|
||||
- PostgreSQL running locally
|
||||
- Go 1.24.x installed
|
||||
|
||||
```bash
|
||||
# Build and run locally
|
||||
make build
|
||||
make dev-local
|
||||
```
|
||||
|
||||
The service runs on [`localhost:8080`](http://localhost:8080) by default. This can be configured with environment variables in `.env` - see [.env.example](./.env.example) for a reference.
|
||||
|
||||
</details>
|
||||
The setup can be configured with environment variables in [docker-compose.yml](./docker-compose.yml) - see [.env.example](./.env.example) for a reference.
|
||||
|
||||
<details>
|
||||
<summary>Alternative: Running a pre-built Docker image</summary>
|
||||
|
|
@ -125,7 +110,7 @@ For Claude and other AI tools: Always prefer make targets over custom commands w
|
|||
│ ├── api/ # HTTP handlers and routing
|
||||
│ ├── auth/ # Authentication (GitHub OAuth, JWT, namespace blocking)
|
||||
│ ├── config/ # Configuration management
|
||||
│ ├── database/ # Data persistence (PostgreSQL, in-memory)
|
||||
│ ├── database/ # Data persistence (PostgreSQL)
|
||||
│ ├── service/ # Business logic
|
||||
│ ├── telemetry/ # Metrics and monitoring
|
||||
│ └── validators/ # Input validation
|
||||
|
|
|
|||
Loading…
Reference in a new issue