├── .backportrc.json ├── .github ├── CODEOWNERS ├── ISSUE_TEMPLATE │ ├── community-request.yaml │ └── elastic-request.yaml ├── Makefile ├── advanced-issue-labeler.yml ├── dependabot.yml ├── pull_request_template.md └── workflows │ ├── add-issue-to-project.yml │ ├── add-pr-to-project.yml │ ├── add-to-dev-projects.yml │ ├── backport-active.yml │ ├── github-commands-comment.yml │ ├── issue-labeler.yml │ ├── pre-commit.yml │ └── run-minor-release.yml ├── .gitignore ├── .mergify.yml ├── .pre-commit-config.yaml ├── LICENSE └── README.md /.backportrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "upstream": "elastic/observability-docs", 3 | "branches": [{ "name": "8.5", "checked": true }, "7.17"], 4 | "branchLabelMapping": { 5 | "^v(\\d+).(\\d+).\\d+$": "$1.$2", 6 | ".*": "7.17" 7 | }, 8 | "labels": ["backport"], 9 | "autoMerge": true, 10 | "autoMergeMethod": "squash" 11 | } 12 | -------------------------------------------------------------------------------- /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # GitHub CODEOWNERS definition 2 | # Last match takes precedence 3 | # For more info, see https://help.github.com/articles/about-codeowners/ 4 | 5 | * @elastic/obs-docs 6 | /.github/workflows/co-docs-builder.yml @elastic/docs-engineering 7 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/community-request.yaml: -------------------------------------------------------------------------------- 1 | name: "Community documentation request" 2 | description: Request a documentation change or enhancement. 3 | title: "[Request]: " 4 | labels: ["Request", "💝 community"] 5 | body: 6 | - type: markdown 7 | attributes: 8 | value: | 9 | Hi 👋. Thanks for taking the time to fill out this request! 10 | This form will create an issue that Elastic's Observability docs team will triage and prioritize. 11 | Want to open a PR instead? Most of our public documentation has an "edit" icon—just give it a click to quickly find any source file. 12 | - type: textarea 13 | id: link 14 | attributes: 15 | label: What documentation page is affected 16 | description: Include a link to the page where you're seeing the problem. Screenshots are also helpful. 17 | validations: 18 | required: true 19 | - type: textarea 20 | id: related 21 | attributes: 22 | label: What change would you like to see? 23 | description: What's wrong? Why should the docs be changed? What did you expect to see? 24 | validations: 25 | required: true 26 | - type: textarea 27 | id: moreinfo 28 | attributes: 29 | label: Additional info 30 | description: Anything else we should know? 31 | validations: 32 | required: false 33 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/elastic-request.yaml: -------------------------------------------------------------------------------- 1 | name: "Internal documentation request (Elastic employees)" 2 | description: Request a documentation change or enhancement. 3 | title: "[Request]: " 4 | body: 5 | - type: markdown 6 | attributes: 7 | value: | 8 | Hi 👋. This form will create an issue that the [@elastic/obs-docs](https://github.com/orgs/elastic/teams/obs-docs) team will triage and prioritize. Please do not add any labels to your issue—that will happen automagically. 9 | - type: textarea 10 | id: description 11 | attributes: 12 | label: Description 13 | description: Describe what needs to be documented. What details do users need to know about? 14 | placeholder: | 15 | What: We're introducing new feature A. 16 | When: This feature will launch at the completion of project B. 17 | Why: This feature will make X, Y, and Z easier for the user. 18 | validations: 19 | required: true 20 | - type: textarea 21 | id: related 22 | attributes: 23 | label: Resources 24 | description: Where can the documentation team learn more about this feature? 25 | placeholder: | 26 | This feature was implemented in {link_to_PR}. 27 | 28 | This feature was scoped and researched in {link_to_issue}. 29 | validations: 30 | required: true 31 | - type: dropdown 32 | id: doc-set 33 | attributes: 34 | label: Which documentation set does this change impact? 35 | description: Stateful, Serverless, or both? 36 | options: 37 | - Stateful and Serverless 38 | - Stateful only 39 | - Serverless only 40 | - Integrations 41 | - Unknown 42 | default: 0 43 | validations: 44 | required: true 45 | - type: textarea 46 | id: doc-set-differences 47 | attributes: 48 | label: Feature differences 49 | description: If you selected both Stateful and Serverless above, please describe how, if at all, the feature differs in each deployment method. 50 | placeholder: The feature is identical in Stateful and Serverless. 51 | validations: 52 | required: true 53 | - type: dropdown 54 | id: version 55 | attributes: 56 | label: What release is this request related to? 57 | description: Some requests may be tied to the Elastic Stack release schedule. Some, like Serverless requests, may not. Please select an option. 58 | options: 59 | - 'N/A' 60 | - '8.17' 61 | - '8.18' 62 | - '9.0' 63 | - '9.1' 64 | - '9.2' 65 | default: 0 66 | validations: 67 | required: true 68 | - type: dropdown 69 | id: collaboration 70 | attributes: 71 | label: Collaboration model 72 | description: Which team do you expect to create the initial content? 73 | options: 74 | - "The documentation team" 75 | - "The product team" 76 | - "The engineering team" 77 | - "Unknown" 78 | - "Other (please describe below)" 79 | default: 0 80 | validations: 81 | required: true 82 | - type: textarea 83 | id: contact 84 | attributes: 85 | label: Point of contact. 86 | description: Please assign at least one point of contact using the GitHub `@` mention. Add as many stakeholders as you'd like. 87 | value: "**Main contact:** @\n\n**Stakeholders:**\n" 88 | validations: 89 | required: true 90 | - type: markdown 91 | attributes: 92 | value: | 93 | Thanks for filling out this form. Note that this form does not guarantee that your issue will be prioritized for the selected iteration. _But_, completing this issue as early and as comprehensively as possible will help us understand and plan the work better! 94 | -------------------------------------------------------------------------------- /.github/Makefile: -------------------------------------------------------------------------------- 1 | .SILENT: 2 | MAKEFLAGS += --no-print-directory 3 | .SHELLFLAGS = -euc 4 | SHELL = /bin/bash 5 | 6 | ############################## 7 | ## Project details 8 | ############################# 9 | PROJECT_MAJOR_VERSION ?= $(shell echo $(CURRENT_RELEASE) | cut -f1 -d.) 10 | PROJECT_MINOR_VERSION ?= $(shell echo $(CURRENT_RELEASE) | cut -f2 -d.) 11 | PROJECT_OWNER ?= elastic 12 | 13 | RELEASE_BRANCH ?= $(PROJECT_MAJOR_VERSION).$(PROJECT_MINOR_VERSION) 14 | NEXT_PROJECT_MINOR_VERSION ?= $(PROJECT_MAJOR_VERSION).$(shell expr $(PROJECT_MINOR_VERSION) + 1).0 15 | 16 | BACKPORT_BRANCH_NAME = add-backport-next-$(NEXT_PROJECT_MINOR_VERSION) 17 | 18 | ############################## 19 | ## observability-docs specific 20 | ############################## 21 | 22 | ############################## 23 | ## public make goals 24 | ############################## 25 | ## @help:create-major-minor-release:Prepare a major/minor release by creating a new branch and pushing to the upstream 26 | .PHONY: create-major-minor-release 27 | create-major-minor-release: prepare-major-minor-release create-branch-major-minor-release 28 | 29 | ## @help:create-next-release:Prepare the original branch for the next release cycle and the relevant PRs. 30 | .PHONY: create-next-release 31 | create-next-release: prepare-next-release create-prs-next-release 32 | 33 | ############################## 34 | ## internal make goals 35 | ############################## 36 | 37 | ## Update the references on the github labels using major.minor format. INTERNAL 38 | .PHONY: update-labels 39 | update-labels: 40 | echo ' - name: backport patches to $(PROJECT_MAJOR_VERSION).$(PROJECT_MINOR_VERSION) branch' >> ../.mergify.yml 41 | echo ' conditions:' >> ../.mergify.yml 42 | echo ' - merged' >> ../.mergify.yml 43 | echo ' - label=backport-$(PROJECT_MAJOR_VERSION).$(PROJECT_MINOR_VERSION)' >> ../.mergify.yml 44 | echo ' actions:' >> ../.mergify.yml 45 | echo ' backport:' >> ../.mergify.yml 46 | echo ' assignees:' >> ../.mergify.yml 47 | echo ' - "{{ author }}"' >> ../.mergify.yml 48 | echo ' labels:' >> ../.mergify.yml 49 | echo ' - "backport"' >> ../.mergify.yml 50 | echo ' branches:' >> ../.mergify.yml 51 | echo ' - "$(PROJECT_MAJOR_VERSION).$(PROJECT_MINOR_VERSION)"' >> ../.mergify.yml 52 | echo ' title: "[{{ destination_branch }}](backport #{{ number }}) {{ title }}"' >> ../.mergify.yml 53 | 54 | ## @help:prepare-major-minor-release:Prepare a major/minor release by creating a new branch reference. 55 | .PHONY: prepare-major-minor-release 56 | prepare-major-minor-release: 57 | git checkout 8.x 58 | git checkout -b $(RELEASE_BRANCH) 59 | 60 | ## @help:create-branch-major-minor-release:Pushes the changes on the project folder to the new RELEASE_BRANCH. 61 | .PHONY: create-branch-major-minor-release 62 | create-branch-major-minor-release: 63 | git push --set-upstream origin $(RELEASE_BRANCH) 64 | echo "You have to create a branch rule at https://github.com/$(PROJECT_OWNER)/observability-docs/settings/branch_protection_rules/new" 65 | echo "* Require pull request PROJECT_REVIEWERS before merging" 66 | echo "* Require status checks to pass before merging - CLA and Lint" 67 | 68 | ## @help:prepare-next-release:Prepare the original branch for the next release cycle. 69 | .PHONY: prepare-next-release 70 | prepare-next-release: 71 | git checkout main 72 | git checkout -b $(BACKPORT_BRANCH_NAME) main 73 | $(MAKE) update-labels 74 | $(MAKE) git-diff 75 | if [ ! -z "$$(git status -s)" ]; then \ 76 | git status -s; \ 77 | git add --all; \ 78 | git commit -a -m "[Release] Add backport-$(PROJECT_MAJOR_VERSION).$(PROJECT_MINOR_VERSION)"; \ 79 | fi 80 | 81 | ## @help:create-prs-next-release:Create the PRs with the next release cycle. 82 | .PHONY: create-prs-next-release 83 | create-prs-next-release: 84 | git checkout $(BACKPORT_BRANCH_NAME) 85 | git push --set-upstream origin $(BACKPORT_BRANCH_NAME) 86 | gh pr create \ 87 | --title "backport: Add backport-$(PROJECT_MAJOR_VERSION).$(PROJECT_MINOR_VERSION) label" \ 88 | --body "Merge as soon as $(PROJECT_MAJOR_VERSION).$(PROJECT_MINOR_VERSION) branch was created." \ 89 | --base main \ 90 | --label 'Team:Automation' || echo "There are no changes" 91 | 92 | ## Diff output 93 | .PHONY: git-diff 94 | git-diff: 95 | @echo "::group::git-diff" 96 | git --no-pager diff || true 97 | @echo "::endgroup::" 98 | -------------------------------------------------------------------------------- /.github/advanced-issue-labeler.yml: -------------------------------------------------------------------------------- 1 | policy: 2 | - template: ['elastic-request.yaml'] 3 | section: 4 | - id: ['version'] 5 | block-list: [] 6 | label: 7 | - name: 'Request' 8 | keys: ['N/A'] 9 | - name: 'Request:8.11' 10 | keys: ['8.11'] 11 | - name: 'Request:8.12' 12 | keys: ['8.12'] 13 | - name: 'Request:8.13' 14 | keys: ['8.13'] 15 | - name: 'Request:8.14' 16 | keys: ['8.14'] 17 | - name: 'Request:8.15' 18 | keys: ['8.15'] 19 | - name: 'Request:8.16' 20 | keys: ['8.16'] 21 | - id: [doc-set] 22 | block-list: [] 23 | label: 24 | - name: 'Docset:All' 25 | keys: ['Stateful and Serverless'] 26 | - name: 'Docset:Serverless' 27 | keys: ['Serverless only'] 28 | - name: 'Docset:Stateful' 29 | keys: ['Stateful only'] 30 | - name: 'Docset:Integrations' 31 | keys: ['Integrations'] 32 | - name: 'Docset:Unknown' 33 | keys: ['Unknown'] 34 | - id: [collaboration] 35 | block-list: [] 36 | label: 37 | - name: 'Lead:Writer' 38 | keys: ['The documentation team'] 39 | - name: 'Lead:Product' 40 | keys: ['The product team'] 41 | - name: 'Lead:Eng' 42 | keys: ['The engineering team'] 43 | - name: 'Lead:Unknown' 44 | keys: ['Unknown', 'Other (please describe below)'] -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 2 3 | updates: 4 | 5 | # GitHub actions 6 | - package-ecosystem: "github-actions" 7 | directory: "/" 8 | schedule: 9 | interval: "weekly" 10 | day: "sunday" 11 | time: "22:00" 12 | reviewers: 13 | - "elastic/observablt-ci" 14 | groups: 15 | github-actions: 16 | patterns: 17 | - "*" 18 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | 4 | ### Documentation sets edited in this PR 5 | 6 | _Check all that apply._ 7 | 8 | - [ ] Stateful (`docs/en/observability/*`) 9 | - [ ] Serverless (`docs/en/serverless/*`) 10 | - [ ] Integrations Developer Guide (`docs/en/integrations/*`) 11 | - [ ] None of the above 12 | 13 | ### Related issue 14 | Closes # 15 | 16 | ## Checklist 17 | 18 | 30 | 31 | - [ ] Product/Engineering Review 32 | - [ ] Writer Review 33 | 34 | ### Follow-up tasks 35 | 36 | 37 | _Select one._ 38 | 39 | * This PR does _not_ need to be ported to another doc set because: 40 | - [ ] The concepts in this PR only apply to one doc set (serverless _or_ stateful) 41 | - [ ] The PR contains edits to both doc sets (serverless _and_ stateful) 42 | * This PR needs to be ported to another doc set: 43 | - [ ] Port to stateful docs: \ 44 | - [ ] Port to serverless docs: \ 45 | -------------------------------------------------------------------------------- /.github/workflows/add-issue-to-project.yml: -------------------------------------------------------------------------------- 1 | name: add-issue-to-project 2 | on: 3 | issues: 4 | types: 5 | - opened 6 | permissions: 7 | contents: read 8 | 9 | jobs: 10 | add_issue_to_project: 11 | runs-on: ubuntu-latest 12 | steps: 13 | - name: Get token 14 | id: get_token 15 | uses: elastic/actions-app-token@master 16 | with: 17 | APP_PEM: ${{ secrets.OBS_DOCS_AUTOMATION_PRIVATE_KEY }} 18 | APP_ID: 203735 19 | - uses: octokit/graphql-action@v2.x 20 | id: add_to_project 21 | with: 22 | query: | 23 | mutation add_to_project($projectid:ID!,$contentid:ID!) { 24 | addProjectV2ItemById(input:{projectId:$projectid contentId:$contentid}) { 25 | item { 26 | ... on ProjectV2Item { 27 | id 28 | } 29 | } 30 | } 31 | } 32 | projectid: ${{ env.PROJECT_ID }} 33 | contentid: ${{ github.event.issue.node_id }} 34 | env: 35 | PROJECT_ID: "PVT_kwDOAGc3Zs0iZw" 36 | GITHUB_TOKEN: ${{ steps.get_token.outputs.app_token }} -------------------------------------------------------------------------------- /.github/workflows/add-pr-to-project.yml: -------------------------------------------------------------------------------- 1 | name: Add PR to obs-docs board 2 | on: 3 | pull_request_target: 4 | types: [review_requested] 5 | branches: 6 | - 'main' 7 | permissions: 8 | contents: read 9 | 10 | jobs: 11 | specific_review_requested: 12 | name: Adding 13 | runs-on: ubuntu-latest 14 | # The steps below only run for PRs where `obs-docs` has been added as a reviewer 15 | if: ${{ github.event.requested_team.name == 'obs-docs'}} 16 | steps: 17 | - name: Get token 18 | id: get_token 19 | uses: elastic/actions-app-token@master 20 | with: 21 | APP_PEM: ${{ secrets.OBS_DOCS_AUTOMATION_PRIVATE_KEY }} 22 | APP_ID: 203735 23 | - name: Add PR to board 24 | uses: octokit/graphql-action@v2.x 25 | id: add_pr_to_board 26 | with: 27 | query: | 28 | mutation($project:ID!, $pull_request:ID!){ 29 | addProjectV2ItemById(input:{projectId:$project contentId:$pull_request}) { 30 | item { 31 | ... on ProjectV2Item { 32 | id 33 | } 34 | } 35 | } 36 | } 37 | project: ${{ env.PROJECT_ID }} 38 | pull_request: ${{ github.event.pull_request.node_id }} 39 | env: 40 | PROJECT_ID: "PVT_kwDOAGc3Zs0iZw" 41 | GITHUB_TOKEN: ${{ steps.get_token.outputs.app_token }} 42 | - name: Move PR to review column 43 | uses: octokit/graphql-action@v2.x 44 | id: move_pr_to_review_column 45 | with: 46 | headers: '{"GraphQL-Features": "projects_next_graphql"}' 47 | query: | 48 | mutation label_team($project:ID!, $item:ID!, $field:ID!, $value:String!){ 49 | updateProjectV2ItemFieldValue(input: { projectId:$project itemId:$item fieldId:$field value:{singleSelectOptionId: $value} }) { 50 | projectV2Item { 51 | id 52 | content { 53 | ... on PullRequest { 54 | number 55 | } 56 | } 57 | } 58 | } 59 | } 60 | project: ${{ env.PROJECT_ID }} 61 | # `item` is the ID returned by the previous step 62 | item: ${{ fromJSON(steps.add_pr_to_board.outputs.data).addProjectV2ItemById.item.id }} 63 | # This is the ID for the project "status" attribute 64 | field: "PVTSSF_lADOAGc3Zs0iZ84AAQIU" 65 | # This is the ID for the status sub-attribute "In Progress" 66 | value: "47fc9ee4" 67 | env: 68 | PROJECT_ID: "PVT_kwDOAGc3Zs0iZw" 69 | GITHUB_TOKEN: ${{ steps.get_token.outputs.app_token }} 70 | - name: Add label 71 | uses: actions/github-script@v7 72 | id: add_label 73 | with: 74 | github-token: ${{ steps.get_token.outputs.app_token }} 75 | script: | 76 | github.rest.issues.addLabels({ 77 | issue_number: context.issue.number, 78 | owner: context.repo.owner, 79 | repo: context.repo.repo, 80 | labels: ['needs-writer-review'] 81 | }) 82 | -------------------------------------------------------------------------------- /.github/workflows/add-to-dev-projects.yml: -------------------------------------------------------------------------------- 1 | name: Add to dev board 2 | on: 3 | pull_request_target: 4 | types: 5 | - labeled 6 | permissions: 7 | contents: read 8 | 9 | jobs: 10 | add_to_data_plane-project: 11 | runs-on: ubuntu-latest 12 | if: | 13 | github.event.label.name == 'Team:Elastic-Agent-Data-Plane' 14 | steps: 15 | - name: Get token 16 | id: get_token 17 | uses: elastic/actions-app-token@master 18 | with: 19 | APP_PEM: ${{ secrets.OBS_DOCS_AUTOMATION_PRIVATE_KEY }} 20 | APP_ID: 203735 21 | - name: Add to EA Data Plane board 22 | uses: octokit/graphql-action@v2.x 23 | id: add_to_project 24 | with: 25 | headers: '{"GraphQL-Features": "projects_next_graphql"}' 26 | query: | 27 | mutation add_to_project($projectid:[ID!]!,$contentid:ID!) { 28 | updatePullRequest(input: {pullRequestId:$contentid, projectIds:$projectid}) { 29 | clientMutationId 30 | } 31 | } 32 | projectid: "PRO_kwDOAGc3Zs4AzG8z" 33 | contentid: ${{ github.event.pull_request.node_id }} 34 | GITHUB_TOKEN: ${{ steps.get_token.outputs.app_token }} 35 | add_to_control_plane-project: 36 | runs-on: ubuntu-latest 37 | if: | 38 | github.event.label.name == 'Team:Elastic-Agent-Control-Plane' 39 | steps: 40 | - name: Get token 41 | id: get_token 42 | uses: elastic/actions-app-token@master 43 | with: 44 | APP_PEM: ${{ secrets.OBS_DOCS_AUTOMATION_PRIVATE_KEY }} 45 | APP_ID: 203735 46 | - name: Add to EA Control Plane board 47 | uses: octokit/graphql-action@v2.x 48 | id: add_to_project 49 | with: 50 | headers: '{"GraphQL-Features": "projects_next_graphql"}' 51 | query: | 52 | mutation add_to_project($projectid:[ID!]!,$contentid:ID!) { 53 | updatePullRequest(input: {pullRequestId:$contentid, projectIds:$projectid}) { 54 | clientMutationId 55 | } 56 | } 57 | projectid: "PRO_kwDOAGc3Zs4AzG9E" 58 | contentid: ${{ github.event.pull_request.node_id }} 59 | GITHUB_TOKEN: ${{ steps.get_token.outputs.app_token }} 60 | add_to_fleet_ui-project: 61 | runs-on: ubuntu-latest 62 | if: | 63 | github.event.label.name == 'Team:Fleet' 64 | steps: 65 | - name: Get token 66 | id: get_token 67 | uses: elastic/actions-app-token@master 68 | with: 69 | APP_PEM: ${{ secrets.OBS_DOCS_AUTOMATION_PRIVATE_KEY }} 70 | APP_ID: 203735 71 | - name: Add to Fleet board 72 | uses: octokit/graphql-action@v2.x 73 | id: add_to_project 74 | with: 75 | headers: '{"GraphQL-Features": "projects_next_graphql"}' 76 | query: | 77 | mutation add_to_project($projectid: ID!, $contentid: ID!) { 78 | addProjectNextItem(input:{projectId:$projectid contentId:$contentid}) { 79 | projectNextItem { 80 | id 81 | } 82 | } 83 | } 84 | projectid: "PN_kwDOAGc3Zs4AAsH6" 85 | contentid: ${{ github.event.pull_request.node_id }} 86 | GITHUB_TOKEN: ${{ steps.get_token.outputs.app_token }} 87 | -------------------------------------------------------------------------------- /.github/workflows/backport-active.yml: -------------------------------------------------------------------------------- 1 | name: Backport to active branches 2 | 3 | on: 4 | pull_request_target: 5 | types: [closed] 6 | branches: 7 | - main 8 | 9 | permissions: 10 | pull-requests: write 11 | contents: read 12 | 13 | jobs: 14 | backport: 15 | # Only run if the PR was merged (not just closed) and has one of the backport labels 16 | if: | 17 | github.event.pull_request.merged == true && 18 | contains(toJSON(github.event.pull_request.labels.*.name), 'backport-active-') 19 | runs-on: ubuntu-latest 20 | 21 | steps: 22 | - uses: elastic/oblt-actions/github/backport-active@v1 23 | -------------------------------------------------------------------------------- /.github/workflows/github-commands-comment.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: github-commands-comment 3 | 4 | on: 5 | pull_request_target: 6 | types: 7 | - opened 8 | 9 | permissions: 10 | contents: read 11 | 12 | jobs: 13 | comment: 14 | runs-on: ubuntu-latest 15 | permissions: 16 | pull-requests: write 17 | steps: 18 | - uses: elastic/oblt-actions/elastic/github-commands@v1 19 | -------------------------------------------------------------------------------- /.github/workflows/issue-labeler.yml: -------------------------------------------------------------------------------- 1 | name: Issue labeler 2 | on: 3 | issues: 4 | types: [ opened ] 5 | 6 | permissions: 7 | contents: read 8 | 9 | jobs: 10 | label-component: 11 | runs-on: ubuntu-latest 12 | 13 | permissions: 14 | issues: write 15 | actions: read 16 | contents: read 17 | 18 | steps: 19 | - uses: actions/checkout@v4 20 | 21 | - name: Parse issue form 22 | uses: stefanbuck/github-issue-parser@v3 23 | id: issue-parser 24 | with: 25 | template-path: .github/ISSUE_TEMPLATE/elastic-request.yaml 26 | 27 | - name: Set labels based on issue field 28 | uses: redhat-plumbers-in-action/advanced-issue-labeler@v3 29 | with: 30 | token: ${{ secrets.GITHUB_TOKEN }} 31 | issue-form: ${{ steps.issue-parser.outputs.jsonString }} 32 | template: elastic-request.yaml -------------------------------------------------------------------------------- /.github/workflows/pre-commit.yml: -------------------------------------------------------------------------------- 1 | name: pre-commit 2 | 3 | on: 4 | pull_request: 5 | push: 6 | branches: 7 | - main 8 | - 7.* 9 | - 8.* 10 | - 9.* 11 | 12 | permissions: 13 | contents: read 14 | 15 | jobs: 16 | pre-commit: 17 | runs-on: ubuntu-latest 18 | steps: 19 | - uses: elastic/oblt-actions/pre-commit@v1 20 | -------------------------------------------------------------------------------- /.github/workflows/run-minor-release.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: run-minor-release 3 | 4 | on: 5 | workflow_dispatch: 6 | inputs: 7 | version: 8 | description: 'The version (semver format: major.minor.0)' 9 | required: true 10 | type: string 11 | 12 | permissions: 13 | contents: write 14 | pull-requests: write 15 | 16 | jobs: 17 | run-minor: 18 | runs-on: ubuntu-latest 19 | steps: 20 | - uses: actions/checkout@v4 21 | with: 22 | # as long as we are using 8.x we need to fetch main and 8.x branches 23 | fetch-depth: 0 24 | 25 | - name: Set github config 26 | run: | 27 | git config --global user.email "41898282+github-actions[bot]@users.noreply.github.com" 28 | git config --global user.name "github-actions[bot]" 29 | 30 | - name: create branch release 31 | run: make -C .github create-major-minor-release 32 | env: 33 | CURRENT_RELEASE: ${{ inputs.version }} 34 | 35 | - name: prepare next release 36 | run: make -C .github create-next-release 37 | env: 38 | CURRENT_RELEASE: ${{ inputs.version }} 39 | GH_TOKEN: ${{ github.token }} 40 | 41 | - if: ${{ failure() }} 42 | uses: elastic/oblt-actions/slack/send@v1 43 | with: 44 | bot-token: ${{ secrets.SLACK_BOT_TOKEN }} 45 | channel-id: '#observablt-bots' 46 | message: ":traffic_cone: release automation failed for `${{ github.repository }}@${{ inputs.version }}`, @robots-ci please look what's going on " 47 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .gradle 2 | .local-* 3 | build 4 | .DS_Store 5 | .project 6 | .classpath 7 | .settings 8 | bin 9 | 10 | /html_docs 11 | html_docs 12 | .vscode 13 | 14 | workspace.code-workspace -------------------------------------------------------------------------------- /.mergify.yml: -------------------------------------------------------------------------------- 1 | commands_restrictions: 2 | backport: 3 | conditions: 4 | - or: 5 | - sender-permission>=write 6 | - sender=github-actions[bot] 7 | defaults: 8 | actions: 9 | backport: 10 | title: "[{{ destination_branch }}] (backport #{{ number }}) {{ title }}" 11 | assignees: 12 | - "{{ author }}" 13 | labels: 14 | - "backport" 15 | pull_request_rules: 16 | - name: ask to resolve conflict 17 | conditions: 18 | - -merged 19 | - -closed 20 | - conflict 21 | actions: 22 | comment: 23 | message: | 24 | This pull request is now in conflict. Could you fix it @{{author}}? 🙏 25 | To fixup this pull request, you can check out it locally. See documentation: https://help.github.com/articles/checking-out-pull-requests-locally/ 26 | ``` 27 | git fetch upstream 28 | git checkout -b {{head}} upstream/{{head}} 29 | git merge upstream/{{base}} 30 | git push upstream {{head}} 31 | ``` 32 | - name: notify the backport policy 33 | conditions: 34 | - -label~=^backport 35 | - base=main 36 | actions: 37 | comment: 38 | message: | 39 | This pull request does not have a backport label. Could you fix it @{{author}}? 🙏 40 | To fixup this pull request, you need to add the backport labels for the needed 41 | branches, such as: 42 | * `backport-/d./d` is the label to automatically backport to the `/d./d` branch. `/d` is the digit 43 | * `backport-active-all` is the label that automatically backports to all active branches. 44 | * `backport-active-8` is the label that automatically backports to all active minor branches for the 8 major. 45 | * `backport-active-9` is the label that automatically backports to all active minor branches for the 9 major. 46 | **NOTE**: `backport-skip` has been added to this pull request. 47 | label: 48 | add: 49 | - backport-skip 50 | - name: remove backport-skip label 51 | conditions: 52 | - label~=^backport-\d 53 | - -merged 54 | - -closed 55 | actions: 56 | label: 57 | remove: 58 | - backport-skip 59 | - name: notify the backport has not been merged yet 60 | conditions: 61 | - -merged 62 | - -closed 63 | - author=mergify[bot] 64 | - "#check-success>0" 65 | - schedule=Mon-Mon 06:00-10:00[Europe/Paris] 66 | - "#assignee>=1" 67 | actions: 68 | comment: 69 | message: | 70 | This pull request has not been merged yet. Could you please review and merge it @{{ assignee | join(', @') }}? 🙏 71 | - name: backport patches to main branch 72 | conditions: 73 | - merged 74 | - label=backport-main 75 | actions: 76 | backport: 77 | assignees: 78 | - "{{ author }}" 79 | labels: 80 | - "backport" 81 | branches: 82 | - "main" 83 | title: "[{{ destination_branch }}](backport #{{ number }}) {{ title }}" 84 | - name: backport patches to 7.15 branch 85 | conditions: 86 | - merged 87 | - base=main 88 | - label=backport-7.15 89 | actions: 90 | backport: 91 | assignees: 92 | - "{{ author }}" 93 | branches: 94 | - "7.15" 95 | title: "[{{ destination_branch }}] {{ title }} (backport #{{ number }})" 96 | labels: 97 | - backport 98 | - name: backport patches to 7.16 branch 99 | conditions: 100 | - merged 101 | - base=main 102 | - label=backport-7.16 103 | actions: 104 | backport: 105 | assignees: 106 | - "{{ author }}" 107 | branches: 108 | - "7.16" 109 | title: "[{{ destination_branch }}] {{ title }} (backport #{{ number }})" 110 | labels: 111 | - backport 112 | - name: backport patches to 7.17 branch 113 | conditions: 114 | - merged 115 | - label=backport-7.17 116 | actions: 117 | backport: 118 | assignees: 119 | - "{{ author }}" 120 | branches: 121 | - "7.17" 122 | title: "[{{ destination_branch }}] {{ title }} (backport #{{ number }})" 123 | labels: 124 | - backport 125 | - name: backport patches to 8.0 branch 126 | conditions: 127 | - merged 128 | - label=backport-8.0 129 | actions: 130 | backport: 131 | assignees: 132 | - "{{ author }}" 133 | branches: 134 | - "8.0" 135 | title: "[{{ destination_branch }}] {{ title }} (backport #{{ number }})" 136 | labels: 137 | - backport 138 | - name: backport patches to 8.1 branch 139 | conditions: 140 | - merged 141 | - label=backport-8.1 142 | actions: 143 | backport: 144 | assignees: 145 | - "{{ author }}" 146 | branches: 147 | - "8.1" 148 | title: "[{{ destination_branch }}] {{ title }} (backport #{{ number }})" 149 | labels: 150 | - backport 151 | - name: backport patches to 8.2 branch 152 | conditions: 153 | - merged 154 | - label=backport-8.2 155 | actions: 156 | backport: 157 | assignees: 158 | - "{{ author }}" 159 | branches: 160 | - "8.2" 161 | title: "[{{ destination_branch }}] {{ title }} (backport #{{ number }})" 162 | labels: 163 | - backport 164 | - name: backport patches to 8.3 branch 165 | conditions: 166 | - merged 167 | - label=backport-8.3 168 | actions: 169 | backport: 170 | assignees: 171 | - "{{ author }}" 172 | branches: 173 | - "8.3" 174 | title: "[{{ destination_branch }}] {{ title }} (backport #{{ number }})" 175 | labels: 176 | - backport 177 | - name: backport patches to 8.4 branch 178 | conditions: 179 | - merged 180 | - label=backport-8.4 181 | actions: 182 | backport: 183 | assignees: 184 | - "{{ author }}" 185 | branches: 186 | - "8.4" 187 | labels: 188 | - "backport" 189 | title: "[{{ destination_branch }}](backport #{{ number }}) {{ title }}" 190 | - name: backport patches to 8.5 branch 191 | conditions: 192 | - merged 193 | - label=backport-8.5 194 | actions: 195 | backport: 196 | assignees: 197 | - "{{ author }}" 198 | branches: 199 | - "8.5" 200 | labels: 201 | - "backport" 202 | title: "[{{ destination_branch }}](backport #{{ number }}) {{ title }}" 203 | - name: backport patches to 8.6 branch 204 | conditions: 205 | - merged 206 | - label=backport-8.6 207 | actions: 208 | backport: 209 | assignees: 210 | - "{{ author }}" 211 | branches: 212 | - "8.6" 213 | labels: 214 | - "backport" 215 | title: "[{{ destination_branch }}](backport #{{ number }}) {{ title }}" 216 | - name: backport patches to 8.7 branch 217 | conditions: 218 | - merged 219 | - label=backport-8.7 220 | actions: 221 | backport: 222 | assignees: 223 | - "{{ author }}" 224 | branches: 225 | - "8.7" 226 | labels: 227 | - "backport" 228 | title: "[{{ destination_branch }}](backport #{{ number }}) {{ title }}" 229 | - name: backport patches to 8.8 branch 230 | conditions: 231 | - merged 232 | - label=backport-8.8 233 | actions: 234 | backport: 235 | assignees: 236 | - "{{ author }}" 237 | branches: 238 | - "8.8" 239 | labels: 240 | - "backport" 241 | title: "[{{ destination_branch }}](backport #{{ number }}) {{ title }}" 242 | - name: backport patches to 8.9 branch 243 | conditions: 244 | - merged 245 | - label=backport-8.9 246 | actions: 247 | backport: 248 | assignees: 249 | - "{{ author }}" 250 | branches: 251 | - "8.9" 252 | labels: 253 | - "backport" 254 | title: "[{{ destination_branch }}](backport #{{ number }}) {{ title }}" 255 | - name: backport patches to 8.10 branch 256 | conditions: 257 | - merged 258 | - label=backport-8.10 259 | actions: 260 | backport: 261 | assignees: 262 | - "{{ author }}" 263 | branches: 264 | - "8.10" 265 | labels: 266 | - "backport" 267 | title: "[{{ destination_branch }}](backport #{{ number }}) {{ title }}" 268 | - name: backport patches to 8.11 branch 269 | conditions: 270 | - merged 271 | - label=backport-8.11 272 | actions: 273 | backport: 274 | assignees: 275 | - "{{ author }}" 276 | branches: 277 | - "8.11" 278 | labels: 279 | - "backport" 280 | title: "[{{ destination_branch }}](backport #{{ number }}) {{ title }}" 281 | - name: backport patches to 8.12 branch 282 | conditions: 283 | - merged 284 | - label=backport-8.12 285 | actions: 286 | backport: 287 | assignees: 288 | - "{{ author }}" 289 | branches: 290 | - "8.12" 291 | labels: 292 | - "backport" 293 | title: "[{{ destination_branch }}](backport #{{ number }}) {{ title }}" 294 | - name: backport patches to 8.13 branch 295 | conditions: 296 | - merged 297 | - label=backport-8.13 298 | actions: 299 | backport: 300 | assignees: 301 | - "{{ author }}" 302 | branches: 303 | - "8.13" 304 | labels: 305 | - "backport" 306 | title: "[{{ destination_branch }}](backport #{{ number }}) {{ title }}" 307 | - name: backport patches to 8.14 branch 308 | conditions: 309 | - merged 310 | - label=backport-8.14 311 | actions: 312 | backport: 313 | assignees: 314 | - "{{ author }}" 315 | labels: 316 | - "backport" 317 | branches: 318 | - "8.14" 319 | title: "[{{ destination_branch }}](backport #{{ number }}) {{ title }}" 320 | - name: backport patches to 8.15 branch 321 | conditions: 322 | - merged 323 | - label=backport-8.15 324 | actions: 325 | backport: 326 | assignees: 327 | - "{{ author }}" 328 | labels: 329 | - "backport" 330 | branches: 331 | - "8.15" 332 | title: "[{{ destination_branch }}](backport #{{ number }}) {{ title }}" 333 | - name: backport patches to 8.x branch 334 | conditions: 335 | - merged 336 | - label=backport-8.x 337 | actions: 338 | backport: 339 | assignees: 340 | - "{{ author }}" 341 | labels: 342 | - "backport" 343 | branches: 344 | - "8.x" 345 | title: "[{{ destination_branch }}](backport #{{ number }}) {{ title }}" 346 | - name: backport patches to 8.16 branch 347 | conditions: 348 | - merged 349 | - label=backport-8.16 350 | actions: 351 | backport: 352 | assignees: 353 | - "{{ author }}" 354 | labels: 355 | - "backport" 356 | branches: 357 | - "8.16" 358 | title: "[{{ destination_branch }}](backport #{{ number }}) {{ title }}" 359 | - name: backport patches to 8.17 branch 360 | conditions: 361 | - merged 362 | - label=backport-8.17 363 | actions: 364 | backport: 365 | assignees: 366 | - "{{ author }}" 367 | labels: 368 | - "backport" 369 | branches: 370 | - "8.17" 371 | title: "[{{ destination_branch }}](backport #{{ number }}) {{ title }}" 372 | - name: backport patches to 8.18 branch 373 | conditions: 374 | - merged 375 | - label=backport-8.18 376 | actions: 377 | backport: 378 | assignees: 379 | - "{{ author }}" 380 | labels: 381 | - "backport" 382 | branches: 383 | - "8.18" 384 | title: "[{{ destination_branch }}](backport #{{ number }}) {{ title }}" 385 | - name: backport patches to 9.0 branch 386 | conditions: 387 | - merged 388 | - label=backport-9.0 389 | actions: 390 | backport: 391 | assignees: 392 | - "{{ author }}" 393 | labels: 394 | - "backport" 395 | branches: 396 | - "9.0" 397 | title: "[{{ destination_branch }}](backport #{{ number }}) {{ title }}" 398 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | repos: 2 | - repo: https://github.com/pre-commit/pre-commit-hooks 3 | rev: v4.6.0 4 | hooks: 5 | - id: check-executables-have-shebangs 6 | - id: check-shebang-scripts-are-executable 7 | - id: check-merge-conflict 8 | args: ['--assume-in-merge'] 9 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Attribution-NonCommercial-NoDerivatives 4.0 International 2 | 3 | ======================================================================= 4 | 5 | Creative Commons Corporation ("Creative Commons") is not a law firm and 6 | does not provide legal services or legal advice. Distribution of 7 | Creative Commons public licenses does not create a lawyer-client or 8 | other relationship. Creative Commons makes its licenses and related 9 | information available on an "as-is" basis. Creative Commons gives no 10 | warranties regarding its licenses, any material licensed under their 11 | terms and conditions, or any related information. Creative Commons 12 | disclaims all liability for damages resulting from their use to the 13 | fullest extent possible. 14 | 15 | Using Creative Commons Public Licenses 16 | 17 | Creative Commons public licenses provide a standard set of terms and 18 | conditions that creators and other rights holders may use to share 19 | original works of authorship and other material subject to copyright 20 | and certain other rights specified in the public license below. The 21 | following considerations are for informational purposes only, are not 22 | exhaustive, and do not form part of our licenses. 23 | 24 | Considerations for licensors: Our public licenses are 25 | intended for use by those authorized to give the public 26 | permission to use material in ways otherwise restricted by 27 | copyright and certain other rights. Our licenses are 28 | irrevocable. Licensors should read and understand the terms 29 | and conditions of the license they choose before applying it. 30 | Licensors should also secure all rights necessary before 31 | applying our licenses so that the public can reuse the 32 | material as expected. Licensors should clearly mark any 33 | material not subject to the license. This includes other CC- 34 | licensed material, or material used under an exception or 35 | limitation to copyright. More considerations for licensors: 36 | wiki.creativecommons.org/Considerations_for_licensors 37 | 38 | Considerations for the public: By using one of our public 39 | licenses, a licensor grants the public permission to use the 40 | licensed material under specified terms and conditions. If 41 | the licensor's permission is not necessary for any reason--for 42 | example, because of any applicable exception or limitation to 43 | copyright--then that use is not regulated by the license. Our 44 | licenses grant only permissions under copyright and certain 45 | other rights that a licensor has authority to grant. Use of 46 | the licensed material may still be restricted for other 47 | reasons, including because others have copyright or other 48 | rights in the material. A licensor may make special requests, 49 | such as asking that all changes be marked or described. 50 | Although not required by our licenses, you are encouraged to 51 | respect those requests where reasonable. More considerations 52 | for the public: 53 | wiki.creativecommons.org/Considerations_for_licensees 54 | 55 | ======================================================================= 56 | 57 | Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 58 | International Public License 59 | 60 | By exercising the Licensed Rights (defined below), You accept and agree 61 | to be bound by the terms and conditions of this Creative Commons 62 | Attribution-NonCommercial-NoDerivatives 4.0 International Public 63 | License ("Public License"). To the extent this Public License may be 64 | interpreted as a contract, You are granted the Licensed Rights in 65 | consideration of Your acceptance of these terms and conditions, and the 66 | Licensor grants You such rights in consideration of benefits the 67 | Licensor receives from making the Licensed Material available under 68 | these terms and conditions. 69 | 70 | 71 | Section 1 -- Definitions. 72 | 73 | a. Adapted Material means material subject to Copyright and Similar 74 | Rights that is derived from or based upon the Licensed Material 75 | and in which the Licensed Material is translated, altered, 76 | arranged, transformed, or otherwise modified in a manner requiring 77 | permission under the Copyright and Similar Rights held by the 78 | Licensor. For purposes of this Public License, where the Licensed 79 | Material is a musical work, performance, or sound recording, 80 | Adapted Material is always produced where the Licensed Material is 81 | synched in timed relation with a moving image. 82 | 83 | b. Copyright and Similar Rights means copyright and/or similar rights 84 | closely related to copyright including, without limitation, 85 | performance, broadcast, sound recording, and Sui Generis Database 86 | Rights, without regard to how the rights are labeled or 87 | categorized. For purposes of this Public License, the rights 88 | specified in Section 2(b)(1)-(2) are not Copyright and Similar 89 | Rights. 90 | 91 | c. Effective Technological Measures means those measures that, in the 92 | absence of proper authority, may not be circumvented under laws 93 | fulfilling obligations under Article 11 of the WIPO Copyright 94 | Treaty adopted on December 20, 1996, and/or similar international 95 | agreements. 96 | 97 | d. Exceptions and Limitations means fair use, fair dealing, and/or 98 | any other exception or limitation to Copyright and Similar Rights 99 | that applies to Your use of the Licensed Material. 100 | 101 | e. Licensed Material means the artistic or literary work, database, 102 | or other material to which the Licensor applied this Public 103 | License. 104 | 105 | f. Licensed Rights means the rights granted to You subject to the 106 | terms and conditions of this Public License, which are limited to 107 | all Copyright and Similar Rights that apply to Your use of the 108 | Licensed Material and that the Licensor has authority to license. 109 | 110 | g. Licensor means the individual(s) or entity(ies) granting rights 111 | under this Public License. 112 | 113 | h. NonCommercial means not primarily intended for or directed towards 114 | commercial advantage or monetary compensation. For purposes of 115 | this Public License, the exchange of the Licensed Material for 116 | other material subject to Copyright and Similar Rights by digital 117 | file-sharing or similar means is NonCommercial provided there is 118 | no payment of monetary compensation in connection with the 119 | exchange. 120 | 121 | i. Share means to provide material to the public by any means or 122 | process that requires permission under the Licensed Rights, such 123 | as reproduction, public display, public performance, distribution, 124 | dissemination, communication, or importation, and to make material 125 | available to the public including in ways that members of the 126 | public may access the material from a place and at a time 127 | individually chosen by them. 128 | 129 | j. Sui Generis Database Rights means rights other than copyright 130 | resulting from Directive 96/9/EC of the European Parliament and of 131 | the Council of 11 March 1996 on the legal protection of databases, 132 | as amended and/or succeeded, as well as other essentially 133 | equivalent rights anywhere in the world. 134 | 135 | k. You means the individual or entity exercising the Licensed Rights 136 | under this Public License. Your has a corresponding meaning. 137 | 138 | 139 | Section 2 -- Scope. 140 | 141 | a. License grant. 142 | 143 | 1. Subject to the terms and conditions of this Public License, 144 | the Licensor hereby grants You a worldwide, royalty-free, 145 | non-sublicensable, non-exclusive, irrevocable license to 146 | exercise the Licensed Rights in the Licensed Material to: 147 | 148 | a. reproduce and Share the Licensed Material, in whole or 149 | in part, for NonCommercial purposes only; and 150 | 151 | b. produce and reproduce, but not Share, Adapted Material 152 | for NonCommercial purposes only. 153 | 154 | 2. Exceptions and Limitations. For the avoidance of doubt, where 155 | Exceptions and Limitations apply to Your use, this Public 156 | License does not apply, and You do not need to comply with 157 | its terms and conditions. 158 | 159 | 3. Term. The term of this Public License is specified in Section 160 | 6(a). 161 | 162 | 4. Media and formats; technical modifications allowed. The 163 | Licensor authorizes You to exercise the Licensed Rights in 164 | all media and formats whether now known or hereafter created, 165 | and to make technical modifications necessary to do so. The 166 | Licensor waives and/or agrees not to assert any right or 167 | authority to forbid You from making technical modifications 168 | necessary to exercise the Licensed Rights, including 169 | technical modifications necessary to circumvent Effective 170 | Technological Measures. For purposes of this Public License, 171 | simply making modifications authorized by this Section 2(a) 172 | (4) never produces Adapted Material. 173 | 174 | 5. Downstream recipients. 175 | 176 | a. Offer from the Licensor -- Licensed Material. Every 177 | recipient of the Licensed Material automatically 178 | receives an offer from the Licensor to exercise the 179 | Licensed Rights under the terms and conditions of this 180 | Public License. 181 | 182 | b. No downstream restrictions. You may not offer or impose 183 | any additional or different terms or conditions on, or 184 | apply any Effective Technological Measures to, the 185 | Licensed Material if doing so restricts exercise of the 186 | Licensed Rights by any recipient of the Licensed 187 | Material. 188 | 189 | 6. No endorsement. Nothing in this Public License constitutes or 190 | may be construed as permission to assert or imply that You 191 | are, or that Your use of the Licensed Material is, connected 192 | with, or sponsored, endorsed, or granted official status by, 193 | the Licensor or others designated to receive attribution as 194 | provided in Section 3(a)(1)(A)(i). 195 | 196 | b. Other rights. 197 | 198 | 1. Moral rights, such as the right of integrity, are not 199 | licensed under this Public License, nor are publicity, 200 | privacy, and/or other similar personality rights; however, to 201 | the extent possible, the Licensor waives and/or agrees not to 202 | assert any such rights held by the Licensor to the limited 203 | extent necessary to allow You to exercise the Licensed 204 | Rights, but not otherwise. 205 | 206 | 2. Patent and trademark rights are not licensed under this 207 | Public License. 208 | 209 | 3. To the extent possible, the Licensor waives any right to 210 | collect royalties from You for the exercise of the Licensed 211 | Rights, whether directly or through a collecting society 212 | under any voluntary or waivable statutory or compulsory 213 | licensing scheme. In all other cases the Licensor expressly 214 | reserves any right to collect such royalties, including when 215 | the Licensed Material is used other than for NonCommercial 216 | purposes. 217 | 218 | 219 | Section 3 -- License Conditions. 220 | 221 | Your exercise of the Licensed Rights is expressly made subject to the 222 | following conditions. 223 | 224 | a. Attribution. 225 | 226 | 1. If You Share the Licensed Material, You must: 227 | 228 | a. retain the following if it is supplied by the Licensor 229 | with the Licensed Material: 230 | 231 | i. identification of the creator(s) of the Licensed 232 | Material and any others designated to receive 233 | attribution, in any reasonable manner requested by 234 | the Licensor (including by pseudonym if 235 | designated); 236 | 237 | ii. a copyright notice; 238 | 239 | iii. a notice that refers to this Public License; 240 | 241 | iv. a notice that refers to the disclaimer of 242 | warranties; 243 | 244 | v. a URI or hyperlink to the Licensed Material to the 245 | extent reasonably practicable; 246 | 247 | b. indicate if You modified the Licensed Material and 248 | retain an indication of any previous modifications; and 249 | 250 | c. indicate the Licensed Material is licensed under this 251 | Public License, and include the text of, or the URI or 252 | hyperlink to, this Public License. 253 | 254 | For the avoidance of doubt, You do not have permission under 255 | this Public License to Share Adapted Material. 256 | 257 | 2. You may satisfy the conditions in Section 3(a)(1) in any 258 | reasonable manner based on the medium, means, and context in 259 | which You Share the Licensed Material. For example, it may be 260 | reasonable to satisfy the conditions by providing a URI or 261 | hyperlink to a resource that includes the required 262 | information. 263 | 264 | 3. If requested by the Licensor, You must remove any of the 265 | information required by Section 3(a)(1)(A) to the extent 266 | reasonably practicable. 267 | 268 | 269 | Section 4 -- Sui Generis Database Rights. 270 | 271 | Where the Licensed Rights include Sui Generis Database Rights that 272 | apply to Your use of the Licensed Material: 273 | 274 | a. for the avoidance of doubt, Section 2(a)(1) grants You the right 275 | to extract, reuse, reproduce, and Share all or a substantial 276 | portion of the contents of the database for NonCommercial purposes 277 | only and provided You do not Share Adapted Material; 278 | 279 | b. if You include all or a substantial portion of the database 280 | contents in a database in which You have Sui Generis Database 281 | Rights, then the database in which You have Sui Generis Database 282 | Rights (but not its individual contents) is Adapted Material; and 283 | 284 | c. You must comply with the conditions in Section 3(a) if You Share 285 | all or a substantial portion of the contents of the database. 286 | 287 | For the avoidance of doubt, this Section 4 supplements and does not 288 | replace Your obligations under this Public License where the Licensed 289 | Rights include other Copyright and Similar Rights. 290 | 291 | 292 | Section 5 -- Disclaimer of Warranties and Limitation of Liability. 293 | 294 | a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE 295 | EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS 296 | AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF 297 | ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, 298 | IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, 299 | WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR 300 | PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, 301 | ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT 302 | KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT 303 | ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. 304 | 305 | b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE 306 | TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, 307 | NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, 308 | INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, 309 | COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR 310 | USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN 311 | ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR 312 | DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR 313 | IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. 314 | 315 | c. The disclaimer of warranties and limitation of liability provided 316 | above shall be interpreted in a manner that, to the extent 317 | possible, most closely approximates an absolute disclaimer and 318 | waiver of all liability. 319 | 320 | 321 | Section 6 -- Term and Termination. 322 | 323 | a. This Public License applies for the term of the Copyright and 324 | Similar Rights licensed here. However, if You fail to comply with 325 | this Public License, then Your rights under this Public License 326 | terminate automatically. 327 | 328 | b. Where Your right to use the Licensed Material has terminated under 329 | Section 6(a), it reinstates: 330 | 331 | 1. automatically as of the date the violation is cured, provided 332 | it is cured within 30 days of Your discovery of the 333 | violation; or 334 | 335 | 2. upon express reinstatement by the Licensor. 336 | 337 | For the avoidance of doubt, this Section 6(b) does not affect any 338 | right the Licensor may have to seek remedies for Your violations 339 | of this Public License. 340 | 341 | c. For the avoidance of doubt, the Licensor may also offer the 342 | Licensed Material under separate terms or conditions or stop 343 | distributing the Licensed Material at any time; however, doing so 344 | will not terminate this Public License. 345 | 346 | d. Sections 1, 5, 6, 7, and 8 survive termination of this Public 347 | License. 348 | 349 | 350 | Section 7 -- Other Terms and Conditions. 351 | 352 | a. The Licensor shall not be bound by any additional or different 353 | terms or conditions communicated by You unless expressly agreed. 354 | 355 | b. Any arrangements, understandings, or agreements regarding the 356 | Licensed Material not stated herein are separate from and 357 | independent of the terms and conditions of this Public License. 358 | 359 | 360 | Section 8 -- Interpretation. 361 | 362 | a. For the avoidance of doubt, this Public License does not, and 363 | shall not be interpreted to, reduce, limit, restrict, or impose 364 | conditions on any use of the Licensed Material that could lawfully 365 | be made without permission under this Public License. 366 | 367 | b. To the extent possible, if any provision of this Public License is 368 | deemed unenforceable, it shall be automatically reformed to the 369 | minimum extent necessary to make it enforceable. If the provision 370 | cannot be reformed, it shall be severed from this Public License 371 | without affecting the enforceability of the remaining terms and 372 | conditions. 373 | 374 | c. No term or condition of this Public License will be waived and no 375 | failure to comply consented to unless expressly agreed to by the 376 | Licensor. 377 | 378 | d. Nothing in this Public License constitutes or may be interpreted 379 | as a limitation upon, or waiver of, any privileges and immunities 380 | that apply to the Licensor or You, including from the legal 381 | processes of any jurisdiction or authority. 382 | 383 | ======================================================================= 384 | 385 | Creative Commons is not a party to its public 386 | licenses. Notwithstanding, Creative Commons may elect to apply one of 387 | its public licenses to material it publishes and in those instances 388 | will be considered the “Licensor.” The text of the Creative Commons 389 | public licenses is dedicated to the public domain under the CC0 Public 390 | Domain Dedication. Except for the limited purpose of indicating that 391 | material is shared under a Creative Commons public license or as 392 | otherwise permitted by the Creative Commons policies published at 393 | creativecommons.org/policies, Creative Commons does not authorize the 394 | use of the trademark "Creative Commons" or any other trademark or logo 395 | of Creative Commons without its prior written consent including, 396 | without limitation, in connection with any unauthorized modifications 397 | to any of its public licenses or any other arrangements, 398 | understandings, or agreements concerning use of licensed material. For 399 | the avoidance of doubt, this paragraph does not form part of the 400 | public licenses. 401 | 402 | Creative Commons may be contacted at creativecommons.org. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | > [!IMPORTANT] 2 | > Starting with Elastic Stack v9.0.0 the content in this repo has been moved to other repos. 3 | > 4 | > **If you need to update the docs for a version prior to 9.0.0**, you can open a PR in this repo targeting the specific version branch and backport to other branches using the [Backport CLI tool](https://github.com/sorenlouv/backport?tab=readme-ov-file#backport-cli-tool). 5 | > 6 | > **If you're updating the docs for version 9.0 or later**, you can open a PR in the content's new home: 7 | > 8 | > * Observability guide and serverless docs: [elastic/docs-content](https://github.com/elastic/docs-content/tree/main/solutions/observability) (stateless and serverless docs have been consolidated into one doc set) 9 | > * Integrations developer guide: [elastic/integrations](https://github.com/elastic/integrations/tree/main/docs/extend) 10 | 11 | # observability-docs 12 | 13 | The home of Elastic Observability documentation v8.17 and earlier. 14 | 15 | ## License 16 | 17 | Shield: [![CC BY-NC-ND 4.0][cc-by-nc-nd-shield]][cc-by-nc-nd] 18 | 19 | This work is licensed under a 20 | [Creative Commons Attribution-NonCommercial-NoDerivs 4.0 International License][cc-by-nc-nd]. 21 | 22 | [![CC BY-NC-ND 4.0][cc-by-nc-nd-image]][cc-by-nc-nd] 23 | 24 | [cc-by-nc-nd]: http://creativecommons.org/licenses/by-nc-nd/4.0/ 25 | [cc-by-nc-nd-image]: https://licensebuttons.net/l/by-nc-nd/4.0/88x31.png 26 | [cc-by-nc-nd-shield]: https://img.shields.io/badge/License-CC%20BY--NC--ND%204.0-lightgrey.svg --------------------------------------------------------------------------------