Skip to content

v1.6.0

Compare
Choose a tag to compare
@canonical-iam canonical-iam released this 30 Apr 13:58
23724c0

1.6.0 (2024-04-30)

Features

  • add openfga_workers_total int config with default (b12ac05)
  • add payload_validation_enabled config key (419b042)
  • add SetTokens method + empty tokens don't get set (f165155)
  • add 3rd party validator to API structs + setupValidation func + initial noop middleware (1de0006)
  • add constructor for validator + use json tags for validation errors (44d7223)
  • add externalized Kube config file env var (9a63fe3)
  • add full validation implementation for schemas (45993ed)
  • add identity provider management, add logo (48f47ec)
  • add log tailing to skaffold run (a9725da)
  • add login screen (1befe87)
  • add pagination to clients, schemas and identity lists in ui. Add identity creation form WD-10253 (5f55463)
  • add URL param validation for groups handlers (24c8d99)
  • add Urn type (f7d33e2)
  • add validation implementation for clients (549d985)
  • add validation implementation for groups (700cf04)
  • add validation middlewareonly if payload validation is enabled + reorder middleware and endpoints registration (32814e8)
  • add validation setup for groups endpoint (06fb9f4)
  • add validation setup for identities endpoint (b4178c9)
  • add validation setup for schemas endpoint (8c5e173)
  • add ValidationRegistry for API validation + instantiate in router (50f0810)
  • add worker pool implementation (dbd2f9d)
  • adjust identity api to accept page token (beb0d42), closes #256
  • adjust pagination for schemas endpoints (e2a2df3), closes #44
  • allow create-fga-model cli command to save on a k8s coonfigmap (56463bb)
  • authorization middleware based on openFGA (8f2cb3e)
  • create groups service (3d8d648)
  • create roles service (c796135)
  • create token pagination extractor (215b6cb)
  • create-group: allow creator user to view group (efcaeec)
  • delete-group: delete all relation for group to delete (883b513)
  • enable authorization by default (6f61651)
  • enhance identity provider form to cover all providers and relevant fields, hide advanced fields by default (ef62667)
  • enhance ValidationRegistry with PayloadValidator and adjust in handlers + enhance Middleware + add func for ApiKey retrieval from endpoint (313617a)
  • enhanced ValidationError with specific field errors and common errors (a21462c)
  • handlers for groups API (63d5dc4)
  • handlers for roles API (114b284)
  • hook up worker pool for groups and roles API (ce83bd6)
  • idp: add validation implementation (71ff661)
  • implement converters for each type of API (09852b0)
  • include roles and groups from ReBAC Admin (5d03914)
  • introduce BatchCheck, WriteTuples, DeleteTuples and ReadTuples in openfga client (39eb195)
  • introduce groups API converter to deal with authorization in the middleware (5f8875a)
  • invoke setup validation on registered APIs (de16a0b)
  • parse and expose link header from hydra (7c2d3f6)
  • passing openfga store and model id to admin service (51f4fab)
  • roles: add validation implementation (6bf72e5)
  • rules: add validation implementation (c42bd45)
  • separate authorization client from OpenFGA client (2cc4dab)
  • upgrade openfga model (c49abd5)
  • use interface instead of client pointer (3e1ac0f)
  • use side panels for client and idp creation (ef798c4)
  • wire up groups API (352bc45)
  • wire up roles API in web application (16ba352)

Bug Fixes

  • adapt serve command to changes on k8s client (e6701e2)
  • add back URL Param validation from previous commit (ebe07a5)
  • add command for creating an admin user (50449a9)
  • add command for removing an admin user (2db3a08)
  • add extra check on list schemas test for navigation (2afec86)
  • add id validation to make sure it's never empty (fc7d560), closes #239
  • add page tokens to the response (5a13e4e)
  • add todo comment to catch issue with the user-identities sync (ed66418)
  • add validation to openfga config (300201c)
  • address empty IDs on schema and idp creation (e6dbf32), closes #227
  • address segfault when using noop client (5265512)
  • adjust openfga NoopClient setup (f253400)
  • adjust page offset for oathkeeper apis (7c22e06)
  • allow for k8s client to be configured using kubeconfig (136e957)
  • bundle up external clients and o11y setup into config structs (a660066)
  • change specs.EnvSper name for authorization model id (3eb270b)
  • clients: validation and improved tests (129a8a8)
  • deal with empty Data attribute in k8s configmap (56937c8), closes #254
  • delete role implementation (4b71734)
  • disable validation due to missing implementation of api validators (5c06b9b)
  • drop non can_ relations from group entitlements (5b225ae), closes #243
  • enhance cli model creation to bootstrap a store (e97fb0a)
  • enhance openfga client with CreateStore and helpers to set modelID and storeID on the fly (5d62fbf)
  • enhance registerValidation log message with error (ae95fa8)
  • get 404 with not found role (with can view) - get 403 (without can_view) (2a22054)
  • groups: validation and improved tests (255733e)
  • handleDetail to return 404 on missing group for authorized users + typo (b1a1e02)
  • identities: validation and improved tests (b4fa762)
  • introduce uri validation for params (5eecee4)
  • listing not working for user that created a role (b54d681)
  • pass interface to roles API to allow for openfga noop client (6d04a3d)
  • remove assignees tuples on DeleteGroup (1107165)
  • remove assignees tuples on DeleteRole (5772334), closes #285
  • remove page_token field in meta response (3756f0d), closes #271
  • removing extra #member on assignIdentities service call (bfde070), closes #283
  • removing extra #member on removeIdentities service call (74ab0ff)
  • schemas: validation and improved tests (ab8652f)
  • skip validation config on createFGAmodel cmd (ffd6563)
  • standardize on types.Response (02cc8ce), closes #244
  • standardize page token in clients api (7bdd3e7)
  • switch to use WriteTuples instead of WriteTuple (ba8a624)
  • update noop openfga client with newer methods (251a8a1)
  • use sync.Map for race conditions (603a7e1)
  • use the microk8s-hostpath storageclass to dynamically provision the persistent volume (29d8f39)
  • wire up new config structs into web application bootstrap (9e5587d), closes #222