Commit Graph
21 Commits
Author SHA1 Message Date
Peter Štibraný 584287dc61 Add support for LIST with filtering on selectable fields 2025-12-15 12:10:43 +01:00
Mihai Doarna b2e1b257b3 IAM: Add search for teams in app platform (#113503)
* add legacy search (wip)

* fix search field name

* implement team search endpoint

* generate openapi spec

* generate endpoints for frontend

* minor fixes

* fix issues found while testing

* add more fields to search result

* add basic unit tests

* add more unit tests

* improve getColumns() func in legacy search

* configure search endpoint in team.cue

* add team search handler

* add the searchTeams endpoint to manifest.cue

* make gofmt

* update openapi spec

* generate frontend endpoints

* remove unused field

* move fields defiitions to separate builder

* fix legacy search

* fix unit tests

* fix unit test

* address feedback

* fix unit test

* update openapi specs

* yarn generate-apis

* add missing unit tests
2025-12-08 15:02:59 +02:00
Ryan McKinley 75eb820c73 Folders: update manifest (avoid useoldmanifestkinds) (#114827) 2025-12-05 15:01:11 +03:00
Misi 93ec32dd6a IAM: Add teams/{id}/groups as a custom endpoint to Teams API (#114228)
* Add teams/{id}/groups as a custom endpoint

* TeamGroupsHandler OSS and Ent registration

* Update OpenAPI spec

* Add indexer tests for external group mapping

* Remove noopsearch

* Remove unnecessary interface declaration, fixes

* Chores

* fmt

* Rename constant

* Align the rest to the changes of main

* Update workspace

* Add missing file
2025-11-25 14:19:57 +01:00
Misi 06373ae47b IAM: Add ExternalGroupMapping kind for TeamSync (#113052)
* wip

* wip

* Add authorizer -> VERIFY it's working correctly

* Update openapi definitions

* Authorizer wip

* regen apis

* Increase timeout of pg int tests to 20m

* Revert "Increase timeout of pg int tests to 20m"

This reverts commit 8c20568217.

* Fix NewTestStore when Truncate is enabled
2025-11-05 18:02:34 +01:00
Misi 9c676b3ae7 IAM: Rename Name to Title in UserSpec (#112862)
* Use Title as the name of the display name for User

* Align tests
2025-10-23 16:03:28 +02:00
Mihai Doarna 54c224dae7 IAM: Add the external field to the TeamBinding spec (#112382)
* add the external field to the TeamBinding spec

* fix unit tests
2025-10-15 11:21:33 +03:00
Mihai Doarna 6d7c50f18d IAM: Refactor team bindings to store one pair of team and member (#111871)
* store one pair of team member in team bindings object

* generate queries for sql unit tests

* remove TeamBinding struct
2025-10-03 16:48:51 +03:00
Alexander ZobninandGabriel MABILLE 893523dd7c grafana-iam: Wire RoleBindings APIs to OSS (#111728)
* Update role binding specs

* Wire role bindings APIs in OSS

* gofmt

* revert modules updates

* update specs

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

* update registration

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>

* fix reader

* fix format

* add role bindings mapper

* remove namespace from subject spec

* fix formatting

* update api specs

* Fix role binding registration

* remove mapper

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2025-09-29 14:28:12 +02:00
Misi c012a95fa1 IAM: Add role to User (#111256)
* codegen fix

* Return user role from the legacy store

* Lint

* Add tests, gen openapi

* make generate

* revert go.mod, go.sum, go.work.sum changes

* Update go.mod and go.sum
2025-09-19 11:12:00 +02:00
Mihai Doarna 9d9dca3208 IAM: Adds the team creation endpoint in app platform (#111003)
* implement team creation for legacy store

* add generated code

* add basic integration test

* add new fields to get and list teams

* fix sql tests for teams

* register dual writer for team resource

* add generated code

* add more sql tests for team creation

* address feedback

* add integration tests
2025-09-18 14:43:07 +03:00
MisiandRyan McKinley badea8bc37 IAM: Create Service Account API and legacy store impl (#110411)
* wip

* IAM: Create Service Account

* Add dual writer

* Update openapi_test.go

* Add integration tests

* Add sql tests

* Add Role to SA spec, add validation, add DBTime, add tests

* Format, update test

* Fixes

* Add check for External

* Address feedback

* Update tests

* Address feedback

* make gen-go

* Simplify a bit

* Fixes

* make update-workspace

* Update pkg/registry/apis/iam/serviceaccount/store.go

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>

* Address feedback, add test for generateName

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-09-08 14:31:32 +02:00
Misi a5c05ba9c1 IAM: Moving code to the /pkg/apps/iam folder (#109985)
* wip

* Gen GetTeams with app sdk

* Revert some changes, cleanup

* Format iam_manifest.go

* Remove generated file

* Regenerate openapi defs

* Cleanup

* Remove TODO
2025-08-28 12:32:15 +02:00
Gabriel MABILLE 0284c3f1f9 grafana-iam: change resourcepermission to use a single verb (#110263)
* `grafana-iam`: change resource permission to only allow a single action set for now

* api changes
2025-08-28 11:25:38 +02:00
Mihai Turdean c8b0fd685b Implement a basic operator to reconcile the folder hierarchy from Unistore to Zanzana (#109705) 2025-08-20 17:14:06 +00:00
Mihai Turdean b1de534092 Refactor iam app cue files (#108542)
A breaking change was introduced by this grafana-app-sdk PR: https://github.com/grafana/grafana-app-sdk/pull/795

This PR refactors the definition of our CUE files (manifest and kinds) to match the new model in the latest version of grafana-app-sdk.
2025-07-24 09:52:52 +01:00
Todd Treece e5d2f92384 K8s: Add App SDK installer (#107773) 2025-07-21 13:32:15 -04:00
MisiandGabriel Mabille c6a6b9fdd2 IAM: Create and delete user from the legacy store (#107694)
* Add Create for User + DualWriter setup

* Add delete User

* Fix delete + access check

* Add tests for delete user

* Add tests for create user

* Fixes

* Use sqlx session to fix database locked issues

* wip authz checks

* legacyAccessClient

* Update legacyAccessClient, add tests for create user

* Close rows before running other queries

* Use ExecWithReturningId

* Verify deletion in the tests

* Add Validate and Mutate

* Other changes

* Address feedback

* Update tests

---------

Co-authored-by: Gabriel Mabille <gabriel.mabille@grafana.com>
2025-07-17 11:50:40 +02:00
Gabriel MABILLE 85a6a7b9c1 iam: add description field to roles (#107888)
* iam: add description field to roles

* Openapi gen

* Revert launch change
2025-07-10 09:24:30 +02:00
Misi 713f6d1551 IAM: Move resource definitions to apps/iam step 1 (#107389)
* wip

* Use serviceaccount model from /apps/iam

* revert version update

* Add tembinding, userteam, other improvements

* Change serviceaccounttoken spec

* Revert the change of ServiceAccountToken

* Revert the change of UserTeam

* Clean up

* Remove files that are not needed for now

* Lint

* Update sql query's integration tests

* Fix tests

* update openapi spec

* Move LastSeenAt to the annotations

* Updte openapi_snapshots

* Change lastSeenAt annotation name
2025-07-04 11:07:48 +02:00
Gabriel MABILLEandAlexander Zobnin c012480fd6 Authz: Define app resources (#105050)
* Authz: Define app resources

* Add coreroles and cluster roles

* Restore CODEOWNERS from main

* ManagedPermissions -> ResourcePermissions

* Rework changes

* Update apps/authz/kinds/v0alpha1/rolebindingspec.cue

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* Update apps/authz/kinds/v0alpha1/rolespec.cue

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>

* Make

* WIP first set of comments

* typox

* Copy folder Makefile

* Remove uid

* Rename authz -> iam

* Rename to iam

* Dockerfile

* Remove name

* Mv up

* Try with postprocess

* linting

* Use same version

* apimachinery v0.32.3

* update-workspace

---------

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
2025-05-21 14:47:44 +02:00