├── .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
--------------------------------------------------------------------------------