Skip to content

Commit a06b95d

Browse files
authored
Merge branch 'main' into mm/local-regular-activities
2 parents da805df + 037d30f commit a06b95d

91 files changed

Lines changed: 355 additions & 176 deletions

File tree

Some content is hidden

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

.vale-ci.ini

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,56 @@ Temporal.programming = NO
1414
Temporal.WordList = NO
1515
Temporal.terms = NO
1616

17+
; Temporal.Headings and Temporal.RelativeLinks are intentionally left enabled
18+
; (not listed above) — they're the two high-confidence checks this CI gate runs.
19+
1720
; ignore MDX custom heading-ID comments, e.g. {/* #ha-worker-patterns */}
1821
TokenIgnores = (\{/\*[^\n]*?\*/\})
1922

23+
; These are reference docs whose headings are literal command/metric names
24+
; (e.g. "## audit-log", "### --workflow_id"), not prose — sentence-case
25+
; capitalization doesn't apply, so skip Temporal.Headings for them.
26+
[docs/references/sdk-metrics.mdx]
27+
Temporal.Headings = NO
28+
29+
[docs/tctl-v1/**]
30+
Temporal.Headings = NO
31+
32+
[docs/cli/command-reference/**]
33+
Temporal.Headings = NO
34+
35+
[docs/cloud/tcld/**]
36+
Temporal.Headings = NO
37+
38+
[docs/cloud/references/regions/**]
39+
Temporal.Headings = NO
40+
41+
[docs/cloud/metrics/reference.mdx]
42+
Temporal.Headings = NO
43+
44+
[docs/cloud/metrics/openmetrics/metrics-reference.mdx]
45+
Temporal.Headings = NO
46+
47+
[docs/references/cluster-metrics.mdx]
48+
Temporal.Headings = NO
49+
50+
[docs/references/configuration.mdx]
51+
Temporal.Headings = NO
52+
53+
[docs/references/web-ui-configuration.mdx]
54+
Temporal.Headings = NO
55+
56+
[docs/references/server-options.mdx]
57+
Temporal.Headings = NO
58+
59+
[docs/references/errors.mdx]
60+
Temporal.Headings = NO
61+
62+
[docs/references/commands.mdx]
63+
Temporal.Headings = NO
64+
65+
[docs/references/events.mdx]
66+
Temporal.Headings = NO
67+
2068
[formats]
2169
mdx = md

.vale.ini

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,51 @@ Google.Will = NO
2727
Microsoft.ComplexWords = NO
2828
Google.WordList = NO
2929

30+
; These are reference docs whose headings are literal command/metric names
31+
; (e.g. "## audit-log", "### --workflow_id"), not prose — sentence-case
32+
; capitalization doesn't apply, so skip Temporal.Headings for them.
33+
[docs/references/sdk-metrics.mdx]
34+
Temporal.Headings = NO
35+
36+
[docs/tctl-v1/**]
37+
Temporal.Headings = NO
38+
39+
[docs/cli/command-reference/**]
40+
Temporal.Headings = NO
41+
42+
[docs/cloud/tcld/**]
43+
Temporal.Headings = NO
44+
45+
[docs/cloud/references/regions/**]
46+
Temporal.Headings = NO
47+
48+
[docs/cloud/metrics/reference.mdx]
49+
Temporal.Headings = NO
50+
51+
[docs/cloud/metrics/openmetrics/metrics-reference.mdx]
52+
Temporal.Headings = NO
53+
54+
[docs/references/cluster-metrics.mdx]
55+
Temporal.Headings = NO
56+
57+
[docs/references/configuration.mdx]
58+
Temporal.Headings = NO
59+
60+
[docs/references/web-ui-configuration.mdx]
61+
Temporal.Headings = NO
62+
63+
[docs/references/server-options.mdx]
64+
Temporal.Headings = NO
65+
66+
[docs/references/errors.mdx]
67+
Temporal.Headings = NO
68+
69+
[docs/references/commands.mdx]
70+
Temporal.Headings = NO
71+
72+
[docs/references/events.mdx]
73+
Temporal.Headings = NO
74+
3075
[formats]
3176
mdx = md
3277

docs/best-practices/cloud-access-control.mdx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,16 +50,16 @@ Select the option that aligns best with your infrastructure, security requiremen
5050

5151
In the case that you are using multiple certificates signed by the same CA, and some of these certificates are for production environments, there are some workarounds you can employ.
5252

53-
One convention is to give certificates a common name that matches the namespace. If you do this when using the same CA for dev and prod, then you can leverage Certificate Filters to prevent access to production environments. This is described in detail under the [authorization section](https://docs.temporal.io/cloud/certificates#control-authorization) of the documentation.
53+
One convention is to give certificates a common name that matches the namespace. If you do this when using the same CA for dev and prod, then you can leverage Certificate Filters to prevent access to production environments. This is described in detail under the [authorization section](/cloud/certificates#control-authorization) of the documentation.
5454

5555
## Best practices
5656

5757
### Establish clear guidelines on authentication methods
5858

59-
Teams should standardize on either [mTLS certificates](https://docs.temporal.io/cloud/certificates) or
60-
[API keys](https://docs.temporal.io/cloud/api-keys) for the following operations:
59+
Teams should standardize on either [mTLS certificates](/cloud/certificates) or
60+
[API keys](/cloud/api-keys) for the following operations:
6161
- Connect Temporal clients to Temporal Cloud (e.g. Worker processes)
62-
- Automation (e.g. Temporal Cloud [Operations API](https://docs.temporal.io/ops), [Terraform provider](https://docs.temporal.io/cloud/terraform-provider), [Temporal CLI](https://docs.temporal.io/cli/setup-cli))
62+
- Automation (e.g. Temporal Cloud [Operations API](/ops), [Terraform provider](/cloud/terraform-provider), [Temporal CLI](/cli/setup-cli))
6363

6464
By default, teams should use API keys with [service accounts](/cloud/manage-access/service-accounts) for both operations. API keys
6565
are generally easier to set up and rotate than mTLS certificates, and service accounts let you assign account-level and

docs/best-practices/cost-optimization.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ Focus optimization efforts on what's driving costs with a specific workload:
114114

115115
## Measuring
116116

117-
Establish [baseline metrics](https://docs.temporal.io/cloud/metrics/reference) before optimizing and be sure to validate impact after implementation.
117+
Establish [baseline metrics](/cloud/metrics/reference) before optimizing and be sure to validate impact after implementation.
118118
Specifically:
119119

120120
- Actions consumption (per Workflow, per day/month, by Namespace)
@@ -124,7 +124,7 @@ Specifically:
124124

125125
## Actions optimization
126126

127-
[Actions](https://docs.temporal.io/cloud/actions) encompass Workflow operations, Activity Executions, Signals, Queries, and other interactions with Temporal.
127+
[Actions](/cloud/actions) encompass Workflow operations, Activity Executions, Signals, Queries, and other interactions with Temporal.
128128
Each represents a unit of consumption.
129129

130130
### Activity granularity

docs/best-practices/knowledge-hub.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ To bootstrap your knowledge hub, use the
2626

2727
## What belongs in your knowledge hub
2828

29-
Although Temporal itself has [thorough documentation](https://docs.temporal.io/), not all of it applies to your organization or your teams' use cases.
29+
Although Temporal itself has [thorough documentation](/), not all of it applies to your organization or your teams' use cases.
3030
The knowledge hub distills the documentation into just the specific information your teams need.
3131
One way to organize the content is according to where developers are in their journey.
3232
The following sample outline shows what sections to include.
@@ -97,7 +97,7 @@ These metrics create a feedback loop: measure, identify gaps, improve content, a
9797

9898
## What doesn't belong in your knowledge hub
9999

100-
A knowledge hub is not a mirror of [Temporal's official documentation](https://docs.temporal.io/).
100+
A knowledge hub is not a mirror of [Temporal's official documentation](/).
101101
Avoid duplicating SDK API references, concept explanations, or release notes that Temporal already maintains.
102102
When that content changes, your copy becomes a source of confusion rather than clarity.
103103
Instead, link to the official docs and reserve your knowledge hub for organization-specific decisions, conventions,

docs/best-practices/security-controls.mdx

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -35,21 +35,21 @@ Strong identity management in Temporal Cloud is crucial for ensuring secure acce
3535

3636
### Best Practices:
3737

38-
#### 1. Enable [SAML Single Sign-on](https://docs.temporal.io/cloud/manage-access/saml) (SSO) for User Access
38+
#### 1. Enable [SAML Single Sign-on](/cloud/manage-access/saml) (SSO) for User Access
3939

4040
Integrate Temporal Cloud with your organization's identity provider via SAML 2.0 for centralized authentication. SSO allows you to enforce your corporate login policies (MFA, password complexity, etc.). When you configure SAML with Temporal Cloud, you can disable social logins (i.e. Microsoft, Google) by opening a support ticket.
4141

4242
#### 2. Use Least-Privilege Roles for Temporal Cloud Users
4343

44-
Temporal Cloud provides [preconfigured account-level roles](https://docs.temporal.io/cloud/manage-access/users) (Account Owner, Finance Admin, Global Admin, Developer, Read-Only) and Namespace-level permissions. Assign users the lowest level of access they need. For example, give developers access only to the Namespaces they work on, and use read-only roles for auditors or reviewers. Regularly review user roles and remove or downgrade accounts that are no longer needed
44+
Temporal Cloud provides [preconfigured account-level roles](/cloud/manage-access/users) (Account Owner, Finance Admin, Global Admin, Developer, Read-Only) and Namespace-level permissions. Assign users the lowest level of access they need. For example, give developers access only to the Namespaces they work on, and use read-only roles for auditors or reviewers. Regularly review user roles and remove or downgrade accounts that are no longer needed
4545

4646
#### 3. Leverage SCIM or Automated User Provisioning
4747

48-
When applicable, use [SCIM](https://docs.temporal.io/cloud/manage-access/scim) or the Temporal Cloud user management API to automate adding and removing user accounts. This ensures timely removal of access when people change roles or leave the organization.
48+
When applicable, use [SCIM](/cloud/manage-access/scim) or the Temporal Cloud user management API to automate adding and removing user accounts. This ensures timely removal of access when people change roles or leave the organization.
4949

5050
#### Use Service Accounts for Automation
5151

52-
For non-human access (CI/CD pipelines, backend services), use [Temporal Cloud Service Accounts](https://docs.temporal.io/cloud/manage-access/service-accounts) instead of shared user logins. Service Accounts are machine identities that can be granted specific permissions without ties to an individual. Create separate Service Accounts with unique API keys for different applications or microservices, and apply least privilege to each (e.g. a service account that only has access to one Namespace).
52+
For non-human access (CI/CD pipelines, backend services), use [Temporal Cloud Service Accounts](/cloud/manage-access/service-accounts) instead of shared user logins. Service Accounts are machine identities that can be granted specific permissions without ties to an individual. Create separate Service Accounts with unique API keys for different applications or microservices, and apply least privilege to each (e.g. a service account that only has access to one Namespace).
5353

5454
## Secure Application Authentication and API Access
5555

@@ -67,7 +67,7 @@ We recommend you enable mTLS for strong identity assurance of clients; it ensure
6767

6868
#### 2. Proactively manage and rotate certificates
6969

70-
Track the expiration dates of your client and [Certificate Authority certificates](https://docs.temporal.io/cloud/certificates). Temporal Cloud trusts the uploaded CA; if it expires, all client authorizations will fail. Establish and automate a certificate rotation schedule (e.g. rotate client certificates quarterly and CA certificates annually, well before expiry). Temporal supports uploading a new CA certificate alongside the old one to allow seamless rollover. Always test new certificates in a staging environment if possible.
70+
Track the expiration dates of your client and [Certificate Authority certificates](/cloud/certificates). Temporal Cloud trusts the uploaded CA; if it expires, all client authorizations will fail. Establish and automate a certificate rotation schedule (e.g. rotate client certificates quarterly and CA certificates annually, well before expiry). Temporal supports uploading a new CA certificate alongside the old one to allow seamless rollover. Always test new certificates in a staging environment if possible.
7171

7272
#### 3. If you’re using API Keys, handle them with strict care
7373

@@ -86,11 +86,11 @@ Although Temporal Cloud is a SaaS offering, you retain control over its networki
8686

8787
#### 1. Use Private Connectivity
8888

89-
Temporal Cloud supports private connectivity options such as [AWS PrivateLink](https://docs.temporal.io/cloud/connectivity/aws-connectivity) and [Google Cloud Private Service Connect](https://docs.temporal.io/cloud/connectivity/gcp-connectivity). If your infrastructure is in AWS or GCP, configure a PrivateLink/PSC endpoint for Temporal Cloud. This allows your workers and applications to reach Temporal Cloud over a private network path, avoiding traversal of the public internet. Private connectivity reduces the surface for man-in-the-middle attacks and can meet stringent network security policies.
89+
Temporal Cloud supports private connectivity options such as [AWS PrivateLink](/cloud/connectivity/aws-connectivity) and [Google Cloud Private Service Connect](/cloud/connectivity/gcp-connectivity). If your infrastructure is in AWS or GCP, configure a PrivateLink/PSC endpoint for Temporal Cloud. This allows your workers and applications to reach Temporal Cloud over a private network path, avoiding traversal of the public internet. Private connectivity reduces the surface for man-in-the-middle attacks and can meet stringent network security policies.
9090

9191
#### 2. Separate environments by Namespace
9292

93-
Use [Temporal Namespaces](https://docs.temporal.io/best-practices/managing-namespace#naming-conventions) to isolate workflows for different environments or teams (e.g. development, staging, production). Each Namespace is logically segregated and cannot interact with others by default, providing a security boundary.
93+
Use [Temporal Namespaces](/best-practices/managing-namespace#naming-conventions) to isolate workflows for different environments or teams (e.g. development, staging, production). Each Namespace is logically segregated and cannot interact with others by default, providing a security boundary.
9494

9595
Ensure that your production Namespace uses stricter network controls (e.g. only accessible from the prod network) and that credentials for it are separate from non-prod Namespaces. This limits the impact of any compromise in a lower environment, and as workflow data is only visible to users with access to that Namespace, separating environments by Namespace also enforces data-visibility boundaries.
9696

@@ -102,19 +102,19 @@ Temporal's data encryption capabilities ensure the security and confidentiality
102102

103103
#### 1. Enable Client-Side Encryption for Workflow Data
104104

105-
Temporal provides an optional [data conversion framework](https://docs.temporal.io/dataconversion) (Data Converter) and payload codec interface; customers must implement, deploy, and operate their own custom codec and manage encryption keys.
105+
Temporal provides an optional [data conversion framework](/dataconversion) (Data Converter) and payload codec interface; customers must implement, deploy, and operate their own custom codec and manage encryption keys.
106106

107107
In practice, this means you can encrypt any sensitive data before it is sent to Temporal Cloud and only decrypt it on the Client/Worker side. Because encryption keys stay under your control, you are responsible for key generation, secure storage, rotation, and versioning. Implementing this involves developing a custom codec plugin in your Temporal SDK and optionally (if you need to inspect decrypted payloads in the Web UI or CLI) deploying a dedicated codec server.
108108

109-
#### 2. Encode Workflow Failure Details with a [Failure Converter](https://docs.temporal.io/failure-converter)
109+
#### 2. Encode Workflow Failure Details with a [Failure Converter](/failure-converter)
110110

111111
Temporal’s default behavior copies error messages and call stacks as plain text, and this text is directly accessible in the Message field of Workflow Executions.
112112

113-
If your failure messages and stack traces contain sensitive information, it is recommended that you configure the [Failure Converter](https://docs.temporal.io/failure-converter) to encrypt the error information. This would encrypt the `message` and `stack_trace` fields in the payloads.
113+
If your failure messages and stack traces contain sensitive information, it is recommended that you configure the [Failure Converter](/failure-converter) to encrypt the error information. This would encrypt the `message` and `stack_trace` fields in the payloads.
114114

115115
#### 3. Leverage Namespace Data Retention Policies
116116

117-
Temporal Cloud Namespace has a [Retention Period](https://docs.temporal.io/temporal-service/temporal-server#retention-period) setting for workflow histories (1 to 90 days). Set an appropriate retention period to balance operational needs with security. Shorter retention means completed workflow data (history, payloads) is purged sooner, reducing the amount of sensitive data stored in the cloud at any time. Document your retention choices to align with your company’s data retention policies and regulatory requirements. For retention periods over 90 days, these can be exported to your own GCS or S3 buckets.
117+
Temporal Cloud Namespace has a [Retention Period](/temporal-service/temporal-server#retention-period) setting for workflow histories (1 to 90 days). Set an appropriate retention period to balance operational needs with security. Shorter retention means completed workflow data (history, payloads) is purged sooner, reducing the amount of sensitive data stored in the cloud at any time. Document your retention choices to align with your company’s data retention policies and regulatory requirements. For retention periods over 90 days, these can be exported to your own GCS or S3 buckets.
118118

119119
### Availability and Disaster Recovery
120120

@@ -137,8 +137,8 @@ Run a business-impact analysis to flag workflows where a regional outage would c
137137

138138
For many organizations, ensuring High Availability (HA) is required because of strict uptime requirements, compliance, and regulatory needs.
139139

140-
For these critical use cases, enable High Availability features for specific namespaces for a [99.99% contractual SLA](https://docs.temporal.io/cloud/high-availability#high-availability-features). When choosing between [same-region, multi-region, and multi-cloud replication](https://docs.temporal.io/cloud/high-availability), it is recommended to use multi-region/multi-cloud replication to distribute your dependencies across regions. Using physically separated regions improves the fault tolerance of your application.
140+
For these critical use cases, enable High Availability features for specific namespaces for a [99.99% contractual SLA](/cloud/high-availability#high-availability-features). When choosing between [same-region, multi-region, and multi-cloud replication](/cloud/high-availability), it is recommended to use multi-region/multi-cloud replication to distribute your dependencies across regions. Using physically separated regions improves the fault tolerance of your application.
141141

142-
By default, Temporal Cloud provides a [99.9% contractual SLA guarantee](https://docs.temporal.io/cloud/high-availability) against service errors for all namespaces.
142+
By default, Temporal Cloud provides a [99.9% contractual SLA guarantee](/cloud/high-availability) against service errors for all namespaces.
143143

144-
Note: [enabling HA features for namespaces will 2x the consumption cost.](https://docs.temporal.io/cloud/pricing#high-availability-features)
144+
Note: [enabling HA features for namespaces will 2x the consumption cost.](/cloud/pricing#high-availability-features)

docs/cloud/audit-logs-gcp.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,6 @@ If everything is configured correctly, you will see a `Success` status indicatin
5959

6060
:::info MORE INFORMATION
6161

62-
For more details, refer to [Audit Logs with Temporal Cloud](https://docs.temporal.io/cloud/audit-logs).
62+
For more details, refer to [Audit Logs with Temporal Cloud](/cloud/audit-logs).
6363

6464
:::

docs/cloud/capacity-modes.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ For Requests in excess of 4 TRUs in regions outside of the US, we recommend subm
155155
### Provisioned Capacity Availability
156156
The amount of capacity available within a region may vary.
157157
Temporal will check available capacity at the time of your request and aims to provision requested capacity within two minutes.
158-
If you need capacity beyond what is self-serviceable or available in a region, please [file a support ticket](https://docs.temporal.io/cloud/support#ticketing) indicating the limit, region, and timeframe that the capacity is needed.
158+
If you need capacity beyond what is self-serviceable or available in a region, please [file a support ticket](/cloud/support#ticketing) indicating the limit, region, and timeframe that the capacity is needed.
159159

160160

161161
### When should I use Provisioned Capacity?

0 commit comments

Comments
 (0)