feat: add GitHub Actions CI and semantic-release (#4) * Add GitHub Actions CI and semantic-release (#3) * chore(release): 1.0.0 [skip ci] # 1.0.0 (2024-03-16) ### Features * add initial code ([#2](https://github.com/siuhui/async-postgres-watcher/issues/2)) ([6c868e1](https://github.com/siuhui/async-postgres-watcher/commit/6c868e108e8b68e6aacde833a4afe96f75345fe8)), closes [#1](https://github.com/siuhui/async-postgres-watcher/issues/1) --------- Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net>
Async casbin role watcher to be used for monitoring updates to casbin policies
pip install casbin-async-postgres-watcher
from flask_authz import CasbinEnforcer from async_postgres_watcher import AsyncPostgresWatcher from flask import Flask from casbin.persist.adapters import FileAdapter casbin_enforcer = CasbinEnforcer(app, adapter) watcher = AsyncPostgresWatcher(host=HOST, port=PORT, user=USER, password=PASSWORD, dbname=DBNAME) watcher.set_update_callback(casbin_enforcer.e.load_policy) casbin_enforcer.set_watcher(watcher)
See asyncpg documentation for full details of SSL parameters.
from flask_authz import CasbinEnforcer from async_postgres_watcher import AsyncPostgresWatcher from flask import Flask from casbin.persist.adapters import FileAdapter casbin_enforcer = CasbinEnforcer(app, adapter) # If check_hostname is True, the SSL context is created with sslmode=verify-full. # If check_hostname is False, the SSL context is created with sslmode=verify-ca. watcher = AsyncPostgresWatcher(host=HOST, port=PORT, user=USER, password=PASSWORD, dbname=DBNAME, sslrootcert=SSLROOTCERT, check_hostname = True, sslcert=SSLCERT, sslkey=SSLKEY) watcher.set_update_callback(casbin_enforcer.e.load_policy) casbin_enforcer.set_watcher(watcher)
This project is under Apache 2.0 License. See the LICENSE file for the full license text.