SubmitQueue is een high-performance tool die is ontworpen voor grote monorepo's en teams met een hoog tempo, met als doel de hoofdtak ('trunk') consistent stabiel (green) te houden. In plaats van wijzigingen één voor één te valideren, voert het systeem speculatieve rebase-acties uit en valideert het meerdere wijzigingen parallel tegen voorspelde toekomstige staten van HEAD.
Belangrijkste kenmerken:
- Automatisering: Wijzigingen worden automatisch doorgevoerd bij succes; fouten worden geïsoleerd zonder menselijke tussenkomst.
- Architectuur: De repository is verdeeld in een
platform/ map voor gedeelde Go-code en specifieke productdomeinen (zoals gateway/, orchestrator/ en entity/).
- Ontwikkeling: Het project maakt gebruik van Docker, Docker Compose en Make voor build- en testprocessen.
Het project is in actieve ontwikkeling en valt onder de Apache License 2.0.
SubmitQueue
Dit systeem is ontworpen voor grote monorepo's en snel bewegende teams, waar gelijktijdige wijzigingen subtiele conflicten kunnen introduceren en builds kunnen destabiliseren.
Repository-indeling
Cross-domein Go-code (zoals errors, metrics, consumer framework, HTTP-helpers, shared entities en shared extension contracts) bevindt zich onder platform/.
Elk productdomein heeft zijn eigen boomstructuur (bijvoorbeeld submitqueue/, stovepipe/, ...) en groeit uit tot de volgende componenten:
gateway/
orchestrator/
entity/
extension/
- domein-lokale
core/
Een domein kan echter kleiner beginnen; zo is Stovepipe momenteel een enkele Ping-only service met enkel een controller/. Raadpleeg CLAUDE.md voor conventies en importpaden.
Snelstart
Voor gebruik zijn Docker en Docker Compose vereist. Zie 'Development Setup' voor de volledige lijst met vereisten.
# Alles bouwen
make build
# Unit tests uitvoeren
make test
# Volledige stack lokaal starten (Gateway + Orchestrator + MySQL via Docker Compose)
make local-submitqueue-start
# Testen met grpcurl
grpcurl -plaintext -d '{"message": "hello"}' localhost:8081 uber.submitqueue.gateway.SubmitQueueGateway/Ping
# Services stoppen
make local-stop
Zie service/README.md voor meer voorbeelden, inclusief het draaien van individuele services en clients.
Documentatie
| Document | Beschrijving |
| Development Setup | Voorvereisten, build, omgeving en IDE-instellingen |
| Contributing | Hoe bij te dragen, workflow en richtlijnen |
| Testing Guide | Patronen voor unit-, integratie- en E2E-testen |
| Architecture Guide | Projectindeling, patronen en conventies |
| Examples | Het draaien van services, clients en API-referentie |
| RFCs | Ontwerpdocumenten en voorstellen |
Projectstatus
SubmitQueue is in actieve ontwikkeling. Bijdragen en feedback zijn welkom. Voor informatie over hoe u kunt beginnen, zie CONTRIBUTING.md.
Licentie
Dit project is gelicentieerd onder de Apache License 2.0.
SubmitQueue
Dit systeem is ontworpen voor grote monorepo's en snel bewegende teams, waar gelijktijdige wijzigingen subtiele conflicten kunnen introduceren en builds kunnen destabiliseren.
Repository-indeling
Cross-domein Go-code (zoals errors, metrics, consumer framework, HTTP-helpers, shared entities en shared extension contracts) bevindt zich onder platform/.
Elk productdomein heeft zijn eigen boomstructuur (bijvoorbeeld submitqueue/, stovepipe/, ...) en groeit uit tot de volgende componenten:
gateway/
orchestrator/
entity/
extension/
- domein-lokale
core/
Een domein kan echter kleiner beginnen; zo is Stovepipe momenteel een enkele Ping-only service met enkel een controller/. Raadpleeg CLAUDE.md voor conventies en importpaden.
Snelstart
Voor gebruik zijn Docker en Docker Compose vereist. Zie 'Development Setup' voor de volledige lijst met vereisten.
# Alles bouwen
make build
# Unit tests uitvoeren
make test
# Volledige stack lokaal starten (Gateway + Orchestrator + MySQL via Docker Compose)
make local-submitqueue-start
# Testen met grpcurl
grpcurl -plaintext -d '{"message": "hello"}' localhost:8081 uber.submitqueue.gateway.SubmitQueueGateway/Ping
# Services stoppen
make local-stop
Zie service/README.md voor meer voorbeelden, inclusief het draaien van individuele services en clients.
Documentatie
| Document | Beschrijving |
| Development Setup | Voorvereisten, build, omgeving en IDE-instellingen |
| Contributing | Hoe bij te dragen, workflow en richtlijnen |
| Testing Guide | Patronen voor unit-, integratie- en E2E-testen |
| Architecture Guide | Projectindeling, patronen en conventies |
| Examples | Het draaien van services, clients en API-referentie |
| RFCs | Ontwerpdocumenten en voorstellen |
Projectstatus
SubmitQueue is in actieve ontwikkeling. Bijdragen en feedback zijn welkom. Voor informatie over hoe u kunt beginnen, zie CONTRIBUTING.md.
Licentie
Dit project is gelicentieerd onder de Apache License 2.0.