I’m also looking to migrate and was recommended this service when I asked a similar question to OP. https://www.migadu.com/index.html
Unlimited inboxes. You’re just limited to inbox space, but you can have multiple domains.
I’ll be moving over to them when my current subscription runs out with my current provider
I haven’t written go in a little while, so things may have a changed since. I’ll give this a go regardless.
First thing I notice is there’s no explanation of what this is supposed to do. A little blurb in the readme would help. I have no idea what rbac is, so it would give me some context.
Then, there’s no main function. Where’s the entry point? This is a bit where I’m doubting myself now. Maybe go has changed, but when I was writing it, it requires a main function to even run.
I also notice that many of your functions and types start with a capital letter, making them public, but everything is in the same package. This is maybe nitpicky, but I would start with everything as private. As the project grows, and things get organised in packages, you open up the things you need.
With all that said, if it runs and does what you expect it to, I’d say that looks good!