The self-service cardkey management webbed site. https://cardkey.devhack.net/
2026-01-12 18:05:48 -05:00
.forgejo/workflows chore(deps): update ko-build/setup-ko action to v0.9 2025-04-15 00:00:25 +00:00
cmd/cardkey Rework notification package, add Door POS support (#72) 2025-07-24 13:09:59 -04:00
config Change Web.Prometheus.AuthToken to non-pointer type 2025-07-25 03:15:16 -07:00
db db: Do not touch deactivated cards in DeactivateAllCardsByUser 2025-07-18 23:35:57 -07:00
deploy Add WEB_PROMETHEUS_AUTH_TOKEN as secret key in k8s 2025-07-24 22:44:07 -04:00
dev Add new job to import users from Keycloak (#39) 2025-04-15 15:13:28 -04:00
jobs Add POC of HikVision door tag syncing (with notes!) (#21) 2025-04-11 19:59:20 -04:00
notification notification: Remove the username field from the counter 2025-07-25 11:36:26 -07:00
syncing Add various Prometheus metrics and new /metrics handler 2025-07-24 21:44:11 -04:00
web Change Web.Prometheus.AuthToken to non-pointer type 2025-07-25 03:15:16 -07:00
.gitignore deploy: Add additional variables needed for deployment 2025-04-14 18:24:02 -07:00
.ko.yaml workflows: Add ko boilerplate (#32) 2025-04-14 19:51:56 -04:00
cardkey.sample.json Add various Prometheus metrics and new /metrics handler 2025-07-24 21:44:11 -04:00
compose.yaml chore(deps): update quay.io/keycloak/keycloak docker tag to v26.5 2026-01-06 08:00:20 +00:00
go.mod chore(deps): update module github.com/riverqueue/river/riverdriver/riverdatabasesql to v0.30.0 2026-01-12 23:00:40 +00:00
go.sum chore(deps): update module github.com/riverqueue/river/riverdriver/riverdatabasesql to v0.30.0 2026-01-12 23:00:40 +00:00
HIKVISION.md HIKVISION.md: Document how the one-time door unlock works 2025-06-29 10:47:37 -07:00
LICENSE bloop 2025-03-20 17:59:43 -07:00
README.md README: we're so back 2025-06-29 10:35:25 -07:00
renovate.json bloop 2025-03-20 17:59:43 -07:00
sqlc.yaml bloop 2025-03-20 17:59:43 -07:00

cardkey

The self-service cardkey management system for the hackerspace! It lets people self-serve card activation/deactivation, handles chat announcements for door taps, and eventually strives to have other door-related self-serve features.

Contributors

Prerequisites

  • Go
  • Docker (and maybe podman, but untested)

To work on specific features, you may also need:

  • Door controller (Omni Security) credentials

Getting Started

  1. Clone the repository

  2. Start the development environment

    docker compose up -d
    

    This will start PostgreSQL and Keycloak services with pre-configured test users and groups.

  3. Create your configuration file

    cp cardkey.sample.json cardkey.json
    

    Update any necessary settings in cardkey.json.

  4. Run the thing

    go run cmd/cardkey/main.go
    
  5. Access:

Test Users

  • Regular member: john/password
  • Member who also is in the admin group: jane/password
  • Real Keycloak admin: admin/admin