Skip to content

Commit 7041c81

Browse files
Merge branch 'main' into tbs-config-discard-on-write
2 parents 5f874ab + fb5f307 commit 7041c81

File tree

286 files changed

+8042
-1347
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

286 files changed

+8042
-1347
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
/solutions/observability/get-started/ @elastic/ski-docs
4848
/solutions/search/ @elastic/developer-docs
4949
/solutions/security/ @elastic/experience-docs
50+
/solutions/security/get-started/ @elastic/ingest-docs @elastic/experience-docs
5051
/solutions/security/cloud/ @elastic/ingest-docs
5152

5253
/troubleshoot/ @elastic/docs
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: "Docs preview comment"
2+
3+
on:
4+
pull_request_target:
5+
types: [opened, reopened, synchronize]
6+
7+
permissions:
8+
contents: read
9+
issues: write
10+
pull-requests: write
11+
12+
jobs:
13+
preview-links:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Comment preview links for changed docs
17+
uses: actions/github-script@v7
18+
with:
19+
github-token: ${{ secrets.GITHUB_TOKEN }}
20+
script: |
21+
const pr = context.payload.pull_request;
22+
const prNum = pr.number;
23+
const owner = context.repo.owner;
24+
const repo = context.repo.repo;
25+
const base = `https://docs-v3-preview.elastic.dev/${owner}/${repo}/pull/${prNum}`;
26+
27+
// 1) List all files in this PR
28+
const { data: files } = await github.rest.pulls.listFiles({
29+
owner, repo, pull_number: prNum
30+
});
31+
32+
// 2) Filter to only added/modified .md files (skip removed and _snippets/)
33+
const links = files
34+
.filter(f =>
35+
f.status !== 'removed' &&
36+
/\.md$/i.test(f.filename) &&
37+
!/(^|\/)_snippets\//i.test(f.filename)
38+
)
39+
.map(f => {
40+
let p = f.filename.replace(/\/index\.md$/i, '/');
41+
if (p === f.filename) p = p.replace(/\.md$/i, '');
42+
return `- [\`${f.filename}\`](${base}/${p})`;
43+
});
44+
45+
if (!links.length) return; // nothing to do
46+
47+
// 3) Build the comment body
48+
const body = [
49+
"🔍 **Preview links for changed docs:**",
50+
"",
51+
...links,
52+
"",
53+
"🔔 *The preview site may take up to **3 minutes** to finish building. These links will become live once it completes.*"
54+
].join("\n");
55+
56+
// 4) Post or update a single bot comment
57+
const { data: comments } = await github.rest.issues.listComments({
58+
owner, repo, issue_number: prNum
59+
});
60+
const existing = comments.find(c =>
61+
c.user.type === 'Bot' &&
62+
c.body.startsWith("🔍 **Preview links for changed docs:**")
63+
);
64+
65+
if (existing) {
66+
await github.rest.issues.updateComment({
67+
owner, repo,
68+
comment_id: existing.id,
69+
body
70+
});
71+
} else {
72+
await github.rest.issues.createComment({
73+
owner, repo,
74+
issue_number: prNum,
75+
body
76+
});
77+
}
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Label Community Issues
2+
3+
on:
4+
issues:
5+
types: [opened]
6+
7+
jobs:
8+
label-community-issues:
9+
runs-on: ubuntu-latest
10+
permissions:
11+
issues: write
12+
contents: read
13+
14+
steps:
15+
- name: Check organization membership
16+
id: check-membership
17+
uses: actions/github-script@v7
18+
with:
19+
github-token: ${{ secrets.ORG_MEMBER_READ_TOKEN }}
20+
script: |
21+
const issueAuthor = '${{ github.event.issue.user.login }}';
22+
const orgName = 'elastic';
23+
24+
try {
25+
await github.rest.orgs.getMembershipForUser({
26+
org: orgName,
27+
username: issueAuthor
28+
});
29+
30+
console.log(`${issueAuthor} is a member of ${orgName} organization`);
31+
return 'member';
32+
33+
} catch (error) {
34+
if (error.status === 404) {
35+
console.log(`${issueAuthor} is not a member of ${orgName} organization`);
36+
return 'non-member';
37+
} else {
38+
console.log('Error checking organization membership:', error);
39+
return 'error';
40+
}
41+
}
42+
43+
- name: Add community label
44+
if: steps.check-membership.outputs.result == 'non-member'
45+
uses: actions/github-script@v7
46+
with:
47+
github-token: ${{ secrets.GITHUB_TOKEN }}
48+
script: |
49+
const issueAuthor = '${{ github.event.issue.user.login }}';
50+
51+
await github.rest.issues.addLabels({
52+
owner: context.repo.owner,
53+
repo: context.repo.repo,
54+
issue_number: context.issue.number,
55+
labels: ['community']
56+
});
57+
58+
console.log(`Added "community" label to issue by ${issueAuthor}`);

cloud-account/multifactor-authentication.md

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -99,17 +99,7 @@ No, the Elastic Cloud default MFA enforcement does not apply when selecting **Lo
9999

100100
**My team uses a generic account or distribution/mailing list and shares the password to access Elastic Cloud. How will my team be able to log in and access our Elastic Cloud organization after the MFA enforcement?**
101101

102-
There are ways to work around the limitations of generic account access, but the more secure approach is to use one Elastic account for each Elastic Cloud user.
103-
104-
You can explore the following workarounds:
105-
106-
* Grant your team members access to that account’s Elastic Cloud organization by inviting and making them organization members. This may involve creating additional Elastic user accounts for each team member, depending on their organization access and ownership needs since we have yet to support multi-organization membership. When each team member has their own account to access your Elastic Cloud organization, they will be able to set up their own MFA method.
107-
* Use the email MFA method, assuming all of your team members have access to the generic account or distribution list’s mailbox.
108-
* Keep using the generic account to log in and set up multifactor authentication [using an authenticator app](#ec-account-security-mfa-authenticator).
109-
110-
During the setup, take a photo of the QR code, or note its numeric version, and share it across your team. This code is sensitive and should be stored and shared securely. For example, it should be stored in an encrypted place using a secure algorithm such as AES-256, and transmitted over a secure encrypted channel such as TLS 1.3.
111-
112-
This QR code is the "base" number used by the Authenticator app to generate codes based on the current time. There is no danger of synchronization issues. However, there is risk of a breach if the QR code picture or number is compromised.
102+
The only secure and recommended approach is to use one Elastic account for each {{ecloud}} user. You can grant your team members access to that account’s {{ecloud}} organization by inviting and making them organization members. This may involve creating additional Elastic user accounts for each team member, depending on their organization access and ownership needs, because Elastic does not support multi-organization membership. When each team member has their own account to access your {{ecloud}} organization, they will be able to set up their own MFA method.
113103

114104

115105
**After I set up an MFA method, will I need to answer an MFA challenge every time I authenticate through Elastic Cloud?**

cloud-account/update-your-email-address.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ products:
1313

1414
Each {{ecloud}} account has a primary email associated with it. By default, the primary email address is used to sign up for {{ecloud}} and to log in. If needed, you can change this primary email address.
1515

16+
Your email address is used to uniquely identify you. It can’t be used for more than one {{ecloud}} account, whether that account is a trial account, a standard {{ecloud}} account, or a subscription account through a marketplace. An {{ecloud}} account can belong to only one organization at a time.
17+
1618
## Change your email address (native sign-in)
1719

1820
If you log in using a standard email and password, follow these steps to update your email address:
@@ -34,3 +36,15 @@ If you log in using Google or Microsoft Sign-In, follow these steps to update yo
3436
## Changing your email address with an Azure Marketplace account
3537

3638
If your organization is associated with [Azure Marketplace](../deploy-manage/deploy/elastic-cloud/azure-native-isv-service.md), you can’t change your primary email address using the above methods. Instead, [invite another user](../deploy-manage/users-roles/cloud-organization/manage-users.md) with the desired email address to join your organization.
39+
40+
## Sign up using an existing email address [sign-up-existing]
41+
42+
In some situations, you might want to create a new {{ecloud}} account using an email address that is already associated with an existing account. To sign up to {{ecloud}} using an email address associated with another {{ecloud}} account, you must remove the email address from your previous account and replace it with a new address.
43+
44+
1. Use your current email address (for example, `[email protected]`) to log in to the [{{ecloud}} Console](https://cloud.elastic.co?page=docs&placement=docs-body).
45+
2. Follow the steps from one of the procedures on this page to update that email address to another email address, such as `[email protected]`.
46+
47+
You can now use the email address from step 1 to do the following:
48+
49+
* [Sign up for a new account](/deploy-manage/deploy/elastic-cloud/create-an-organization.md).
50+
* [Join an existing organization](/cloud-account/join-or-leave-an-organization.md).

deploy-manage/api-keys/elastic-cloud-api-keys.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ These keys provides access to the API that enables you to manage your deployment
2727

2828
1. Log in to the [{{ecloud}} Console](https://cloud.elastic.co?page=docs&placement=docs-body).
2929
2. Go to your avatar in the upper right corner and choose **Organization**.
30-
3. On the API keys tab of the **Organization** page, click **Create API Key**.
31-
4. From the **Create API Key** page, you can configure your new key by adding a name, set expiration, or assign [roles](../users-roles/cloud-organization/user-roles.md).
30+
3. On the **API keys** tab of the **Organization** page, click **Create API key**.
31+
4. On the **Create API key** flyout, you can configure your new key by adding a name, set expiration, or assign [roles](../users-roles/cloud-organization/user-roles.md).
3232

3333
By default, API keys expire after three months. You can set the expiration to a different preset value or to a specific date, up to one year. If you need the key to work indefinitely, you can also set its expiration to Never. In this case, the key won’t expire.
3434

deploy-manage/autoscaling/autoscaling-in-ece-and-ech.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ For a data tier, an autoscaling event can be triggered in the following cases:
7171

7272
* Through ILM policies. For example, if a deployment has only hot nodes and autoscaling is enabled, it automatically creates warm or cold nodes, if an ILM policy is trying to move data from hot to warm or cold nodes.
7373

74-
On machine learning nodes, scaling is determined by an estimate of the memory and CPU requirements for the currently configured jobs and trained models. When a new machine learning job tries to start, it looks for a node with adequate native memory and CPU capacity. If one cannot be found, it stays in an `opening` state. If this waiting job exceeds the queueing limit set in the machine learning decider, a scale up is requested. Conversely, as machine learning jobs run, their memory and CPU usage might decrease or other running jobs might finish or close. In this case, if the duration of decreased resource usage exceeds the set value for `down_scale_delay`, a scale down is requested. Check [Machine learning decider](autoscaling-deciders.md)for more detail. To learn more about machine learning jobs in general, check [Create anomaly detection jobs](../../explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs.md#ml-ad-create-job)
74+
On machine learning nodes, scaling is determined by an estimate of the memory and CPU requirements for the currently configured jobs and trained models. When a new machine learning job tries to start, it looks for a node with adequate native memory and CPU capacity. If one cannot be found, it stays in an `opening` state. If this waiting job exceeds the queueing limit set in the machine learning decider, a scale up is requested. Conversely, as machine learning jobs run, their memory and CPU usage might decrease or other running jobs might finish or close. In this case, if the duration of decreased resource usage exceeds the set value for `down_scale_delay`, a scale down is requested. Check [Machine learning decider](autoscaling-deciders.md) for more detail. To learn more about machine learning jobs in general, check [Create anomaly detection jobs](../../explore-analyze/machine-learning/anomaly-detection/ml-ad-run-jobs.md#ml-ad-create-job).
7575

7676
On a highly available deployment, autoscaling events are always applied to instances in each availability zone simultaneously, to ensure consistency.
7777

@@ -650,4 +650,4 @@ curl -XPOST \
650650

651651
:::
652652

653-
::::
653+
::::

deploy-manage/cloud-organization/billing/add-billing-details.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,9 @@ Trials get converted to paid subscriptions and billing starts when you add a cre
2424
To add your billing details:
2525

2626
1. Log in to the [{{ecloud}} Console](https://cloud.elastic.co?page=docs&placement=docs-body).
27-
2. Select the user icon on the header bar and select **Billing** from the menu.
28-
3. On the **Overview** page, select **Add billing information**.
29-
4. If prompted, complete the multifactor authentication (MFA) required by your bank.
27+
2. From a deployment or project on the home page, select **Manage**.
28+
3. From the lower navigation menu, select **Billing and Subscription**.
29+
4. On the **Overview** page, select **Add billing information**.
30+
5. If prompted, complete the multifactor authentication (MFA) required by your bank.
3031

3132
If you want, you can stop new charges by [deleting your project or deployment](/deploy-manage/uninstall/delete-a-cloud-deployment.md).

deploy-manage/cloud-organization/billing/manage-subscription.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,11 @@ If, at any time during your monthly subscription with {{ecloud}}, you decide you
3333
To change your subscription level:
3434

3535
1. Log in to the [{{ecloud}} Console](https://cloud.elastic.co?page=docs&placement=docs-body).
36-
2. Select the user icon on the header bar and select **Billing** from the menu.
37-
3. On the **Overview** page, select **Update subscription**.
38-
4. Choose a new subscription level.
39-
5. Save your changes.
36+
2. From a deployment or project on the home page, select **Manage**.
37+
3. From the lower navigation menu, select **Billing and Subscription**.
38+
4. On the **Overview** page, select **Update subscription**.
39+
5. Choose a new subscription level.
40+
6. Save your changes.
4041

4142
::::{important}
4243
* Changing to a higher subscription level takes place immediately. Moving to a lower subscription level takes effect 30 days after you most recently changed to a higher subscription level. In the interim, you pay the current rate. If you haven’t performed a self-service change in the past 30 days, then the change to the lower subscription level is immediate.

0 commit comments

Comments
 (0)