You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[9.1] [Fleet] Improve installation of bundled packages in airgapped environments (#230992) (#231714)
# Backport
This will backport the following commits from `main` to `9.1`:
- [[Fleet] Improve installation of bundled packages in airgapped
environments (#230992)](#230992)
<!--- Backport version: 9.6.6 -->
### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sorenlouv/backport)
<!--BACKPORT [{"author":{"name":"Cristina
Amico","email":"[email protected]"},"sourceCommit":{"committedDate":"2025-08-13T21:39:32Z","message":"[Fleet]
Improve installation of bundled packages in airgapped environments
(#230992)\n\nCloses
https://github.com/elastic/kibana/issues/224954\n\n## Summary\n\nImprove
installation of bundled packages in airgapped environments.\n\n- Add a
fallback fetch of bundled packages / cached packages when\npossible\n-
Improve error handling when EPR is not available\n- Fetch bundled
packages as fallback when is possible (regardless of EPR\nbeing
available or not)\n\nApproach
explained\n[here](https://github.com/elastic/kibana/issues/224954#issuecomment-3164337500)\n\n###
Testing steps\n\nConfiguration in `kibana.dev.yml`:\n```\nxpack.fleet:\n
isAirGapped: true\n registryUrl: http://not-reachable\n
developer.bundledPackageLocation:
\"/Users/<USERNAME>/Dev/kibana/x-pack/platform/plugins/shared/fleet/target/bundled_packages\"\n```\nBundled
packages (APM, synthetics, etc) need to be present in the above\nfolder.
Download them from EPR\n\n- Put an older version of APM (for instance
7.16) in the folder and\ninstall it going to
`app/integrations/apm-7.16/overview`, add it to a\nnew agent policy. I
tested with a policy that doesn't have `system`\ninstalled\n-
temporarily remove the configs `isAirGapped` and `registryUrl` to
be\nable to reach the registry and add a newer version of the package
to\n`bundled_packages` folder (I used apm-8.2.0)\n- To trigger the
package upgrade, go to\n`app/integrations/apm-8.2.0/overview`\n- Put
back the configs in `kibana.dev.yml` and now upgrade the package\nand
the policies\n- The upgrade should work properly and the policy revision
is aligned\n<img width=\"1862\" height=\"965\" alt=\"Screenshot
2025-08-11 at 11 13
29\"\nsrc=\"https://github.com/user-attachments/assets/690068f9-e43e-4685-b341-b3e4139e421e\"\n/>\n<img
width=\"1866\" height=\"1159\" alt=\"Screenshot 2025-08-11 at 11 13
58\"\nsrc=\"https://github.com/user-attachments/assets/9a12e223-6215-4759-ab89-eb554d6bc63e\"\n/>\n\n**NOTE**:
When I tested with a policy that has also other packages\ninstalled
(like system), the policy recompile still fails with a\nconnection
error. I'm not quite sure how to solve this, since Fleet\nneeds to reach
EPR to fetch the packages that are not bundled.\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\n- [
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios\n\n---------\n\nCo-authored-by: Elastic Machine
<[email protected]>","sha":"09c40790bdc685a9d89ce56efb281e13cf8793e1","branchLabelMapping":{"^v9.2.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:Fleet","backport:prev-minor","v9.2.0"],"title":"[Fleet]
Improve installation of bundled packages in airgapped
environments","number":230992,"url":"https://github.com/elastic/kibana/pull/230992","mergeCommit":{"message":"[Fleet]
Improve installation of bundled packages in airgapped environments
(#230992)\n\nCloses
https://github.com/elastic/kibana/issues/224954\n\n## Summary\n\nImprove
installation of bundled packages in airgapped environments.\n\n- Add a
fallback fetch of bundled packages / cached packages when\npossible\n-
Improve error handling when EPR is not available\n- Fetch bundled
packages as fallback when is possible (regardless of EPR\nbeing
available or not)\n\nApproach
explained\n[here](https://github.com/elastic/kibana/issues/224954#issuecomment-3164337500)\n\n###
Testing steps\n\nConfiguration in `kibana.dev.yml`:\n```\nxpack.fleet:\n
isAirGapped: true\n registryUrl: http://not-reachable\n
developer.bundledPackageLocation:
\"/Users/<USERNAME>/Dev/kibana/x-pack/platform/plugins/shared/fleet/target/bundled_packages\"\n```\nBundled
packages (APM, synthetics, etc) need to be present in the above\nfolder.
Download them from EPR\n\n- Put an older version of APM (for instance
7.16) in the folder and\ninstall it going to
`app/integrations/apm-7.16/overview`, add it to a\nnew agent policy. I
tested with a policy that doesn't have `system`\ninstalled\n-
temporarily remove the configs `isAirGapped` and `registryUrl` to
be\nable to reach the registry and add a newer version of the package
to\n`bundled_packages` folder (I used apm-8.2.0)\n- To trigger the
package upgrade, go to\n`app/integrations/apm-8.2.0/overview`\n- Put
back the configs in `kibana.dev.yml` and now upgrade the package\nand
the policies\n- The upgrade should work properly and the policy revision
is aligned\n<img width=\"1862\" height=\"965\" alt=\"Screenshot
2025-08-11 at 11 13
29\"\nsrc=\"https://github.com/user-attachments/assets/690068f9-e43e-4685-b341-b3e4139e421e\"\n/>\n<img
width=\"1866\" height=\"1159\" alt=\"Screenshot 2025-08-11 at 11 13
58\"\nsrc=\"https://github.com/user-attachments/assets/9a12e223-6215-4759-ab89-eb554d6bc63e\"\n/>\n\n**NOTE**:
When I tested with a policy that has also other packages\ninstalled
(like system), the policy recompile still fails with a\nconnection
error. I'm not quite sure how to solve this, since Fleet\nneeds to reach
EPR to fetch the packages that are not bundled.\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\n- [
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios\n\n---------\n\nCo-authored-by: Elastic Machine
<[email protected]>","sha":"09c40790bdc685a9d89ce56efb281e13cf8793e1"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v9.2.0","branchLabelMappingKey":"^v9.2.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/230992","number":230992,"mergeCommit":{"message":"[Fleet]
Improve installation of bundled packages in airgapped environments
(#230992)\n\nCloses
https://github.com/elastic/kibana/issues/224954\n\n## Summary\n\nImprove
installation of bundled packages in airgapped environments.\n\n- Add a
fallback fetch of bundled packages / cached packages when\npossible\n-
Improve error handling when EPR is not available\n- Fetch bundled
packages as fallback when is possible (regardless of EPR\nbeing
available or not)\n\nApproach
explained\n[here](https://github.com/elastic/kibana/issues/224954#issuecomment-3164337500)\n\n###
Testing steps\n\nConfiguration in `kibana.dev.yml`:\n```\nxpack.fleet:\n
isAirGapped: true\n registryUrl: http://not-reachable\n
developer.bundledPackageLocation:
\"/Users/<USERNAME>/Dev/kibana/x-pack/platform/plugins/shared/fleet/target/bundled_packages\"\n```\nBundled
packages (APM, synthetics, etc) need to be present in the above\nfolder.
Download them from EPR\n\n- Put an older version of APM (for instance
7.16) in the folder and\ninstall it going to
`app/integrations/apm-7.16/overview`, add it to a\nnew agent policy. I
tested with a policy that doesn't have `system`\ninstalled\n-
temporarily remove the configs `isAirGapped` and `registryUrl` to
be\nable to reach the registry and add a newer version of the package
to\n`bundled_packages` folder (I used apm-8.2.0)\n- To trigger the
package upgrade, go to\n`app/integrations/apm-8.2.0/overview`\n- Put
back the configs in `kibana.dev.yml` and now upgrade the package\nand
the policies\n- The upgrade should work properly and the policy revision
is aligned\n<img width=\"1862\" height=\"965\" alt=\"Screenshot
2025-08-11 at 11 13
29\"\nsrc=\"https://github.com/user-attachments/assets/690068f9-e43e-4685-b341-b3e4139e421e\"\n/>\n<img
width=\"1866\" height=\"1159\" alt=\"Screenshot 2025-08-11 at 11 13
58\"\nsrc=\"https://github.com/user-attachments/assets/9a12e223-6215-4759-ab89-eb554d6bc63e\"\n/>\n\n**NOTE**:
When I tested with a policy that has also other packages\ninstalled
(like system), the policy recompile still fails with a\nconnection
error. I'm not quite sure how to solve this, since Fleet\nneeds to reach
EPR to fetch the packages that are not bundled.\n\n\n###
Checklist\n\nCheck the PR satisfies following conditions. \n\n- [
]\n[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)\nwas
added for features that require explanation or tutorials\n- [ ] [Unit or
functional\ntests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)\nwere
updated or added to match the most common
scenarios\n\n---------\n\nCo-authored-by: Elastic Machine
<[email protected]>","sha":"09c40790bdc685a9d89ce56efb281e13cf8793e1"}}]}]
BACKPORT-->
Co-authored-by: Cristina Amico <[email protected]>
Co-authored-by: Elastic Machine <[email protected]>
0 commit comments