Commit Graph

7 Commits

Author SHA1 Message Date
chrisfu
9d5827b522 feat(auth): knoe-auth Phase 2 — OIDC provider surface (discovery, authorize, token, userinfo, JWKS), RS256 signing, Kerberos/SPNEGO integration, stateless session model, PrincipalNormalizer, typed config, init script, architecture doc, regression tests
Co-authored-by: Junie <junie@jetbrains.com>
2026-04-30 22:14:03 -07:00
chrisfu
3728889e25 Phase 1: OIDC provider integration and GKE auth deployment
- Implement Google OIDC support in Authority module via GoogleOAuthService

- Update AuthProperties and application.yml with OIDC configuration

- Add oidc-setup.md documentation for GKE/Google Cloud setup

- Update etc/init_knoe_auth.sh to handle OIDC secrets and path-B configuration

- Configure knoe-auth-deployment.yaml and gke.cfg for production auth

Co-authored-by: Junie <junie@jetbrains.com>
2026-04-28 12:22:45 -07:00
chrisfu
c326235138 chore(build): Maven version and authority module updates
Adds authority module to root POM, updates Spring Boot and
dependency versions in authority/pom.xml, application.yml
updated for KNOE.DEV realm defaults.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 14:47:27 -07:00
chrisfu
1417bc51f0 feat(auth): land Round 1 — invite-OTP enrollment, kadmin client, GKE manifests
Java implementation of the knoe-auth identity backbone (Round 1):

  authority/.../admin/         user admin REST endpoints (list, deactivate,
                               reset-totp, role management)
  authority/.../enroll/        invite-OTP web enrollment flow — accepts invite
                               token, creates Kerberos principal via kadmin,
                               seeds TOTP secret, returns keytab
  authority/.../provisioning/  contributor provisioning service — orchestrates
                               invite generation, principal lifecycle, role grants
  authority/.../kerberos/
    KadminClient.java          typed wrapper around the kadmin(1) subprocess;
                               create/delete/get-keytab/change-password

GKE manifests:

  deploy/gcp/gke/knoe-auth-deployment.yaml  two-container Pod (knoe-auth HTTP
                                             + kdc sidecar) with keytab-bootstrap
                                             initContainer
  deploy/gcp/gke/knoe-kdc-configmap.yaml    krb5.conf, kdc.conf, kadm5.acl and
                                             entrypoint for the embedded KDC
  deploy/gcp/gke/knoe-kdc-secrets.yaml      placeholder template — real values
                                             created by init_knoe_auth.sh via 1Password

See docs/plans/knoe-auth-round-1.md for full architectural narrative.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-27 14:47:27 -07:00
chrisfu
55b6a6aff3 Complete rebranding from prole to knoe and fix macOS application identity. Bulk renamed 'prole' to 'knoe' across code, scripts, and manifests. Updated Makefile with 'knoe', 'build', and 'start' targets. Implemented macOS Application Bundle (.app) support for correct identity. Fixed macOS 'Python' process name to 'Knoe.DB Installer' via Objective-C bridge. Standardized application name to 'Knoe.DB Installer' across all interfaces.
Co-authored-by: Junie <junie@jetbrains.com>
2026-04-22 15:08:35 -07:00
chrisfu
f44ce32a27 Rebrand and consolidate authentication and scanning systems. Consolidate Kerberos authentication system into authority/src and rename ProleAuthApplication to KnoeAuthApplication. Remove deprecated prole/, prole-app/, prole-mssql-db/, and prole-tools-app/ directories. Migrate and rename prole-net/prole-agent to scan/network-agent. Update install.sh, Makefile, and documentation to use Knoe branding and new scan paths. Rebrand configuration properties and URLs to knoe.dev and svc.knoe.dev.
Co-authored-by: Junie <junie@jetbrains.com>
2026-04-22 09:28:14 -07:00
chrisfu
909e92109e Refactor shell layout; add shellspec + authority
- Introduce lib/shell helpers and keep etc/* scripts thin via compatibility shims

- Move Kerberos validation to scripts/validation/check_kerberos.sh and update callers

- Add deterministic shellspec unit tests under tests/shellspec/ and wire Maven to run them

- Add minimal Spring Boot authority module with startup + /health endpoint and Maven wiring

- Document the new layout in docs/layout.md

Co-authored-by: Junie <junie@jetbrains.com>
2026-03-13 09:19:56 -07:00