* extract kindsys
* reinstate kindsys report
This may end up living somewhere else (or not! who knows!), but the important part is that I don't get rid of it right now :)
I hate the package layout (kindsysreport/codegen) for the main function and will take pretty much any alternative suggestion, but we can change also change it later.
Note that the generated report.json is in a different location - anything using this (ops something) needs to be updated.
* kindsysreport in codeowners
* Update codeowners file to transfer ownership of a few panels while dataviz is forming
* Update kindsys report
---------
Co-authored-by: Zoltán Bedi <zoltan.bedi@gmail.com>
* chore: remove export service POC from main
This is a POC and we'll see it, or something like it, again!
* remove frontend changes
---------
Co-authored-by: Ryan McKinley <ryantxu@gmail.com>
* MVP of a new datasource picker
* Add datasource select history, naming DatasourceSelect -> DataSourceDrawer
* refactor cards
* Cleanup and fixing sort order for recents
* add feature flag
* fix feature flag name and use it
* Highlight selected
* Move new ds picker to core
* Restore original datasource picker
* Remove unused property
* update yarn.lock
* Rename folder, update codeowners
* add test for util functions
* Remove es-lint exception
* Change feature toggle description
* remove unnecessary if
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
* Make test a bit more clear
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
* Clean up api, filter once and before maps, minor code cleanup
* Fix prettier issue
---------
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
* Reorder documentation section to be first by depth, then alphabetically
This matches the organization described in the top of the CODEOWNERS
file.
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Update technical documentation CODEOWNERS to reflect areas of responsibility
@Eve832 is responsible for all docs not owned by another technical
writer.
@Eve832 and @GrafanaWriter are responsible for Administration, Data
sources, Explore, and Release notes.
@Eve and the plugins teams are responsible for developer plugins documentation.
@brendamuir is responsible for all alerting documentation.
@chri2547 is responsible for Fundamentals, Getting started,
Introduction, Setup Grafana, Upgrade guide, and What's new.
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Add explicit code ownership for /devenv/README.md
This was lost when the README.md pattern was made more strict.
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Add @josmperez to plugins reviews
---------
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* add anon sessions package
* add usage stat fn
* implement count for cache
* add anonservice to authn broker
* lint
* add tests for remote cache count
* move anon service to services
* wrap tagging in goroutine
* make func used
* add new scenario to config
* make workflow run on opened issues
* revert-dont run on opened
* action for newly opened issues
* move new action config
* remove opened from commands
* change name
* Update .github/workflows/issue-opened.yml
ty!
Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
* make comment clearer
---------
Co-authored-by: Timur Olzhabayev <timur.olzhabayev@grafana.com>
* drag files to dashboard
* use file name as panel title
* add file size limitation, file type limitation and error handling
* Refactor file parsing for code sharing
move accepted types and max size to file-import constants
show which file types are allowed in file type error
* update codeowners
* Adjust max size to 1mb
The new tokens are managed centrally and have a longer expiry.
Administrators of the grafanabot account will be
notified of the pending expiry and the secret can be rotated centrally
without the need for a repository administrator to update their
secrets.
The existing repository secrets can safely be removed. The tokens for
those secrets will be removed by the end of this week.
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
The GH_BOT_ACCESS_TOKEN has permissions beyond those required for
addToProject and other API commands that the issue_commands workflow uses.
The new token is set at an organization level so it does not require
repository administrators to rotate the token. It also has the minimal
classic PAT permissions to facilitate the workflow.
It has expiry but that expiry is reported via email to the engineering
organization and the IT Helpdesk have permissions to regenerate the
token when expiration is imminent.
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Initial schema
- Add types based off of current frontend
* Rename and field-level comments
* Update report and regenerate files
* Rename frontend Azure folder
- Doing this for consistency and to ensure code-generation works
- Update betterer results due to file renames
* Remove default and add back enum vals that I deleted
* Set workspace prop as optional
* Replace template variable types
* Connect frontend query types
- Keep properties optional for now to avoid major changes
- Rename AzureMetricResource
- Correctly use ResultFormat
* Add TSVeneer decorator
* Update schema
* Update type
* Update CODEOWNERS
* Fix gen-cue issue
* Fix backend test
* Fix e2e test
* Update code coverage
* Remove references to old Azure Monitor path
* Review
* Regen files
* Add steps in the pipeline for cloning enterprise when running PR tests.
* Removed enterprise-check from the github action workflows, and removed it from the codeowners file.
* Move TraceView to core grafana
* Remove unused code
* yarn install
* Remove jaeger-ui-components from CODEOWNERS and other tools
* Type fixes
* yarn install
* Remove mock that we no longer need
* Fix merge conflicts
* Re-add Apache license for trace view components
* Use an exclamation-circle instead of triangle to denote errors
* Remove eslint disables and update betterer results instead
* schematize data query
* add the stuff you dingus
* feat(testdatasource): add scenario to generated types
* use generated testdata query in frontend
* update code owners
* Add path exception for testdata datasource
* use specific numeric data types
* fix test
* fix e2e smoketest
* add test data query type
* use test data query type
* fix betterer
* Fix typo
* move to experimental
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
Co-authored-by: sam boyer <sdboyer@grafana.com>
Co-authored-by: Alex Khomenko <Clarity-89@users.noreply.github.com>
* dashboards: Mark dashboards team as kind owner
* Update .github/CODEOWNERS
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
Co-authored-by: Ivan Ortega Alba <ivanortegaalba@gmail.com>
That directory is no longer used in published docs and causes this
workflow to fail when changes only affect the packages directory.
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Create issue-add-to-parent-project.yml
Tested in https://github.com/grafana/github-actions-testrepo/blob/main/.github/workflows/issue-add-to-parent-project.yml
* Rename issue-add-to-parent-project
Rename issue-add-to-parent-project and update to make it clear it's Platform UX specific for now.
* Add action trigger on closed epics
Update epic-add-to-platform-ux-parent-project.yml to add action trigger on closed alongside the others and fix typo.
Ensures the workflow is run on every push to all version branches.
This was thought to be working because it was tested with a manual
dispatch, however, that trigger does not consider filters and was not
an accurate test.
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Adding support for backend plugin client middlewares. This allows headers in outgoing
backend plugin and HTTP requests to be modified using client middlewares.
The following client middlewares added:
Forward cookies: Will forward incoming HTTP request Cookies to outgoing plugins.Client
and HTTP requests if the datasource has enabled forwarding of cookies (keepCookies).
Forward OAuth token: Will set OAuth token headers on outgoing plugins.Client and HTTP
requests if the datasource has enabled Forward OAuth Identity (oauthPassThru).
Clear auth headers: Will clear any outgoing HTTP headers that was part of the incoming
HTTP request and used when authenticating to Grafana.
The current suggested way to register client middlewares is to have a separate package,
pluginsintegration, responsible for bootstrap/instantiate the backend plugin client with
middlewares and/or longer term bootstrap/instantiate plugin management.
Fixes#54135
Related to #47734
Related to #57870
Related to #41623
Related to #57065
* streamline and sync dockerfiles
* improve go dependency cacheability
* unify alpine and ubuntu Dockerfiles
* include glibc support in locally-built alpine images
* Update thema to latest
* Deal with s/Library/*Runtime/
* Commit new, working results of codegen
* We like pointers now
* Always take runtime arg for NewBase()
* Sketchy handwavy pass at entity meta framework
* Little nibbles
* Update pkg/framework/coremodel/entityframework.cue
Co-authored-by: Artur Wierzbicki <wierzbicki.artur.94@gmail.com>
* Move file into new framework location
* Introduce loaders, Go code
* Complete rename to kind
* Flesh out framework, add svg/dashboard examples
* Cruft removal
* Remove generated kind go files from gitignore
* Refine maturity concept, add SlotKind
* Update embed and go deps
* Export PrefixWithGrafanaCUE
* Make the loader actually work, holy crap
* Many small tweaks to type.cue
* Add Apache 2 licensing exceptions for kinds
* Add new kinds dir, start of generator
* Roll back to earlier oapi-codegen
* Introduce new grafana-specific CUE loaders
* Introduce new tidy code generators framework
* Catch up kind framework with tinkering
* Add slices for the generators
* Add write/verify step to main generator
* Many renames
* Split up kind framework cue files
* Use kind.Decl within generated kinds
* Create kind.SomeDecl wrapper type to cache lineages
* Better names again
* Get one generated implemented, hopefully
* Copy dashboard schema into new kind.cue
* Small fixes to make the initial gen work
* Put svg kind in its new home
* Add generated Go dashboard type
* More renames and cleanups
* Add base kind registry and generator
* Stop blacklisting *_gen.go files
This is not the Go best practice, anyway. All we actually want to ignore
for enterprise is generated wire files.
* Change codegen output directories
pkg/kind -> pkg/kinds
pkg/registry/kindreg -> pkg/registry/corekind
* Rename pkg/framework/kind to pkg/kindsys
* Add core structured kind generator
* Add plural and machine names to kind spec
* Copy playlist over to kind system
* Consolidate kindsys files
* Add raw kind generator
* Update CODEOWNERS for kind framework
* Touch up comments a bit
* More docs tweaks
* Remove generated types to reduce noise for review
* Split each generator into its own file
* Rename Slot kind to Composable kind
* Add handwavy types for customkind loading
* Guard against init calls to framework loader
* First pass at doc on extending the kind system
* Improve attribute example in docs
* Fix wire imports
* Add basic TS types generator
* Fix composable kind category def
* No need for a separate file with generate directive
* Catch dashboard schema up
* Rename generator types to something saner and generic
* Make version configurable in ts/go generators
* Add CommonMeta to ease property access
* Add kindsys prop indicating whether lineage is group
* Put all kind categories back in a single file
* Finish with kindsys group props
* Refactor maturity progression per discussion
- Replace "committed" with "merged"
- All kindcats can use all maturity levels, at least for now
* Convert ts veneer index generator to modular system
* Move over to new jennywrites framework
* Strip down old coremodel generator
* Use public version of jennywrites
* Pull latest thema
* Commit generated Go types
* Add header injection postprocessor
* Move sdboyer/jennywrites to grafana/codejen
* Tweak header output
* Remove dashboard and playlist coremodels
* Fix up backend dashboards devenv test
* Fix TS import patterns to new gen filename
* Update internal imports, remove coremodel registry
* Fix compilation errors, wire generation
* Export and replace the prefix dropper
* More Go struct and field name changes
* Last name fixes, hopefully
* Fix lint errors
* Last lint error
Co-authored-by: Artur Wierzbicki <wierzbicki.artur.94@gmail.com>
* Switching to new output format for detect breaking changes action
* linting: wrap $GITHUB_OUTPUT with double quotes
* linting: fix shellcheck issues in the right place 🤦♂️
Co-authored-by: Levente Balogh <balogh.levente.hu@gmail.com>
* add explicit build step for go codeql
* support workflow_dispatch for codeql checks
* syntax fix
* enable on push to codeql-go branch
* test
* use go version from go.mod
* explicitly set go version
* tidy up, add workflow_dispatch support to all codeql actions
* Update credentials form with data-testids and aria-labels
* Update gitignore
* Add example dashboard
* Stub out E2E test for creating ds and importing dashboard
* Add component selectors
* Remove subscription check temporarily
* Appropriately set disabled prop
* Fix lint issues
* Update to use selectors and wait on subscriptions request
* Add test for metrics panel
- Add required selectors for resource picker and metrics query editor
* Add logs and ARG basic query scenarios
- More selector updates
* Add E2E test for template variables
- Tests advanced resource picker
- Adds required selectors
* Remove log and add annotation e2e test
* Update test
* Prettier/betterer updates
- Remove gitignore change
* Lint issues
* Update betterer results
* Lint issue and remove unneeded import
* Don't print certain commands
* Avoiding flakiness
- Ensure code editor has sufficient time to load in ARG test
- Avoid flakiness around correct template variable being selected by typing in resource name
* Remove be.visible requirement
* Update test
* Update selector name
* Reuse datasource
* Fix datasource reuse and combine query tests
* Remove import dashboard step as unneeded
* Review
- Randomise datasource name
- Skip annotations test
- Remove unused example dashboard
* Update to ensure e2e test works in CI
* Update e2e test
- Update environment variables (process is not available in cypress)
- Add wait on resource picker searches to avoid flakiness
- Update subscription and resource group names
* Update CODEOWNERS
* Parse credentials in CI from outputs file
* Update outputs file path
* Fix selector
* Undo selector change
* Update e2e tests
- Set default subscription
- Fix datasource selection in variable editor
- Fix resource picker search flakiness
- Set subscription in ARG query test
- Fix resource group selection
- Update resource group
* Review
* Review 2
* refactor(breaking-changes): make sure to pack and zip tarballed packages before artifact upload
* feat(check-breaking-changes): support extracting npm package tarballs before comparing packages
* chore(breaking-changes): fix typo preventing upload of pr_built_packages.zip
* Add doc-validator tool to CI
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Use simpler apostrophe to make title match h1
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Ensure doc-validator CI always passes until all errors are resolved
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Instead of downloading the entire grafana/grafana repository, the
workflow now simply fetches the file containing the map of labels
and teams. This change makes the workflow much faster.
* Update dependency node-fetch to v3
* add node-fetch to the renovate ignore list as it's esm only at the moment
* revert back to 2.6.7
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
This will help the UX team create issues for their work faster. That way we can be more open about our work and help both Grafanistas and community members see what we're doing.
* Drone: add enterprise-init-downstream step
* fixes
* Add OSS_PULL_REQUEST env variable for downstream builds
* sign Drone config
* Update .drone.yml
* use test grabpl
* test without init step
* fix downstream branch
* unknown branch test
* use drone-downstream test image
* revert latest changes
* update Drone and add GH workflow
* fix PR number
* Run Enterprise PR check only on PRs targeting main or release branch
* update repository dispatch action
* remove test data
* update grabpl version