Declarative user management in sql
- Go 99%
- Makefile 1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| cmd/sum | ||
| man | ||
| mysql | ||
| testdata | ||
| .gitignore | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| Makefile | ||
| parser.go | ||
| parser_test.go | ||
| README.md | ||
| store.go | ||
| sum.go | ||
sum(1)
sum(1) ("SQL user manager") declaratively configures user roles and permissions in SQL databases. Its configuration is based heavily on the syntax of pf firewall in OpenBSD.
sum(1) works around incredible shortcomings in MySQL user management, but it may be useful for other databases as well. Currently there's only support for MySQL but patches for additional databases are welcome.
See this article on SQL User Management to understand the rational for this.
Install
$ git clone ssh://git@git.evantann.com:2222/egtann/sum.git && cd sum
$ sudo make install
After installation, check the man pages for usage information for sum(1) and sum.conf(5).
Contact
To report bugs, discuss functionality or submit patches, email os@evantann.com.
TODO
- quoted values, e.g. multi-word statement "alter routine"
- combine users into the
permissionsstruct to simplify code? - more tests
- Postgres, MariaDB, MySQL v8 support