Commit Graph
188 Commits
Author SHA1 Message Date
Ryan McKinley 768295f926 Provisioning: Return upsert resource when writing (#101574) 2025-03-06 15:04:27 +03:00
Ryan McKinley de9febcab7 Provisioning: Include URLs in ResourceWrapper response (#101511) 2025-03-06 12:34:14 +03:00
Roberto Jiménez Sánchez 7269d8ad78 Rename to push / pull everything user-facing (#101577)
* Rename to push / pull all everything user-facing

* Use automatic pulling wording
2025-03-05 12:03:51 +01:00
Ryan McKinley e51c5796df Merge remote-tracking branch 'origin/main' into grafana-git-ui-sync 2025-03-05 09:54:51 +03:00
Ryan McKinleyandStephanie Hingtgen dc2defd84f K8s/Annotations: Use manager/source annotations rather than repo (#101313)
Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-03-05 08:54:20 +02:00
Ryan McKinley 301e727f82 merge dashboard changes 2025-03-04 07:50:04 +03:00
Ryan McKinley c1b48cc488 Dashboards: Add apiVersion to dashboard table (#100845) 2025-03-04 07:47:45 +03:00
Roberto Jiménez Sánchez caf4b3d346 [Provisioning] Remove linting from MVP (#101286)
* Remove Linting backend

* Re-generate client
2025-02-25 12:47:10 +01:00
Ryan McKinley 422519e84a update codegen 2025-02-24 21:22:54 +03:00
af61516986 POC/Provisioning: Handle connect step errors (#101192)
* Provisioning: Unify status handling in repository and migrate steps

* Refactor: Move WorkflowsField outside RepositoryStep and use proper type

* Refactor: Improve repository verification error handling and UI

* Refactor: Simplify repository verification error handling

* Refactor: Simplify RepositoryStep component structure

* Refactor: Improve error handling in RepositoryStep

* Refactor: Remove redundant repository creation logic from ProvisioningWizard

* Refactor: Simplify RequestErrorAlert component

* show github error

* now will verify

* test .git

* recover from bad config

* Update error handling

* Remove unused prop

* merge upstream

* Show migration summary

* Update text

* Improve text

* Betterer

* [Provisioning] Review controller changes (#101216)

* Review health check conditions

* Move down the logic to set up the sync status

* Skip if it's only a health check rerun

* Fix health check conditions

* Preserve last ref

* Format code

* Rename to shouldSkipSync

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Roberto Jiménez Sánchez <roberto.jimenez@grafana.com>
2025-02-24 16:44:33 +02:00
Mariell Hoversholm e137385a81 Merge remote-tracking branch 'origin/main' into grafana-git-ui-sync 2025-02-24 10:17:08 +01:00
279b641469 Provisioning: Define large parts of our infrastructure (#101029)
* Provisioning: Define secrets service

* Provisioning: Create and store secrets service

* Provisioning: Define safepath

* Provisioning: Define the repository

* Identity: Support a provisioning service

* Provisioning: Define a job queue

* Chore: Regen code

* Provisioning: Show progress more often

Co-Authored-By: Ryan McKinley <ryantxu@gmail.com>

* Provisioning: Rename hash field to lastRef

Co-Authored-By: =?UTF-8?q?Roberto=20Jim=C3=A9nez=20S=C3=A1nchez?= <roberto.jimenez@grafana.com>

* Provisioning: Workflows as write access

Co-Authored-By: Ryan McKinley <ryantxu@gmail.com>

* Provisioning: Regen OpenAPI snapshot

* Provisioning: Update tests to match new fields

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: =?UTF-8?q?Roberto=20Jim=C3=A9nez=20S=C3=A1nchez?= <roberto.jimenez@grafana.com>
2025-02-24 09:08:58 +01:00
Ryan McKinley 33621faf0a Merge remote-tracking branch 'origin/main' into grafana-git-ui-sync 2025-02-21 15:53:08 +03:00
Todd Treece 3992ac2ac1 Dashboard: Multi-version builder (#100305) 2025-02-21 06:50:29 -05:00
Ryan McKinley cfa4923fca Merge remote-tracking branch 'origin/main' into grafana-git-ui-sync 2025-02-21 13:29:41 +03:00
Carl Bergquist 79c0e5e3ec scopes: moves scopes to enterprise (#100746)
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2025-02-21 08:51:34 +01:00
Roberto Jiménez Sánchez d10200c5ad [Provisioning] Fix issue with last ref (#101056)
* Fix issue with last ref

* Update frontend code

* Fix the local tmp test

* Use lastRef
2025-02-20 16:03:51 +01:00
842f68f91b Provisioning: Workflows as write access (#101031)
* workflow as write access

* workflow as write access

* workflow as write access

* Update pkg/registry/apis/provisioning/repository/test.go

Co-authored-by: Mariell Hoversholm <mariell.hoversholm@grafana.com>

* POC/Provisioning: Add wizard (#100596)

* update refs

* update refs

* lint fix

* lint fix

* lint fix

* default everythign to read only

* reuse form components

* remove main

---------

Co-authored-by: Mariell Hoversholm <mariell.hoversholm@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
2025-02-20 11:01:03 +01:00
Roberto Jiménez Sánchez bd6e812792 [Provisioning] Miscellanenous bug fixes and improvements (#100976)
* Error if found duplicate ID

* Fix issue with manual test button

* Fix issue with health errors not going away

* Display status in sync overview

* Use patch operations instead

* Trigger sync job after status update

* Convert Export Tab into modal

* Remove unused FieldSet import

* Only last 8 jobs

* Remove Links card

* Use button for Github Source Code

* Add actions to resources page

* Add resource column to Repository Resources

* Display Job Spec in RecentJobs

* Display dates in history page

* Display Avatar if available

* Improve styling of the avatar

* Update betterer

* Remove duplicate history header in history

* Commit betterer

* Address code styling issues
2025-02-19 17:44:48 +01:00
Ryan McKinley 61d901a10c Provisioning: Move legacy export/import into a single migrate job (#100865) 2025-02-19 18:59:52 +03:00
Mariell Hoversholm 23e08778c9 Merge remote-tracking branch 'origin/main' into grafana-git-ui-sync 2025-02-17 13:20:19 +01:00
f535a7804f Provisioning: Update types (#100722)
* Provisioning: Remove S3

* Provisioning: Use URL for GitHub

Co-Authored-By: Ryan McKinley <ryantxu@gmail.com>
Co-Authored-By: Alex Khomenko <Clarity-89@users.noreply.github.com>

* Provisioning: Use workflow list

Co-Authored-By: =?UTF-8?q?Roberto=20Jim=C3=A9nez=20S=C3=A1nchez?= <roberto.jimenez@grafana.com>

* Provisioning: Model secrets

* Provisioning: Define a total in the job summary

* Provisioning: Generate code

* Provisioning: Update testdata

---------

Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: =?UTF-8?q?Roberto=20Jim=C3=A9nez=20S=C3=A1nchez?= <roberto.jimenez@grafana.com>
2025-02-17 12:45:23 +01:00
Andrej Ocenas eff847e31f Query Library: Move backend to enterprise (#100371) 2025-02-17 08:56:55 +02:00
Roberto Jiménez Sánchez bdab859198 [Provisioning] Consolidate job status report in JobProgressRecorder (#100718)
* Log also successful operation

* Consolidate stop logic under TooManyErrors

* Use error for TooManyErrors

* Pass the progress recorder

* Define JobProgressRecorder interface

* Do not expect workers to return status

* Remove scenarios due to pointers

* Use recorder to manage the entire state
2025-02-14 13:29:40 +01:00
Andrej Ocenas d092998927 Query Library: Move backend to enterprise (#100371)
* Move files to enterprise

* Remove last parts of QL api

* Fix CODEOWNERS
2025-02-14 11:05:03 +00:00
Mariell Hoversholm 9b7b68195e Merge remote-tracking branch 'origin/main' into grafana-git-ui-sync 2025-02-14 07:38:22 +01:00
Stephanie Hingtgen e2081c3e0c K8s: Fix legacy fallback provisioning (#100566) 2025-02-13 21:32:25 +02:00
Roberto Jiménez Sánchez 18a938cf03 [Provisioning] Remove S3 Option (#100638)
Remove S3 option
2025-02-13 17:10:10 +01:00
Mariell Hoversholm 1f36907481 Provisioning: Encrypt webhook secret (#100612)
* feat: encrypt webhook secret

* chore: regen code
2025-02-13 16:27:55 +01:00
Ryan McKinley e83f764da9 merge main 2025-02-13 18:17:00 +03:00
Ivan Ortega Alba 527fc3bb21 Dashboards: Remove schemaVersion < min_version validation (#100555) 2025-02-13 06:56:16 -08:00
Ryan McKinley 06de4c0041 Provisioning: legacy → git → unified (#100481) 2025-02-13 17:13:32 +03:00
Mariell Hoversholm 45a586c725 feat: regen openapi 2025-02-13 13:25:21 +01:00
Mariell Hoversholm 158eebe45b Provisioning: Encrypt GitHub token (#100515)
* feat: new secrets impl

* fix: send interval as a number

* feat: use UUIDs for webhook secrets

* Provisioning: Encrypt GitHub token

* refactor: have a wrapping interface

* refactor: simplify decryption

* refactor: move encryption to mutation hook

* feat: use omitempty again

* feat: always decrypt

* chore: update comment to reality
2025-02-13 10:33:26 +01:00
Mariell Hoversholm dbc4031a2a Merge remote-tracking branch 'origin/main' into grafana-git-ui-sync 2025-02-13 09:20:15 +01:00
Ivan Ortega Alba 2b2b19478a Dashboard V0->V1 Migration: Schema migration v41 (#100554) 2025-02-13 08:19:51 +01:00
Ryan McKinley f2911bdebb Merge remote-tracking branch 'origin/main' into grafana-git-ui-sync 2025-02-13 09:45:28 +03:00
Ivan Ortega Alba e60e217a23 Dashboard V0->V1 Migration: Schema migration v37 (#99962) 2025-02-12 21:19:57 +02:00
Ivan Ortega Alba 950726a3c5 Dashboard V0->V1 Migration: Schema migration v38 (#99778) 2025-02-12 19:52:39 +01:00
Alex KhomenkoandRyan McKinley ecca6d32af POC/Provisioning: Combine owner/repo into URL field (#100397)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
2025-02-11 16:34:57 +03:00
Roberto Jiménez SánchezandClarity-89 2a220b530d [Prototyping] Github Spec to allow push to main or force to use pull requests (#97001)
* Change to have workflows

* Update Frontend

* Run generation

* Add openapi file

* Revert unexpected changes

* Add enum

* Add description to workflows

* Add mapper function to please ESLint

* Remove pull request option

* Remove leftovers

* Configure sync interval in frontend

* Address most comments

* Regenerate client

* Fix compile issue

* Update WorkflowOption type

---------

Co-authored-by: Clarity-89 <homes89@ukr.net>
2025-02-10 15:23:49 +01:00
Ryan McKinley ea38dfcbdc Provisioning: Refactor export to simplify loading from legacy storage (#100335) 2025-02-10 14:21:14 +03:00
Mariell Hoversholm dfaa12b800 Provisioning: Sync API with current feature branch (#100252)
* Provisioning: Jobs: Define repository name field

* Provisioning: Jobs: Separate options per job type

* Provisioning: Define a sanitised settings resource

* Provisioning: Jobs: Define a job summary

* Provisioning: Remove linting

* Provisioning: Update docs for a few fields

* Provisioning: Remove HelloWorld

* Provisioning: Replace Repository with Message in job info

* Provisioning: Remove YAML support

* Provisioning: Remove custom folder specification

* Provisioning: Support read-only repositories

* Provisioning: Remove edit options

* Provisioning: Add sync options for repositories

* Provisioning: Add resource statistics

* Provisioning: Make slices atomic lists

* Provisioning: Message list needs to exist even if empty

If we don't do this, we can't clear the messages field, leading to buggy UX.

* Provisioning: Support incremental syncing

* Provisioning: Remove the 'items' subresource workaround

* Provisioning: Add resource list

* Provisioning: Reformat

* Provisioning: Declare new types

* OpenAPI: Generate openapi JSON spec from generated code

* Codegen: Generate OpenAPI spec

* Provisioning: Support generating frontend API

* Codegen: Generate Go code

* Provisioning: Define the base API

* Codegen: Generate frontend endpoints for provisioning

* Refactor: yarn prettier:write

* Provisioning: Tiger team takes ownership

* Chore: Remove dir we haven't added yet

* Provisioning: Remove frontend

* Test: Update example repositories
2025-02-07 15:35:55 +01:00
Ryan McKinleyandRoberto Jiménez Sánchez 13b607875b POC/Provisioning/Syncer: keep progress while running a sync job (#100017)
* same replicate

* with feedback

* one pass

* so close... but delete error

* fix api

* keep hash

* incremental works

* cleanup

* cleanup

* UID cleanup

* err style

* split the two changes

* openapi

* fix timestamps

* sort deletes first

* changes

* make sure to keep folders

* cleanup

* cleanup

* tested complete

* incremental

* Update pkg/apis/provisioning/v0alpha1/jobs.go

Co-authored-by: Roberto Jiménez Sánchez <roberto.jimenez@grafana.com>

* incremental

* complete

* lint fix

* use constant

* Update pkg/registry/apis/provisioning/jobs/syncer.go

Co-authored-by: Roberto Jiménez Sánchez <roberto.jimenez@grafana.com>

* Update pkg/registry/apis/provisioning/jobs/syncer.go

* use currentRef

---------

Co-authored-by: Roberto Jiménez Sánchez <roberto.jimenez@grafana.com>
2025-02-07 09:23:07 +01:00
Clarity-89 4dfaebc5f3 Update codegen 2025-02-07 08:08:11 +02:00
Clarity-89 42d7ca0c53 Merge branch 'main' into grafana-git-ui-sync
# Conflicts:
#	go.work.sum
2025-02-07 07:56:40 +02:00
Will AssisandStephanie Hingtgen 1467d4b3e3 [search] Legacy search fallback support legacy query params (#99765)
* add support for deleted query param

* support tag query param in modes 2 and below

* handle dashboardIds

* hhandle dashboardUIDs

* handle folderUIDs query param

* handle page query param when hitting legacy storage

* handle sort query param

* handle type query param

* re-enable search fallback

* remove folder search workaround and fix /api/search to return both folders and dashboards when no title or type is provided

---------

Co-authored-by: Stephanie Hingtgen <stephanie.hingtgen@grafana.com>
2025-02-06 11:30:47 -05:00
Roberto Jiménez Sánchez f5725e1b1e [Provisioning] Fix sync status messages not updated (#100186)
Fix sync status messages
2025-02-06 13:44:59 +01:00
Clarity-89 8d041bb8ba Merge branch 'main' into grafana-git-ui-sync
# Conflicts:
#	.betterer.results
#	public/app/core/components/NestedFolderPicker/NestedFolderPicker.tsx
2025-02-06 08:04:13 +02:00
Ivan Ortega Alba d53b269455 Dashboard V0->V1 Migration: Schema migration v39 (#99631) 2025-02-05 13:50:38 +01:00