A command-line tool for administering groups on a groups.io server. It authenticates as a user, lists subscriptions, exports members, inspects users, transfers ownership permissions, and shows pending messages.
- Prerequisite: Go 1.22+
- Build with Makefile:
make build(outputsgo/groups-admin) - Or manually:
cd go && go build -o groups-admin .
cd go
./groups-admin --baseUrl https://groups.io \
--srcEmail [email protected] --srcPass 'your-password' \
--cmd srcUserSubs --filter 'k8s-.*'
Using the Makefile:
make build
make run ARGS="--baseUrl https://groups.io \
--srcEmail [email protected] --srcPass 'your-password' \
--cmd srcUserSubs --filter 'k8s-.*'"
# Discover targets and examples
make help
srcUserSubs: Print the authenticated user’s group subscriptions (optionally filtered by--filterregex).members: Export members of all subscribed groups tomembers.psv(pipe-separated: group | name | email).getUser: Lookup a user by--destEmailand print details.xferSubs: Grant Owner permissions in your groups to--destEmail(optionally filter with--filter).pendMsgs: List pending messages for moderation on the main group.
--baseUrl: Base URL of your groups.io instance (e.g.,https://groups.io).--srcEmail,--srcPass: Credentials of the source (authenticated) user.--cmd: One ofsrcUserSubs|getUser|xferSubs|members|pendMsgs.--destEmail: Target user email forgetUser/xferSubs.--filter: Regular expression to select groups (e.g.,'k8s-.*').
- Export members to file:
./groups-admin --baseUrl https://groups.io --srcEmail [email protected] --srcPass '...' --cmd members - Transfer owner perms for filtered groups:
./groups-admin --baseUrl https://groups.io --srcEmail [email protected] --srcPass '...' --cmd xferSubs --destEmail [email protected] --filter 'k8s-.*'
- Never share real credentials in issue reports or examples.
- Operations like
xferSubschange permissions; review the group list (use--filter) before proceeding. - Default flag help: run
./groups-admin -hfor available flags.