Go examples: add a multi-tenant producer and consumer
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 66/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- go
- Ambito
- authorization, documentation
Direzione di ricerca
Start with the Rust model in examples/rust/src/multi-tenant/ to see how each tenant gets a stream, topic and restricted user, and how the cross-tenant access check works. Then read CreateUser and UpdatePermissions in foreign/go/client/tcp/tcp_user_management.go and the Permissions type in foreign/go/contracts. Done means examples/go/multi-tenant/producer/main.go and consumer/main.go run against a fresh server, the README section is added, and a second run fails cleanly.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
The Rust, Java and Node examples include a multi-tenant example: each tenant gets its own stream and its own user, limited to that stream, and the example shows that a tenant cannot reach another tenant's stream. The Go examples have none.
Affected area / component
Go examples
Proposed solution
Add examples/go/multi-tenant/producer/main.go and examples/go/multi-tenant/consumer/main.go, and a README section in examples/go/README.md.
- Use
examples/rust/src/multi-tenant/as the model. It takes the tenant count from theTENANTS_COUNTenvironment variable (default 3) and checks that access to other tenants' streams is refused. - The Go client already has
CreateUserandUpdatePermissions(foreign/go/client/tcp/tcp_user_management.go) and thePermissionstype inforeign/go/contracts. - The producer creates each tenant's stream, topic and restricted user, sends messages as each tenant, and prints that reading another tenant's stream is rejected.
- The consumer reads one tenant's messages as that tenant.
- Running it twice against the same server should fail with a clear message or clean up, not panic.
Consumer groups and TLS are out of scope.
How to test: start a fresh server (cargo run --bin iggy-server -- --fresh --with-default-root-credentials) and run the producer and consumer from examples/go with the commands added to the README.
Good first issue
- I think this could be a good first issue for a new contributor
- Lingua principale
- Rust
- Stelle
- 5.2k
- Fork
- 502
- Merge medio
- 3g 4h
- PR unite (30g)
- 157
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/iggy
-
Go examples: add a message envelope producer and consumerForse già presa @ThunderGod77 l’ha presa 3 giorni fa. Apertago good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
apache/iggy#4694 · 3 commenti · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
HTTP client treats a consumer group as a plain consumerForse già presa @mohitduhan19 l’ha presa 21 giorni fa. Apertabug rust server
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
apache/iggy#4408 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Add the fail-fast connection option to the Rust and Python quick-startsForse già presa @QIW9 l’ha presa 8 giorni fa. Apertadocs good first issue
Difficoltà 1/5 1-3 ore Idoneità per principianti 92/100
apache/iggy#4261 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
bug python sdk
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
apache/iggy#3748 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
bug(partitions): a_removal_cut_short_leaves_the_marker_in_place panics when tests run as rootForse già presa @coding-by-sea l’ha presa oggi. Apertabug CI/CD
apache/iggy#4753 · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
Issue simili
-
A match arm above the largest i64 is compared as 0Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 83/100
DioxusLabs/dioxus#6063 ·
I maintainer di solito rispondono entro 1 giorno
-
`nsh-core` fails to compile when taffy's default `calc` feature is enabled elsewhere in the graphAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
longbridge/nsh#966 ·
I maintainer di solito rispondono entro 1 giorno
-
Windows docs: pin a tested ConPTY version for Kitty graphics; 1.25.260930003 corrupts large uploadsAperta
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
raphamorim/rio#2021 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
non7top/sigstore-shell#38 ·
I maintainer di solito rispondono entro 1 giorno