[streams][content pack] archive format and portable dashboards#217288
[streams][content pack] archive format and portable dashboards#217288klacabane merged 75 commits intoelastic:mainfrom
Conversation
…urce-definitions/scripts/fix-location-collection.ts'
…t --include-path /api/status --include-path /api/alerting/rule/ --include-path /api/alerting/rules --include-path /api/actions --include-path /api/security/role --include-path /api/spaces --include-path /api/streams --include-path /api/fleet --include-path /api/dashboards --update'
…t --include-path /api/status --include-path /api/alerting/rule/ --include-path /api/alerting/rules --include-path /api/actions --include-path /api/security/role --include-path /api/spaces --include-path /api/streams --include-path /api/fleet --include-path /api/dashboards --include-path /api/saved_objects/_import --include-path /api/saved_objects/_export --update'
…urce-definitions/scripts/fix-location-collection.ts'
0d5ca1a to
e007f25
Compare
…support' in general
9b27e08 to
58d0285
Compare
x-pack/platform/plugins/shared/streams/server/routes/content/route.ts
Outdated
Show resolved
Hide resolved
|
Heya @klacabane ! I am trying to test this, but I cant seem to get the Is |
|
@kc13greiner streams app is disabled by default, you'll need to enable it with |
kc13greiner
left a comment
There was a problem hiding this comment.
LGTM! Thanks for the changes and info ➕
gsoldevila
left a comment
There was a problem hiding this comment.
LGTM, new file with test data added to the KBN archiver fixtures
💛 Build succeeded, but was flaky
Failed CI StepsTest FailuresMetrics [docs]Module Count
Public APIs missing comments
Async chunks
Page load bundle
Unknown metric groupsAPI count
History
|
|
Starting backport for target branches: 8.19 https://github.com/elastic/kibana/actions/runs/14590258341 |
💔 All backports failed
Manual backportTo create the backport manually run: Questions ?Please refer to the Backport tool documentation |
💚 All backports created successfully
Note: Successful backport PRs will be merged automatically after passing CI. Questions ?Please refer to the Backport tool documentation |
…ic#217288) ## Summary Allows one to export and import content packs in archive format. The format follows the integration content package's format so it becomes possible to import existing integration packages. Content packs only support dashboard assets at the moment. A pattern replacement logic has been implemented for dashboards and referenced data views: - at export time, any pattern matching the source stream will be replaced with a placeholder. Other patterns will remain as-is unless user explicitly ask to replace them - at import time, the placeholders are replaced with the target stream pattern For example, if a dashboard is first exported from stream `logs.nodejs` and reads data from patterns `logs.nodejs` and `logs.nodejs.prod`, the patterns will be updated to `logs.ruby` and `logs.ruby.prod` when imported into `logs.ruby` stream. The relevant UI components are hidden behind a feature flag, set the following in `kibana.dev.yml` to enable them: `feature_flags.overrides.featureFlagsStreams.contentPackUIEnabled: true` https://github.com/user-attachments/assets/9fb07daf-9fb9-4c62-9f5b-387e1833eaf0 --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: tommyers-elastic <106530686+tommyers-elastic@users.noreply.github.com> (cherry picked from commit 6a56939) # Conflicts: # .github/CODEOWNERS # oas_docs/bundle.json # oas_docs/output/kibana.yaml
…#217288) (#218870) # Backport This will backport the following commits from `main` to `8.19`: - [[streams][content pack] archive format and portable dashboards (#217288)](#217288) <!--- Backport version: 9.6.6 --> ### Questions ? Please refer to the [Backport tool documentation](https://github.com/sorenlouv/backport) <!--BACKPORT [{"author":{"name":"Kevin Lacabane","email":"kevin.lacabane@elastic.co"},"sourceCommit":{"committedDate":"2025-04-22T08:27:52Z","message":"[streams][content pack] archive format and portable dashboards (#217288)\n\n## Summary\n\nAllows one to export and import content packs in archive format. The\nformat follows the integration content package's format so it becomes\npossible to import existing integration packages.\n\nContent packs only support dashboard assets at the moment.\nA pattern replacement logic has been implemented for dashboards and\nreferenced data views:\n- at export time, any pattern matching the source stream will be\nreplaced with a placeholder. Other patterns will remain as-is unless\nuser explicitly ask to replace them\n- at import time, the placeholders are replaced with the target stream\npattern\n\nFor example, if a dashboard is first exported from stream `logs.nodejs`\nand reads data from patterns `logs.nodejs` and `logs.nodejs.prod`, the\npatterns will be updated to `logs.ruby` and `logs.ruby.prod` when\nimported into `logs.ruby` stream.\n\nThe relevant UI components are hidden behind a feature flag, set the\nfollowing in `kibana.dev.yml` to enable them:\n`feature_flags.overrides.featureFlagsStreams.contentPackUIEnabled: true`\n\n\n\nhttps://github.com/user-attachments/assets/9fb07daf-9fb9-4c62-9f5b-387e1833eaf0\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: tommyers-elastic <106530686+tommyers-elastic@users.noreply.github.com>","sha":"6a569398acd21ceefaa5cb62fb77f1df67cd63a3","branchLabelMapping":{"^v9.1.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:obs-entities","backport:version","Feature:Streams","v9.1.0","v8.19.0"],"title":"[streams][content pack] archive format and portable dashboards","number":217288,"url":"https://github.com/elastic/kibana/pull/217288","mergeCommit":{"message":"[streams][content pack] archive format and portable dashboards (#217288)\n\n## Summary\n\nAllows one to export and import content packs in archive format. The\nformat follows the integration content package's format so it becomes\npossible to import existing integration packages.\n\nContent packs only support dashboard assets at the moment.\nA pattern replacement logic has been implemented for dashboards and\nreferenced data views:\n- at export time, any pattern matching the source stream will be\nreplaced with a placeholder. Other patterns will remain as-is unless\nuser explicitly ask to replace them\n- at import time, the placeholders are replaced with the target stream\npattern\n\nFor example, if a dashboard is first exported from stream `logs.nodejs`\nand reads data from patterns `logs.nodejs` and `logs.nodejs.prod`, the\npatterns will be updated to `logs.ruby` and `logs.ruby.prod` when\nimported into `logs.ruby` stream.\n\nThe relevant UI components are hidden behind a feature flag, set the\nfollowing in `kibana.dev.yml` to enable them:\n`feature_flags.overrides.featureFlagsStreams.contentPackUIEnabled: true`\n\n\n\nhttps://github.com/user-attachments/assets/9fb07daf-9fb9-4c62-9f5b-387e1833eaf0\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: tommyers-elastic <106530686+tommyers-elastic@users.noreply.github.com>","sha":"6a569398acd21ceefaa5cb62fb77f1df67cd63a3"}},"sourceBranch":"main","suggestedTargetBranches":["8.19"],"targetPullRequestStates":[{"branch":"main","label":"v9.1.0","branchLabelMappingKey":"^v9.1.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/217288","number":217288,"mergeCommit":{"message":"[streams][content pack] archive format and portable dashboards (#217288)\n\n## Summary\n\nAllows one to export and import content packs in archive format. The\nformat follows the integration content package's format so it becomes\npossible to import existing integration packages.\n\nContent packs only support dashboard assets at the moment.\nA pattern replacement logic has been implemented for dashboards and\nreferenced data views:\n- at export time, any pattern matching the source stream will be\nreplaced with a placeholder. Other patterns will remain as-is unless\nuser explicitly ask to replace them\n- at import time, the placeholders are replaced with the target stream\npattern\n\nFor example, if a dashboard is first exported from stream `logs.nodejs`\nand reads data from patterns `logs.nodejs` and `logs.nodejs.prod`, the\npatterns will be updated to `logs.ruby` and `logs.ruby.prod` when\nimported into `logs.ruby` stream.\n\nThe relevant UI components are hidden behind a feature flag, set the\nfollowing in `kibana.dev.yml` to enable them:\n`feature_flags.overrides.featureFlagsStreams.contentPackUIEnabled: true`\n\n\n\nhttps://github.com/user-attachments/assets/9fb07daf-9fb9-4c62-9f5b-387e1833eaf0\n\n---------\n\nCo-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>\nCo-authored-by: tommyers-elastic <106530686+tommyers-elastic@users.noreply.github.com>","sha":"6a569398acd21ceefaa5cb62fb77f1df67cd63a3"}},{"branch":"8.19","label":"v8.19.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}] BACKPORT--> --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
…ic#217288) ## Summary Allows one to export and import content packs in archive format. The format follows the integration content package's format so it becomes possible to import existing integration packages. Content packs only support dashboard assets at the moment. A pattern replacement logic has been implemented for dashboards and referenced data views: - at export time, any pattern matching the source stream will be replaced with a placeholder. Other patterns will remain as-is unless user explicitly ask to replace them - at import time, the placeholders are replaced with the target stream pattern For example, if a dashboard is first exported from stream `logs.nodejs` and reads data from patterns `logs.nodejs` and `logs.nodejs.prod`, the patterns will be updated to `logs.ruby` and `logs.ruby.prod` when imported into `logs.ruby` stream. The relevant UI components are hidden behind a feature flag, set the following in `kibana.dev.yml` to enable them: `feature_flags.overrides.featureFlagsStreams.contentPackUIEnabled: true` https://github.com/user-attachments/assets/9fb07daf-9fb9-4c62-9f5b-387e1833eaf0 --------- Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: tommyers-elastic <106530686+tommyers-elastic@users.noreply.github.com>
Summary
Allows one to export and import content packs in archive format. The format follows the integration content package's format so it becomes possible to import existing integration packages.
Content packs only support dashboard assets at the moment.
A pattern replacement logic has been implemented for dashboards and referenced data views:
For example, if a dashboard is first exported from stream
logs.nodejsand reads data from patternslogs.nodejsandlogs.nodejs.prod, the patterns will be updated tologs.rubyandlogs.ruby.prodwhen imported intologs.rubystream.The relevant UI components are hidden behind a feature flag, set the following in
kibana.dev.ymlto enable them:feature_flags.overrides.featureFlagsStreams.contentPackUIEnabled: trueexport-import-replace-esql-panels.mov