Update Vale to latest (#534)

This commit is contained in:
Pete Lumbis 2023-08-28 20:31:26 +02:00 committed by GitHub
parent fd41266a1e
commit 151ab38f09
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
88 changed files with 1866 additions and 453 deletions

View File

@ -23,7 +23,7 @@ jobs:
- name: Install Vale
env:
VALE_VERSION: "2.22.0"
VALE_VERSION: "2.28.2"
run: wget https://github.com/errata-ai/vale/releases/download/v${{env.VALE_VERSION}}/vale_${{env.VALE_VERSION}}_Linux_64-bit.tar.gz && tar -xvzf vale_${{env.VALE_VERSION}}_Linux_64-bit.tar.gz
- name: Run Vale

View File

@ -18,7 +18,7 @@ APIs. Crossplane can even let you
directly from Kubernetes. If it has an API, Crossplane can connect to it.
With Crossplane, platform teams can create new abstractions and custom
APIs with the full power of Kubernetes policies, namespaces, role-based access
APIs with the full power of Kubernetes policies, namespaces, role based access
controls and more. Crossplane brings all your non-Kubernetes resources under
one roof.
@ -29,16 +29,18 @@ and use Kubernetes as the control plane for everything.
{{< hint "tip" >}}
**What's a control plane?**
<!-- vale Google.WordList = NO -->
Control planes create and manage the lifecycle of resources. Control planes
constantly _check_ that the intended resources exist, _report_ when the intended
state doesn't match reality and _act_ to make things right.
Crossplane extends the Kubernetes control plane to be a **universal control
plane** to check, report and act on any resource, anywhere.
<!-- vale Google.WordList = YES -->
{{< /hint >}}
# Get Started
# Get started
* [Install Crossplane]({{<ref "software/install">}}) in your Kubernetes cluster
* Learn more about how Crossplane works in the
[Crossplane introduction]({{<ref "getting-started/introduction" >}})

View File

@ -204,5 +204,4 @@ spec:
name: my-claim-secret
```
For more information on connection secrets read the [Connection Secrets
knowledge base article]({{<ref "/knowledge-base/guides/connection-details">}}).
For more information on connection secrets read the [Connection Secrets knowledge base article]({{<ref "/knowledge-base/guides/connection-details">}}).

View File

@ -258,8 +258,7 @@ on what your OpenAPIv3 custom API can use.
{{<hint "important" >}}
Changing or expanding the XRD schema requires restarting the [Crossplane
pod]({{<ref "./pods#crossplane-pod">}}) to take effect.
Changing or expanding the XRD schema requires restarting the [Crossplane pod]({{<ref "./pods#crossplane-pod">}}) to take effect.
{{< /hint >}}
##### Required fields
@ -351,8 +350,7 @@ object,
- location
```
The Swagger "[Describing
Parameters](https://swagger.io/docs/specification/describing-parameters/)"
The Swagger "[Describing Parameters](https://swagger.io/docs/specification/describing-parameters/)"
documentation has more examples.
##### Crossplane reserved fields
@ -415,8 +413,7 @@ field indicates which version of the schema Compositions use. Only one
version can be `referenceable`.
{{< hint "note" >}}
Changing which version is `referenceable:true` requires [updating the
`compositeTypeRef.apiVersion`]({{<ref "./compositions#enabling-composite-resources" >}})
Changing which version is `referenceable:true` requires [updating the `compositeTypeRef.apiVersion`]({{<ref "./compositions#enabling-composite-resources" >}})
of any Compositions referencing that XRD.
{{< /hint >}}
@ -427,8 +424,7 @@ of any Compositions referencing that XRD.
Crossplane supports defining multiple `versions`, but the schema of each version
can't change any existing fields, also called "making a breaking change."
Breaking schema changes between versions requires the use of [conversion
webhooks](https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/#webhook-conversion).
Breaking schema changes between versions requires the use of [conversion webhooks](https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/#webhook-conversion).
New versions may define new optional parameters, but new required fields are
a "breaking change."
@ -496,8 +492,7 @@ spec:
{{<hint "important" >}}
Changing or expanding the XRD schema requires restarting the [Crossplane
pod]({{<ref "./pods#crossplane-pod">}}) to take effect.
Changing or expanding the XRD schema requires restarting the [Crossplane pod]({{<ref "./pods#crossplane-pod">}}) to take effect.
{{< /hint >}}
### Enable Claims
@ -622,8 +617,8 @@ You can't change the `connectionSecretKeys` of an XRD. You must delete and
recreate the XRD to change the `connectionSecretKeys`.
{{</hint >}}
For more information on connection secrets read the [Connection Secrets
knowledge base article]({{<ref "/knowledge-base/guides/connection-details">}}).
For more information on connection secrets read the
[Connection Secrets knowledge base article]({{<ref "/knowledge-base/guides/connection-details">}}).
### Set composite resource defaults
XRDs can set default parameters for composite resources and Claims.

View File

@ -142,8 +142,7 @@ spec:
toFieldPath: metadata.annotations
```
For more information on patching resources refer to the [Patch and
Transform]({{<ref "./patch-and-transform">}}) documentation.
For more information on patching resources refer to the [Patch and Transform]({{<ref "./patch-and-transform">}}) documentation.
### Composition selection
@ -282,8 +281,7 @@ to the composite resource.
A resource may only access connection secrets allowed by the XRD. By
default XRDs provide access to all connection secrets generated by managed
resources.
Read more about [managing connection
secrets]({{<ref "./composite-resource-definitions#manage-connection-secrets">}})
Read more about [managing connection secrets]({{<ref "./composite-resource-definitions#manage-connection-secrets">}})
in the XRD documentation.
{{< /hint >}}
@ -335,8 +333,7 @@ spec:
Read the [External Secrets Store]({{<ref "/knowledge-base/integrations/vault-as-secret-store">}}) documentation for more information on using
external secret stores.
For more information on connection secrets read the [Connection Secrets
knowledge base article]({{<ref "/knowledge-base/guides/connection-details">}}).
For more information on connection secrets read the [Connection Secrets knowledge base article]({{<ref "/knowledge-base/guides/connection-details">}}).
### Pausing composite resources

View File

@ -135,7 +135,7 @@ the external resource name.
#### Template a ProviderConfig
Compositions can define a ProviderConfig like it defines managed resources.
Generating a ProviderConfig may be useful in providing unique credentials to
Generating a ProviderConfig can provide unique credentials to
each deployment.
@ -240,8 +240,7 @@ Composition, the resources defined by the
the EKS {{<hover label="xcluster" line="13">}}cluster{{</hover >}}.
{{<hint "note" >}}
This abbreviated example is from the Upbound [AWS Reference
Platform](https://github.com/upbound/platform-ref-aws).
This abbreviated example is from the Upbound [AWS Reference Platform](https://github.com/upbound/platform-ref-aws).
View the complete Compositions in the reference platform's
[package directory](https://github.com/upbound/platform-ref-aws/blob/main/package/cluster/composition.yaml).
@ -446,8 +445,7 @@ Most Compositions require customizing the fields of the resources. This can
include applying unique passwords, modifying where to deploy resources,
or applying labels or annotations.
The primary method to change resources is using a resource [patch and
transform]({{<ref "./patch-and-transform" >}}). Patch and transforms allow
The primary method to change resources is using a resource [patch and transform]({{<ref "./patch-and-transform" >}}). Patch and transforms allow
matching specific input fields, modifying them and applying them to the managed
resource.
@ -892,8 +890,7 @@ Read the
for more information on restricting secret keys.
{{< /hint >}}
For more information on connection secrets read the [Connection Secrets
knowledge base article]({{<ref "/knowledge-base/guides/connection-details">}}).
For more information on connection secrets read the [Connection Secrets knowledge base article]({{<ref "/knowledge-base/guides/connection-details">}}).
{{<hint "warning">}}
You can't change the
@ -1007,7 +1004,7 @@ Compositions support matching resource fields by:
#### Match a string
{{<hover label="matchstring" line="11">}}MatchString{{</hover>}} considers the composed resource to be ready when the value of a
field within that resource matches a specified string.
field in that resource matches a specified string.
{{<hint "note" >}}
<!-- vale Google.WordList = NO -->
@ -1042,7 +1039,7 @@ spec:
#### Match an integer
{{<hover label="matchint" line="11">}}MatchInteger{{</hover>}} considers the composed resource to be ready when the value of a
field within that resource matches a specified integer.
field in that resource matches a specified integer.
{{<hint "note" >}}
<!-- vale Google.WordList = NO -->

View File

@ -35,8 +35,7 @@ Provider also define the available settings of a managed resource.
Each managed resource is a unique API endpoint with their own
group, kind and version.
For example the [Upbound AWS
Provider](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/)
For example the [Upbound AWS Provider](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/)
defines the {{<hover label="gkv" line="2">}}Instance{{</hover>}} kind from the
group {{<hover label="gkv" line="1">}}ec2.aws.upbound.io{{</hover>}}
@ -650,8 +649,7 @@ call and receiving a response.
If a Provider restarts before creating the `succeed` or `fail` annotations the
Provider can't reconcile the manged resource.
Read Crossplane [issue
#3037](https://github.com/crossplane/crossplane/issues/3037#issuecomment-1110142427)
Read Crossplane [issue #3037](https://github.com/crossplane/crossplane/issues/3037#issuecomment-1110142427)
for more details
{{< /hint >}}

View File

@ -276,8 +276,7 @@ updates the Roles to access the specific API endpoints in a Claim.
{{< hint "note" >}}
The specific details of the namespace Roles are beyond this guide. For more
information read the [Composite Resource ClusterRole
Mechanics](https://github.com/crossplane/crossplane/blob/master/design/design-doc-rbac-manager.md#composite-resource-clusterrole-mechanics)
information read the [Composite Resource ClusterRole Mechanics](https://github.com/crossplane/crossplane/blob/master/design/design-doc-rbac-manager.md#composite-resource-clusterrole-mechanics)
section of the RBAC Manager design document.
{{< /hint >}}

View File

@ -33,8 +33,7 @@ Kubernetes API endpoint. These endpoints are
{{< hint "note" >}}
Instructions on building your own Provider are outside of the scope of this
document. Read the Crossplane contributing [Provider Development
Guide](https://github.com/crossplane/crossplane/blob/master/contributing/guide-provider-development.md)
document. Read the Crossplane contributing [Provider Development Guide](https://github.com/crossplane/crossplane/blob/master/contributing/guide-provider-development.md)
for more information.
{{< /hint >}}
@ -132,8 +131,7 @@ If you remove the Provider first, you must manually delete external resources
through your cloud provider. Managed resources must be manually deleted by
removing their finalizers.
For more information on deleting abandoned resources read the [Crossplane
troubleshooting guide]({{<ref "/knowledge-base/guides/troubleshoot#deleting-when-a-resource-hangs" >}}).
For more information on deleting abandoned resources read the [Crossplane troubleshooting guide]({{<ref "/knowledge-base/guides/troubleshoot#deleting-when-a-resource-hangs" >}}).
{{< /hint >}}
## Verify a Provider

View File

@ -98,7 +98,7 @@ defines a
[`bucket`](https://marketplace.upbound.io/providers/upbound/provider-aws/v0.25.0/resources/s3.aws.upbound.io/Bucket/v1beta1)
resource for creating and managing AWS S3 storage buckets.
Within the `bucket` CRD is a
In the `bucket` CRD is a
[`spec.forProvider.region`](https://marketplace.upbound.io/providers/upbound/provider-aws/v0.25.0/resources/s3.aws.upbound.io/Bucket/v1beta1#doc:spec-forProvider-region)
value that defines which AWS region to deploy the bucket in.
@ -147,8 +147,7 @@ Depending on the size of the API server and number of managed resources, this
command may take minutes to return or may timeout.
For more information, read
[Kubernetes issue
#111880](https://github.com/kubernetes/kubernetes/issues/111880)
[Kubernetes issue #111880](https://github.com/kubernetes/kubernetes/issues/111880)
and
[Crossplane issue #3459](https://github.com/crossplane/crossplane/issues/3459).
{{< /hint >}}

View File

@ -132,7 +132,7 @@ is strongly recommended.
This guide uses the group
{{<hover label="version" line="1">}}database.example.com{{</hover>}}.
Since this is the first version of the API, this guide uses the version
Because this is the first version of the API, this guide uses the version
{{<hover label="version" line="1">}}v1alpha1{{</hover>}}.
```yaml {label="version",copy-lines="none"}
@ -141,7 +141,7 @@ apiVersion: database.example.com/v1alpha1
### Define a kind
The API group is a logical collection of related APIs. Within a group are
The API group is a logical collection of related APIs. In a group are
individual kinds representing different resources.
For example a `database` group may have a `Relational` and `NoSQL` kinds.
@ -283,11 +283,11 @@ Each entry in the template
is a full resource definitions, defining all the resource settings and metadata
like labels and annotations.
This template creates a GCP
{{<hover label="comp" line="13">}}storage{{</hover>}}
This template creates an AWS
{{<hover label="comp" line="13">}}S3{{</hover>}}
{{<hover label="comp" line="14">}}Bucket{{</hover>}} and a
{{<hover label="comp" line="33">}}Pubsub{{</hover>}}
{{<hover label="comp" line="34">}}Topic{{</hover>}}.
{{<hover label="comp" line="33">}}DynamoDB{{</hover>}}
{{<hover label="comp" line="34">}}Table{{</hover>}}.
Crossplane uses {{<hover label="comp" line="19">}}patches{{</hover>}} to apply
the user's input to the resource template.
@ -319,7 +319,7 @@ spec:
name: default
patches:
- type: FromCompositeFieldPath
fromFieldPath: "spec.location"
fromFieldPath: "location"
toFieldPath: "spec.forProvider.region"
transforms:
- type: map
@ -343,7 +343,7 @@ spec:
hashKey: S3ID
patches:
- type: FromCompositeFieldPath
fromFieldPath: "location"
fromFieldPath: "spec.location"
toFieldPath: "spec.forProvider.region"
transforms:
- type: map
@ -473,7 +473,7 @@ Accessing the API `nosql` happens at the cluster scope.
Most organizations
isolate their users into namespaces.
A Crossplane _Claim_ is the custom API within a namespace.
A Crossplane _Claim_ is the custom API in a namespace.
Creating a _Claim_ is just like accessing the custom API endpoint, but with the
{{<hover label="claim" line="3">}}kind{{</hover>}}

View File

@ -137,7 +137,7 @@ is strongly recommended.
This guide uses the group
{{<hover label="version" line="1">}}compute.example.com{{</hover>}}.
Since this is the first version of the API, this guide uses the version
Because this is the first version of the API, this guide uses the version
{{<hover label="version" line="1">}}v1alpha1{{</hover>}}.
```yaml {label="version",copy-lines="none"}
@ -146,7 +146,7 @@ apiVersion: compute.example.com/v1alpha1
### Define a kind
The API group is a logical collection of related APIs. Within a group are
The API group is a logical collection of related APIs. In a group are
individual kinds representing different resources.
For example a `compute` group may have a `VirtualMachine` and `BareMetal` kinds.
@ -289,16 +289,17 @@ is a full resource definitions, defining all the resource settings and metadata
like labels and annotations.
This template creates an Azure
{{<hover label="comp" line="14">}}LinuxVirtualMachine{{</hover>}}
{{<hover label="comp" line="14">}}NetworkInterface{{</hover>}},
{{<hover label="comp" line="33">}}Subnet{{</hover>}} and
{{<hover label="comp" line="34">}}VirtualNetwork{{</hover>}}.
{{<hover label="comp" line="11">}}LinuxVirtualMachine{{</hover>}}
{{<hover label="comp" line="46">}}NetworkInterface{{</hover>}},
{{<hover label="comp" line="69">}}Subnet{{</hover>}}
{{<hover label="comp" line="90">}}VirtualNetwork{{</hover>}} and
{{<hover label="comp" line="110">}}ResourceGroup{{</hover>}}.
Crossplane uses {{<hover label="comp" line="19">}}patches{{</hover>}} to apply
Crossplane uses {{<hover label="comp" line="34">}}patches{{</hover>}} to apply
the user's input to the resource template.
This Composition takes the user's
{{<hover label="comp" line="21">}}location{{</hover>}} input and uses it as the
{{<hover label="comp" line="16">}}region{{</hover>}} used in the individual
{{<hover label="comp" line="36">}}location{{</hover>}} input and uses it as the
{{<hover label="comp" line="37">}}location{{</hover>}} used in the individual
resource.
Apply this Composition to your cluster.
@ -311,22 +312,6 @@ metadata:
name: crossplane-quickstart-vm-with-network
spec:
resources:
- name: crossplane-resourcegroup
base:
apiVersion: azure.upbound.io/v1beta1
kind: ResourceGroup
spec:
forProvider:
location: Central US
patches:
- type: FromCompositeFieldPath
fromFieldPath: "location"
toFieldPath: "spec.forProvider.location"
transforms:
- type: map
map:
EU: "Sweden Central"
US: "Central US"
- name: quickstart-vm
base:
apiVersion: compute.azure.upbound.io/v1beta1
@ -355,7 +340,7 @@ spec:
matchControllerRef: true
patches:
- type: FromCompositeFieldPath
fromFieldPath: "location"
fromFieldPath: "spec.location"
toFieldPath: "spec.forProvider.location"
transforms:
- type: map
@ -378,7 +363,7 @@ spec:
matchControllerRef: true
patches:
- type: FromCompositeFieldPath
fromFieldPath: "location"
fromFieldPath: "spec.location"
toFieldPath: "spec.forProvider.location"
transforms:
- type: map
@ -399,7 +384,7 @@ spec:
matchControllerRef: true
patches:
- type: FromCompositeFieldPath
fromFieldPath: "location"
fromFieldPath: "spec.location"
toFieldPath: "spec.forProvider.location"
transforms:
- type: map
@ -419,7 +404,23 @@ spec:
matchControllerRef: true
patches:
- type: FromCompositeFieldPath
fromFieldPath: "location"
fromFieldPath: "spec.location"
toFieldPath: "spec.forProvider.location"
transforms:
- type: map
map:
EU: "Sweden Central"
US: "Central US"
- name: crossplane-resourcegroup
base:
apiVersion: azure.upbound.io/v1beta1
kind: ResourceGroup
spec:
forProvider:
location: Central US
patches:
- type: FromCompositeFieldPath
fromFieldPath: "spec.location"
toFieldPath: "spec.forProvider.location"
transforms:
- type: map
@ -487,7 +488,7 @@ upbound-provider-family-azure True True xpkg.upbound.io/upbound/pr
With the custom API (XRD) installed and associated to a resource template
(Composition) users can access the API to create resources.
Create a {{<hover label="xr" line="2">}}VirtualMachine{{</hover>}} object to
Create a {{<hover label="xr" line="3">}}VirtualMachine{{</hover>}} object to
create the cloud resources.
```yaml {copy-lines="all",label="xr"}
@ -497,7 +498,7 @@ kind: VirtualMachine
metadata:
name: my-vm
spec:
location: "US"
location: "EU"
EOF
```
@ -573,7 +574,7 @@ Accessing the API `VirtualMachine` happens at the cluster scope.
Most organizations
isolate their users into namespaces.
A Crossplane _Claim_ is the custom API within a namespace.
A Crossplane _Claim_ is the custom API in a namespace.
Creating a _Claim_ is just like accessing the custom API endpoint, but with the
{{<hover label="claim" line="3">}}kind{{</hover>}}
@ -595,7 +596,7 @@ metadata:
name: my-namespaced-vm
namespace: crossplane-test
spec:
location: "US"
location: "EU"
EOF
```
View the Claim with `kubectl get claim -n crossplane-test`.

View File

@ -150,7 +150,7 @@ is strongly recommended.
This guide uses the group
{{<hover label="version" line="1">}}database.example.com{{</hover>}}.
Since this is the first version of the API, this guide uses the version
Because this is the first version of the API, this guide uses the version
{{<hover label="version" line="1">}}v1alpha1{{</hover>}}.
```yaml {label="version",copy-lines="none"}
@ -159,7 +159,7 @@ apiVersion: database.example.com/v1alpha1
### Define a kind
The API group is a logical collection of related APIs. Within a group are
The API group is a logical collection of related APIs. In a group are
individual kinds representing different resources.
For example a `queue` group may have a `PubSub` and `CloudTask` kinds.
@ -478,7 +478,7 @@ Accessing the API `pubsub` happens at the cluster scope.
Most organizations
isolate their users into namespaces.
A Crossplane _Claim_ is the custom API within a namespace.
A Crossplane _Claim_ is the custom API in a namespace.
Creating a _Claim_ is just like accessing the custom API endpoint, but with the
{{<hover label="claim" line="3">}}kind{{</hover>}}

View File

@ -94,7 +94,7 @@ provider and configuration packages.
* The _Composition controller_ installs and manages the
Crossplane _Composite Resource Definitions_, _Compositions_ and _Claims_.
### Crossplane-rbac-manager deployment
### Crossplane RBAC manager deployment
The `crossplane-rbac-manager` creates and manages Kubernetes _ClusterRoles_ for
installed Crossplane _Provider_ and their _Custom Resource Definitions_.
@ -126,16 +126,16 @@ Apply customizations with the command line or with a Helm _values_ file.
| `extraEnvVarsRBACManager` | Add custom environmental variables to the RBAC Manager pod deployment. Replaces any `.` in a variable name with `_`. For example, `SAMPLE.KEY=value1` becomes `SAMPLE_KEY=value1`. | `{}` |
| `extraVolumeMountsCrossplane` | Add custom `volumeMounts` to the Crossplane pod. | `{}` |
| `extraVolumesCrossplane` | Add custom `volumes` to the Crossplane pod. | `{}` |
| `hostNetwork` | Enable `hostNetwork` for the Crossplane deployment. Caution: enabling `hostNetwork`` grants the Crossplane Pod access to the host network namespace. | `false` |
| `hostNetwork` | Enable `hostNetwork` for the Crossplane deployment. Caution: enabling `hostNetwork` grants the Crossplane Pod access to the host network namespace. | `false` |
| `image.pullPolicy` | The image pull policy used for Crossplane and RBAC Manager pods. | `"IfNotPresent"` |
| `image.repository` | Repository for the Crossplane pod image. | `"crossplane/crossplane"` |
| `image.tag` | The Crossplane image tag. Defaults to the value of `appVersion` in Chart.yaml. | `""` |
| `image.tag` | The Crossplane image tag. Defaults to the value of `appVersion` in `Chart.yaml`. | `""` |
| `imagePullSecrets` | The imagePullSecret names to add to the Crossplane ServiceAccount. | `{}` |
| `leaderElection` | Enable [leader election](https://docs.crossplane.io/latest/concepts/pods/#leader-election) for the Crossplane pod. | `true` |
| `metrics.enabled` | Enable Prometheus path, port and scrape annotations and expose port 8080 for both the Crossplane and RBAC Manager pods. | `false` |
| `nodeSelector` | Add `nodeSelectors` to the Crossplane pod deployment. | `{}` |
| `packageCache.configMap` | The name of a ConfigMap to use as the package cache. Disables the default package cache `emptyDir` Volume. | `""` |
| `packageCache.medium` | Set to `Memory` to hold the package cache in a RAM-backed file system. Useful for Crossplane development. | `""` |
| `packageCache.medium` | Set to `Memory` to hold the package cache in a RAM backed file system. Useful for Crossplane development. | `""` |
| `packageCache.pvc` | The name of a PersistentVolumeClaim to use as the package cache. Disables the default package cache `emptyDir` Volume. | `""` |
| `packageCache.sizeLimit` | The size limit for the package cache. If medium is `Memory` the `sizeLimit` can't exceed Node memory. | `"20Mi"` |
| `podSecurityContextCrossplane` | Add a custom `securityContext` to the Crossplane pod. | `{}` |
@ -175,14 +175,14 @@ Apply customizations with the command line or with a Helm _values_ file.
| `webhooks.enabled` | Enable webhooks for Crossplane and installed Provider packages. | `true` |
| `xfn.args` | Add custom arguments to the Composite functions runner container. | `[]` |
| `xfn.cache.configMap` | The name of a ConfigMap to use as the Composite function runner package cache. Disables the default Composite function runner package cache `emptyDir` Volume. | `""` |
| `xfn.cache.medium` | Set to `Memory` to hold the Composite function runner package cache in a RAM-backed file system. Useful for Crossplane development. | `""` |
| `xfn.cache.medium` | Set to `Memory` to hold the Composite function runner package cache in a RAM backed file system. Useful for Crossplane development. | `""` |
| `xfn.cache.pvc` | The name of a PersistentVolumeClaim to use as the Composite function runner package cache. Disables the default Composite function runner package cache `emptyDir` Volume. | `""` |
| `xfn.cache.sizeLimit` | The size limit for the Composite function runner package cache. If medium is `Memory` the `sizeLimit` can't exceed Node memory. | `"1Gi"` |
| `xfn.enabled` | Enable the alpha Composition functions (`xfn`) sidecar container. Also requires Crossplane `args` value `--enable-composition-functions` set. | `false` |
| `xfn.extraEnvVars` | Add custom environmental variables to the Composite function runner container. Replaces any `.` in a variable name with `_`. For example, `SAMPLE.KEY=value1` becomes `SAMPLE_KEY=value1`. | `{}` |
| `xfn.image.pullPolicy` | Composite function runner container image pull policy. | `"IfNotPresent"` |
| `xfn.image.repository` | Composite function runner container image. | `"crossplane/xfn"` |
| `xfn.image.tag` | Composite function runner container image tag. Defaults to the value of `appVersion` in Chart.yaml. | `""` |
| `xfn.image.tag` | Composite function runner container image tag. Defaults to the value of `appVersion` in `Chart.yaml`. | `""` |
| `xfn.resources.limits.cpu` | CPU resource limits for the Composite function runner container. | `"2000m"` |
| `xfn.resources.limits.memory` | Memory resource limits for the Composite function runner container. | `"2Gi"` |
| `xfn.resources.requests.cpu` | CPU resource requests for the Composite function runner container. | `"1000m"` |

View File

@ -18,7 +18,7 @@ APIs. Crossplane can even let you
directly from Kubernetes. If it has an API, Crossplane can connect to it.
With Crossplane, platform teams can create new abstractions and custom
APIs with the full power of Kubernetes policies, namespaces, role-based access
APIs with the full power of Kubernetes policies, namespaces, role based access
controls and more. Crossplane brings all your non-Kubernetes resources under
one roof.
@ -29,16 +29,18 @@ and use Kubernetes as the control plane for everything.
{{< hint "tip" >}}
**What's a control plane?**
<!-- vale Google.WordList = NO -->
Control planes create and manage the lifecycle of resources. Control planes
constantly _check_ that the intended resources exist, _report_ when the intended
state doesn't match reality and _act_ to make things right.
Crossplane extends the Kubernetes control plane to be a **universal control
plane** to check, report and act on any resource, anywhere.
<!-- vale Google.WordList = YES -->
{{< /hint >}}
# Get Started
# Get started
* [Install Crossplane]({{<ref "software/install">}}) in your Kubernetes cluster
* Learn more about how Crossplane works in the
[Crossplane introduction]({{<ref "getting-started/introduction" >}})

View File

@ -204,5 +204,5 @@ spec:
name: my-claim-secret
```
For more information on connection secrets read the [Connection Secrets
knowledge base article]({{<ref "/knowledge-base/guides/connection-details">}}).
For more information on connection secrets read the
[Connection Secrets knowledge base article]({{<ref "/knowledge-base/guides/connection-details">}}).

View File

@ -258,8 +258,8 @@ on what your OpenAPIv3 custom API can use.
{{<hint "important" >}}
Changing or expanding the XRD schema requires restarting the [Crossplane
pod]({{<ref "./pods#crossplane-pod">}}) to take effect.
Changing or expanding the XRD schema requires restarting the
[Crossplane pod]({{<ref "./pods#crossplane-pod">}}) to take effect.
{{< /hint >}}
##### Required fields
@ -351,8 +351,8 @@ object,
- location
```
The Swagger "[Describing
Parameters](https://swagger.io/docs/specification/describing-parameters/)"
The Swagger
"[Describing Parameters](https://swagger.io/docs/specification/describing-parameters/)"
documentation has more examples.
##### Crossplane reserved fields
@ -415,8 +415,8 @@ field indicates which version of the schema Compositions use. Only one
version can be `referenceable`.
{{< hint "note" >}}
Changing which version is `referenceable:true` requires [updating the
`compositeTypeRef.apiVersion`]({{<ref "./compositions#enabling-composite-resources" >}})
Changing which version is `referenceable:true` requires
[updating the `compositeTypeRef.apiVersion`]({{<ref "./compositions#enabling-composite-resources" >}})
of any Compositions referencing that XRD.
{{< /hint >}}
@ -427,8 +427,8 @@ of any Compositions referencing that XRD.
Crossplane supports defining multiple `versions`, but the schema of each version
can't change any existing fields, also called "making a breaking change."
Breaking schema changes between versions requires the use of [conversion
webhooks](https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/#webhook-conversion).
Breaking schema changes between versions requires the use of
[conversion webhooks](https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definition-versioning/#webhook-conversion).
New versions may define new optional parameters, but new required fields are
a "breaking change."
@ -496,8 +496,8 @@ spec:
{{<hint "important" >}}
Changing or expanding the XRD schema requires restarting the [Crossplane
pod]({{<ref "./pods#crossplane-pod">}}) to take effect.
Changing or expanding the XRD schema requires restarting the
[Crossplane pod]({{<ref "./pods#crossplane-pod">}}) to take effect.
{{< /hint >}}
### Enable Claims
@ -622,8 +622,8 @@ You can't change the `connectionSecretKeys` of an XRD. You must delete and
recreate the XRD to change the `connectionSecretKeys`.
{{</hint >}}
For more information on connection secrets read the [Connection Secrets
knowledge base article]({{<ref "/knowledge-base/guides/connection-details">}}).
For more information on connection secrets read the
[Connection Secrets knowledge base article]({{<ref "/knowledge-base/guides/connection-details">}}).
### Set composite resource defaults
XRDs can set default parameters for composite resources and Claims.

View File

@ -142,8 +142,8 @@ spec:
toFieldPath: metadata.annotations
```
For more information on patching resources refer to the [Patch and
Transform]({{<ref "./patch-and-transform">}}) documentation.
For more information on patching resources refer to the
[Patch and Transform]({{<ref "./patch-and-transform">}}) documentation.
### Composition selection
@ -282,8 +282,8 @@ to the composite resource.
A resource may only access connection secrets allowed by the XRD. By
default XRDs provide access to all connection secrets generated by managed
resources.
Read more about [managing connection
secrets]({{<ref "./composite-resource-definitions#manage-connection-secrets">}})
Read more about
[managing connection secrets]({{<ref "./composite-resource-definitions#manage-connection-secrets">}})
in the XRD documentation.
{{< /hint >}}
@ -335,8 +335,8 @@ spec:
Read the [External Secrets Store]({{<ref "/knowledge-base/integrations/vault-as-secret-store">}}) documentation for more information on using
external secret stores.
For more information on connection secrets read the [Connection Secrets
knowledge base article]({{<ref "/knowledge-base/guides/connection-details">}}).
For more information on connection secrets read the
[Connection Secrets knowledge base article]({{<ref "/knowledge-base/guides/connection-details">}}).
### Pausing composite resources

View File

@ -240,8 +240,8 @@ Composition, the resources defined by the
the EKS {{<hover label="xcluster" line="13">}}cluster{{</hover >}}.
{{<hint "note" >}}
This abbreviated example is from the Upbound [AWS Reference
Platform](https://github.com/upbound/platform-ref-aws).
This abbreviated example is from the Upbound
[AWS Reference Platform](https://github.com/upbound/platform-ref-aws).
View the complete Compositions in the reference platform's
[package directory](https://github.com/upbound/platform-ref-aws/blob/main/package/cluster/composition.yaml).
@ -446,10 +446,10 @@ Most Compositions require customizing the fields of the resources. This can
include applying unique passwords, modifying where to deploy resources,
or applying labels or annotations.
The primary method to change resources is using a resource [patch and
transform]({{<ref "./patch-and-transform" >}}). Patch and transforms allow
matching specific input fields, modifying them and applying them to the managed
resource.
The primary method to change resources is using a resource
[patch and transform]({{<ref "./patch-and-transform" >}}). Patch and transforms
allow matching specific input fields, modifying them and applying them to the
managed resource.
{{<hint "important" >}}
The details of creating patch and transforms and their options are in the
@ -892,8 +892,8 @@ Read the
for more information on restricting secret keys.
{{< /hint >}}
For more information on connection secrets read the [Connection Secrets
knowledge base article]({{<ref "/knowledge-base/guides/connection-details">}}).
For more information on connection secrets read the
[Connection Secrets knowledge base article]({{<ref "/knowledge-base/guides/connection-details">}}).
{{<hint "warning">}}
You can't change the
@ -1007,7 +1007,7 @@ Compositions support matching resource fields by:
#### Match a string
{{<hover label="matchstring" line="11">}}MatchString{{</hover>}} considers the composed resource to be ready when the value of a
field within that resource matches a specified string.
field in that resource matches a specified string.
{{<hint "note" >}}
<!-- vale Google.WordList = NO -->
@ -1042,7 +1042,7 @@ spec:
#### Match an integer
{{<hover label="matchint" line="11">}}MatchInteger{{</hover>}} considers the composed resource to be ready when the value of a
field within that resource matches a specified integer.
field in that resource matches a specified integer.
{{<hint "note" >}}
<!-- vale Google.WordList = NO -->

View File

@ -35,8 +35,8 @@ Provider also define the available settings of a managed resource.
Each managed resource is a unique API endpoint with their own
group, kind and version.
For example the [Upbound AWS
Provider](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/)
For example the
[Upbound AWS Provider](https://marketplace.upbound.io/providers/upbound/provider-aws/latest/)
defines the {{<hover label="gkv" line="2">}}Instance{{</hover>}} kind from the
group {{<hover label="gkv" line="1">}}ec2.aws.upbound.io{{</hover>}}
@ -650,8 +650,8 @@ call and receiving a response.
If a Provider restarts before creating the `succeed` or `fail` annotations the
Provider can't reconcile the manged resource.
Read Crossplane [issue
#3037](https://github.com/crossplane/crossplane/issues/3037#issuecomment-1110142427)
Read Crossplane
[issue #3037](https://github.com/crossplane/crossplane/issues/3037#issuecomment-1110142427)
for more details
{{< /hint >}}

View File

@ -276,8 +276,7 @@ updates the Roles to access the specific API endpoints in a Claim.
{{< hint "note" >}}
The specific details of the namespace Roles are beyond this guide. For more
information read the [Composite Resource ClusterRole
Mechanics](https://github.com/crossplane/crossplane/blob/master/design/design-doc-rbac-manager.md#composite-resource-clusterrole-mechanics)
information read the [Composite Resource ClusterRole Mechanics](https://github.com/crossplane/crossplane/blob/master/design/design-doc-rbac-manager.md#composite-resource-clusterrole-mechanics)
section of the RBAC Manager design document.
{{< /hint >}}

View File

@ -33,8 +33,7 @@ Kubernetes API endpoint. These endpoints are
{{< hint "note" >}}
Instructions on building your own Provider are outside of the scope of this
document. Read the Crossplane contributing [Provider Development
Guide](https://github.com/crossplane/crossplane/blob/master/contributing/guide-provider-development.md)
document. Read the Crossplane contributing [Provider Development Guide](https://github.com/crossplane/crossplane/blob/master/contributing/guide-provider-development.md)
for more information.
{{< /hint >}}
@ -132,8 +131,7 @@ If you remove the Provider first, you must manually delete external resources
through your cloud provider. Managed resources must be manually deleted by
removing their finalizers.
For more information on deleting abandoned resources read the [Crossplane
troubleshooting guide]({{<ref "/knowledge-base/guides/troubleshoot#deleting-when-a-resource-hangs" >}}).
For more information on deleting abandoned resources read the [Crossplane troubleshooting guide]({{<ref "/knowledge-base/guides/troubleshoot#deleting-when-a-resource-hangs" >}}).
{{< /hint >}}
## Verify a Provider

View File

@ -98,7 +98,7 @@ defines a
[`bucket`](https://marketplace.upbound.io/providers/upbound/provider-aws/v0.25.0/resources/s3.aws.upbound.io/Bucket/v1beta1)
resource for creating and managing AWS S3 storage buckets.
Within the `bucket` CRD is a
In the `bucket` CRD is a
[`spec.forProvider.region`](https://marketplace.upbound.io/providers/upbound/provider-aws/v0.25.0/resources/s3.aws.upbound.io/Bucket/v1beta1#doc:spec-forProvider-region)
value that defines which AWS region to deploy the bucket in.
@ -147,8 +147,7 @@ Depending on the size of the API server and number of managed resources, this
command may take minutes to return or may timeout.
For more information, read
[Kubernetes issue
#111880](https://github.com/kubernetes/kubernetes/issues/111880)
[Kubernetes issue #111880](https://github.com/kubernetes/kubernetes/issues/111880)
and
[Crossplane issue #3459](https://github.com/crossplane/crossplane/issues/3459).
{{< /hint >}}

View File

@ -132,7 +132,7 @@ is strongly recommended.
This guide uses the group
{{<hover label="version" line="1">}}database.example.com{{</hover>}}.
Since this is the first version of the API, this guide uses the version
Because this is the first version of the API, this guide uses the version
{{<hover label="version" line="1">}}v1alpha1{{</hover>}}.
```yaml {label="version",copy-lines="none"}
@ -141,7 +141,7 @@ apiVersion: database.example.com/v1alpha1
### Define a kind
The API group is a logical collection of related APIs. Within a group are
The API group is a logical collection of related APIs. In a group are
individual kinds representing different resources.
For example a `database` group may have a `Relational` and `NoSQL` kinds.
@ -473,7 +473,7 @@ Accessing the API `nosql` happens at the cluster scope.
Most organizations
isolate their users into namespaces.
A Crossplane _Claim_ is the custom API within a namespace.
A Crossplane _Claim_ is the custom API in a namespace.
Creating a _Claim_ is just like accessing the custom API endpoint, but with the
{{<hover label="claim" line="3">}}kind{{</hover>}}

View File

@ -137,7 +137,7 @@ is strongly recommended.
This guide uses the group
{{<hover label="version" line="1">}}compute.example.com{{</hover>}}.
Since this is the first version of the API, this guide uses the version
Because this is the first version of the API, this guide uses the version
{{<hover label="version" line="1">}}v1alpha1{{</hover>}}.
```yaml {label="version",copy-lines="none"}
@ -146,7 +146,7 @@ apiVersion: compute.example.com/v1alpha1
### Define a kind
The API group is a logical collection of related APIs. Within a group are
The API group is a logical collection of related APIs. In a group are
individual kinds representing different resources.
For example a `compute` group may have a `VirtualMachine` and `BareMetal` kinds.
@ -574,7 +574,7 @@ Accessing the API `VirtualMachine` happens at the cluster scope.
Most organizations
isolate their users into namespaces.
A Crossplane _Claim_ is the custom API within a namespace.
A Crossplane _Claim_ is the custom API in a namespace.
Creating a _Claim_ is just like accessing the custom API endpoint, but with the
{{<hover label="claim" line="3">}}kind{{</hover>}}

View File

@ -150,7 +150,7 @@ is strongly recommended.
This guide uses the group
{{<hover label="version" line="1">}}database.example.com{{</hover>}}.
Since this is the first version of the API, this guide uses the version
Because this is the first version of the API, this guide uses the version
{{<hover label="version" line="1">}}v1alpha1{{</hover>}}.
```yaml {label="version",copy-lines="none"}
@ -159,7 +159,7 @@ apiVersion: database.example.com/v1alpha1
### Define a kind
The API group is a logical collection of related APIs. Within a group are
The API group is a logical collection of related APIs. In a group are
individual kinds representing different resources.
For example a `queue` group may have a `PubSub` and `CloudTask` kinds.
@ -478,7 +478,7 @@ Accessing the API `pubsub` happens at the cluster scope.
Most organizations
isolate their users into namespaces.
A Crossplane _Claim_ is the custom API within a namespace.
A Crossplane _Claim_ is the custom API in a namespace.
Creating a _Claim_ is just like accessing the custom API endpoint, but with the
{{<hover label="claim" line="3">}}kind{{</hover>}}

View File

@ -94,7 +94,7 @@ provider and configuration packages.
* The _Composition controller_ installs and manages the
Crossplane _Composite Resource Definitions_, _Compositions_ and _Claims_.
### Crossplane-rbac-manager deployment
### Crossplane RBAC manager deployment
The `crossplane-rbac-manager` creates and manages Kubernetes _ClusterRoles_ for
installed Crossplane _Provider_ and their _Custom Resource Definitions_.
@ -126,16 +126,16 @@ Apply customizations with the command line or with a Helm _values_ file.
| `extraEnvVarsRBACManager` | Add custom environmental variables to the RBAC Manager pod deployment. Replaces any `.` in a variable name with `_`. For example, `SAMPLE.KEY=value1` becomes `SAMPLE_KEY=value1`. | `{}` |
| `extraVolumeMountsCrossplane` | Add custom `volumeMounts` to the Crossplane pod. | `{}` |
| `extraVolumesCrossplane` | Add custom `volumes` to the Crossplane pod. | `{}` |
| `hostNetwork` | Enable `hostNetwork` for the Crossplane deployment. Caution: enabling `hostNetwork`` grants the Crossplane Pod access to the host network namespace. | `false` |
| `hostNetwork` | Enable `hostNetwork` for the Crossplane deployment. Caution: enabling `hostNetwork` grants the Crossplane Pod access to the host network namespace. | `false` |
| `image.pullPolicy` | The image pull policy used for Crossplane and RBAC Manager pods. | `"IfNotPresent"` |
| `image.repository` | Repository for the Crossplane pod image. | `"crossplane/crossplane"` |
| `image.tag` | The Crossplane image tag. Defaults to the value of `appVersion` in Chart.yaml. | `""` |
| `image.tag` | The Crossplane image tag. Defaults to the value of `appVersion` in `Chart.yaml`. | `""` |
| `imagePullSecrets` | The imagePullSecret names to add to the Crossplane ServiceAccount. | `{}` |
| `leaderElection` | Enable [leader election](https://docs.crossplane.io/latest/concepts/pods/#leader-election) for the Crossplane pod. | `true` |
| `metrics.enabled` | Enable Prometheus path, port and scrape annotations and expose port 8080 for both the Crossplane and RBAC Manager pods. | `false` |
| `nodeSelector` | Add `nodeSelectors` to the Crossplane pod deployment. | `{}` |
| `packageCache.configMap` | The name of a ConfigMap to use as the package cache. Disables the default package cache `emptyDir` Volume. | `""` |
| `packageCache.medium` | Set to `Memory` to hold the package cache in a RAM-backed file system. Useful for Crossplane development. | `""` |
| `packageCache.medium` | Set to `Memory` to hold the package cache in a RAM backed file system. Useful for Crossplane development. | `""` |
| `packageCache.pvc` | The name of a PersistentVolumeClaim to use as the package cache. Disables the default package cache `emptyDir` Volume. | `""` |
| `packageCache.sizeLimit` | The size limit for the package cache. If medium is `Memory` the `sizeLimit` can't exceed Node memory. | `"20Mi"` |
| `podSecurityContextCrossplane` | Add a custom `securityContext` to the Crossplane pod. | `{}` |
@ -175,14 +175,14 @@ Apply customizations with the command line or with a Helm _values_ file.
| `webhooks.enabled` | Enable webhooks for Crossplane and installed Provider packages. | `true` |
| `xfn.args` | Add custom arguments to the Composite functions runner container. | `[]` |
| `xfn.cache.configMap` | The name of a ConfigMap to use as the Composite function runner package cache. Disables the default Composite function runner package cache `emptyDir` Volume. | `""` |
| `xfn.cache.medium` | Set to `Memory` to hold the Composite function runner package cache in a RAM-backed file system. Useful for Crossplane development. | `""` |
| `xfn.cache.medium` | Set to `Memory` to hold the Composite function runner package cache in a RAM backed file system. Useful for Crossplane development. | `""` |
| `xfn.cache.pvc` | The name of a PersistentVolumeClaim to use as the Composite function runner package cache. Disables the default Composite function runner package cache `emptyDir` Volume. | `""` |
| `xfn.cache.sizeLimit` | The size limit for the Composite function runner package cache. If medium is `Memory` the `sizeLimit` can't exceed Node memory. | `"1Gi"` |
| `xfn.enabled` | Enable the alpha Composition functions (`xfn`) sidecar container. Also requires Crossplane `args` value `--enable-composition-functions` set. | `false` |
| `xfn.extraEnvVars` | Add custom environmental variables to the Composite function runner container. Replaces any `.` in a variable name with `_`. For example, `SAMPLE.KEY=value1` becomes `SAMPLE_KEY=value1`. | `{}` |
| `xfn.image.pullPolicy` | Composite function runner container image pull policy. | `"IfNotPresent"` |
| `xfn.image.repository` | Composite function runner container image. | `"crossplane/xfn"` |
| `xfn.image.tag` | Composite function runner container image tag. Defaults to the value of `appVersion` in Chart.yaml. | `""` |
| `xfn.image.tag` | Composite function runner container image tag. Defaults to the value of `appVersion` in `Chart.yaml`. | `""` |
| `xfn.resources.limits.cpu` | CPU resource limits for the Composite function runner container. | `"2000m"` |
| `xfn.resources.limits.memory` | Memory resource limits for the Composite function runner container. | `"2Gi"` |
| `xfn.resources.requests.cpu` | CPU resource requests for the Composite function runner container. | `"1000m"` |

View File

@ -22,10 +22,12 @@ gitlab.TabsLinks = NO
gitlab.VersionText = NO
gitlab.VersionTextSingleLine = NO
gitlab.EOLWhitespace = NO
gitlab.Normal = NO
# Covered by Alex
gitlab.InclusionCultural = NO
gitlab.InclusionGender = NO
gitlab.Simplicity = NO
# Don't enforce oxford comma
Google.OxfordComma = NO
@ -46,7 +48,7 @@ Microsoft.GeneralURL = NO
# Ignore markdown image with alt: ![
# ignore v#.##
# ignore ##px
TokenIgnores = (\(#.*\)),(\]\(),(http.*),({{<\s*\/?expand),(\!\[),(\d.*px)
TokenIgnores = (\(#.*\)),(\]\(),(http.*),({{<\s*\/?expand),(\!\[),(\d.*px),(\d\.\d\.\d)
# ignore whole tags:
# Ignore hugo tags

View File

@ -79,3 +79,7 @@ kube-apiserver
cluster-wide
autoscaler
DatabaseInstance
ConfigMap
imagePullSecret
PersistentVolumeClaim
PriorityClass

View File

@ -20,6 +20,7 @@ PurgeCSS
Upbound
Upbound's
Upjet
UXP
Velero
VSCode
Webpack

View File

@ -9,17 +9,25 @@ CombineToEnvironment
CompositeResourceDefinition
CompositeResourceDefinitions
composition.yaml
composition.yaml
CompositionRevisions
ControllerConfig
ControllerConfigs
CRDs
Crossplane
crossplane-admin
crossplane-browse
crossplane-browse
crossplane-edit
crossplane-edit
crossplane-view
crossplane-view
crossplane.yaml
crossplane.yaml
Crossplane's
definition.yaml
definition.yaml
deletionPolicy
EnvironmentConfig
EnvironmentConfigs
external-name
@ -29,7 +37,12 @@ FromCompositeFieldPath
FromEnvironmentFieldPath
fromFieldPath
HealthyPackageRevision
HealthyPackageRevision
InactivePackageRevision
InactivePackageRevision
initProvider
LateInitialize
managementPolicies
PatchSet
PatchSets
ProviderConfig
@ -50,17 +63,4 @@ XRC
XRD
XRD's
XRDs
XRs
ActivePackageRevision
crossplane-edit
HealthyPackageRevision
crossplane-view
crossplane-browse
InactivePackageRevision
crossplane.yaml
definition.yaml
composition.yaml
managementPolicies
deletionPolicy
initProvider
LateInitialize
XRs

View File

@ -1,6 +1,7 @@
/tab
/tabs
call-outs
ClusterRoles`
comma-seperated
conformant
cross-reference
@ -25,12 +26,14 @@ per-resource
poll-interval
pre-existing
pre-provisioned
pre-release
race-conditions
read-only
resource-specific
right-hand
run-time
step-by-step
third-party
top-level
untrusted
UpperCamelCase

View File

@ -1,13 +0,0 @@
---
# Warning: gitlab.Admin
#
# Checks for "admin" and recommends using the full word instead. "Admin Area" is OK.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
extends: substitution
message: 'Verify this use of the word "admin". Can it be updated to "administration", "administrator", "administer", or "Admin Area"?'
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html
level: suggestion
ignorecase: false
swap:
'[Aa]dmin ?\w*': '(?:Admin( Area| Mode)?|[Aa]dminist(ration|rator|rators|er|rative|ering|ered))'

View File

@ -3,13 +3,13 @@
#
# Makes sure alert boxes are used with block quotes. Checks for 3 formatting issues:
#
# - Alert boxes inside a block quote (">")
# - Alert boxes inside a block quote ('>')
# - Alert boxes with the note text on the same line
# - Alert boxes using words other than "NOTE" or "WARNING"
# - Alert boxes using words other than 'NOTE' or 'WARNING'
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: 'Alert box "%s" must use the formatting in the style guide.'
message: "Update the format of the '%s' alert box. View the style guide for details."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#alert-boxes
level: error
nonword: true

View File

@ -1,14 +1,13 @@
---
# Suggestion: gitlab.BadPlurals
# Warning: gitlab.BadPlurals
#
# Don't write plural words with the '(s)' construction. "HTTP(S)" is acceptable.
# Don't write plural words with the '(s)' construction. 'HTTP(S)' is acceptable.
#
# For a list of all options, see https://docs.errata.ai/vale/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: 'Rewrite "%s" to be plural, without parentheses.'
link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html
message: "Rewrite '%s' to be plural without parentheses."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html#s
level: warning
scope: raw
ignorecase: true
raw:
- '\b\w+\(s\)(?<!http\(s\))'

View File

@ -3,9 +3,9 @@
#
# Verifies that badges are not mixed case, which won't render properly.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: 'Badge "%s" must be capitalized.'
message: "Capitalize the '%s' badge."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#product-tier-badges
level: error
scope: raw

View File

@ -3,9 +3,9 @@
#
# Checks that US spelling is used instead of British spelling.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: substitution
message: 'Use the US spelling "%s" instead of the British "%s".'
message: "Use the US spelling '%s' instead of the British '%s'."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#language
level: error
ignorecase: true
@ -80,6 +80,9 @@ swap:
neighbour: neighbor
normalise: normalize
offence: offense
optimise: optimize
optimised: optimized
optimising: optimizing
organise: organize
orientated: oriented
paralyse: paralyze

View File

@ -0,0 +1,13 @@
---
# Error: gitlab.CIConfigFile
#
# Checks that the `.gitlab-ci.yml` file is referenced properly.
#
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: "Change the file name to be exactly '.gitlab-ci.yml'."
link: https://docs.gitlab.com/ee/development/documentation/versions.html
level: error
scope: raw
raw:
- '(?!`\.gitlab-ci\.yml`)`.?gitlab.?ci.?ya?ml`'

View File

@ -0,0 +1,13 @@
---
# Error: gitlab.CodeblockFences
#
# Ensures all codeblock language tags use the full name, not aliases.
#
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: "Instead of '%s' for the code block, use yaml, ruby, plaintext, markdown, javascript, shell, go, python, dockerfile, or typescript."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#code-blocks
level: error
scope: raw
raw:
- '\`\`\`(yml|rb|text|md|bash|sh\n|js\n|golang\n|py\n|docker\n|ts)'

View File

@ -0,0 +1,14 @@
---
# Error: gitlab.CommandStringsQuoted
#
# Ensures all code blocks wrap URL strings in quotation marks.
#
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: "For the command example, use double quotes around the URL: %s"
link: https://docs.gitlab.com/ee/development/documentation/restful_api_styleguide.html#curl-commands
level: error
scope: raw
nonword: true
tokens:
- '(curl|--url)[^"\]\n]+?https?:\/\/[^ \n]*'

View File

@ -1,13 +0,0 @@
---
# Error: gitlab.CurlStringsQuoted
#
# Ensures all code blocks using `curl` wrap URL strings in quotation marks.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
extends: existence
message: 'For consistency across all cURL examples, always wrap the URL in double quotes ("): %s'
link: https://docs.gitlab.com/ee/development/documentation/restful_api_styleguide.html#curl-commands
level: error
scope: code
raw:
- 'curl [^"]+://.*'

View File

@ -1,14 +1,13 @@
---
# Suggestion: gitlab.CurrentStatus
# Warning: gitlab.CurrentStatus
#
# Checks for words that indicate a product or feature may change in the future.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: 'Avoid words like "%s" when you write about future features. Our documentation is about the current state of the product.'
level: suggestion
message: "Remove '%s'. The documentation reflects the current state of the product."
level: warning
ignorecase: true
link: https://docs.gitlab.com/ee/development/documentation/styleguide/#promising-features-in-future-versions
link: https://docs.gitlab.com/ee/development/documentation/versions.html#promising-features-in-future-versions
tokens:
- currently
- yet

View File

@ -0,0 +1,14 @@
---
# Warning: gitlab.DefaultBranch
#
# Do not refer to the default branch as the 'master' branch, if possible.
#
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: "Use 'default branch' or `main` instead of `master`, when possible."
level: warning
ignorecase: true
link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html#default-branch
scope: raw
raw:
- '\`master\`'

View File

@ -3,11 +3,11 @@
#
# Catches many ways the phrase 'dropdown list' can be fumbled.
#
# For a list of all options, see https://errata-ai.github.io/vale/styles/
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: 'Use "dropdown list".'
message: "Use 'dropdown list'."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html#dropdown-list
level: suggestion
level: warning
ignorecase: true
tokens:
- drop-down( [\w]*)?

View File

@ -0,0 +1,13 @@
---
# Warning: gitlab.EOLWhitespace
#
# Checks that there is no useless whitespace at the end of lines.
#
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: "Remove whitespace characters from the end of the line."
link: https://docs.gitlab.com/ee/development/documentation/versions.html
level: warning
scope: raw
raw:
- ' +\n'

View File

@ -1,13 +1,14 @@
---
# Suggestion: gitlab.ElementDescriptors
# Warning: gitlab.ElementDescriptors
#
# Suggests the correct way to describe elements in a form.
# Suggests the correct way to describe a button.
#
# For a list of all options, see https://errata-ai.github.io/vale/styles/
extends: substitution
message: 'When describing elements, %s "%s".'
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#language
level: suggestion
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: "If possible, rewrite to remove 'button'."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html#button
level: warning
ignorecase: true
swap:
button: 'if possible, rewrite to remove'
scope: raw
raw:
- \*\*[^*]+\*\*\s+button

View File

@ -1,16 +0,0 @@
---
# Warning: gitlab.FirstPerson
#
# Checks for use of first person pronouns.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
extends: existence
message: '"%s" is a first-person pronoun. Use second- or third-person pronouns (like we, you, us, one) instead.'
level: warning
ignorecase: true
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#usage-list
tokens:
- '\bI[ ,;:?!"]|\bI\x27.{1,2}'
- me
- myself
- mine

View File

@ -1,14 +1,14 @@
---
# Suggestion: gitlab.FutureTense
# Warning: gitlab.FutureTense
#
# Checks for use of future tense in sentences. Present tense is strongly preferred.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: 'Avoid using future tense: "%s". Use present tense instead.'
message: "Instead of future tense '%s', use present tense."
ignorecase: true
level: warning
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#usage-list
link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html#future-tense
raw:
- "(going to( |\n|[[:punct:]])[a-zA-Z]*|"
- "will( |\n|[[:punct:]])[a-zA-Z]*|"

View File

@ -0,0 +1,14 @@
---
# Warning: gitlab.GitLabFlavoredMarkdown
#
# Checks for unclear use of GLFM or GLM instead of GitLab/GitHub Flavored Markdown
#
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: substitution
message: "Use '%s' instead of '%s' when possible."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html
level: warning
ignorecase: true
swap:
GLFM: "GitLab Flavored Markdown"
GFM: "GitLab Flavored Markdown' or 'GitHub Flavored Markdown"

View File

@ -1,18 +1,19 @@
---
# Error: gitlab.HeadingContent
# Warning: gitlab.HeadingContent
#
# Checks for generic, unhelpful subheadings.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: 'Rename the subheading "%s", or re-purpose the content elsewhere.'
message: "Rename the heading '%s', or re-purpose the content elsewhere."
level: warning
scope: heading
link: https://docs.gitlab.com/ee/development/documentation/styleguide/#headings-1
ignorecase: false
link: https://docs.gitlab.com/ee/development/documentation/topic_types/concept.html#concept-headings
ignorecase: true
nonword: true
scope: raw
tokens:
- How it works
- Limitations
- Overview
- Use cases?
- Important notes?
- '\#+ How it works'
- '\#+ Limitations'
- '\#+ Overview'
- '\#+ Use cases?'
- '\#+ Important notes?'

View File

@ -0,0 +1,13 @@
---
# Suggestion: gitlab.HeadingDepth
#
# Checks that there are no headings greater than 3 levels
#
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: "Refactor the section or page to avoid headings greater than H5."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#heading-levels-in-markdown
level: suggestion
scope: raw
raw:
- '(?<=\n)#{6,}\s.*'

View File

@ -1,13 +1,13 @@
---
# Suggestion: gitlab.InclusionAbleism
# Warning: gitlab.InclusionAbleism
#
# Suggests alternatives for words that foster ableism.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: substitution
message: 'Use inclusive language. Consider "%s" instead of "%s".'
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#inclusive-language
level: suggestion
message: "Use inclusive language. Consider '%s' instead of '%s'."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html
level: warning
ignorecase: true
swap:
sanity (?:check|test): check for completeness

View File

@ -3,13 +3,14 @@
#
# Suggests alternatives for words that are culturally inappropriate.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: substitution
message: 'Use inclusive language. Consider "%s" instead of "%s".'
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#inclusive-language
message: "Use inclusive language. Consider '%s' instead of '%s'."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html
level: warning
ignorecase: true
swap:
blacklist(?:ed|ing|s)?: denylist
whitelist(?:ed|ing|s)?: allowlist
master: primary, main
slave: secondary

View File

@ -1,13 +1,13 @@
---
# Suggestion: gitlab.InclusionGender
# Warning: gitlab.InclusionGender
#
# Suggests alternatives for words that are gender-specific.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: substitution
message: 'Use inclusive language. Consider "%s" instead of "%s".'
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#inclusive-language
level: suggestion
message: "Use inclusive language. Consider '%s' instead of '%s'."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html
level: warning
ignorecase: true
swap:
mankind: humanity, people

View File

@ -3,10 +3,10 @@
#
# Checks that anchor fragments on internal links are in lower-case.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: 'Links to subheadings in GitLab docs must be in lower-case: "%s"'
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#links-to-internal-documentation
message: "Use lowercase for the anchor link."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#anchor-links
level: error
scope: raw
raw:

View File

@ -3,11 +3,11 @@
#
# Checks that internal links have .md extenstion and not .html extension.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: 'Link "%s" must use the .md file extension.'
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#links-to-internal-documentation
message: "Link to a file and use the .md file extension instead of .html."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#links
level: error
scope: raw
raw:
- '\[.+\]\([\w\/\.-]+\.html[^)]*\)'
- '\[[^\]]+\]\([^:\)]+(\/(#[^\)]+)?\)|\.html(#.+)?\))'

View File

@ -1,13 +1,13 @@
---
# Error: gitlab.InternalLinkFormat
#
# Checks that internal link paths don't start with "./", which is not needed.
# Checks that internal link paths don't start with './', which is not needed.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: 'Link "%s" must not start with "./".'
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#links-to-internal-documentation
message: "Edit the link so it does not start with './'."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#links
level: error
scope: raw
raw:
- '\[.+\]\(\.\/.*?\)'
- '\[[^\]]+\]\(\.\/.*?\)'

View File

@ -3,10 +3,10 @@
#
# Checks for use of Latin terms.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: substitution
message: 'Use "%s" instead of "%s", but consider rewriting the sentence.'
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#usage-list
message: "Use '%s' instead of '%s', but consider rewriting the sentence."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html
level: warning
nonword: true
ignorecase: true

View File

@ -3,13 +3,14 @@
#
# Checks for the presence of semantically unhelpful words in link text.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: 'Improve SEO and accessibility by rewriting "%s" in the link text.'
message: "Improve SEO and accessibility by rewriting the link text for '%s'."
level: warning
scope: link
ignorecase: true
link: https://about.gitlab.com/handbook/communication/#writing-style-guidelines
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#text-for-links
scope: raw
nonword: true
tokens:
- here
- this page
- \[here\]\(.*\)
- \[this page\]\(.*\)

View File

@ -3,9 +3,9 @@
#
# Checks for the presence of merge conflict markers.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: 'Merge conflict marker "%s" found.'
message: "Remove the merge conflict marker '%s'."
link: https://docs.gitlab.com/ee/development/code_review.html#merging-a-merge-request
level: error
scope: raw

View File

@ -0,0 +1,14 @@
---
# Error: gitlab.MultiLineLinks
#
# Checks that links are all on a single line.
#
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: "Put the full link on one line, even if the link is very long."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#links
level: error
scope: raw
raw:
- '\[[^\[\]]*?\n[^\[\]]*?\]\([^\)]*?\)|'
- '\[[^\[\]]*?\]\([^\)]*?\n[^\)]*\)'

View File

@ -3,12 +3,12 @@
#
# Use only standard single and double quotes, not left or right quotes.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: 'Use standard single quotes or double quotes only. Do not use left or right quotes.'
message: "Use standard single quotes or double quotes only. Do not use left or right quotes."
level: warning
ignorecase: true
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#punctuation
scope: raw
raw:
- '[‘’“”]'

View File

@ -0,0 +1,14 @@
---
# Warning: gitlab.Normal
#
# Suggests alternatives for 'normal'.
#
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: substitution
message: "Use '%s' instead of '%s'."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html
level: warning
ignorecase: true
swap:
normally: "usually' or 'typically"
normal: "typical' or 'standard"

View File

@ -1,12 +1,12 @@
---
# Warning: gitlab.OutdatedVersions
# Suggestion: gitlab.OutdatedVersions
#
# Checks for references to versions of GitLab that are no longer supported.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: 'Can this reference to "%s" be refactored?'
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#gitlab-versions
message: "If possible, remove the reference to '%s'."
link: https://docs.gitlab.com/ee/development/documentation/versions.html
level: suggestion
nonword: true
ignorecase: true
@ -21,3 +21,5 @@ tokens:
- "GitLab (v)?9."
- "GitLab (v)?10."
- "GitLab (v)?11."
- "GitLab (v)?12."
- "GitLab (v)?13."

View File

@ -0,0 +1,12 @@
---
# Warning: gitlab.OxfordComma
#
# Checks for the lack of an Oxford comma. In some cases, will catch overly complex sentence structures with lots of commas.
#
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: "Use a comma before the last 'and' or 'or' in a list of four or more items."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#punctuation
level: warning
raw:
- '(?:[\w-_` ]+,){2,}(?:[\w-_` ]+) (and |or )'

View File

@ -1,13 +1,13 @@
---
# Warning: gitlab.Possessive
# Error: gitlab.Possessive
#
# The word GitLab should not be used in the possessive form.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: "Rewrite '%s' to not use 's."
message: "Remove 's from %s."
level: error
ignorecase: true
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#trademark
link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html#gitlab
tokens:
- GitLab's

View File

@ -4,8 +4,10 @@
# Checks the Flesch-Kincaid reading level.
#
# https://docs.errata.ai/vale/styles#metric
#
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: metric
message: "The grade level - %s - refers to how hard the content is to understand. Aim for 8th grade or lower by using shorter sentences and words."
message: "The grade level is %s. Aim for 8th grade or lower by using shorter sentences and words."
link: https://docs.gitlab.com/ee/development/documentation/testing.html#vale-readability-score
level: suggestion
formula: |

View File

@ -3,10 +3,10 @@
#
# Checks for reference-style links that should be converted to inline links.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: 'Link "%s" must be inline.'
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#basic-link-criteria
message: "Put this link inline with the rest of the text."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#links
level: error
scope: raw
raw:

View File

@ -3,11 +3,11 @@
#
# Checks for the presence of absolute hyperlinks that should be relative.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: 'Link "%s" must be a relative link with a .md extension.'
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#links-to-internal-documentation
message: "Use a relative link instead of a URL, and ensure the file name ends in .md and not .html."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#links
level: error
scope: raw
raw:
- '\[.+\]\(https?:\/\/docs\.gitlab\.com\/[ce]e.*\)'
- '\[[^\]]+\]\(https?:\/\/docs\.gitlab\.com\/[ce]e.*?\)'

View File

@ -3,10 +3,10 @@
#
# Checks for the presence of double slashes in relative URLs.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: 'Relative links must not include a double slash.'
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#links-to-internal-documentation
message: "Remove the double slash from this relative link."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#links
level: error
scope: raw
raw:

View File

@ -3,9 +3,9 @@
#
# Checks for duplicate words, like `the the` or `and and`.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: repetition
message: '"%s" is repeated.'
message: "Remove this duplicate word: '%s'."
level: error
alpha: true
tokens:

View File

@ -1,13 +1,13 @@
---
# Warning: gitlab.SentenceLength
# Suggestion: gitlab.SentenceLength
#
# Counts words in a sentence and alerts if a sentence exceeds 25 words.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: occurrence
message: 'Shorter sentences improve readability (max 25 words).'
message: "Improve readability by using fewer than 25 words in this sentence."
scope: sentence
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#language
level: warning
level: suggestion
max: 25
token: \b(\w+)\b

View File

@ -3,9 +3,9 @@
#
# Checks for incorrect spacing (no spaces, or more than one space) around punctuation.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: '"%s" must contain one and only one space.'
message: "Remove the extra space: '%s'"
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#punctuation
level: error
nonword: true

View File

@ -1,14 +1,14 @@
---
# Suggestion: gitlab.Simplicity
# Warning: gitlab.Simplicity
#
# Checks for words implying ease of use, to avoid cognitive dissonance for frustrated users.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: 'Avoid words like "%s" that imply ease of use, because the user may find this action hard.'
level: suggestion
message: "Remove '%s'. Be precise instead of subjective."
level: warning
ignorecase: true
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#usage-list
link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html
tokens:
- easy
- easily

View File

@ -0,0 +1,16 @@
---
# Warning: gitlab.Spelling
#
# Checks for possible spelling mistakes in content, not code. Results from links using angle brackets (<https://example.com>) should be corrected.
#
# If a word is flagged as a spelling mistake incorrectly, such as a product name,
# you can submit an MR to update `spelling-exceptions.txt` with the missing word.
# Commands, like `git clone` must use backticks, and must not be added to the
# exceptions.
#
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: spelling
message: "Check the spelling of '%s'. If the spelling is correct, ask a Technical Writer to add this word to the spelling exception list."
level: warning
ignore:
- gitlab/spelling-exceptions.txt

View File

@ -1,28 +0,0 @@
---
# Suggestion: gitlab.SubstitutionSuggestions
#
# Suggests better options for frequently misused terms that are often - but not always - incorrect.
# SubstitutionWarning.yml and Substitutions.yml also exist.
#
# For a list of all options, see https://errata-ai.github.io/vale/styles/
extends: substitution
message: 'Consider %s instead of "%s".'
link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html
level: suggestion
ignorecase: true
swap:
active user: '"billable user"'
active users: '"billable users"'
docs: '"documentation"'
e-mail: '"email"'
GLFM: '"GitLab Flavored Markdown"'
it is recommended: '"we recommend"'
navigate: go
OAuth2: '"OAuth 2.0"'
once that: '"after that"'
once the: '"after the"'
once you: '"after you"'
since: '"because" or "after"'
sub-group: '"subgroup"'
sub-groups: '"subgroups"'
within: '"in"'

View File

@ -1,28 +1,63 @@
---
# Warning: gitlab.SubstitutionWarning
#
# Checks for misused terms or common shorthand that should never be used at GitLab, but can't be flagged as errors.
# Substitutions.yml and SubstitionSuggestions.yml also exist.
# Checks for misused terms or common shorthand that should not be used at GitLab, but can't be flagged as errors.
# Substitutions.yml also exists.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: substitution
message: 'If possible, use "%s" instead of "%s".'
link: https://about.gitlab.com/handbook/communication/#top-misused-terms
message: "Use '%s' instead of '%s' when possible."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html
level: warning
ignorecase: true
swap:
air(?:-| )?gapped: offline environment
bullet: list item
click: select
code base: codebase
config: configuration
deselect: clear
deselected: cleared
distro: distribution
file name: filename
filesystem: file system
GFM: GLFM
info: information
repo: repository
timezone: time zone
utilize: use
active user: "billable user"
active users: "billable users"
air(?:-| )?gapped: "offline environment"
bullet: "list item"
click: "select"
code base: "codebase"
config: "configuration"
confirmation box: "confirmation dialog"
confirmation dialog box: "confirmation dialog"
deselect: "clear"
deselected: "cleared"
dialog box: "dialog"
distro: "distribution"
e-mail: "email"
emojis: "emoji"
ex: "for example"
file name: "filename"
filesystem: "file system"
info: "information"
installation from source: self-compiled installation
installations from source: self-compiled installations
it is recommended: "you should"
logged in user: "authenticated user"
logged-in user: "authenticated user"
modal dialog: "dialog"
modal window: "dialog"
modal: "dialog"
n/a: "not applicable"
navigate to: "go to"
OAuth2: "OAuth 2.0"
omnibus gitlab: "Linux package"
'omnibus(?!\))': "Linux package"
once that: "after that"
once the: "after the"
once you: "after you"
pop-up window: "dialog"
pop-up: "dialog"
popup: "dialog"
repo: "repository"
signed in user: "authenticated user"
signed-in user: "authenticated user"
since: "because' or 'after"
source (?:install|installation): self-compiled installation
source (?:installs|installations): self-compiled installations
sub-group: "subgroup"
sub-groups: "subgroups"
timezone: "time zone"
utilize: "use"
we recommend: "you should"
within: "in"

View File

@ -2,62 +2,63 @@
# Error: gitlab.Substitutions
#
# Checks for misused terms that should never be used at GitLab.
# SubstitutionWarning.yml and SubstitionSuggestions.yml also exist.
# SubstitutionWarning.yml also exists.
#
# For a list of all options, see https://docs.errata.ai/vale/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: substitution
message: 'Use "%s" instead of "%s".'
message: "Use '%s' instead of '%s'."
link: https://about.gitlab.com/handbook/communication/#top-misused-terms
level: error
ignorecase: true
swap:
codequality: code quality
Customer [Pp]ortal: Customers Portal
disallow: prevent
frontmatter: front matter
GitLabber: GitLab team member
GitLabbers: GitLab team members
GitLab-shell: GitLab Shell
gitlab omnibus: Linux package
param: parameter
params: parameters
pg: PostgreSQL
'postgres$': PostgreSQL
golang: Go
raketask: Rake task
raketasks: Rake tasks
rspec: RSpec
self hosted: self-managed
self-hosted: self-managed
styleguide: style guide
to login: to log in
can login: can log in
to log-in: to log in
can log-in: can log in
to signin: to sign in
can signin: can sign in
to sign-in: to sign in
can sign-in: can sign in
x509: X.509
yml: YAML
admin user: administrator
admin users: administrators
administrator permission: administrator access
administrator permissions: administrator access
administrator role: administrator access
can log-in: can log in
can login: can log in
can sign-in: can sign in
can signin: can sign in
codequality: code quality
Customer [Pp]ortal: Customers Portal
the administrator access level: administrator access
developer access: the Developer role
developer permission: the Developer role
developer permissions: the Developer role
disallow: prevent
frontmatter: front matter
gitlab omnibus: Omnibus GitLab
GitLab-shell: GitLab Shell
GitLabber: GitLab team member
GitLabbers: GitLab team members
guest access: the Guest role
guest permission: the Guest role
guest permissions: the Guest role
json: JSON
kubernetes: Kubernetes
k8s: Kubernetes
maintainer access: the Maintainer role
maintainer permission: the Maintainer role
maintainer permissions: the Maintainer role
owner access: the Owner role
owner permission: the Owner role
owner permissions: the Owner role
param: parameter
params: parameters
pg: PostgreSQL
raketask: Rake task
raketasks: Rake tasks
reporter access: the Reporter role
reporter permission: the Reporter role
reporter permissions: the Reporter role
rspec: RSpec
styleguide: style guide
the administrator access level: administrator access
to log-in: to log in
to login: to log in
to sign-in: to sign in
to signin: to sign in
x509: X.509
yaml: YAML
at least the Owner role: the Owner role

View File

@ -0,0 +1,13 @@
---
# Error: gitlab.TabsLinks
#
# Checks for the presence of links to individual GitLab UI tabs.
#
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: "Do not include tabs query parameters in links."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#tabs
level: error
scope: raw
raw:
- '\[[^\]]+\]\(.*?\.md\?tab=.*?\)'

View File

@ -3,10 +3,10 @@
#
# You should not use "To Do", unless it refers to the UI element.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: substitution
message: 'Use "to-do item" in most cases, or "Add a to do" if referring to the UI button.'
link: https://docs.gitlab.com/ee/development/documentation/styleguide/index.html#feature-names
message: "Use 'to-do item' in most cases, or 'Add a to do' if referring to the UI button."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html#to-do-item
level: warning
ignorecase: false
swap:

View File

@ -3,9 +3,9 @@
#
# Checks for words that need a noun for clarity.
#
# For a list of all options, see https://docs.errata.ai/vale/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: "'%s' is not precise. Try rewriting with a specific subject and verb."
message: "Instead of '%s', try starting this sentence with a specific subject and verb."
link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html#this-these-that-those
level: warning
ignorecase: false

View File

@ -0,0 +1,15 @@
---
# Warning: gitlab.Units
#
# Recommends a space between a number and a unit of measure.
#
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: "Add a space between the number and the unit in '%s'."
link: 'https://docs.gitlab.com/ee/development/documentation/styleguide/'
nonword: true
level: warning
ignorecase: true
tokens:
- \d+(?:B|kB|KiB|MB|MiB|GB|GiB|TB|TiB)
- \d+(?:ns|ms|μs|s|min|h|d)

View File

@ -1,13 +1,13 @@
---
# Warning: gitlab.Uppercase
# Suggestion: gitlab.Uppercase
#
# Checks for use of all uppercase letters with unknown reason.
#
# For a list of all options, see https://docs.errata.ai/vale/styles.
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: conditional
message: "'%s' is uppercase. Use lowercase or `backticks` if possible. Otherwise add this word to the rule's exception list."
link: https://about.gitlab.com/handbook/marketing/growth-marketing/content/editorial-team/#acronyms
level: warning
message: "Instead of uppercase for '%s', use lowercase or backticks (`) if possible. Otherwise, ask a Technical Writer to add this word or acronym to the rule's exception list."
link: https://docs.gitlab.com/ee/development/documentation/testing.html#vale-uppercase-acronym-test
level: suggestion
ignorecase: false
# Ensures that the existence of 'first' implies the existence of 'second'.
first: '\b([A-Z]{3,5})\b'
@ -16,48 +16,62 @@ second: '(?:\b[A-Z][a-z]+ )+\(([A-Z]{3,5})\)'
exceptions:
- ACL
- AJAX
- AKS
- AMI
- ANSI
- APAC
- API
- APM
- ARM
- ARN
- ASCII
- ASG
- AST
- AWS
- BMP
- BSD
- CAS
- CDN
- CGI
- CIDR
- CLI
- CNA
- CNAME
- CNCF
- CORE
- CORS
- CPU
- CRD
- CRAN
- CRIME
- CRM
- CRUD
- CSRF
- CSS
- CSV
- CUE
- CTE
- CVE
- CVS
- CVSS
- CWE
- DAG
- DAST
- DDL
- DHCP
- DML
- DNS
- DSN
- DOM
- DORA
- DSA
- DSL
- DVCS
- DVD
- EBS
- ECDSA
- ECS
- EFS
- EKS
- ELB
- ENA
- EOL
- ESS
- EWM
- EXIF
- FAQ
@ -76,10 +90,13 @@ exceptions:
- GID
- GIF
- GKE
- GLEX
- GLFM
- GNU
- GPG
- GPL
- GPS
- GPT
- GPU
- GUI
- HAML
@ -87,6 +104,7 @@ exceptions:
- HEAD
- HIPAA
- HLL
- HSTS
- HTML
- HTTP
- HTTPS
@ -96,27 +114,32 @@ exceptions:
- ICO
- IDE
- IID
- IIS
- IMAP
- IOPS
- IRC
- IRSA
- ISO
- JPEG
- JPG
- JSON
- JVM
- JWT
- KICS
- LAN
- LDAP
- LDAPS
- LESS
- LFS
- LRU
- LSIF
- LTM
- LTS
- LVM
- MIME
- MIT
- MITRE
- MVC
- NAS
- NAT
- NDA
- NFS
@ -126,6 +149,8 @@ exceptions:
- NTP
- OCI
- OIDC
- OKD
- OKR
- ONLY
- OSS
- OTP
@ -138,12 +163,13 @@ exceptions:
- PGP
- PHP
- PID
- PIN
- PKCS
- PNG
- POSIX
- POST
- PROXY
- PUT
- QPS
- RAID
- RAM
- RBAC
@ -165,7 +191,10 @@ exceptions:
- SAN
- SAST
- SATA
- SBOM
- SBT
- SCIM
- SCM
- SCP
- SCSS
- SDK
@ -173,13 +202,17 @@ exceptions:
- SEO
- SFTP
- SHA
- SKI
- SLA
- SLI
- SLO
- SMS
- SMTP
- SOAP
- SOC
- SOX
- SPDX
- SPDY
- SPF
- SQL
- SRE
@ -189,6 +222,7 @@ exceptions:
- SSL
- SSO
- STI
- SUSE
- SVG
- SVN
- TCP
@ -199,7 +233,9 @@ exceptions:
- TODO
- TOML
- TOTP
- TPS
- TTL
- UBI
- UDP
- UID
- UID
@ -210,18 +246,14 @@ exceptions:
- UTC
- UTF
- UUID
- UXP
- VCS
- VPC
- VPN
- WEBP
- WIP
- WSL
- XEKS
- XML
- XPKG
- XRD
- XSS
- YAML
- ZAP
- ZIP
- ZIP

View File

@ -1,23 +1,19 @@
---
# Error: gitlab.VersionText
#
# Checks that version text is formatted correctly.
# Checks that multi-line version text is formatted correctly.
#
# Specifically looks for either of the following that is immediately followed on the next line
# by content, which will break rendering:
# Specifically, looks for multi-line version text that doesn't use `-` to make it a list.
# For example:
#
# - `> Introduced` (version text without a link)
# - `> [Introduced` (version text with a link)
# - `> Introduced in GitLab 14.0.
# - `> Removed in GitLab 15.0.
#
# Because it excludes the prefix `> - `, it doesn't look for multi-line version text, for which
# content immediately on the next line is ok. However, this will often highlight where multi-line
# version text is attempted without `-` characters.
#
# For a list of all options, see https://errata-ai.gitbook.io/vale/getting-started/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: 'This introduced-in line is not formatted correctly.'
message: "Start each entry with `> -`. Keep long entries on one line."
link: https://docs.gitlab.com/ee/development/documentation/versions.html
level: error
scope: raw
raw:
- '> \[?Introduced.+\n[^\n]'
- '\n#.*\n\n> [^-].+\n[^\n`]'

View File

@ -0,0 +1,13 @@
---
# Error: gitlab.VersionTextSingleLine
#
# Verifies that single-item version notes don't have a hyphen.
#
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: "Do not use a hyphen '-' in version text if there is only a single item."
link: https://docs.gitlab.com/ee/development/documentation/versions.html#add-a-version-history-item
level: error
scope: raw
raw:
- '(\r|\n|\r\n){2}(> - .*)(\r|\n|\r\n){2}'

View File

@ -3,15 +3,16 @@
#
# Suggests shorter versions of wordy phrases.
#
# For a list of all options, see https://docs.errata.ai/vale/styles
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: substitution
message: '%s "%s".'
message: "%s"
link: https://docs.gitlab.com/ee/development/documentation/styleguide/word_list.html
level: warning
level: suggestion
ignorecase: true
swap:
in order to: "Be concise: use 'to' rather than"
needs? to: "Rewrite the sentence, or use 'must', instead of"
note that: "Be concise: rewrite the sentence to not use"
please: "Remove this word from the sentence: "
respectively: "Rewrite the sentence to be more precise, instead of using "
as well as: "Use 'and' instead of 'as well as'."
note that: "Remove the phrase 'note that'."
please: "Use 'please' only if we've inconvenienced the user."
respectively: "Remove 'respectively' and list each option instead."
and so on: "Remove 'and so on'. Try to use 'like' and provide examples instead."
in order to: "Remove 'in order' and leave 'to'."

View File

@ -0,0 +1,15 @@
---
# Warning: gitlab.Zip
#
# Recommends all instances of something.zip be wrapped in backticks
# due to the .zip top-level domain
#
# For a list of all options, see https://vale.sh/docs/topics/styles/
extends: existence
message: "Wrap '%s' in backticks to prevent unintentional links to .zip domain names."
link: 'https://docs.gitlab.com/ee/development/documentation/styleguide/index.md#backticks-in-markdown'
nonword: true
level: error
ignorecase: true
tokens:
- '\b\w*\.zip'

File diff suppressed because it is too large Load Diff