Housecarl AuthZ is tested as a Kubernetes application connecting to PostgreSQL version 17 or higher, with a Kubernetes nginx Ingress controller.
helm install -n housecarl-authz housecarl-authzhousecarl-admin user set-password root $new_secret_password,
passing in the PostgreSQL connection string.housectl config login root root $new_secret_password# at this point you can create users, set up new tenants, new domains, configure policies, etc.Linux Kubernetes is the supported deployment platform for Housecarl. As noted above, we offer a Helm chart as part of the package, along with a Docker file.
For production cloud deployments, we recommend using AWS RDS or similar managed PostgreSQL databases in a live multi-AZ failover configuration to minimize downtime, along with routine backup procedures. While we have made every effort to ensure our SQL queries are fast and the indexes on the tables are appropriate, a production deployment should also include appropriate monitoring and alerting on database load and other key metrics.
For testing deployments, we use the Bitnami Postgres Helm chart to deploy a PostgreSQL server in the Kubernetes namespace; it is a space-efficient means of rapid testing.
Two essential topological approaches can be used - service-based or centralized. Service-based approaches split the policies service-by-service. This will be, approximately, 1 Housecarl AuthZ deployment per service. This reduces issues with shared configuration deployment bringing your system down on misconfiguration, at the cost of not having a single source of truth for your permissions. Conversely, you can deploy Housecarl AuthZ as a centralized service and have a single source of truth, at the cost of higher risk for deployment failure.
Other approaches are plausible as well, but would be associated with your enterprise configuration.
Housecarl AuthZ can, in all likelihood, be deployed in a multitude of (typically) untested or unsupported configurations. Plausible configurations that have been looked at to date include -
faas mode is supplied in the housecarl-server
binary, but it bundles both the migration and cold-boot phases as
well and as such is a bit slow to boot. It thus will not be
rapidly reactive under load. Supporting services such as audit
would remain separate.docker-compose
Other approaches such as Heroku, AWS ECS, etc, are feasible but have not been looked at.
Please contact sales@housecarl.cloud to discuss support for these
non-Kubernetes configurations.