Skip to content

Commit 6aa8079

Browse files
DanielleDaniellem97
Danielle
authored andcommitted
adding no follow
1 parent 15784d0 commit 6aa8079

Some content is hidden

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

54 files changed

+124
-124
lines changed

docs/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Spacelift is a sophisticated, continuous integration and deployment (CI/CD) plat
88

99
At the same time, Spacelift is super easy to get started with - you can go from zero to fully managing your cloud resources within less than a minute, with no pre-requisites. It integrates nicely with the large players in the field - notably [GitHub](integrations/source-control/github.md) and [AWS](integrations/cloud-providers/aws.md).
1010

11-
If you're new to Spacelift, please spend some time browsing through the articles in the same order as they appear in the menu - start with the main concepts and follow with integrations. If you're more advanced, you can navigate directly to the article you need, or use the search feature to find a specific piece of information. If you still have questions, feel free to [reach out to us.](https://spacelift.io/contact)
11+
If you're new to Spacelift, please spend some time browsing through the articles in the same order as they appear in the menu - start with the main concepts and follow with integrations. If you're more advanced, you can navigate directly to the article you need, or use the search feature to find a specific piece of information. If you still have questions, feel free to [reach out to us.](https://spacelift.io/contact){: rel="nofollow"}
1212

1313
## Do I need another CI/CD for my infrastructure?
1414

docs/concepts/blueprint/README.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -252,14 +252,14 @@ As you noticed if we attach an existing resource to the stack (such as Worker Po
252252

253253
## Template engine
254254

255-
We built our own variable substitution engine based on [Google CEL](https://github.com/google/cel-spec). The library is available on [GitHub](https://github.com/spacelift-io/celplate/).
255+
We built our own variable substitution engine based on [Google CEL](https://github.com/google/cel-spec){: rel="nofollow"}. The library is available on [GitHub](https://github.com/spacelift-io/celplate/){: rel="nofollow"}.
256256

257257
### Functions, objects
258258

259-
In the giant example above, you might have noticed something interesting: inline functions! CEL supports a couple of functions, such as: `contains`, `startsWith`, `endsWith`, `matches`, `size` and a bunch of others. You can find the full list in the [language definition](https://github.com/google/cel-spec/blob/v0.7.1/doc/langdef.md). It also supports some basic operators, such as: `*`, `/`, `-`, `+`, relations (`==`, `!=`, `<`, `<=`, `>`, `>=`), `&&`, `||`, `!`, `?:` (yes, it supports the ternary operator 🎉) and `in`.
259+
In the giant example above, you might have noticed something interesting: inline functions! CEL supports a couple of functions, such as: `contains`, `startsWith`, `endsWith`, `matches`, `size` and a bunch of others. You can find the full list in the [language definition](https://github.com/google/cel-spec/blob/v0.7.1/doc/langdef.md){: rel="nofollow"}. It also supports some basic operators, such as: `*`, `/`, `-`, `+`, relations (`==`, `!=`, `<`, `<=`, `>`, `>=`), `&&`, `||`, `!`, `?:` (yes, it supports the ternary operator 🎉) and `in`.
260260

261261
!!! hint
262-
It could be useful to look into [the unit tests](https://github.com/google/cel-go/blob/v0.13.0/cel/cel_test.go) of the library. Look for the invocations of `interpret` function.
262+
It could be useful to look into [the unit tests](https://github.com/google/cel-go/blob/v0.13.0/cel/cel_test.go){: rel="nofollow"} of the library. Look for the invocations of `interpret` function.
263263

264264
There is one caveat to keep in mind: keep the YAML syntax valid.
265265

@@ -520,7 +520,7 @@ stack:
520520
Note that this is not a working example as it misses a few things (`inputs` section, `vcs` etc.), but it should give you an idea of what you can do.
521521

522522
!!! tip
523-
What can you do with `google.protobuf.Timestamp` and `google.protobuf.Duration`? Check out the [language definition](https://github.com/google/cel-spec/blob/v0.7.1/doc/langdef.md#list-of-standard-definitions), it contains all the methods and type conversions available.
523+
What can you do with `google.protobuf.Timestamp` and `google.protobuf.Duration`? Check out the [language definition](https://github.com/google/cel-spec/blob/v0.7.1/doc/langdef.md#list-of-standard-definitions){: rel="nofollow"}, it contains all the methods and type conversions available.
524524

525525
## Validation
526526

@@ -556,7 +556,7 @@ The up-to-date schema of a Blueprint is available through a [GraphQL query](../.
556556
```
557557

558558
!!! tip
559-
Remember that there are multiple ways to interact with Spacelift. You can use the [GraphQL API](../../integrations/api.md), the [CLI](https://github.com/spacelift-io/spacectl), the [Terraform Provider](https://registry.terraform.io/providers/spacelift-io/spacelift/latest/docs) or the web UI itself if you're feeling fancy.
559+
Remember that there are multiple ways to interact with Spacelift. You can use the [GraphQL API](../../integrations/api.md), the [CLI](https://github.com/spacelift-io/spacectl){: rel="nofollow"}, the [Terraform Provider](https://registry.terraform.io/providers/spacelift-io/spacelift/latest/docs){: rel="nofollow"} or the web UI itself if you're feeling fancy.
560560

561561
For simplicity, here is the current schema, but it might change in the future:
562562

docs/concepts/configuration/context.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ If the data in the context is produced by one or more Spacelift stacks, contexts
9898

9999
As an example of one such use case, let's imagine an organization where shared infrastructure (VPC, DNS, compute cluster etc.) is centrally managed by a DevOps team, which exposes it as a service to be used by individual product development teams. In order to be able to use the shared infrastructure, each team needs to address multiple entities that are generated by the central infra repo. In vanilla Terraform one would likely use remote state provider, but that might expose secrets and settings the DevOps team would rather keep it to themselves. Using a context on the other hand allows the team to decide (and hopefully document) what constitutes their "external API".
100100

101-
The proposed setup for the above use case would involve two administrative stacks - one to manage all the stacks, and the other for the DevOps team. The management stack would programmatically define the DevOps one, and possibly also its context. The DevOps team would receive the context ID as an input variable, and use it to expose outputs as [`spacelift_environment_variable`](https://github.com/spacelift-io/terraform-provider-spacelift#spacelift_environment_variable-resource) and/or [`spacelift_mounted_file`](https://github.com/spacelift-io/terraform-provider-spacelift#spacelift_mounted_file-resource) resources. The management stack could then simply attach the context populated by the DevOps stack to other stacks it defines and manages.
101+
The proposed setup for the above use case would involve two administrative stacks - one to manage all the stacks, and the other for the DevOps team. The management stack would programmatically define the DevOps one, and possibly also its context. The DevOps team would receive the context ID as an input variable, and use it to expose outputs as [`spacelift_environment_variable`](https://github.com/spacelift-io/terraform-provider-spacelift#spacelift_environment_variable-resource){: rel="nofollow"} and/or [`spacelift_mounted_file`](https://github.com/spacelift-io/terraform-provider-spacelift#spacelift_mounted_file-resource){: rel="nofollow"} resources. The management stack could then simply attach the context populated by the DevOps stack to other stacks it defines and manages.
102102

103103
### Extending Terraform CLI Configuration (Terraform-specific)
104104

docs/concepts/configuration/runtime-configuration/runtime-yaml-reference.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ The version property is optional and currently ignored but for the sake of compl
4646

4747
### `stacks`
4848

49-
The stacks section is a map using stack public ID (slug) as keys and stack settings - described in [this section](runtime-yaml-reference.md#stack_defaults) - as values. If you're using this mapping together with stack defaults, note that any default setting is overridden by an explicitly set stack-specific value. This is particularly important for list and map fields where one may assume that these are merged. In practice, they're not merged - they're replaced. If you want merging semantics, [YAML provides native methods to merge arrays and maps](http://blogs.perl.org/users/tinita/2019/05/reusing-data-with-yaml-anchors-aliases-and-merge-keys.html).
49+
The stacks section is a map using stack public ID (slug) as keys and stack settings - described in [this section](runtime-yaml-reference.md#stack_defaults) - as values. If you're using this mapping together with stack defaults, note that any default setting is overridden by an explicitly set stack-specific value. This is particularly important for list and map fields where one may assume that these are merged. In practice, they're not merged - they're replaced. If you want merging semantics, [YAML provides native methods to merge arrays and maps](http://blogs.perl.org/users/tinita/2019/05/reusing-data-with-yaml-anchors-aliases-and-merge-keys.html){: rel="nofollow"}.
5050

5151
### `module_version`
5252

docs/concepts/policy/README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Please refer to the following table for information on what each policy types re
3131
| [Trigger](trigger-policy.md) | Selects [stacks](../stack/README.md) for which to trigger a [tracked run](../run/tracked.md) | Positive | `set<string>` | `trigger` |
3232

3333
!!! tip
34-
We maintain a [library of example policies](https://github.com/spacelift-io/spacelift-policies-example-library) that are ready to use or that you could tweak to meet your specific needs.
34+
We maintain a [library of example policies](https://github.com/spacelift-io/spacelift-policies-example-library){: rel="nofollow"} that are ready to use or that you could tweak to meet your specific needs.
3535

3636
If you cannot find what you are looking for, please reach out to [our support](../../product/support/README.md#contact-support) and we will craft a policy to do exactly what you need.
3737

@@ -47,7 +47,7 @@ Multiple policies of the same type can be attached to a single stack, in which c
4747

4848
### Policy language
4949

50-
[Rego](https://www.openpolicyagent.org/docs/latest/policy-language/) - the language that we're using to execute policies - is a very elegant, Turing incomplete data query language. It takes a few hours (tops) to get your head around all of its quirks but if you can handle SQL and the likes of [`jq`](https://stedolan.github.io/jq/){: rel="nofollow"}, you'll find Rego pretty familiar. For each policy, we also give you plenty of examples that you can tweak to achieve your goals, and each of those examples comes with a link allowing you to execute it in [the Rego playground](https://play.openpolicyagent.org/){: rel="nofollow"}.
50+
[Rego](https://www.openpolicyagent.org/docs/latest/policy-language/){: rel="nofollow"} - the language that we're using to execute policies - is a very elegant, Turing incomplete data query language. It takes a few hours (tops) to get your head around all of its quirks but if you can handle SQL and the likes of [`jq`](https://stedolan.github.io/jq/){: rel="nofollow"}, you'll find Rego pretty familiar. For each policy, we also give you plenty of examples that you can tweak to achieve your goals, and each of those examples comes with a link allowing you to execute it in [the Rego playground](https://play.openpolicyagent.org/){: rel="nofollow"}.
5151

5252
### Constraints
5353

@@ -236,7 +236,7 @@ Capturing all evaluations sounds tempting but it will also be extremely messy. W
236236
In order to show you how to work with the policy workbench, we are going to use a [task policy](task-run-policy.md) that whitelists just two tasks - an innocent `ls`, and tainting a particular resource. It also only samples successful evaluations, where the list of `deny` reasons is empty:
237237

238238
!!! info
239-
This example comes from our [test repo](https://github.com/spacelift-io/terraform-starter), which gives you hands-in experience with most Spacelift functionalities within 10-15 minutes, depending on whether you like to RTFM or not. We strongly recommend you give it a go.
239+
This example comes from our [test repo](https://github.com/spacelift-io/terraform-starter){: rel="nofollow"}, which gives you hands-in experience with most Spacelift functionalities within 10-15 minutes, depending on whether you like to RTFM or not. We strongly recommend you give it a go.
240240

241241
![](<../../assets/screenshots/Screen Shot 2022-06-29 at 12.17.46 PM.png>)
242242

docs/concepts/policy/approval-policy.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ This is the schema of the data input that each policy request will receive:
144144
## Examples
145145

146146
!!! tip
147-
We maintain a [library of example policies](https://github.com/spacelift-io/spacelift-policies-example-library/tree/main/approval) that are ready to use or that you could tweak to meet your specific needs.
147+
We maintain a [library of example policies](https://github.com/spacelift-io/spacelift-policies-example-library/tree/main/approval){: rel="nofollow"} that are ready to use or that you could tweak to meet your specific needs.
148148

149149
If you cannot find what you are looking for below or in the library, please reach out to [our support](../../product/support/README.md#contact-support) and we will craft a policy to do exactly what you need.
150150

@@ -153,7 +153,7 @@ This is the schema of the data input that each policy request will receive:
153153
In this example, each Unconfirmed run will require two approvals - including proposed runs triggered by Git events. Additionally, the run should have no rejections. Anyone who rejects the run will need to change their mind in order for the run to go through.
154154

155155
!!! info
156-
We suggest requiring more than one review because one approval should come from the run/commit author to indicate that they're aware of what they're doing, especially if their VCS handle is different than their IdP handle. This is something [we practice internally at Spacelift](https://spacelift.io/blog/flexible-backoffice-tool-using-slack).
156+
We suggest requiring more than one review because one approval should come from the run/commit author to indicate that they're aware of what they're doing, especially if their VCS handle is different than their IdP handle. This is something [we practice internally at Spacelift](https://spacelift.io/blog/flexible-backoffice-tool-using-slack){: rel="nofollow"}.
157157

158158
```opa
159159
package spacelift

docs/concepts/policy/login-policy.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
Login policies can allow users to log in to the account, and optionally give them admin privileges, too. Unlike all other policy types, login policies are global and can't be attached to individual stacks. They take effect immediately once they're created and affect all future login attempts.
66

77
!!! info
8-
Login policies are only evaluated for the [Cloud or Enterprise plan](https://spacelift.io/pricing).
8+
Login policies are only evaluated for the [Cloud or Enterprise plan](https://spacelift.io/pricing){: rel="nofollow"}.
99

1010
!!! warning
1111
Login policies don't affect GitHub organization or [SSO](../../integrations/single-sign-on/README.md) admins and private account owners who always get admin access to their respective Spacelift accounts. This is to avoid a situation where a bad login policy locks out everyone from the account.
@@ -87,7 +87,7 @@ For Single Sign-On, the list of teams is pretty much arbitrary and depends on ho
8787
## Examples
8888

8989
!!! tip
90-
We maintain a [library of example policies](https://github.com/spacelift-io/spacelift-policies-example-library/tree/main/login) that are ready to use or that you could tweak to meet your specific needs.
90+
We maintain a [library of example policies](https://github.com/spacelift-io/spacelift-policies-example-library/tree/main/login){: rel="nofollow"} that are ready to use or that you could tweak to meet your specific needs.
9191

9292
If you cannot find what you are looking for below or in the library, please reach out to [our support](../../product/support/README.md#contact-support) and we will craft a policy to do exactly what you need.
9393

docs/concepts/policy/push-policy/README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -204,11 +204,11 @@ In GitLab, it is the group of the repository which is typically the URL of the r
204204

205205
Azure DevOps is a special case because they don't provide us the friendly name of the `head_owner`. In this case, we need to refer to `head_owner` as the ID of the forked repository's project which is a UUID. One way to figure out this UUID is to open `https://dev.azure.com/<organization>/_apis/projects` website which lists all projects with their unique IDs. You don't need any special access to this API, you can just simply open it in your browser.
206206

207-
[Official documentation](https://docs.microsoft.com/en-us/rest/api/azure/devops/core/projects/list) of the API.
207+
[Official documentation](https://docs.microsoft.com/en-us/rest/api/azure/devops/core/projects/list){: rel="nofollow"} of the API.
208208

209209
#### Bitbucket Cloud
210210

211-
In Bitbucket Cloud, `head_owner` means [workspace](https://support.atlassian.com/bitbucket-cloud/docs/what-is-a-workspace/). It's in the URL of the repository: `https://www.bitbucket.org/<workspace>/<forked_repository>`.
211+
In Bitbucket Cloud, `head_owner` means [workspace](https://support.atlassian.com/bitbucket-cloud/docs/what-is-a-workspace/){: rel="nofollow"}. It's in the URL of the repository: `https://www.bitbucket.org/<workspace>/<forked_repository>`.
212212

213213
#### Bitbucket Datacenter/Server
214214

@@ -436,7 +436,7 @@ It is also possible to define an auxiliary rule called `ignore_track`, which ove
436436
## Examples
437437

438438
!!! tip
439-
We maintain a [library of example policies](https://github.com/spacelift-io/spacelift-policies-example-library/tree/main/push) that are ready to use or that you could tweak to meet your specific needs.
439+
We maintain a [library of example policies](https://github.com/spacelift-io/spacelift-policies-example-library/tree/main/push){: rel="nofollow"} that are ready to use or that you could tweak to meet your specific needs.
440440

441441
If you cannot find what you are looking for below or in the library, please reach out to [our support](../../../product/support/README.md#contact-support) and we will craft a policy to do exactly what you need.
442442

docs/concepts/policy/push-policy/run-external-dependencies.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ A common use case of this feature is making Spacelift wait for a CI/CD pipeline
1010
Using this feature consists of two parts:
1111

1212
- defining dependencies in push policies
13-
- marking dependencies as finished or failed using [spacectl](https://github.com/spacelift-io/spacectl)
13+
- marking dependencies as finished or failed using [spacectl](https://github.com/spacelift-io/spacectl){: rel="nofollow"}
1414

1515
### Defining dependencies
1616

@@ -30,7 +30,7 @@ You can of course have more complex rules, that decide on the set of external de
3030

3131
### Marking dependencies as finished or failed
3232

33-
To mark a dependency as finished or failed, you need to use the [spacectl](https://github.com/spacelift-io/spacectl) command line tool.
33+
To mark a dependency as finished or failed, you need to use the [spacectl](https://github.com/spacelift-io/spacectl){: rel="nofollow"} command line tool.
3434
You can do so with following commands:
3535

3636
```bash
@@ -44,7 +44,7 @@ spacectl run-external-dependency mark-completed --id "<commit-sha>-binary-build"
4444
At the same time, if any of the dependencies has failed, the run will be marked as failed as well.
4545

4646
!!! warning
47-
In order to mark a run dependency as finished or failed, [spacectl](https://github.com/spacelift-io/spacectl) needs to be authenticated and have _write_ access to all the spaces that have runs with the given dependency defined.
47+
In order to mark a run dependency as finished or failed, [spacectl](https://github.com/spacelift-io/spacectl){: rel="nofollow"} needs to be authenticated and have _write_ access to all the spaces that have runs with the given dependency defined.
4848

4949
## Example with GH Actions
5050

0 commit comments

Comments
 (0)