Skip to content

Commit

Permalink
[8.x] Add documentation for airgap install of the product documentati…
Browse files Browse the repository at this point in the history
…on (elastic#202912) (elastic#203302)

# Backport

This will backport the following commits from `main` to `8.x`:
- [Add documentation for airgap install of the product documentation
(elastic#202912)](elastic#202912)

<!--- Backport version: 9.4.3 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Pierre
Gayvallet","email":"[email protected]"},"sourceCommit":{"committedDate":"2024-12-06T16:55:59Z","message":"Add
documentation for airgap install of the product documentation
(elastic#202912)\n\n## Summary\r\n\r\nPart of
https://github.com/elastic/kibana/issues/199999\r\n\r\nAdd documentation
regarding how to install the AI Assistant product\r\ndocumentation on
air-gap
environments.","sha":"e3bc923b9a414b31c944ce856e91d2664631edf2","branchLabelMapping":{"^v9.0.0$":"main","^v8.18.0$":"8.x","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","v9.0.0","docs","backport:version","Team:AI
Infra","v8.17.0","v8.18.0"],"title":"Add documentation for airgap
install of the product
documentation","number":202912,"url":"https://github.com/elastic/kibana/pull/202912","mergeCommit":{"message":"Add
documentation for airgap install of the product documentation
(elastic#202912)\n\n## Summary\r\n\r\nPart of
https://github.com/elastic/kibana/issues/199999\r\n\r\nAdd documentation
regarding how to install the AI Assistant product\r\ndocumentation on
air-gap
environments.","sha":"e3bc923b9a414b31c944ce856e91d2664631edf2"}},"sourceBranch":"main","suggestedTargetBranches":["8.17","8.x"],"targetPullRequestStates":[{"branch":"main","label":"v9.0.0","branchLabelMappingKey":"^v9.0.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/202912","number":202912,"mergeCommit":{"message":"Add
documentation for airgap install of the product documentation
(elastic#202912)\n\n## Summary\r\n\r\nPart of
https://github.com/elastic/kibana/issues/199999\r\n\r\nAdd documentation
regarding how to install the AI Assistant product\r\ndocumentation on
air-gap
environments.","sha":"e3bc923b9a414b31c944ce856e91d2664631edf2"}},{"branch":"8.17","label":"v8.17.0","branchLabelMappingKey":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"8.x","label":"v8.18.0","branchLabelMappingKey":"^v8.18.0$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Pierre Gayvallet <[email protected]>
  • Loading branch information
kibanamachine and pgayvallet authored Dec 6, 2024
1 parent 1cf60d5 commit 32d0514
Show file tree
Hide file tree
Showing 3 changed files with 119 additions and 0 deletions.
117 changes: 117 additions & 0 deletions docs/settings/ai-assistant-settings.asciidoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
[role="xpack"]
[[ai-assistant-settings-kb]]
=== AI Assistant settings in {kib}
++++
<titleabbrev>AI Assistant settings</titleabbrev>
++++

`xpack.productDocBase.artifactRepositoryUrl`::
Url of the repository to use to download and install the Elastic product documentation artifacts for the AI assistants.
Defaults to `https://kibana-knowledge-base-artifacts.elastic.co`

[[configuring-product-doc-for-airgap]]
==== Configuring product documentation for air-gapped environments

Installing product documentation requires network access to its artifact repository.
For air-gapped environments, or environments where remote network traffic is blocked or filtered,
the artifact repository must be manually deployed somewhere accessible by the Kibana deployment.

Deploying a custom product documentation repository can be done in 2 ways: using a S3 bucket, or using a CDN.

===== Deploying using a S3 bucket

*1. Download the artifacts for your current {kib} version*

The artifact names follow this pattern: `kb-product-doc-{productName}-{versionMajor}.{versionMinor}.zip`

The available products are:
- elasticsearch
- kibana
- observability
- security

You must download, from the source repository (`https://kibana-knowledge-base-artifacts.elastic.co/`),
the artifacts for your current version of Kibana.

For example, for Kibana 8.16:
- `kb-product-doc-elasticsearch-8.16.zip`
- `kb-product-doc-kibana-8.16.zip`
- `kb-product-doc-observability-8.16.zip`
- `kb-product-doc-security-8.16.zip`

*2. Upload the artifacts to your local S3 bucket*

Upload the artifact files to your custom S3 bucket, then make sure that they are properly listed in the bucket's index, similar to
the bucket listing displayed when accessing `https://kibana-knowledge-base-artifacts.elastic.co/` in a browser.

*3. Configure {kib} to use the custom repository*

Add the following line to your {kib} configuration file:

[source,yaml]
----
# Replace with the root of your custom bucket
xpack.productDocBase.artifactRepositoryUrl: "https://my-custom-repository.example.com"
----

*4. Restart {kib}*

You should then be able to install the product documentation feature from the AI assistant management page.

===== Deploying using a CDN

Deploying using a CDN is quite similar to the S3 bucket approach. The main difference will be that we will need to manually
generate the bucket listing and set it as the CDN folder's index page.

*1. Download the artifacts for your current {kib} version*

Following the step from the `Deploying using a S3 bucket` section

*2. Upload the artifacts to the CDN*

Create a folder in your CDN, and upload the artifacts to it.

*3. Create and upload the bucket listing*

Generate the S3 bucket listing xml file for the folder.

To do that, copy the following template, and replace the versions in the `<Key>` tags with your current version of {kib}.

For example for {kib} 8.17, replace all `8.16` occurrences in the file with `8.17`.

[source,xml]
----
<ListBucketResult>
<Name>kibana-ai-assistant-kb-artifacts</Name>
<IsTruncated>false</IsTruncated>
<Contents>
<Key>kb-product-doc-elasticsearch-8.16.zip</Key>
</Contents>
<Contents>
<Key>kb-product-doc-kibana-8.16.zip</Key>
</Contents>
<Contents>
<Key>kb-product-doc-observability-8.16.zip</Key>
</Contents>
<Contents>
<Key>kb-product-doc-security-8.16.zip</Key>
</Contents>
</ListBucketResult>
----

Then upload that xml file to the same CDN folder where the artifacts were uploaded, and then configure the folder to have that file
served as the folder's index.

*4. Configure {kib} to use the custom repository*

Add the following line to your {kib} configuration file:

[source,yaml]
----
# Replace with the path to the CDN folder previously configured
xpack.productDocBase.artifactRepositoryUrl: "https://my-custom-repository.example.com"
----

*5. Restart {kib}*

You should then be able to install the product documentation feature from the AI assistant management page.
1 change: 1 addition & 0 deletions docs/setup/settings.asciidoc
Original file line number Diff line number Diff line change
Expand Up @@ -650,6 +650,7 @@ Set this value to false to disable the Upgrade Assistant UI. *Default: true*
Set this value to change the {kib} interface language.
Valid locales are: `en`, `zh-CN`, `ja-JP`, `fr-FR`. *Default: `en`*

include::{kibana-root}/docs/settings/ai-assistant-settings.asciidoc[]
include::{kibana-root}/docs/settings/alert-action-settings.asciidoc[leveloffset=+1]
include::{kibana-root}/docs/settings/apm-settings.asciidoc[]
include::{kibana-root}/docs/settings/banners-settings.asciidoc[]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,7 @@ kibana_vars=(
xpack.observability.unsafe.alertDetails.uptime.enabled
xpack.observability.unsafe.alertDetails.observability.enabled
xpack.observability.unsafe.thresholdRule.enabled
xpack.productDocBase.artifactRepositoryUrl
xpack.reporting.capture.browser.autoDownload
xpack.reporting.capture.browser.chromium.disableSandbox
xpack.reporting.capture.browser.chromium.inspect
Expand Down

0 comments on commit 32d0514

Please sign in to comment.