From 95dc35638f563a37e9653fb2c6ff46ad0f0f0026 Mon Sep 17 00:00:00 2001 From: Mathias Bogaert Date: Fri, 11 Apr 2025 13:01:24 +0100 Subject: [PATCH] docs: more language refresh Signed-off-by: Mathias Bogaert --- lit/docs/auth.lit | 31 +++++++------ lit/docs/builds.lit | 84 ++++++++++++++++++------------------ lit/docs/config.lit | 12 +++--- lit/docs/getting-started.lit | 16 +++---- lit/docs/how-to-guides.lit | 12 +++--- lit/docs/install.lit | 23 +++++----- lit/docs/observation.lit | 6 +-- lit/docs/operation.lit | 8 ++-- lit/docs/pipelines.lit | 22 +++++----- lit/docs/resource-types.lit | 26 +++++------ lit/docs/resources.lit | 26 +++++------ lit/docs/steps.lit | 30 ++++++------- lit/docs/tasks.lit | 36 ++++++++-------- lit/docs/vars.lit | 16 +++---- lit/index.lit | 2 +- 15 files changed, 176 insertions(+), 174 deletions(-) diff --git a/lit/docs/auth.lit b/lit/docs/auth.lit index ffde6ecc..a0f0911c 100644 --- a/lit/docs/auth.lit +++ b/lit/docs/auth.lit @@ -3,11 +3,11 @@ \use-plugin{concourse-docs} \split-sections -A single Concourse installation can accomodate many projects and users. +A single Concourse installation can accommodate many projects and users. Pipelines, builds, and all other user data are owned by \italic{teams}. A team -is just a conceptual owner and a separate namespace, tied to an authorization -config. For example, a team may authorize all members of the \code{concourse} +is simply a conceptual owner and separate namespace, tied to an authorization +configuration. For example, a team may authorize all members of the \code{concourse} GitHub organization to be a \reference{team-member-role}{member}. When a user authenticates, each team's authorization config is checked against @@ -29,37 +29,36 @@ access control for future requests. users, see \reference{fly-expose-pipeline}. Even with a pipeline exposed, all build logs are hidden by default. This is - because CI jobs are prone to leaking credentials and other...unsavory - information. After you've determined that a job's builds should be safe for - public consumption, you can set \reference{schema.job.public}{\code{public: true}} - on the job in your pipeline. + because CI jobs may leak credentials and other sensitive information. + After you've determined that a job's builds are safe for public consumption, + you can set \reference{schema.job.public}{\code{public: true}} on the job + in your pipeline. } \section{ \title{Security Caveats}{teams-caveats} - At present, teams only provide \italic{trusted multi-tenancy}. This means it + At present, teams only provide \italic{trusted multi-tenancy}. This means they should be used for cases where you know and trust who you're allowing access into your Concourse cluster. - There are a few reasons it'd be a bad idea to do otherwise: + There are a few reasons it would be a bad idea to do otherwise: \list{ - Any team can run builds with \reference{schema.task.privileged} tasks. A bad - actor in the mix could easily use this to harm your workers and your + Any team can run builds with \reference{schema.task.privileged} tasks. A malicious + actor could easily use this to harm your workers and your cluster. - In the future, we'll probably have this as a flag on a team, indicating + In the future, we'll likely add this as a flag on a team, indicating whether they're permitted to run privileged builds. }{ There are no networking restrictions in place, and traffic to and from the workers is currently unencrypted and unauthorized. Anyone could run a task - that does horrible things to your worker's containers, possibly stealing + that does harmful things to your worker's containers, potentially stealing sensitive information. This can be remedied with configuration specified on Garden to restrict access to the internal network, but this is not detailed in our docs, and - we'll probably want to find a better answer than configuration in the - future. + we'll likely want to find a better solution in the future. } -} +} \ No newline at end of file diff --git a/lit/docs/builds.lit b/lit/docs/builds.lit index 729ad866..27d06832 100644 --- a/lit/docs/builds.lit +++ b/lit/docs/builds.lit @@ -2,7 +2,7 @@ \use-plugin{concourse-docs} -A build is an execution of a \italic{build plan}, which is either +A build is an execution of a \italic{build plan}, which is either: \list{ configured as a sequence of \reference{steps}{steps} in a \reference{jobs}{job} @@ -14,25 +14,25 @@ A build is an execution of a \italic{build plan}, which is either Containers and volumes are created as \reference{get-step}s, \reference{put-step}s, and \reference{task-step}s run. When a build completes -successfully, these containers go away. +successfully, these containers are removed. -A failed build's containers and volumes are kept around so that you can debug -the build via \reference{fly-intercept}. If the build belongs to a -\reference{jobs}{job}, the containers will go away when the next build starts. -If the build is a one-off, its containers will be removed immediately, so make -sure you intercept while it's running, if you want to debug. +For failed builds, containers and volumes are preserved to allow debugging +via \reference{fly-intercept}. If the build belongs to a +\reference{jobs}{job}, the containers will be removed when the next build starts. +If the build is a one-off, its containers will be removed immediately, so make sure +you intercept while it's running if you want to debug. \table-of-contents \section{ \title{Rerunning a Build}{build-rerunning} - Concourse supports build rerunning, which means to run a new build using the + Concourse supports build rerunning, which means running a new build using the exact same set of input versions as the original build. There are two ways to rerun a build: through the web UI on the builds page and through the - \reference{fly-rerun-build}. + \reference{fly-rerun-build} command. - When a build is rerun, it will create a new build using the name of the + When a build is rerun, it creates a new build using the name of the original build with the rerun number appended to it, e.g. \code{3.1} for the first rerun of build \code{3}. @@ -40,11 +40,11 @@ sure you intercept while it's running, if you want to debug. than becoming a new "latest" build. Similarly, when the scheduler is resolving \reference{schema.get.passed}{\code{passed}} constraints that reference a job with rerun builds, those rerun builds are - processed in this same order. This ensures that the versions, which made it - through a rerun build, do not become the new "latest versions". Instead, they + processed in this same order. This ensures that versions which made it + through a rerun build do not become the new "latest versions". Instead, they act as if the original build had succeeded at its point in the build history. - This may sound a little confusing, but the summary is that reruns should + This may sound a little confusing, but the key point is that reruns should behave as if they replace the original failed build. \section{ @@ -56,11 +56,11 @@ sure you intercept while it's running, if you want to debug. with. This means that if the \reference{schema.job.plan} has changed in a way - that is backwards-incompatible, the rerun build may error. For example, if + that is backwards-incompatible, the rerun build may fail. For example, if a new input is added, its version will not be available as the original build did not use it. - There are future plans to have reruns execute the exact build plan from the + There are plans to have reruns execute the exact build plan from the original build. If you are interested in tracking the progress for the second pass at rerunning builds - or contributing yourself! - the project epic is called \link{Build Lifecycle @@ -86,7 +86,7 @@ sure you intercept while it's running, if you want to debug. This can be useful for periodically monitoring the state of a job. The output also works well with tools like \code{awk} and \code{grep}. - By default the most recent 50 builds are shown. To see more builds, use + By default, the most recent 50 builds are shown. To see more builds, use the \code{-c} flag, like so: \codeblock{bash}{{ @@ -97,16 +97,16 @@ sure you intercept while it's running, if you want to debug. \section{ \title{\code{fly intercept}}{fly-intercept} - Sometimes it's helpful to connect to the machine where tasks run. This way you - can either profile or inspect tasks, or see the state of the machine at the - end of a run. Due to Concourse running tasks in containers on remote - machines this would typically be hard to access. + Sometimes it's helpful to connect to the machine where tasks run. This allows you + to profile or inspect tasks, or see the state of the machine at the + end of a run. Since Concourse runs tasks in containers on remote + machines, these would typically be difficult to access. - To this end, there is a \code{fly intercept} command that will give you an + The \code{fly intercept} command gives you an interactive shell inside the specified container. Containers are identified - by a few things, so you may need to specify a few flags to hone down the - results. If there are multiple containers that the flags could refer to, an - interactive prompt will show up allowing you to disambiguate. + by several attributes, so you may need to specify multiple flags to narrow down the + results. If there are multiple matching containers, an + interactive prompt will appear allowing you to select one. For example, running the following will run a task and then enter the finished task's container: @@ -118,15 +118,15 @@ sure you intercept while it's running, if you want to debug. \aside{ When intercepting a task running on a Windows worker, you will need to - specifically tell fly to to run \code{powershell}: + specifically tell fly to run \code{powershell}: \codeblock{bash}{{ $ fly -t example intercept powershell }} } - Containers are around for a short time after a build finishes in order to - allow people to intercept them. + Containers remain available for a short time after a build finishes to + allow for interception. You can also intercept builds that were run in your pipeline. By using \code{--job}, \code{--build}, and \code{--step} you can intercept a specific @@ -138,11 +138,11 @@ sure you intercept while it's running, if you want to debug. }} Note that \code{--build} can be omitted, and will default to the most recent - build of the job. One-off builds can be reached by passing in their build ID - to \code{--build} which can be found on the build list page. + build of the job. One-off builds can be reached by passing their build ID + to \code{--build}, which can be found on the build list page. - The \code{--step} flag can also be omitted; this will let you pick the step - interactively, if you don't know the exact name. + The \code{--step} flag can also be omitted; this will let you select the step + interactively if you don't know the exact name. Resource checking containers can also be intercepted with \code{--check} or \code{-c}: @@ -157,7 +157,7 @@ sure you intercept while it's running, if you want to debug. current build's task, even as the "current build" changes. The working directory and any relevant environment variables (e.g. those - having come from \reference{schema.task.params}) used by the original process will + from \reference{schema.task.params}) used by the original process will also be used for the process run by intercept. } @@ -178,26 +178,26 @@ sure you intercept while it's running, if you want to debug. \title{\code{fly watch}}{fly-watch} Concourse emits streaming colored logs on the website, but it can be helpful - to have the logs available to the command line (e.g. so that they can be + to have the logs available in the command line (e.g. so they can be processed by other commands). - The \code{watch} command can be used to do just this. You can also view + The \code{watch} command can be used for this purpose. You can view builds that are running in your pipeline, or builds that have already finished. Note that unlike \reference{fly-execute}, killing \code{fly watch} via \code{SIGINT} or \code{SIGTERM} will \italic{not} abort the build. - To watch the most recent one-off build, just run \code{fly watch} with no - arguments. To watch a specific build (one-off or no), pass \code{--build} + To watch the most recent one-off build, run \code{fly watch} with no + arguments. To watch a specific build (one-off or not), pass \code{--build} with the ID of the build to watch. This ID is available at the start of \reference{fly-execute}'s output or by browsing to the builds list in the web UI. - By using the \code{--job} and \code{--build} flags you can pick out a + By using the \code{--job} and \code{--build} flags, you can select a specific build of a job to watch. For example, the following command will - either show the archived logs for an old build, if it has finished running, or - it will stream the current logs, if the build is still in progress. + either show the archived logs for an old build if it has finished running, or + it will stream the current logs if the build is still in progress. \codeblock{bash}{{ $ fly -t example watch --job my-pipeline/tests --build 52 @@ -206,5 +206,7 @@ sure you intercept while it's running, if you want to debug. If the \code{--job} flag is specified and \code{--build} is omitted, the most recent build of the specified job will be selected. - If there is a mismatch between the \code{fly} and \code{web} versions, it is possible to run into \code{failed to parse next event: unknown event type} error. The \code{--ignore-event-parsing-errors} flag can be passed to ignore such errors. -} + If there is a mismatch between the \code{fly} and \code{web} versions, you may encounter + a \code{failed to parse next event: unknown event type} error. The \code{--ignore-event-parsing-errors} + flag can be passed to ignore such errors. +} \ No newline at end of file diff --git a/lit/docs/config.lit b/lit/docs/config.lit index df8c9328..a3cd4497 100644 --- a/lit/docs/config.lit +++ b/lit/docs/config.lit @@ -2,16 +2,16 @@ \use-plugin{concourse-docs} -Concourse configuration for things like \reference{pipelines} and -\reference{tasks} is done through declarative +Concourse configuration for features like \reference{pipelines} and +\reference{tasks} is managed through declarative \link{YAML}{https://en.wikipedia.org/wiki/YAML} files. -Concourse configuration supports basic variable substitution by way of +Concourse configuration supports basic variable substitution using \reference{vars}{\code{((vars))}}. There is no built-in support for -fancier templating constructs, e.g. loops and conditionals; users are free to -use whatever templating system they like. +more advanced templating constructs such as loops and conditionals; users are free to +use whatever templating system they prefer. \table-of-contents \include-section{config/yaml.lit} -\include-section{config/basic-schemas.lit} +\include-section{config/basic-schemas.lit} \ No newline at end of file diff --git a/lit/docs/getting-started.lit b/lit/docs/getting-started.lit index bcd085cc..d861f5fa 100644 --- a/lit/docs/getting-started.lit +++ b/lit/docs/getting-started.lit @@ -1,10 +1,10 @@ \title{Getting Started} -This tutorial will guide you through the basics of creating Concourse +This tutorial guides you through the basics of creating Concourse pipelines. You will use a local instance of Concourse running on your machine to run pipelines. -Before getting started you should have the following installed: +Before getting started, ensure you have the following installed: \list{ \link{Docker}{https://docs.docker.com/get-docker/} @@ -13,17 +13,17 @@ Before getting started you should have the following installed: } This tutorial assumes you understand what Linux containers are and how to work -with them. If you know what a Dockerfile is and how to make your own then you're -probably good to jump into this tutorial. If you're not familiar with Linux -containers then you may want to \link{get started with -Docker}{https://docs.docker.com/get-started/} first before diving into this +with them. If you know what a Dockerfile is and how to create one, you're +probably ready for this tutorial. If you're not familiar with Linux +containers, we recommend \link{getting started with +Docker}{https://docs.docker.com/get-started/} before diving into this tutorial. It will also help if you know how to read YAML. We have a quick \reference{intro-to-yaml} if you're not familiar with the syntax. \aside{ - If you have any feedback for this tutorial please share it in \link{this + If you have any feedback for this tutorial, please share it in \link{this GitHub discussion}{https://github.com/concourse/concourse/discussions/7353} } @@ -34,4 +34,4 @@ It will also help if you know how to read YAML. We have a quick \include-section{getting-started/quickstart.lit} \include-section{getting-started/hello-world.lit} \include-section{getting-started/inputs-outputs.lit} -\include-section{getting-started/resources.lit} +\include-section{getting-started/resources.lit} \ No newline at end of file diff --git a/lit/docs/how-to-guides.lit b/lit/docs/how-to-guides.lit index 1df6b22b..b6c513d3 100644 --- a/lit/docs/how-to-guides.lit +++ b/lit/docs/how-to-guides.lit @@ -1,14 +1,14 @@ \title{How-To Guides} -The following pages are guides that show how to accomplish certain workflows -within Concourse. Most of the guides will use specific images but you are in no -way limited to or forced to use these images to accomplish the same task. There -are many ways to accomplish the same thing in Concourse, so don't let these -guides limit you in what you think is possible with Concourse. +The following pages provide guides that show how to accomplish specific workflows +within Concourse. Most guides use specific images, but you are not limited to +or required to use these images to accomplish the same tasks. There are many ways +to accomplish the same goal in Concourse, so don't let these guides limit your +understanding of what's possible with Concourse. \split-sections \table-of-contents \include-section{./guides/pipeline-guides.lit} \include-section{./guides/git.lit} -\include-section{./guides/container-images.lit} +\include-section{./guides/container-images.lit} \ No newline at end of file diff --git a/lit/docs/install.lit b/lit/docs/install.lit index 8a614ce5..9ba8ba66 100644 --- a/lit/docs/install.lit +++ b/lit/docs/install.lit @@ -2,24 +2,24 @@ \use-plugin{concourse-docs} -A Concourse installation is composed of a \reference{web-node}, a +A Concourse installation consists of a \reference{web-node}, a \reference{worker-node}, and a \reference{postgresql-node}. -There are many ways to deploy Concourse, depending on your personal preference. -The \reference{quick-start} guide shows how to get Concourse up and running +There are several ways to deploy Concourse, depending on your preference. +The \reference{quick-start} guide shows how to get Concourse running quickly via Docker Compose, and there is also an official \link{Concourse Helm chart}{https://github.com/concourse/concourse-chart}. -The documentation found here will primarily focus on the \code{concourse} CLI, -which is the lowest common denominator, and can also be directly used if you -want to just run Concourse yourself on real hardware or your own managed VMs. +The documentation here primarily focuses on the \code{concourse} CLI, +which is the lowest common denominator. You can use it directly if you want to +run Concourse yourself on physical hardware or your own managed VMs. -The high-level steps to follow for installing Concourse are: +Follow these high-level steps to install Concourse: \ordered-list{ - Setup a Postgres database + Set up a Postgres database }{ - Generate Secrets for the web and worker nodes + Generate secrets for the web and worker nodes }{ Install the web node }{ @@ -27,7 +27,8 @@ The high-level steps to follow for installing Concourse are: } \aside{ - We don't document every configuration option for the \code{web} and \code{worker} commands. To view all flags you can run the following \code{docker} commands. + We don't document every configuration option for the \code{web} and \code{worker} commands. + To view all flags, you can run these \code{docker} commands: \codeblock{bash}{{ docker run -t concourse/concourse web --help @@ -44,4 +45,4 @@ The high-level steps to follow for installing Concourse are: \include-section{install/generating-keys.lit} \include-section{install/web.lit} \include-section{install/worker.lit} -\include-section{install/upgrading.lit} +\include-section{install/upgrading.lit} \ No newline at end of file diff --git a/lit/docs/observation.lit b/lit/docs/observation.lit index d5d9b77c..1f4982d9 100644 --- a/lit/docs/observation.lit +++ b/lit/docs/observation.lit @@ -2,7 +2,7 @@ \title{Observation}{observation} -This section outlines everything you need to know for observing the state of +This section outlines everything you need to know for monitoring the state of your pipelines. \section{ @@ -51,7 +51,7 @@ your pipelines. \image{https://ci.concourse-ci.org/api/v1/teams/main/pipelines/concourse/jobs/unit/badge} - If you want to have the image link to your pipeline/job in a README, you can make it like so: + If you want the image to link to your pipeline/job in a README, use HTML: \codeblock{html}{{{ @@ -65,4 +65,4 @@ your pipelines. Pipelines may be exposed so that they can be monitored without having to authenticate. For more information, see \reference{exposing}. -} +} \ No newline at end of file diff --git a/lit/docs/operation.lit b/lit/docs/operation.lit index a0ec65c8..8b02d83e 100644 --- a/lit/docs/operation.lit +++ b/lit/docs/operation.lit @@ -1,11 +1,11 @@ \title{Operation}{operation} -The following sections describes operator-focused features and tools that +The following sections describe operator-focused features and tools that Concourse provides, such as monitoring and credential management. -These concepts are not required to operate Concourse, but are for users that +These concepts are not required to operate Concourse, but are useful for users who are looking to extend the capabilities of managing a Concourse deployment. For -users that are new to these concepts, we do recommend learning how to set up +users who are new to these concepts, we recommend learning how to set up \reference{creds} and \reference{encryption}. \split-sections @@ -20,4 +20,4 @@ users that are new to these concepts, we do recommend learning how to set up \include-section{./operation/opa.lit} \include-section{./operation/performance-tuning.lit} \include-section{./operation/global-resources.lit} -\include-section{./operation/administration.lit} +\include-section{./operation/administration.lit} \ No newline at end of file diff --git a/lit/docs/pipelines.lit b/lit/docs/pipelines.lit index 7c2dd8b0..29afd588 100644 --- a/lit/docs/pipelines.lit +++ b/lit/docs/pipelines.lit @@ -5,8 +5,8 @@ A pipeline is the result of configuring \reference{jobs} and \reference{resources} together. When you configure a pipeline, it takes on a -life of its own, to continuously detect resource versions and automatically -queue new builds for jobs as they have new available inputs. +life of its own, continuously detecting resource versions and automatically +queuing new builds for jobs as they have new available inputs. Pipelines are configured via \reference{fly-set-pipeline} or the \reference{set-pipeline} as declarative \reference{intro-to-yaml}{YAML @@ -35,7 +35,7 @@ files} which conform to the following schema: A list of job groups to use for organizing jobs in the web UI. Groups have no functional effect on your pipeline. They are purely for - making it easier to grok large pipelines in the web UI. + making it easier to understand large pipelines in the web UI. Note: once you have added groups to your pipeline, all jobs must be in a group. @@ -59,7 +59,7 @@ files} which conform to the following schema: This would display two tabs at the top of the home page: "test" and "publish". - For a real world example of how groups can be used to simplify navigation + For a real-world example of how groups can be used to simplify navigation and provide logical grouping, see the groups used at the top of the page in the \link{Concourse pipeline}{https://ci.concourse-ci.org}. } @@ -72,8 +72,8 @@ files} which conform to the following schema: \optional-attribute{jobs}{[job.name]}{ A list of jobs that should appear in this group. A job may - appear in multiple groups. Neighbours of jobs in the current group will also - appear on the same page in order to give context of the location of the + appear in multiple groups. Neighbors of jobs in the current group will also + appear on the same page to provide context of the location of the group in the pipeline. You may also use any valid \link{glob}{https://www.man7.org/linux/man-pages/man7/glob.7.html} @@ -99,7 +99,7 @@ files} which conform to the following schema: \code{deploy-dev}, \code{deploy-staging}. The \code{ship} group will only match \code{deploy-prod}. The \code{all} group will match all jobs in the pipeline. - \warn{Note that depending on how it's used, \code{*}, \code{\{}, and + \warn{Note that depending on how they're used, \code{*}, \code{\{}, and \code{\}} have special meaning in YAML, and may need to be quoted (as was done in the \code{all} job above)} } @@ -168,8 +168,8 @@ files} which conform to the following schema: \example{Small Go Project}{ When it comes to real-world projects, task configs are usually stored - alongside the code that it's testing. This makes the pipeline a bit - smaller and makes the config able to change without needing to + alongside the code being tested. This makes the pipeline + more concise and allows the config to change without needing to reconfigure the pipeline. \codeblock{yaml}{{ @@ -231,7 +231,7 @@ files} which conform to the following schema: \reference{resource-types}{Resource Types} can be used to extend the functionality of your pipeline and provide deeper integrations. This example uses one to trigger a job whenever a new \link{Dinosaur - Comic}{http://www.qwantz.com} is out. + Comic}{http://www.qwantz.com} is published. \codeblock{yaml}{{{ --- @@ -255,4 +255,4 @@ files} which conform to the following schema: trigger: true }}} } -} +} \ No newline at end of file diff --git a/lit/docs/resource-types.lit b/lit/docs/resource-types.lit index 61f6fec4..7d7b00c3 100644 --- a/lit/docs/resource-types.lit +++ b/lit/docs/resource-types.lit @@ -7,9 +7,9 @@ what versions are detected, the bits that are fetched when the resource's \reference{get-step} runs, and the side effect that occurs when the resource's \reference{put-step} runs. -Concourse comes with a few "core" resource types to cover common use cases like +Concourse comes with several "core" resource types to cover common use cases like \code{git} and \code{s3} - the rest are developed and supported by the -Concourse community. An exhaustive list of all resource types is available in +Concourse community. A comprehensive list of all resource types is available in the \link{Resource Types catalog}{https://resource-types.concourse-ci.org}. A pipeline's resource types are listed under @@ -54,24 +54,24 @@ A pipeline's resource types are listed under containers will be run with full capabilities, as determined by the worker backend the task runs on. - For Linux-based backends it typically determines whether or not the + For Linux-based backends, it typically determines whether or not the container will run in a separate user namespace, and whether the \code{root} user is "actual" \code{root} (if set to \code{true}) or a user namespaced \code{root} (if set to \code{false}, the default). - This is a gaping security hole; only configure it if the resource type needs - it (which should be called out in its documentation). This is not up to the - resource type to decide dynamically, so as to prevent privilege escalation + This is a significant security risk; only configure it if the resource type needs + it (which should be noted in its documentation). This is not up to the + resource type to decide dynamically, to prevent privilege escalation via third-party resource type exploits. } \optional-attribute{params}{config}{ - Arbitrary config to pass when running the \code{get} to fetch the resource + Arbitrary configuration to pass when running the \code{get} to fetch the resource type's image. } \optional-attribute{check_every}{duration}{ - \italic{Default \code{1m}.} The interval on which to check for new versions + \italic{Default \code{1m}.} The interval at which to check for new versions of the resource type. Acceptable interval options are defined by the \link{time.ParseDuration function}{https://golang.org/pkg/time/#ParseDuration}. @@ -120,8 +120,8 @@ A pipeline's resource types are listed under } \example-toggle{Overriding default resource types}{ - Since it's possible to overwrite the base resource types, it can be - used to give defaults to resources at the pipeline level. + Since it's possible to overwrite the base resource types, this can be + used to provide defaults to resources at the pipeline level. \codeblock{yaml}{{{ resource_types: @@ -150,7 +150,7 @@ A pipeline's resource types are listed under \reference{resource-types}{Resource Types} can be used to extend the functionality of your pipeline and provide deeper integrations. This example uses one to trigger a job whenever a new \link{Dinosaur - Comic}{http://www.qwantz.com} is out. + Comic}{http://www.qwantz.com} is published. \codeblock{yaml}{{{ --- @@ -162,7 +162,7 @@ A pipeline's resource types are listed under tag: latest resources: - - name: booklit-releases + - name: dinosaur-comics type: rss source: url: http://www.qwantz.com/rssfeed.php @@ -170,7 +170,7 @@ A pipeline's resource types are listed under jobs: - name: announce plan: - - get: booklit-releases + - get: dinosaur-comics trigger: true }}} } diff --git a/lit/docs/resources.lit b/lit/docs/resources.lit index 22558d52..65b73196 100644 --- a/lit/docs/resources.lit +++ b/lit/docs/resources.lit @@ -3,13 +3,13 @@ \use-plugin{concourse-docs} \split-sections -Resources are the heart and soul of Concourse. They represent all external +Resources are the foundation of Concourse. They represent all external inputs to and outputs of \reference{jobs}{jobs} in the pipeline. Each resource represents a versioned artifact with an external source of truth. Configuring the same resource in any pipeline on any Concourse cluster will -behave the exact same way. Concourse will continuously \code{check} each -configured resource to discover new versions. These versions then flow through +function in an identical way. Concourse will continuously \code{check} each +configured resource to detect new versions. These versions then flow through the pipeline via \reference{get-step}s configured on \reference{jobs}. A pipeline's resources are listed under \reference{schema.pipeline.resources} @@ -28,7 +28,7 @@ with the following schema. \required-attribute{source}{config}{ The configuration for the resource. This varies by resource type, and is a black - box to Concourse; it is blindly passed to the resource at runtime. + box to Concourse; it is simply passed to the resource at runtime. To use \code{git} as an example, the source may contain the repo URI, the branch of the repo to track, and a private key to use when pushing/pulling. @@ -43,7 +43,7 @@ with the following schema. \optional-attribute{old_name}{identifier}{ The old name of the resource. If configured, the history of the old resource will be - inherited to the new one. Once the pipeline is set, this field can be + carried over to the new one. Once the pipeline is set, this field can be removed as the history has been transferred. \example-toggle{Renaming a resource}{ @@ -71,7 +71,7 @@ with the following schema. \optional-attribute{icon}{string}{ The name of a \link{Material Design icon}{https://materialdesignicons.com/} - to show next to the resource name in the web UI. For example, + to display next to the resource name in the web UI. For example, \code{github}. } @@ -113,7 +113,7 @@ with the following schema. \optional-attribute{tags}{[string]}{ \italic{Default \code{[]}.} A list of tags to determine which workers the - checks will be performed on. You'll want to specify this if the source is + checks will be performed on. This is useful if the source is internal to a worker's network, for example. \warn{ @@ -128,8 +128,8 @@ with the following schema. version of the resource will be viewable by unauthenticated users (assuming the pipeline has been \reference{exposing}{exposed}). - Resource metadata should never contain credentials or secret information, but - this is off by default just to be safe in case users don't want to show + Resource metadata should never contain credentials or private information, but + this is off by default just to be safe in case users don't want to reveal things like commit messages and authors to the public. Note: even when set to \code{false}, the versions identifiers will be @@ -139,11 +139,11 @@ with the following schema. \optional-attribute{webhook_token}{string}{ If specified, web hooks can be sent to trigger an immediate \italic{check} - of the resource, specifying this value as a primitive form of + of the resource, using this value as a simple form of authentication via query params. After configuring this value, you would then configure your hook sender with - the following painfully long path appended to your external URL: + the following path appended to your external URL: \code{{ /api/v1/teams/TEAM_NAME/pipelines/PIPELINE_NAME/resources/RESOURCE_NAME/check/webhook?webhook_token=WEBHOOK_TOKEN @@ -214,7 +214,7 @@ with the following schema. This could be passed to a job via a \reference{get-step} with \reference{schema.get.trigger}{\code{trigger: true}} to run the job - periodically: + regularly: \codeblock{yaml}{{{ resources: @@ -231,4 +231,4 @@ with the following schema. config: # ... }}} } -} +} \ No newline at end of file diff --git a/lit/docs/steps.lit b/lit/docs/steps.lit index b94c4702..ac50829c 100644 --- a/lit/docs/steps.lit +++ b/lit/docs/steps.lit @@ -66,7 +66,7 @@ by configuring \reference{schema.on_failure} or copy of the bits in their working directory. \example-toggle{Fetching a repo and passing it to a task}{ - Almost every simple job will look something like this: fetch my code + Almost every simple job will look something like this: fetch your code with a \reference{get-step} and do something (run tests) with it in a \reference{task-step}. @@ -201,7 +201,7 @@ by configuring \reference{schema.on_failure} or \code{lvl-2-integration}) will be passed to \code{lvl-3-production}. This is crucial to being able to implement safe "fan-in" semantics as - things progress through a pipeline. + resources progress through a pipeline. } } @@ -271,7 +271,7 @@ by configuring \reference{schema.on_failure} or \italic{Default \code{latest}.} The version of the resource to fetch. If set to \code{latest}, scheduling will just find the latest available - version of a resource and use it, allowing versions to be skipped. This is + version of a resource and use it, allowing versions to be skipped. This is usually what you want, e.g. if someone pushes 100 git commits. If set to \code{every}, builds will walk through all available versions of @@ -294,7 +294,7 @@ by configuring \reference{schema.on_failure} or \schema-group{\code{put} step}{put}{ \required-attribute{put}{resource.name | identifier}{ - When the step succeeds, the version by the step will be immediately + When the step succeeds, the version created by the step will be immediately fetched via an additional implicit \reference{get-step}. This is so that later steps in your plan can use the artifact that was produced. The artifact will be available under the identifier \code{put} @@ -370,7 +370,7 @@ by configuring \reference{schema.on_failure} or If configured as a list of identifiers, only the listed artifacts will be provided to the container. - If set to \code{detect}, the artifacts are detected based on the + If set to \code{detect}, the artifacts are determined based on the configured \reference{schema.put.params} by looking for all string values and using the first path segment as an identifier. (This may become the default in the future.) @@ -450,7 +450,7 @@ by configuring \reference{schema.on_failure} or by setting \code{get_params}. For example, if you did not want a \code{put} step utilizing the \link{ \code{registry-image} resource type}{https://github.com/concourse/registry-image-resource} to download the - image, you would implement your \code{put} step as such: + image, you would implement your \code{put} step as follows: \codeblock{yaml}{{{ plan: @@ -480,8 +480,8 @@ by configuring \reference{schema.on_failure} or \reference{put-step}s to access the result of a task. \required-attribute{task}{identifier}{ - The identifier value is just a name - short and sweet. The value is - shown in the web UI but otherwise has no affect on anything. This may + The identifier value is just a name - short and descriptive. The value is + shown in the web UI but otherwise has no effect on anything. This may change in the future; \link{RFC #32}{https://github.com/concourse/rfcs/pull/32} proposes that the name be used to reference a file within the project. @@ -546,7 +546,7 @@ by configuring \reference{schema.on_failure} or public: true plan: - task: simple-task - config: # contains all field in a task config + config: # contains all fields in a task config platform: linux image_resource: type: registry-image @@ -637,7 +637,7 @@ by configuring \reference{schema.on_failure} or with escalated capabilities available on the task's platform. \warn{ - Setting \code{privileged: true} is a gaping security hole; use wisely + Setting \code{privileged: true} is a significant security risk; use wisely and only if necessary. This is not part of the task configuration in order to prevent privilege escalation via pull requests changing the task file. @@ -806,7 +806,7 @@ by configuring \reference{schema.on_failure} or Total CPU shares declared: 4 }}} - If you introduce another container then the number of CPU time per + If you introduce another container then the allocation of CPU time per container changes. CPU shares are relative to each other. \codeblock{}{{{ Container A: 2 shares - 25% CPU @@ -961,7 +961,7 @@ by configuring \reference{schema.on_failure} or automatically archived in the following scenarios: \list{ When the job that previously set a pipeline runs a successful build - which did not configure the pipeline (i.e. the \code{set_pipeline} + which did not configure the pipeline (i.e. the \code{set_pipeline} step was removed for that specific pipeline). }{ When the job is removed from its pipeline configuration (see @@ -1100,7 +1100,7 @@ by configuring \reference{schema.on_failure} or }}} } \example-toggle{Configuring instance vars and vars}{ - Both \code{instance_vars} and \code{vars} may be statically. The + Both \code{instance_vars} and \code{vars} may be set statically. The difference between the two fields is that \code{instance_vars} are used to identify a pipeline and render the pipeline config. \code{vars} are only used for rendering the pipeline config: @@ -1131,7 +1131,7 @@ by configuring \reference{schema.on_failure} or \optional-attribute{vars}{vars}{ A map of template variables to pass to the pipeline config. Unlike \reference{schema.set-pipeline.instance_vars}{\code{instance_vars}}, - \code{vars} are solely used to for + \code{vars} are solely used for \reference{pipeline-static-vars}{interpolation}, and do not become a part of the pipeline's identifier. @@ -1202,7 +1202,7 @@ by configuring \reference{schema.on_failure} or The \code{team} attribute can be used to specify another team. Only the \reference{main-team} is allowed to set another team's - pipeline. Any team other than the \reference{main-team} using the + pipeline. Any team other than the \reference{main-team} using the \code{team} attribute will error, unless they reference their own team. \warn{ diff --git a/lit/docs/tasks.lit b/lit/docs/tasks.lit index 9b70e331..39d96444 100644 --- a/lit/docs/tasks.lit +++ b/lit/docs/tasks.lit @@ -3,23 +3,23 @@ \use-plugin{concourse-docs} The smallest configurable unit in a Concourse pipeline is a single task. A task -can be thought of as a function from \reference{schema.task-config.inputs} to +can be viewed as a function from \reference{schema.task-config.inputs} to \reference{schema.task-config.outputs} that can either succeed or fail. -Going a bit further, ideally tasks are \italic{pure} functions: given the same -set of inputs, it should either always succeed with the same outputs or always +More specifically, ideal tasks are \italic{pure} functions: given the same +set of inputs, they should either always succeed with the same outputs or always fail. This is entirely up to your script's level of discipline, however. Flaky -tests or dependencies on the internet are the most common source of impurity. +tests or dependencies on the internet are the most common sources of impurity. -Once you have a running Concourse deployment, you can start configuring your +Once you have a running Concourse deployment, you can begin configuring your tasks and executing them interactively from your terminal with the \reference{fly-cli}{Fly} commandline tool. -Once you've figured out your task's configuration, you can reuse it for a +After you've finalized your task's configuration, you can reuse it for a \reference{jobs}{Job} in your \reference{pipelines}{Pipeline}. -Conventionally a task's configuration is placed in the same repository as the -code it's testing, possibly under some \code{ci} directory. +Typically, a task's configuration is placed in the same repository as the +code it's testing, often under a \code{ci} directory. A task's configuration specifies the following: @@ -30,7 +30,7 @@ A task's configuration specifies the following: Technically any string value is allowed so long as a worker advertises the same platform, but in practice only \code{linux}, \code{darwin}, and - \code{windows} are in use. + \code{windows} are used. } \required-attribute{image_resource}{anonymous_resource}{ @@ -100,7 +100,7 @@ A task's configuration specifies the following: } \optional-attribute{inputs}{[input]}{ - The set of artifacts used by task, determining which artifacts will be + The set of artifacts used by the task, determining which artifacts will be available in the current directory when the task runs. These are satisfied by \reference{get-step}s or @@ -122,7 +122,7 @@ A task's configuration specifies the following: Paths are relative to the working directory of the task unless an absolute path is given. An absolute path is any path that starts with a forward slash \code{/}. We recommend only using relative paths unless - you have a strong technical reason to use absolute paths. + you have a compelling technical reason to use absolute paths. Any parent directory references (\code{../}) in the path will be removed. } @@ -158,7 +158,7 @@ A task's configuration specifies the following: Paths are relative to the working directory of the task unless an absolute path is given. An absolute path is any path that starts with a forward slash \code{/}. We recommend only using relative paths unless - you have a strong technical reason to use absolute paths. + you have a compelling technical reason to use absolute paths. Any parent directory references (\code{../}) in the path will be removed. } @@ -179,7 +179,7 @@ A task's configuration specifies the following: should be able to run whether or not the cache is warmed. Caches are also scoped to a particular task name inside of a pipeline's - job. As a consequence, if the job name, step name or cache path are + job. As a result, if the job name, step name or cache path are changed, the cache will not be used. This also means that caches do not exist for one-off builds. @@ -199,7 +199,7 @@ A task's configuration specifies the following: Pipelines can override these params by setting \reference{schema.task.params} on the \reference{task-step}. This is a common - method of providing credentials to a task. + approach for providing credentials to a task. } \required-attribute{run}{command}{ @@ -207,8 +207,8 @@ A task's configuration specifies the following: Note that this is \italic{not} provided as a script blob, but explicit \code{path} and \code{args} values; this allows \code{fly} to forward - arguments to the script, and forces your config \code{.yml} to stay fairly - small. + arguments to the script, and keeps your config \code{.yml} relatively + concise. \schema{command}{ \required-attribute{path}{file-path}{ @@ -274,7 +274,7 @@ A task's configuration specifies the following: Total CPU shares declared: 4 }}} - If you introduce another container then the number of CPU time per + If you introduce another container then the distribution of CPU time per container changes. CPU shares are relative to each other. \codeblock{}{{{ Container A: 2 shares - 25% CPU @@ -430,4 +430,4 @@ A task's configuration specifies the following: \table-of-contents \include-section{tasks/running.lit} -\include-section{tasks/environment.lit} +\include-section{tasks/environment.lit} \ No newline at end of file diff --git a/lit/docs/vars.lit b/lit/docs/vars.lit index 742198b1..862614d3 100644 --- a/lit/docs/vars.lit +++ b/lit/docs/vars.lit @@ -5,13 +5,13 @@ Concourse supports value substitution in YAML configuration by way of \code{((vars))}. -Automation entails the use of all kinds of credentials. It's important to keep +Automation involves the use of many types of credentials. It's important to keep these values separate from the rest of your configuration by using vars instead of hardcoding values. This allows your configuration to be placed -under source control and allows credentials to be tucked safely away into a +under source control and enables credentials to be stored safely in a secure credential manager like Vault instead of the Concourse database. -Aside from credentials, vars may also be used for generic parameterization of +Beyond credentials, vars may also be used for generic parameterization of pipeline configuration templates, allowing a single pipeline config file to be configured multiple times with different parameters - e.g. \code{((branch_name))}. @@ -37,7 +37,7 @@ configured multiple times with different parameters credential. The interpretation of this value depends on the var source type. For example, with Vault this may be a path like \code{path/to/cred}. For the Kubernetes secret manager this may just be the name of a secret. - For credential managers which support path-based lookup, a + For credential managers that support path-based lookup, a \italic{secret-path} without a leading / may be queried relative to a predefined set of path prefixes. This is how the Vault credential manager currently works; \code{foo} will be queried under \code{/concourse/(team @@ -47,8 +47,8 @@ configured multiple times with different parameters read. If omitted, the credential manager may choose to read a 'default field' from the fetched credential if the field exists. For example, the Vault credential manager will return the value of the \code{value} field if - present. This is useful for simple single-value credentials where typing - \code{((foo.value))} would feel verbose. + present. This is helpful for simple single-value credentials where typing + \code{((foo.value))} would feel redundant. The \italic{secret-path} and \italic{secret-field} may be surrounded by double quotes \code{"..."} if they contain special characters like \code{.} @@ -75,10 +75,10 @@ configured multiple times with different parameters \code{foo: ((bar))}, whatever value \code{((bar))} resolves to will become the value of the \code{foo} field in the object. This can be a value of any type and structure: a boolean, a simple string, a multiline credential like a - certificate, or a complicated data structure like an array of objects. + certificate, or a complex data structure like an array of objects. This differs from text-based substitution in that it's impossible for a value - to result in broken YAML syntax, and it relieves the template author from + to result in broken YAML syntax, and it frees the template author from having to worry about things like whitespace alignment. When a \code{((var))} appears adjacent to additional string content, e.g. diff --git a/lit/index.lit b/lit/index.lit index 7cdbae7c..c4de3f80 100644 --- a/lit/index.lit +++ b/lit/index.lit @@ -4,7 +4,7 @@ \styled{index} \splash-intro{ - \inline-header{Concourse is an open-source continuous automation platform.} + \inline-header{Concourse is an open-source continuous automation system written in Go.} Centered around the simple mechanics of \reference{resources}{resources}, \reference{tasks}{tasks}, and \reference{jobs}{jobs}, Concourse delivers a