From ca597adc690e6da3fe6273067d46521630541a8b Mon Sep 17 00:00:00 2001 From: ecrupper Date: Mon, 26 Aug 2024 14:15:48 +0000 Subject: [PATCH] deploy: 6398280207948ccc10c39870b417c42aafa76904 --- plugins/index.xml | 77 +++++++++++++++++--- plugins/registry/pipeline/ansible/index.html | 4 +- plugins/registry/pipeline/index.xml | 25 ++++++- plugins/registry/pipeline/kaniko/index.html | 4 +- plugins/registry/secret/index.xml | 52 +++++++++++-- plugins/registry/secret/vault/index.html | 30 ++++++-- reference/index.xml | 3 +- reference/yaml/index.xml | 3 +- reference/yaml/templates/index.html | 9 ++- search/index.json | 2 +- sitemap.xml | 2 +- 11 files changed, 176 insertions(+), 35 deletions(-) diff --git a/plugins/index.xml b/plugins/index.xml index fd56e8af1..c073fff02 100644 --- a/plugins/index.xml +++ b/plugins/index.xml @@ -19,8 +19,8 @@ More information for ansible-playbook can be found at: <a href="https://ansib </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">action</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">lint</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">playbook</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;abox/main.yml&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">lint_skip</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> -</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#0000cf;font-weight:bold">403</span><span style="color:#f8f8f8;text-decoration:underline"> -</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#0000cf;font-weight:bold">201</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#204a87;font-weight:bold">no</span>-<span style="color:#000">changed-when</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#000">key-order</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">ansible-playbook</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">image</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">target/vela-ansible:latest</span><span style="color:#f8f8f8;text-decoration:underline"> @@ -4150,6 +4150,13 @@ This has the added benefit of enabling others in the community to consume your p <td><code>PARAMETER_COMPRESSION_LEVEL</code><br><code>KANIKO_COMPRESSION_LEVEL</code></td> </tr> <tr> +<td><code>compressed_caching</code></td> +<td>set this to false in order to prevent tar compression for cached layers</td> +<td><code>false</code></td> +<td><code>true</code></td> +<td><code>PARAMETER_COMPRESSED_CACHING</code><br><code>KANIKO_COMPRESSED_CACHING</code></td> +</tr> +<tr> <td><code>context</code></td> <td>path to context for building the image</td> <td><code>true</code></td> @@ -4192,6 +4199,13 @@ This has the added benefit of enabling others in the community to consume your p <td><code>PARAMETER_REPO_TOPICS_FILTER</code><br><code>KANIKO_REPO_TOPICS_FILTER</code></td> </tr> <tr> +<td><code>ignore_path</code></td> +<td>ignore path when taking an image snapshot</td> +<td><code>false</code></td> +<td><code>empty slice</code></td> +<td><code>PARAMETER_IGNORE_PATH</code><br><code>KANIKO_IGNORE_PATH</code></td> +</tr> +<tr> <td><code>ignore_var_run</code></td> <td>sets <code>--ignore-var-run</code> kaniko flag to control whether /var/run is included in image snapshot</td> <td><code>false</code></td> @@ -4213,6 +4227,13 @@ This has the added benefit of enabling others in the community to consume your p <td><code>PARAMETER_LOG_LEVEL</code><br><code>KANIKO_LOG_LEVEL</code></td> </tr> <tr> +<td><code>log_timestamps</code></td> +<td>add timestamps to log lines</td> +<td><code>false</code></td> +<td><code>false</code></td> +<td><code>PARAMETER_LOG_TIMESTAMPS</code><br><code>KANIKO_LOG_TIMESTAMPS</code></td> +</tr> +<tr> <td><code>mirror</code></td> <td>name of the mirror registry to use</td> <td><code>false</code></td> @@ -7260,7 +7281,7 @@ This has the added benefit of enabling others in the community to consume your p <p>Source Code: <a href="https://github.com/go-vela/secret-vault">https://github.com/go-vela/secret-vault</a></p> <p>Registry: <a href="https://hub.docker.com/r/target/secret-vault">https://hub.docker.com/r/target/secret-vault</a></p> <h2 id="usage">Usage</h2> -<p>Sample of writing a secret using token authentication:</p> +<p>Sample of retrieving a secret using token authentication:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">secrets</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#204a87;font-weight:bold">origin</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">vault</span><span style="color:#f8f8f8;text-decoration:underline"> @@ -7273,7 +7294,7 @@ This has the added benefit of enabling others in the community to consume your p </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># Written to path: &#34;/vela/secrets/docker/&lt;key&gt;&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#204a87;font-weight:bold">source</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">secret/vela/username</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">path</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">docker</span><span style="color:#f8f8f8;text-decoration:underline"> -</span></span></span></code></pre></div><p>Sample of reading a secret using ldap authentication:</p> +</span></span></span></code></pre></div><p>Sample of retrieving a secret using ldap authentication:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-diff" data-lang="diff"><span style="display:flex;"><span>secrets: </span></span><span style="display:flex;"><span> - origin: </span></span><span style="display:flex;"><span> name: vault @@ -7304,7 +7325,28 @@ This has the added benefit of enabling others in the community to consume your p </span></span><span style="display:flex;"><span> # Written to path: &#34;/vela/secrets/docker/&lt;key&gt;&#34; </span></span><span style="display:flex;"><span> - source: secret/vela/username </span></span><span style="display:flex;"><span> path: docker -</span></span></code></pre></div><h2 id="secrets">Secrets</h2> +</span></span></code></pre></div><p>Sample of retrieving a secret and writing it to multiple paths with a new key:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">secrets</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#204a87;font-weight:bold">origin</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">vault</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">image</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">target/vela/secret-vault:latest</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">secrets</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#204a87;font-weight:bold">source</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">superSecretToken</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">target</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">vault_token</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">parameters</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">addr</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">vault.company.com</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">auth_method</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">token</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">items</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># assume user_A has two keys: `id` and `token`, but we want it to be `username` and `password`</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">#</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># this will write to `/vela/secrets/kaniko/username` and `/vela/secrets/kaniko/password`</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># and also `/vela/secrets/artifactory/username` and `/vela/secrets/artifactory/password`</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#204a87;font-weight:bold">source</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">secret/vela/user_A</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">path</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">kaniko, artifactory ]</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">keys</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">id</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">username</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">token</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">password</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span></code></pre></div><h2 id="secrets">Secrets</h2> <p><strong>NOTE: Users should refrain from configuring sensitive information in your pipeline in plain text.</strong></p> <p><strong>NOTE: Secrets used within the secret plugin must exist as Vela secrets.</strong></p> <p>You can use Vela secrets to substitute sensitive values at runtime:</p> @@ -7373,10 +7415,15 @@ This has the added benefit of enabling others in the community to consume your p <td><code>false</code></td> <td><code>N/A</code></td> </tr> +<tr> +<td><code>items</code></td> +<td>set of secrets to retrieve and write to workspace</td> +<td><code>true</code></td> +<td><code>N/A</code></td> +</tr> </tbody> </table> -<h4 id="read">Read</h4> -<p>The following parameters are used to configure reading:</p> +<h3 id="items">Items</h3> <table> <thead> <tr> @@ -7388,10 +7435,22 @@ This has the added benefit of enabling others in the community to consume your p </thead> <tbody> <tr> -<td><code>items</code></td> -<td>enables pretending to perform the apply</td> +<td><code>source</code></td> +<td>path to secret</td> <td><code>true</code></td> +<td><code>N/A</code></td> +</tr> +<tr> +<td><code>path</code></td> +<td>desired file path under <code>vela/secrets/</code> directory</td> +<td><code>true</code></td> +<td><code>N/A</code></td> +</tr> +<tr> +<td><code>keys</code></td> +<td>override Vault keys (map type)</td> <td><code>false</code></td> +<td><code>vault key</code></td> </tr> </tbody> </table> diff --git a/plugins/registry/pipeline/ansible/index.html b/plugins/registry/pipeline/ansible/index.html index db493cc3c..369aa1861 100644 --- a/plugins/registry/pipeline/ansible/index.html +++ b/plugins/registry/pipeline/ansible/index.html @@ -55,8 +55,8 @@ action: lint playbook: "abox/main.yml" lint_skip: - - 403 - - 201 + - no-changed-when + - key-order - name: ansible-playbook image: target/vela-ansible:latest diff --git a/plugins/registry/pipeline/index.xml b/plugins/registry/pipeline/index.xml index bfd9390d6..769cb843a 100644 --- a/plugins/registry/pipeline/index.xml +++ b/plugins/registry/pipeline/index.xml @@ -19,8 +19,8 @@ More information for ansible-playbook can be found at: <a href="https://ansib </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">action</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">lint</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">playbook</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#4e9a06">&#34;abox/main.yml&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">lint_skip</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> -</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#0000cf;font-weight:bold">403</span><span style="color:#f8f8f8;text-decoration:underline"> -</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#0000cf;font-weight:bold">201</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#204a87;font-weight:bold">no</span>-<span style="color:#000">changed-when</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#000">key-order</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">ansible-playbook</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">image</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">target/vela-ansible:latest</span><span style="color:#f8f8f8;text-decoration:underline"> @@ -3966,6 +3966,13 @@ Context-Type options are as follow:</p> <td><code>PARAMETER_COMPRESSION_LEVEL</code><br><code>KANIKO_COMPRESSION_LEVEL</code></td> </tr> <tr> +<td><code>compressed_caching</code></td> +<td>set this to false in order to prevent tar compression for cached layers</td> +<td><code>false</code></td> +<td><code>true</code></td> +<td><code>PARAMETER_COMPRESSED_CACHING</code><br><code>KANIKO_COMPRESSED_CACHING</code></td> +</tr> +<tr> <td><code>context</code></td> <td>path to context for building the image</td> <td><code>true</code></td> @@ -4008,6 +4015,13 @@ Context-Type options are as follow:</p> <td><code>PARAMETER_REPO_TOPICS_FILTER</code><br><code>KANIKO_REPO_TOPICS_FILTER</code></td> </tr> <tr> +<td><code>ignore_path</code></td> +<td>ignore path when taking an image snapshot</td> +<td><code>false</code></td> +<td><code>empty slice</code></td> +<td><code>PARAMETER_IGNORE_PATH</code><br><code>KANIKO_IGNORE_PATH</code></td> +</tr> +<tr> <td><code>ignore_var_run</code></td> <td>sets <code>--ignore-var-run</code> kaniko flag to control whether /var/run is included in image snapshot</td> <td><code>false</code></td> @@ -4029,6 +4043,13 @@ Context-Type options are as follow:</p> <td><code>PARAMETER_LOG_LEVEL</code><br><code>KANIKO_LOG_LEVEL</code></td> </tr> <tr> +<td><code>log_timestamps</code></td> +<td>add timestamps to log lines</td> +<td><code>false</code></td> +<td><code>false</code></td> +<td><code>PARAMETER_LOG_TIMESTAMPS</code><br><code>KANIKO_LOG_TIMESTAMPS</code></td> +</tr> +<tr> <td><code>mirror</code></td> <td>name of the mirror registry to use</td> <td><code>false</code></td> diff --git a/plugins/registry/pipeline/kaniko/index.html b/plugins/registry/pipeline/kaniko/index.html index a0b5097e6..fd7ae87cd 100644 --- a/plugins/registry/pipeline/kaniko/index.html +++ b/plugins/registry/pipeline/kaniko/index.html @@ -12,7 +12,7 @@ Users should refrain from using latest as the tag for the Docker image. It is recommended to use a semantically versioned tag instead. Sample of building and publishing an image: -steps: - name: publish_hello-world image: target/vela-kaniko:latest pull: always parameters: registry: index.docker.io repo: index.docker.io/octocat/hello-world Sample of building an image without publishing:">https://github.com/go-vela/secret-vault</a></p> <p>Registry: <a href="https://hub.docker.com/r/target/secret-vault">https://hub.docker.com/r/target/secret-vault</a></p> <h2 id="usage">Usage</h2> -<p>Sample of writing a secret using token authentication:</p> +<p>Sample of retrieving a secret using token authentication:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">secrets</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#204a87;font-weight:bold">origin</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">vault</span><span style="color:#f8f8f8;text-decoration:underline"> @@ -17,7 +17,7 @@ </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># Written to path: &#34;/vela/secrets/docker/&lt;key&gt;&#34;</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#204a87;font-weight:bold">source</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">secret/vela/username</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">path</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">docker</span><span style="color:#f8f8f8;text-decoration:underline"> -</span></span></span></code></pre></div><p>Sample of reading a secret using ldap authentication:</p> +</span></span></span></code></pre></div><p>Sample of retrieving a secret using ldap authentication:</p> <div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-diff" data-lang="diff"><span style="display:flex;"><span>secrets: </span></span><span style="display:flex;"><span> - origin: </span></span><span style="display:flex;"><span> name: vault @@ -48,7 +48,28 @@ </span></span><span style="display:flex;"><span> # Written to path: &#34;/vela/secrets/docker/&lt;key&gt;&#34; </span></span><span style="display:flex;"><span> - source: secret/vela/username </span></span><span style="display:flex;"><span> path: docker -</span></span></code></pre></div><h2 id="secrets">Secrets</h2> +</span></span></code></pre></div><p>Sample of retrieving a secret and writing it to multiple paths with a new key:</p> +<div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">secrets</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#204a87;font-weight:bold">origin</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">name</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">vault</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">image</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">target/vela/secret-vault:latest</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">secrets</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#204a87;font-weight:bold">source</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">superSecretToken</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">target</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">vault_token</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">parameters</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">addr</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">vault.company.com</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">auth_method</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">token</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">items</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># assume user_A has two keys: `id` and `token`, but we want it to be `username` and `password`</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic">#</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># this will write to `/vela/secrets/kaniko/username` and `/vela/secrets/kaniko/password`</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># and also `/vela/secrets/artifactory/username` and `/vela/secrets/artifactory/password`</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span>- <span style="color:#204a87;font-weight:bold">source</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">secret/vela/user_A</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">path</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000;font-weight:bold">[</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">kaniko, artifactory ]</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">keys</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">id</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">username</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">token</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">password</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span></code></pre></div><h2 id="secrets">Secrets</h2> <p><strong>NOTE: Users should refrain from configuring sensitive information in your pipeline in plain text.</strong></p> <p><strong>NOTE: Secrets used within the secret plugin must exist as Vela secrets.</strong></p> <p>You can use Vela secrets to substitute sensitive values at runtime:</p> @@ -117,10 +138,15 @@ <td><code>false</code></td> <td><code>N/A</code></td> </tr> +<tr> +<td><code>items</code></td> +<td>set of secrets to retrieve and write to workspace</td> +<td><code>true</code></td> +<td><code>N/A</code></td> +</tr> </tbody> </table> -<h4 id="read">Read</h4> -<p>The following parameters are used to configure reading:</p> +<h3 id="items">Items</h3> <table> <thead> <tr> @@ -132,10 +158,22 @@ </thead> <tbody> <tr> -<td><code>items</code></td> -<td>enables pretending to perform the apply</td> +<td><code>source</code></td> +<td>path to secret</td> +<td><code>true</code></td> +<td><code>N/A</code></td> +</tr> +<tr> +<td><code>path</code></td> +<td>desired file path under <code>vela/secrets/</code> directory</td> <td><code>true</code></td> +<td><code>N/A</code></td> +</tr> +<tr> +<td><code>keys</code></td> +<td>override Vault keys (map type)</td> <td><code>false</code></td> +<td><code>vault key</code></td> </tr> </tbody> </table> diff --git a/plugins/registry/secret/vault/index.html b/plugins/registry/secret/vault/index.html index c4fde2d9f..424e866ec 100644 --- a/plugins/registry/secret/vault/index.html +++ b/plugins/registry/secret/vault/index.html @@ -1,6 +1,6 @@ Vault | VelaVault | Vela

Vault

Learn about the Vault secret plugin.

Description

This plugin enables the ability pull secrets from Vault into the secret mount within a Vela pipeline.

Source Code: https://github.com/go-vela/secret-vault

Registry: https://hub.docker.com/r/target/secret-vault

Usage

Sample of writing a secret using token authentication:

Vault

Learn about the Vault secret plugin.

Description

This plugin enables the ability pull secrets from Vault into the secret mount within a Vela pipeline.

Source Code: https://github.com/go-vela/secret-vault

Registry: https://hub.docker.com/r/target/secret-vault

Usage

Sample of retrieving a secret using token authentication:

secrets:
   - origin:
       name: vault
       image: target/vela/secret-vault:latest
@@ -42,7 +42,7 @@
           # Written to path: "/vela/secrets/docker/<key>"
           - source: secret/vela/username
             path: docker
-

Sample of reading a secret using ldap authentication:

secrets:
+

Sample of retrieving a secret using ldap authentication:

secrets:
   - origin:
       name: vault
       image: target/vela/secret-vault:latest
@@ -71,7 +71,27 @@
           # Written to path: "/vela/secrets/docker/<key>"
           - source: secret/vela/username
             path: docker
-

Secrets

NOTE: Users should refrain from configuring sensitive information in your pipeline in plain text.

NOTE: Secrets used within the secret plugin must exist as Vela secrets.

You can use Vela secrets to substitute sensitive values at runtime:

secrets:
+

Sample of retrieving a secret and writing it to multiple paths with a new key:

secrets:
+  - origin:
+      name: vault
+      image: target/vela/secret-vault:latest
+      secrets:
+        - source: superSecretToken
+          target: vault_token
+      parameters:
+        addr: vault.company.com
+        auth_method: token
+        items:
+          # assume user_A has two keys: `id` and `token`, but we want it to be `username` and `password`
+          #
+          # this will write to `/vela/secrets/kaniko/username` and `/vela/secrets/kaniko/password`
+          # and also `/vela/secrets/artifactory/username` and `/vela/secrets/artifactory/password`
+          - source: secret/vela/user_A
+            path: [ kaniko, artifactory ]
+            keys:
+              id: username
+              token: password
+

Secrets

NOTE: Users should refrain from configuring sensitive information in your pipeline in plain text.

NOTE: Secrets used within the secret plugin must exist as Vela secrets.

You can use Vela secrets to substitute sensitive values at runtime:

secrets:
   # Repo secret created within Vela
   - name: vault_token
   
@@ -88,7 +108,7 @@
           # Written to path: "/vela/secrets/docker/<key>"
           - source: secret/vela/username
             path: docker
-

Parameters

The following parameters are used to configure the image:

NameDescriptionRequiredDefault
addraddress to the instancetrueN/A
auth_methodauthentication method for interfacing (i.e. token, ldap)trueN/A
log_levelset the log level for the plugintrueinfo
passwordpassword for server authentication with ldapfalseN/A
tokentoken for server authenticationfalseN/A
usernameset the log level for the pluginfalseN/A

Read

The following parameters are used to configure reading:

NameDescriptionRequiredDefault
itemsenables pretending to perform the applytruefalse

Template

COMING SOON!

Troubleshooting

Below are a list of common problems and how to solve them:

© 2024 Target Brands All Rights Reserved +

Parameters

The following parameters are used to configure the image:

NameDescriptionRequiredDefault
addraddress to the instancetrueN/A
auth_methodauthentication method for interfacing (i.e. token, ldap)trueN/A
log_levelset the log level for the plugintrueinfo
passwordpassword for server authentication with ldapfalseN/A
tokentoken for server authenticationfalseN/A
usernameset the log level for the pluginfalseN/A
itemsset of secrets to retrieve and write to workspacetrueN/A

Items

NameDescriptionRequiredDefault
sourcepath to secrettrueN/A
pathdesired file path under vela/secrets/ directorytrueN/A
keysoverride Vault keys (map type)falsevault key

Template

COMING SOON!

Troubleshooting

Below are a list of common problems and how to solve them:

\ No newline at end of file diff --git a/reference/index.xml b/reference/index.xml index 2b87c215b..20948bd63 100644 --- a/reference/index.xml +++ b/reference/index.xml @@ -254,7 +254,8 @@ To learn how to write templates, see the <a href="https://go-vela.github.io/d </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># Indicates a path to a template in remote system. This path</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># should always be the raw path within a repository. By default </span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># the template is pulled from the default branch on the repository.</span><span style="color:#f8f8f8;text-decoration:underline"> -</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># It can be overwritten by adding a suffix of &#34;@&lt;branch&gt;&#34;.</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># It can be overwritten by adding a suffix of `@branch`, `@tag`, or</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># `@commit`.</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">source</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">github.com/go-vela/templates/example.yml@testbranch</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">templates</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># As an alternative, if the template is within the same repository,</span><span style="color:#f8f8f8;text-decoration:underline"> diff --git a/reference/yaml/index.xml b/reference/yaml/index.xml index 2a6ef9025..fd5a67ea8 100644 --- a/reference/yaml/index.xml +++ b/reference/yaml/index.xml @@ -254,7 +254,8 @@ To learn how to write templates, see the <a href="https://go-vela.github.io/d </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># Indicates a path to a template in remote system. This path</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># should always be the raw path within a repository. By default </span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># the template is pulled from the default branch on the repository.</span><span style="color:#f8f8f8;text-decoration:underline"> -</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># It can be overwritten by adding a suffix of &#34;@&lt;branch&gt;&#34;.</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># It can be overwritten by adding a suffix of `@branch`, `@tag`, or</span><span style="color:#f8f8f8;text-decoration:underline"> +</span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># `@commit`.</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#204a87;font-weight:bold">source</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#000">github.com/go-vela/templates/example.yml@testbranch</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span></code></pre></div><div class="highlight"><pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-yaml" data-lang="yaml"><span style="display:flex;"><span><span style="color:#204a87;font-weight:bold">templates</span><span style="color:#000;font-weight:bold">:</span><span style="color:#f8f8f8;text-decoration:underline"> </span></span></span><span style="display:flex;"><span><span style="color:#f8f8f8;text-decoration:underline"> </span><span style="color:#8f5902;font-style:italic"># As an alternative, if the template is within the same repository,</span><span style="color:#f8f8f8;text-decoration:underline"> diff --git a/reference/yaml/templates/index.html b/reference/yaml/templates/index.html index 10b367af0..f9f6042d4 100644 --- a/reference/yaml/templates/index.html +++ b/reference/yaml/templates/index.html @@ -1,6 +1,6 @@ Templates | VelaTemplates | Vela
@@ -137,7 +137,8 @@ # Indicates a path to a template in remote system. This path # should always be the raw path within a repository. By default # the template is pulled from the default branch on the repository. - # It can be overwritten by adding a suffix of "@<branch>". + # It can be overwritten by adding a suffix of `@branch`, `@tag`, or + # `@commit`. source: github.com/go-vela/templates/example.yml@testbranch
templates:
     # As an alternative, if the template is within the same repository,
@@ -157,7 +158,7 @@
     # Indicates the language used within the template file. By default
     # the template will be "go" but accepts the following values: go, golang, starlark
     format: starlark
-
\ No newline at end of file diff --git a/search/index.json b/search/index.json index ae0d470d3..86f0a6421 100644 --- a/search/index.json +++ b/search/index.json @@ -1 +1 @@ -{"results":[{"url":"https://go-vela.github.io/docs/reference/yaml/environment/","display":"Reference/Yaml/Environment","title":"Environment","content":"the environment key intended to be used inject global configuration into steps, services secret containers. control of which container types get injected settings available via metadata block. --- document displaying using with map syntax. additionally, you can also use array syntax where items they are pattern hello="hello, vela!" environment: hello: "hello, "},{"url":"https://go-vela.github.io/docs/usage/examples/secrets_external/","display":"Usage/Examples/Secrets external","title":"External Secrets","content":"example yaml configuration for project requiring secrets to be used within step scenario user looking create pipeline that can integrate with private vault inject not pushing docker image registry. note: it assumed you have created secret vault_token the web interface cli. examples show using repository secrets. vela contains three types: repository, organization, shared. on organization shared, please see concepts documentation. steps following are being below: pull parameters plugins must stored base of as .vela.yml .vela.yaml recommended pin image: versions production pipelines version: "1" steps: name: publish hello world target/vela-docker:latest pull: always parameters: registry: index.docker.io repo: index.docker.io/vela/hello-world secrets: note here how uses an internal origin below get additional from external service. key: go-vela/vault_token engine: native type: org origin: target/secret-vault:latest addr: vault.example.com auth_method: token username: octocat items: source: secret/docker path: stages worker: runtime: stages: docker: docker_username, docker_password "},{"url":"https://go-vela.github.io/docs/usage/examples/go_modules/","display":"Usage/Examples/Go modules","title":"Go (With Modules)","content":"example yaml configuration for project building go binary with modules. scenario user looking to create pipeline that builds an artifact on any event branch pushed source control. steps the following concepts are being used below: image environment pull commands note: must be stored base of repository as .vela.yml .vela.yaml it recommended pin image: versions production pipelines version: "1" steps: name: install golang:latest pull: always environment: cgo_enabled: '0' goos: linux commands: get ./... test build stages needs stages: install: test: needs: build: "},{"url":"https://go-vela.github.io/docs/usage/examples/secrets_internal/","display":"Usage/Examples/Secrets internal","title":"Internal Secrets","content":"example yaml configuration for project requiring secrets to be used within step scenario user looking create pipeline that can inject not placed into file. simple would producing docker image with username password. note: it assumed you have created docker_username docker_password the web interface cli. warning: internal do pull_request event enabled by default. intentional help mitigate exposure via pull request against repo. override behavior, at your own risk, each secret. examples show using repo secrets. vela contains three secret types: repo, org, shared. please see concepts documentation. steps following are being below: parameters plugins must stored base of repository as .vela.yml .vela.yaml recommended pin image: versions production pipelines version: "1" steps: name: publish hello world target/vela-docker:latest pull: always secrets: docker_username, parameters: registry: index.docker.io repo: index.docker.io/vela/hello-world key: vela/hello-world/docker_username engine: native type: vela/hello-world/docker_password stages stages: docker: "},{"url":"https://go-vela.github.io/docs/usage/examples/mongo/","display":"Usage/Examples/Mongo","title":"Mongo","content":"example yaml configuration for project requiring mongo as pipeline dependency. scenario user looking to create that can integrate with an ephemeral instance. services block be used stages steps pipelines. uses basic configuration. the following concepts are being below: image pull commands note: must stored base of repository .vela.yml .vela.yaml it recommended pin image: versions production pipelines version: "1" services: name: mongo:latest pull: always steps: check status commands: sleeping help ensure service adequate time start sleep 15 /bin/mongosh --host --eval 'db.runcommand("ping")' detach if you’re more granular container you add flag within detach: true "},{"url":"https://go-vela.github.io/docs/usage/examples/postgres/","display":"Usage/Examples/Postgres","title":"Postgres","content":"example yaml configuration for project requiring postgres as pipeline dependency. scenario user looking to create that can integrate with an ephemeral instance. services block be used stages steps pipelines. uses basic configuration. the following concepts are being below: image pull commands note: must stored base of repository .vela.yml .vela.yaml it recommended pin image: versions production pipelines version: "1" services: name: postgres:latest pull: always environment: postgres_user: admin postgres_password: password postgres_db: vela steps: check status pgpassword=password commands: sleeping help ensure service adequate time start sleep 15 psql -u -d -h -p 5432 detach if you’re more granular container you add flag within detach: true "},{"url":"https://go-vela.github.io/docs/usage/examples/redis/","display":"Usage/Examples/Redis","title":"Redis","content":"example yaml configuration for project requiring redis as pipeline dependency. scenario user looking to create that can integrate with an ephemeral instance. services block be used stages steps pipelines. uses basic configuration. the following concepts are being below: image pull commands note: must stored base of repository .vela.yml .vela.yaml it recommended pin image: versions production pipelines version: "1" services: name: redis:latest pull: always steps: check status commands: sleeping help ensure service adequate time start sleep 15 redis-cli -h ping detach if you’re more granular container you add flag within detach: true "},{"url":"https://go-vela.github.io/docs/usage/examples/route/","display":"Usage/Examples/Route","title":"Route","content":"example yaml configuration for project requiring specific runtime platform. scenario user looking to create pipeline that can only run within docker runtime. note: work with your server administer understand what routes are available installation steps the following concepts being used below: worker platform image pull commands must be stored base of repository as .vela.yml .vela.yaml it recommended pin image: versions production pipelines version: "1" worker: platform: steps: name: view name alpine:latest pull: always commands: echo "hello ${build_host} worker!!" stages environment stages: docker: "},{"url":"https://go-vela.github.io/docs/usage/examples/rust_cargo/","display":"Usage/Examples/Rust cargo","title":"Rust (With Cargo)","content":"example yaml configuration for project building rust binary with cargo. scenario user looking to create pipeline that builds an artifact on any event branch pushed source control. steps the following concepts are being used below: image pull commands note: must be stored base of repository as .vela.yml .vela.yaml it recommended pin image: versions production pipelines version: "1" steps: name: fetch rust:latest pull: always commands: cargo --verbose --all test environment: cgo_enabled: '0' goos: linux build stages needs stages: fetch: test: needs: build: "},{"url":"https://go-vela.github.io/docs/installation/server/reference/settings/","display":"Server/Reference/Settings","title":"Settings","content":"platform administrators can update certain properties during runtime to change how the behaves real time. following are available be updated: vela_repo_allowlist vela_schedule_allowlist vela_max_template_depth vela_compiler_starlark_exec_limit vela_clone_image configuration options used configure component: name description required default environment variables settings-refresh-interval interval at which server syncs with database true 5s vela_platform_settings_refresh_interval, vela_settings_refresh_interval note: for more information on consumed, please see reference. permissions functionality only exists administrators. usage initializing will ensure shared settings first initialized using provided environment. configured, subsequent startups, controlled by component retrieved from database. if record deleted then fail. next startup re-initialize values synchronization keep its own sync according set viewing updating view via user interface, log into your vela instance click site admin link top right corner navigate https://vela-server.example.com/admin/settings. check cli docs instructions modifying command line. updated propagate all instances depending startup. restoring delete /api/v1/admin/settings api endpoint restore original environment-provided configurations. acting as way admins undo any current modifications without restarting "},{"url":"https://go-vela.github.io/docs/tour/step/","display":"Docs/Tour/Step","title":"Step","content":"step declaration allows you to provide execution instructions for pipeline. the following displaying an example of minimal configuration executing simple echo linux command. name: key unique identifier throughout lifecycle execution. when commands: are provided they converted shell script executed as docker entrypoint container. step, commands inside container entrypoint. if any command returns non-zero exit code, fails exits. welcome image: alpine "welcome vela docs" #!/bin/sh set -e run --entrypoint=build.sh alpine:latest references: name:, image:, commands:, "},{"url":"https://go-vela.github.io/docs/reference/yaml/version/","display":"Reference/Yaml/Version","title":"Version","content":"the version key intended to be used order issue warnings for deprecated features breaking changes within yaml document. --- document displaying using file. version: "1" "},{"url":"https://go-vela.github.io/docs/tour/image/","display":"Docs/Tour/Image","title":"Image","content":"all vela steps will require an image declaration to be provided. the image: key component that defines docker you want executed during step. default behavior for worker pull if it not present on host. daemon’s cache layers locally, by allowing use can get advantage of faster build start up times. sometimes isn’t desired always pulled at specific point pipeline lifecycle. that’s when pull: set policy how/when interaction should treated. expand your knowledge with example! below syntaxes would image. alpine alpine:latest alpine:3 library/alpine:3 index.docker.io/library/alpine index.docker.io/library/alpine:3 telling beginning always. name: commands: echo "welcome docs" just before executing step on_start references: name:, image:, pull:, commands:, "},{"url":"https://go-vela.github.io/docs/usage/examples/java_gradle/","display":"Usage/Examples/Java gradle","title":"Java (With Gradle)","content":"example yaml configuration for project building java application with gradle. scenario user looking to create pipeline that builds an artifact on any event branch pushed source control. steps the following concepts are being used below: image environment pull commands note: must be stored base of repository as .vela.yml .vela.yaml it recommended pin image: versions production pipelines version: "1" steps: name: install gradle:latest pull: always environment: gradle_user_home: .gradle gradle_opts: -dorg.gradle.daemon=false -dorg.gradle.workers.max=1 -dorg.gradle.parallel=false commands: gradle downloaddependencies test build stages needs stages: install: test: needs: build: "},{"url":"https://go-vela.github.io/docs/usage/examples/java_maven/","display":"Usage/Examples/Java maven","title":"Java (With Maven)","content":"example yaml configuration for project building java application with maven. scenario user looking to create pipeline that builds an artifact on any event branch pushed source control. steps the following concepts are being used below: image environment pull commands note: must be stored base of repository as .vela.yml .vela.yaml it recommended pin image: versions production pipelines version: "1" steps: name: install maven:latest pull: always commands: mvn test build package stages needs stages: install: test: needs: environment: gradle_user_home: .gradle gradle_opts: -dorg.gradle.daemon=false -dorg.gradle.workers.max=1 -dorg.gradle.parallel=false build: "},{"url":"https://go-vela.github.io/docs/reference/yaml/metadata/","display":"Reference/Yaml/Metadata","title":"Metadata","content":"the metadata key intended to be used during compile phase signal how treat yaml document. --- document displaying all available keys their default state for process. metadata: template: false clone: true required type description template bool enables compiling pipeline as template. clone injecting render_inline rendering without explicitly calling within pipeline. auto_cancel (see below) auto canceling settings pipelines. usage tip: learn write templates, see documentation. value defaulted "false" if not provided by user. process environment: default, below populated into every with services, steps, secrets. but, when block exists configuration specified phase. [steps, secrets] render_inline: false. set "true" user can render resulting referencing it stages steps. pending builds will canceled qualifying build triggered running currently default_branch pushes branch also triggered. defined either: push same another running/pending pull request head ref these most often happen commit quickly commit, both of which kick off new builds. using help free up space eliminate pointless disabled altogether. however, are specified, has unless otherwise. & cancel, but branch. auto_cancel: running: cancel even they targeting branch, not. pending: default_branch: "},{"url":"https://go-vela.github.io/docs/usage/examples/node/","display":"Usage/Examples/Node","title":"Node","content":"example yaml configuration for project building node application. scenario user looking to create pipeline that builds an artifact on any event branch pushed source control. steps the following concepts are being used below: image pull commands note: must be stored base of repository as .vela.yml .vela.yaml it recommended pin image: versions production pipelines version: "1" steps: name: install node:latest pull: always commands: lint test build stages needs stages: install: test: needs: build: "},{"url":"https://go-vela.github.io/docs/tour/rulesets/","display":"Docs/Tour/Rulesets","title":"Rulesets","content":"the ruleset allows you to provide conditions limit execution of container. when push your code source control management system payload sent vela. within that contains characteristics about what just happened. maybe it was main branch, feature branch tag on any specific commit. key gives ability add step tell vela should be executed. name: welcome would scope only executing under occurred ruleset: event: branch: image: alpine commands: echo "welcome docs" never unless: references: name:, ruleset:,image:, commands:, "},{"url":"https://go-vela.github.io/docs/reference/yaml/worker/","display":"Reference/Yaml/Worker","title":"Worker","content":"the worker key intended to be used route build specific pool of workers available with vela queue. --- document displaying all keys routing "sm:docker". worker: flavor: sm platform: docker warning: routes are defined by system administrators during installation. know what for your installation, we recommend consulting administrators. required type description flavor string indicates worker. (i.e. sm, m, lg) platform docker, k8s) usage tip: see an example on how build. lg). if not specified will scheduled generic "vela" k8s). "},{"url":"https://go-vela.github.io/docs/tour/environment/","display":"Docs/Tour/Environment","title":"Environment","content":"to define environment variables you can add an environment: yaml key. be scoped global, within stage, step. all platform get injected with custom vela_ prefix pattern. the global encompasses stages, steps, services pipeline. every stage’s isolated each individual stage its steps. variable will overwrite of same name. step’s step vela does import library provide partial string operations. use functions manipulate values prior substitution. substitution should aware ${variable} expressions are subject pre-processing. if want avoid behavior escape your pre-processor evaluations. expand knowledge example! using version: "1" global_env: stages: hello: hello_message: hello, world! steps: name: env image: alpine commands: echo ${vela_repo_full_name} user ${hello_message} goodbye: operation goodbye_message: goodbye, ":0:8" shorthand cut value commit down just first through characters sha. ${vela_build_commit:0:8} ${goodbye_message} key references: name:, image:, environment:, commands:, "},{"url":"https://go-vela.github.io/docs/reference/yaml/templates/","display":"Reference/Yaml/Templates","title":"Templates","content":"the template key intended to be used identify where retrieve templates during compiler phase of pipeline. --- document displaying all required keys pull from remote system. templates: name: example source: github.com/go-vela/templates/example.yml type: github type description name string indicates unique identifier for template. source path which version use. format language within file. usage tip: learn how write templates, see documentation then can step expand should always raw repository. by default pulled branch on it overwritten adding suffix "@<branch>". github.com/go-vela/templates/example.yml@testbranch as an alternative, if same repository, vela workspace. conjunction with `type: file`. path/to/template.yml 'file' will grab repository commit. file format: "go" but accepts following values: go, golang, starlark "},{"url":"https://go-vela.github.io/docs/reference/api/authentication/","display":"Reference/API/Authentication","title":"Authentication","content":"overview authentication for the vela api responsibility of client initiating request. each request requires token to be provided as an authorization http header. content header should using bearer <token> scheme. authorization: more information, you can visit swagger documentation. format tokens are based off json web (a.k.a. jwt) standard. broken down into distinct sections, separated by periods (.): metadata about type signing algorithm used payload data claims) providing additional information signature encoded string header, secret syntax header.payload.signature sample xxxxx.yyyyy.zzzzz jwt introduction curl -x get -h "authorization: <token>" "http://127.0.0.1:8080/api/v1/users" "},{"url":"https://go-vela.github.io/docs/reference/cli/install/","display":"Reference/CLI/Install","title":"Install","content":"please keep mind your operating system (os) when referring to the installation instructions below. macos homebrew recommended method for installing vela cli on mac. add tap brew configuration go-vela/vela update taps install curl download binary -l https://github.com/go-vela/cli/releases/latest/download/vela_darwin_amd64.tar.gz tar zx copy $path sudo cp /usr/local/bin/ linux https://github.com/go-vela/cli/releases/latest/download/vela_linux_amd64.tar.gz windows utility must be installed before following command prompt https://github.com/go-vela/cli/releases/latest/download/vela_windows_amd64.tar.gz --output vela_windows_amd64.tar.gz unzip tarball xzvf c: system32/vela.exe powershell -outfile (powershell core) from source intended developers advanced users only. section assumes you have already setup golang. golang, review documentation. repo go get -d github.com/go-vela/cli change directory cd ${gopath}/src/github.com/go-vela/cli build release with -o releases/vela "},{"url":"https://go-vela.github.io/docs/tour/plugins/","display":"Docs/Tour/Plugins","title":"Plugins","content":"plugin docker container that designed to perform set of pre-defined actions. these actions can be for any number general tasks, deploying code, publishing artifacts more. anyone create use it their pipeline. the registry existing plugins found on site tab. within parameters block, keys are injected as upper case environment variables with pattern parameter_<yaml_key>. expand your knowledge an example! working steps: name: publish hello world image: target/vela-kaniko injected: parameter_registry=index.docker.io parameter_repo=index.docker.io/go-vela/hello-world parameter_username=moby parameter_password=mypassword parameter_tags=latest,v1.0.0 parameters: registry: index.docker.io repo: index.docker.io/go-vela/hello-world username: moby password: mypassword tags: latest v1.0.0 key references: name:, image:, parameters:, "},{"url":"https://go-vela.github.io/docs/reference/yaml/services/","display":"Reference/Yaml/Services","title":"Services","content":"the services key intended to be used run applications alongside pipeline. --- document displaying all required keys postgres database for duration of services: name: image: postgres:latest type description name string unique identifier container pipeline image docker create an ephemeral pull declaration configure if when pulled environment map entrypoint []string commands execute inside ports list ulimits set user limits container. usage pull: pulled. by default, compiler will inject but accepts following values: always, never, no_present, on_start, always environment: variables injected into using style syntax. db_name: vela array db_name=vela entrypoint: some/path/sql-init.sql /some/binary/postgres ports: "8080:5432" ulimits: foo soft: 1024 bar hard: 2048 user: with user. "},{"url":"https://go-vela.github.io/docs/tour/cloning/","display":"Docs/Tour/Cloning","title":"Cloning","content":"vela will clone your repository automatically before executing the pipeline. injects credentials that are oauth2 token associated with to authenticate. however, sometimes you may need customize, override disable default behavior. expand knowledge an example! understanding workspace below displaying behavior occurs metadata: clone: true steps: since clone, we can instantly access files our repository. name: view pipeline file image: alpine commands: cat .vela.yml how turn off false now turned off; use any docker image git installed manually repo specific settings for target/vela-git parameters: path: hello-world ref: refs/heads/main remote: https://github.com/octocat/hello-world.git sha: 7fd1a60b01f91b314f59955a4e4d4e80d8edf11d key references: clone:, name:, image:, parameters:, "},{"url":"https://go-vela.github.io/docs/reference/yaml/steps/","display":"Reference/Yaml/Steps","title":"Steps","content":"the steps key intended to be used run sequential tasks pipeline. --- document displaying all required keys postgres database for duration of steps: name: hello world image: alpine:latest commands: echo "hello, vela user" type description name string unique identifier container image docker create ephemeral container. pull declaration configure if when pulled. secrets struct sensitive variables injected into environment. environment map ruleset conditions limit execution parameters extra configuration specific plugin. commands []string instructions inside template expand entrypoint execute detach detached (headless) state. ulimits set user limits usage pull: by default, compiler will inject with value not_present but accepts following values: always, never, not_present, on_start always secrets: as upper case env. i.e. git_username=vela git_username git_username=<secret_value> source "name:" secret within parent "secrets:" yaml source: username target desired accessible during runtime. target: environment: using style syntax. db_name: an array db_name=vela ruleset: rules can branch build. comment request body. event label label. path workspace files repo status tag reference deployment schedule shown below step build stage main. branch: stage, main extends ability start new builds through interactions request. “run build” added bottom comment: "run build" push pull_request. available events are: comment, push, pull_request, tag, deployment. event: pull_request scope events, specifying action further executed. these actions include opened, synchronized, edited pull_request; created comment. specify action, use ":" below. [pull_request:opened, comment:created] note: same pull_request:synchronized, pull_request:reopened]. [comment:created, comment:edited]. scoping (event:action) was included release v0.23.0. such, general rulesets pipelines are mapped following: -> pull_request:opened, pull_request:synchronize, pull_request:reopened comment:created, comment:edited deployment:created you wish types from event, wildcard at end: pull_request* on reopened, synchronize, edited, labeled, unlabeled labeling has been labeled enhancement. 'pull_request:labeled' label: 'enhancement' editing labels enhancement documentation. 'pull_request:edited' 'enhancement', 'documentation' file readme.md, any *.md root directory test/* changed. path: "*.md", "test/*" exists github organization go-vela/docs repository. repo: "target/*", "go-vela/docs" failure success. status: failure, success ref dev/* test/*. tag: dev/*, production. only compatible events. controls modify behavior evaluation: options continue enables continuing fails. true, false matcher evaluating ruleset. filepath, regexp operator and, must match. branch, path, repo, status, unless overwrite vela's default allow pipeline continue: true filepath instead evaluate regex. matchers regexp. uses go's package. find documentation https://golang.org/pkg/regexp/syntax/ matcher: foo- "or" comparing rules. operators or. operator: tell push. if: not unless: parameters: parameter_<key_name>. plugin that needs two fields: parameter_registry=index.docker.io parameter_repo=octocat/hello-world,go-vela/docs registry: index.docker.io go-vela/hello-world, entrypoint: world" template: injection: vars step. existing "template" key. example template. primitive complex corresponding understand how those templates used. vars: tags: latest, "1.14", "1.15" pull_policy: test: "go test ./..." build: report_as publish custom commit `test suite` context report_as: suite have up 10 report their own status. /bin/pwd /bin/ls detach: similar "services:" throughout ulimits: foo soft: 1024 bar hard: 2048 user: user. "},{"url":"https://go-vela.github.io/docs/tour/secrets/","display":"Docs/Tour/Secrets","title":"Secrets","content":"sometimes you need to inject environment information into an image plugin that don’t want plain text. for this, we introduce pipeline secrets as pattern keep sensitive data safe. are always retrieved at the beginning of before any services, stages, steps created started. they answer when don’t provide let’s go back our docker used within tutorial focus only on repo type. can learn about all secret types usage section. looking shows few different patterns how leverage adding aliasing your pipeline. however, time going remove username: password: yaml keys parameter: block replace them with container environment. see it action examples! internal external steps: name: publish hello world image: target/vela-kaniko here simply just match key then starts will get "docker_password=<value>" secrets: docker_password parameters: registry: index.docker.io repo: index.docker.io/go-vela/hello-world moby tags: latest v1.0.0 now lets try something more complicated let's say alias secret. do via source target syntax where new name env var. source: password target: docker_username notice don't match. gives end users ability reuse rename names across their various pipelines. similar above, but allows entire key: go-vela/docs/username engine: native type: references: (step) secrets:, (parent) "},{"url":"https://go-vela.github.io/docs/reference/yaml/stages/","display":"Reference/Yaml/Stages","title":"Stages","content":"the stages key intended to be used parallelize one-to-many sets of step tasks. --- document displaying all required keys run two with one task parallel. stages: hello: steps: name: hello world image: alpine:latest commands: echo "hello, vela user" welcome: welcome "welcome vela!" type description name string unique identifier for stage pipeline steps []string sequential execution instructions needs that must complete before starting current independent bool will execute its ignore failures from other stages’ usage pipeline. stage. tip: more details on keys, see documentation needs: greeting: one. greeting independent: if fails at any point, continue execution. true "},{"url":"https://go-vela.github.io/docs/reference/yaml/secrets/","display":"Reference/Yaml/Secrets","title":"Secrets","content":"the secret key intended to be used pull secrets from vela server execute plugins write external build volume. --- document displaying all required keys various types. secrets: below declarative definitions. name: foo1 key: go-vela/docs/foo1 engine: native type: repo foo2 go-vela/foo2 org foo3 go-vela/admins/foo3 shared vault_token go-vela/vault_token executing plugin. origin: vault image: target/secret-vault:latest parameters: addr: vault.company.com auth_method: token username: token: sometoken items: source: secret/vela path: user type description name string of reference pipeline. path fetch storage backend. engine backend from. when origin struct declaration non-internal providers. postgres tip: unique you need follows pattern ensure has proper authorization use secret. by //<some_name> /<some_name> /<team_with_org>/<some_name> go-vela/foo1 go-vela/admins/foo1 know what engines are available for your installation, we recommend consulting system administrators. from, "native" signifies provider database. default, can but accepts following values: repo, org, pull: will at beginning build_start, step_start important: lazy loading not currently kubernetes-based workers does work with originating loaded via (see below). identifier container image []string docker create an ephemeral container. configure if pulled. sensitive variables injected into environment. environment map ruleset conditions limit execution parameters extra configuration specific note: option under allows different values than key. it mimics steps version effort reduce duplicate documentation, see comparable step documentation learn how set details on behavior. "},{"url":"https://go-vela.github.io/docs/tour/services/","display":"Docs/Tour/Services","title":"Services","content":"declaration allows you to provide detached (headless) container for the duration of pipeline. services are always ran, parallel alongside ephemeral steps they extremely useful when your testing requires additional such as cache, database queue. created at beginning pipeline order defined. name: field service defines what hostname will available communicate other tasks however, there times need more control over created. perhaps dealing with that has start up dependencies needs something before started. see it action examples! mongo postgres redis services: starting set execution cache image: version: "1" steps: ping commands: redis-cli -h now we know started execute another directly workflow detach: true vela exec ... [service: cache] 1:c 02 feb 2021 21:24:10.600 oo0ooo0ooo0oo version=6.0.10, bits=64, commit=00000000, modified=0, pid=1, just warning: config file specified, using default config. specify use redis-server /path/to/redis.conf 1:m 21:24:10.602 running mode=standalone, port=6379. 21:24:10.603 tcp backlog setting 511 cannot be enforced because /proc/sys/net/core/somaxconn lower value 128. server initialized ready accept connections [stage: ][step: pong key references: name:, image:, detach:, "},{"url":"https://go-vela.github.io/docs/tour/steps/","display":"Docs/Tour/Steps","title":"Steps","content":"steps pipeline designed to run sequential set of tasks. these pipelines do not have minimum defined length will always execute the order defined. each step shown with required yaml keys step. both are pulling alpine linux image from docker hub executing echo statements. see it action examples! go rust gradle maven node version: "1" pipeline, commands executed inside container as entrypoint. if any command returns non-zero exit code, fails exits. steps: name: greeting image: commands: "hello, world" welcome "welcome vela docs" exec ... [stage: ][step: greeting] hello, world welcome] docs key references: name:, image:, commands:, "},{"url":"https://go-vela.github.io/docs/reference/cli/authentication/","display":"Reference/CLI/Authentication","title":"Authentication","content":"overview authentication with the vela cli responsibility of client initiating request. each request requires server address. you can provide variable to three ways: configuration file environment flag recommended method for providing api address cli. default path be found $home/.vela/config.yml. log in: syntax login --api.addr <vela url> example https://vela.example.com confirm via browser prompt: open your complete (press enter confirm): generate update complete. continue save (existing config will overwritten): more information, visit documentation. variables configure vela_addr variable: export vela_addr=https://vela.example.com two prompts as stated above: it’s add these terminal profile (~/.bashrc ~/.zshrc) flags "},{"url":"https://go-vela.github.io/docs/tour/stages/","display":"Docs/Tour/Stages","title":"Stages","content":"stages pipelines are designed to parallelize one-to-many sets of step tasks. by design all the will run at same time unless user uses needs: yaml key control flow stage executions (see example). also stop executing their steps if build fails as whole, default. other words, fails, that have yet execute be skipped. can declare independent: true for any change behavior. these do not minimum defined length always within order defined. on host so it’s important take into consideration size worker running your builds. pipeline both trigger time. pulling alpine linux image from docker hub echo statements. see it action with examples! go rust gradle maven node you learn more about orchestration here! version: "1" pipeline, commands executed inside container entrypoint. command returns non-zero exit code, exits. stages: greeting: steps: name: greeting image: commands: "hello, world" welcome: welcome "welcome vela docs" goodbye: wait finish [greeting, welcome] goodbye "goodbye, note: aware references name, which overridden name definition. exec ... [stage: greeting][step: greeting] hello, world welcome][step: docs goodbye][step: goodbye] goodbye, references: name:, image:, commands:, "},{"url":"https://go-vela.github.io/docs/tour/templates/","display":"Docs/Tour/Templates","title":"Templates","content":"templates help to create reusable workflows order make grouping tasks like building deploying code. can solve duplicative single workflow be leveraged by any number of pipelines across multiple workflows. pipeline each step shown with the minimum required yaml keys execute step. both steps are pulling alpine linux image from docker hub executing echo statements. expand your knowledge deep dive! version: "1" templates: name: sample source: github.com/<org>/<repo>/path/to/file/<template>.yml type: github steps: test versions template: vars: images: golang:1.16, golang:1.15, golang:1.14 build binary image: commands: "hello, world" key references: templates:, vars:, "},{"url":"https://go-vela.github.io/docs/tour/status/","display":"Docs/Tour/Status","title":"Status","content":"vela will always publish build statuses to the source control management system. these correspond with webhook event that triggered build. can be used define various branch protection policies. also supports up 10 step-level statuses. reflect success failure of step rather than name status match value report_as key. pipeline, overall system (scm). "test suite" scm separately as `<context_prefix>/<event>/testing`. name: welcome image: alpine commands: echo "welcome docs" test suite golang:latest report_as: testing go key references: name:, image:, commands:, "},{"url":"https://go-vela.github.io/docs/reference/cli/validate/","display":"Reference/CLI/Validate","title":"Validate","content":"command has been moved to vela validate pipeline. for more information, please see the documentation "},{"url":"https://go-vela.github.io/docs/reference/cli/version/","display":"Reference/CLI/Version","title":"Version","content":"command vela version sample section assumes you have already installed setup the cli. to install cli, please review installation documentation. authentication request response canonical: v0.7.0, major: 0, minor: 7, patch: metadata: architecture: amd64, builddate: 2021-02-01t15:40:21z, compiler: gc, gitcommit: 6225623858e09b7277f3d274d1ed75289a9eb549, goversion: go1.15.7, operatingsystem: darwin, "},{"url":"https://go-vela.github.io/docs/reference/api/build/add/","display":"API/Build/Add","title":"Add","content":"endpoint post /api/v1/repos/:org/:repo/builds parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "author": "octokitty", "branch": "main", "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "clone": "https://github.com/github/octocat.git", "event": "push", "message": "first commit...", "ref": "refs/heads/main", "sender": "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", "title": "push received from https://github.com/github/octocat" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds" response "id": 1, "repo_id": "number": "parent": "status": "created", "error": "", "enqueued": 1563474077, "created": 1563474076, "started": "finished": 0, "deploy": https://github.com/github/octocat", "base_ref": "host": "company.localhost", "runtime": "docker", "distribution": "linux" "},{"url":"https://go-vela.github.io/docs/reference/api/dashboard/add/","display":"API/Dashboard/Add","title":"Add","content":"endpoint post /api/v1/dashboards permissions coming soon! responses status code description 201 indicates the request has succeeded 400 bad 401 user does not have proper 500 server error sample section assumes you already know how to authenticate api. api, please review authentication documentation. file "name": "test", "created_at": 1721251709, "created_by": "octocat", "updated_at": "updated_by": "admins": "id": 1, "active": true ], "repos": "octocat/myvela" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/dashboards" response "f460e0a1-a6a5-4724-89e8-4b2b39e12012", 1721253772, 293, "},{"url":"https://go-vela.github.io/docs/reference/api/deployment/add/","display":"API/Deployment/Add","title":"Add","content":"endpoint post /api/v1/deployments/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "ref": "main", "target": "production" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/deployments/github/octocat" response "id": 1, "repo_id": "url": "https://api.github.com/repos/github/octocat/deployments/1", "user": "octocat", "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "task": "deploy:vela", "production", "description": "deployment from vela" with if would like pass parameters, which can be referenced pipeline as $deployment_parameter_<key>, include them map inside payload key. "payload": "first_example": "hello", "second_example": "goodbye" vela", "example": "},{"url":"https://go-vela.github.io/docs/reference/api/hook/add/","display":"API/Hook/Add","title":"Add","content":"endpoint post /api/v1/hooks/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "number": 1, "source_id": "c8da1302-07d6-11ea-882f-4893bca275b8", "host": "github.com", "event": "push", "branch": "main", "status": "success" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/hooks/github/octocat" response "id": "repo_id": "build_id": "created": "1563474076", "error": "", "success", "link": "" "},{"url":"https://go-vela.github.io/docs/reference/api/pipeline/add/","display":"API/Pipeline/Add","title":"Add","content":"endpoint post /api/v1/pipelines/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "ref": "refs/heads/main", "type": "yaml", "version": "1", "steps": true, "data": "ls0tcnzlcnnpb246icixigokc3rlchm6ciaglsbuyw1loibly2hvciagicbpbwfnztogywxwaw5lomxhdgvzdaogicagy29tbwfuzhm6iftly2hvigzvb10=" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/pipelines/github/octocat" response "id": 1, "repo_id": "flavor": "", "platform": "external_secrets": false, "internal_secrets": "services": "stages": "templates": "},{"url":"https://go-vela.github.io/docs/reference/api/repo/add/","display":"API/Repo/Add","title":"Add","content":"endpoint post /api/v1/repos permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. file "org": "github", "name": "octocat", "link": "https://github.com/github/octocat", "clone": "https://github.com/github/octocat.git" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/repos" response "id": 1, "user_id": "full_name": "github/octocat", "https://github.com/github/octocat.git", "branch": "main", "build_limit": 10, "timeout": 60, "counter": 0, "visibility": "public", "private": false, "trusted": true, "active": "allow_pull": "allow_push": "allow_deploy": "allow_tag": "allow_comment": "allow_events": "push": "tag": "delete_branch": "delete_tag": false }, "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": true "comment": "schedule": "run": "pipeline_type": "yaml" "},{"url":"https://go-vela.github.io/docs/reference/api/schedule/add/","display":"API/Schedule/Add","title":"Add","content":"endpoint post /api/v1/schedules/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "name": "hourly", "entry": "0 *", "active": true curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/schedules/github/octocat" response "id": 1, "repo": "owner": "octokitty", }, "org": "github", "full_name": "github/octokitty", "link": "https://github.com/github/octokitty", "clone": "https://github.com/github/octokitty.git", "branch": "main", "topics": [], "build_limit": 10, "timeout": 30, "counter": 0, "visibility": "public", "private": false, "trusted": true, "allow_events": "push": "tag": "delete_branch": "delete_tag": false "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": "comment": "schedule": "run": "pipeline_type": "yaml", "previous_name": "", "approve_build": "fork-always" "created_at": 1716495910, "created_by": "updated_at": "updated_by": "scheduled_at": "error": "next_run": 1716499800 "},{"url":"https://go-vela.github.io/docs/reference/api/secret/add/","display":"API/Secret/Add","title":"Add","content":"endpoint post /api/v1/secrets/:engine/:type/:org/:name parameters the following are used to configure endpoint: name description engine of type secret org organization repository team permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "name": "foo", "value": "bar", "images": ["alpine"], "events": ["push"] curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/secrets/native/repo/github/octocat" response "id": 1, "org": "github", "repo": "octocat", "team": "", null, "type": "repo", ["push"], "allow_command": true, "allow_substitution": "allow_events": "push": "branch": "tag": "delete_branch": false, "delete_tag": false }, "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": true "comment": "schedule": "run": "created_at": 1641314085, "created_by": "octokitty", "updated_at": "updated_by": "octokitty" "},{"url":"https://go-vela.github.io/docs/reference/api/service/add/","display":"API/Service/Add","title":"Add","content":"endpoint post /api/v1/repos/:org/:repo/builds/:build/services parameters the following are used to configure endpoint: name description org of organization repo repository build number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "number": 1, "name": "clone" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/services" response "id": "build_id": "repo_id": "clone", "status": "success", "error": "", "exit_code": 0, "created": 1563475419, "started": 1563475420, "finished": 1563475421 "},{"url":"https://go-vela.github.io/docs/reference/api/step/add/","display":"API/Step/Add","title":"Add","content":"endpoint post /api/v1/repos/:org/:repo/builds/:build/steps parameters the following are used to configure endpoint: name description org of organization repo repository build number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "number": 1, "name": "clone" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/steps" response "id": "build_id": "repo_id": "clone", "status": "success", "error": "", "exit_code": 0, "created": 1563475419, "started": "finished": "host": "company.localhost", "runtime": "docker", "distribution": "linux" "},{"url":"https://go-vela.github.io/docs/reference/api/user/add/","display":"API/User/Add","title":"Add","content":"endpoint post /api/v1/users permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. file "name": "octokitty", "favorites": ["github/octocat"], "active": true, "admin": false curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/users" response "id": 1, "token": null, "},{"url":"https://go-vela.github.io/docs/reference/cli/dashboard/add/","display":"CLI/Dashboard/Add","title":"Add","content":"command vela add dashboard <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables vela_dashboard_name, dashboard_name repos list of repositories (org/repo) vela_dashboard_repos, dashboard_repos branches filter builds all by branch vela_dashboard_repos_branch, dashboard_repos_branch events event vela_dashboard_repos_event, dashboard_repos_event admins provide vela_dashboard_admins, dashboard_admins output format vela_output, repo_output also supports setting via configuration file: please review cli config documentation. sample section assumes have already installed setup cli. install cli, installation authentication request --name 'octocat main branches' --repos octocat/hello-world,octocat/spoon-knife --branches response name: octocat branches, id: d3040cd7-9bb6-45d1-a2a1-d794483a902c, admins: [{ active: true, admin: false, dashboards: [], favorites: 1, octokitty, token: }], createdat: 1716572402, createdby: updatedat: updatedby: repos: octocat/hello-world, branches: [main], events: octocat/spoon-knife, 2, examples examples: 1. dashboard. my-dashboard 2. with repositories. org-1/repo-1,org-2/repo-2 3. filtering pushes main. --branch --event push 4. multiple admins. --admins johndoe,janedoe "},{"url":"https://go-vela.github.io/docs/reference/cli/deployment/add/","display":"CLI/Deployment/Add","title":"Add","content":"command vela add deployment <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, deployment_org repo repository vela_repo, deployment_repo ref branch, commit, tag vela_deployment, deployment_number target vela_target, deployment_target short vela_description, deployment_description parameter parameter(s) key=value format vela_parameters,, deployment_parameters task vela_task, deployment_task output vela_output, deployment_output also supports setting via configuration file: please review cli config documentation. sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response generated from successful "https://api.github.com/repos/github/octocat/deployments/1" was created examples examples: 1. repository. myorg myrepo 2. with specific environment. --target stage 3. branch reference. --ref dev 4. commit 48afb5bdc41ad69bf22588491333f7cf71135163 5. tag. 'refs/tags/example.tag' 6. description. --description 'my custom message' 7. two parameters. --parameter 'key=value' 'foo=bar' 8. when set. "},{"url":"https://go-vela.github.io/docs/reference/cli/repo/add/","display":"CLI/Repo/Add","title":"Add","content":"command vela add repo <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization repository vela_org, repo_org vela_repo, repo_name branch default vela_branch, repo_branch link full url vela_link, repo_link clone vela_clone, repo_clone visibility access level required view vela_visibility, repo_visibility build.limit limit concurrent builds allowed vela_build_limit, repo_build_limit timeout max time per build vela_timeout, repo_timeout counter set value new number vela_counter, repo_counter private disables public vela_private, repo_private trusted elevates permissions vela_trusted, repo_trusted active enables/disables vela_active, repo_active event events trigger vela_events, repo_events pipeline-type type base pipeline compiler render vela_pipeline_type, pipeline_type output format vela_output, repo_output also supports setting via configuration file: please review cli config documentation. coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response id: userid: org: name: fullname: github/octocat link: https://github.com/github/octocat clone: https://github.com/github/octocat.git branch: main buildlimit: 10 timeout: 60 visibility: private: false trusted: active: true allowpull: allowpush: allowdeploy: allowtag: allowcomment: allowevents: [push pull_request:opened pull_request:synchronize pipelinetype: yaml "},{"url":"https://go-vela.github.io/docs/reference/cli/schedule/add/","display":"CLI/Schedule/Add","title":"Add","content":"command vela add schedule <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, schedule_org repo repository vela_repo, schedule_repo vela_schedule, schedule_name entry frequency vela_entry, schedule_entry active enables/disables vela_active, schedule_active output format vela_output, schedule_output also supports setting via configuration file: please review cli config documentation. sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --schedule hourly --entry '0 *' targeted --org github --repo octocat --output json response "id": 1, "repo": "owner": "name": "octokitty", "active": true }, "org": "github", "full_name": "github/octokitty", "link": "https://github.com/github/octokitty", "clone": "https://github.com/github/octokitty.git", "branch": "main", "topics": [], "build_limit": 10, "timeout": 30, "counter": 0, "visibility": "public", "private": false, "trusted": true, "allow_events": "push": "tag": "delete_branch": "delete_tag": false "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": "comment": "schedule": "run": "pipeline_type": "yaml", "previous_name": "", "approve_build": "fork-always" "hourly", "entry": "0 *", "created_at": 1716495910, "created_by": "updated_at": "updated_by": "scheduled_at": "error": "next_run": 1716499800 examples examples: 1. with not enabled. myorg myrepo --active 2. nightly entry. 3. weekly '@weekly' 4. when set. "},{"url":"https://go-vela.github.io/docs/reference/cli/secret/add/","display":"CLI/Secret/Add","title":"Add","content":"command vela add secret <parameters...> <arguments...> for more information, you can run --help. note on special characters: certain characters may require to encapsulate your with " '. have be double escaped parameters the following are used configure command: name description environment variables org of organization vela_org, secret_org repo repository vela_repo, secret_repo secret.engine engine that stores vela_engine. secret_engine secret.type type being stored vela_type, secret_type team vela_team, secret_team vela_name, secret_name value vela_value, secret_value image build image(s) access vela_images, secret_images event event(s) vela_events, secret_events commands allows step vela_commands, secret_commands substitution using ${key} format vela_substitution, secret_substitution file secret(s) vela_file, secret_file output vela_output, secret_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --secret.engine native --secret.type --name foo --value bar targeted --org github --repo octocat response "foo" was added advanced input from creating single-line multi-line symbol. syntax @/path/to/file example @$home/tmp/secret.txt secrets multiple filename parameter. -f secret.yml single yaml document --- metadata: version: v1 engine: secrets: org: repo: name: value: type: images: golang:latest events: push pull_request team: octokitties foo1 "@/path/to/file/bar1" shared vault "},{"url":"https://go-vela.github.io/docs/reference/cli/worker/add/","display":"CLI/Worker/Add","title":"Add","content":"command vela add worker <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables worker.address address of vela_worker_address, worker_address worker.hostname hostname vela_worker_hostname, worker_hostname output format vela_output, worker_output also supports setting via configuration file: please review cli config documentation. permissions platform admin sample section assumes have already installed setup authenticated as admin. install cli, installation authentication request --worker.address myworker.example.com not passing --worker.hostname will automatically use part passed hostname. response generated from successful registered successfully examples examples: 1. reachable at provided address. 2. with given. myworker "},{"url":"https://go-vela.github.io/docs/templates/tutorials/starlark/anatomy/","display":"Tutorials/Starlark/Anatomy","title":"Anatomy","content":"anatomy order to make starlark work with vela’s templates functionality we did have few design decisions on behalf of the users. all must contain main function that returns pipeline illustrated below example file contains def main(ctx) data structure valid pipeline. main(ctx): return 'version': '1', 'steps': 'name': 'build', 'image': 'golang:latest', 'commands': 'go build', test', }, ], context used by compiler pass information template will inject user variables defined parent compile time platform variables. both sets are injected into within dictionary structure. syntax: ctx['vela']['<resource>']['<name>'] repo ctx["vela"]["repo"]["full_name"] "go build %s" %, repo, ctx['vars'][<name>] image ctx['vars']['image'] image, "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/ansible/","display":"Registry/Pipeline/Ansible","title":"Ansible","content":"description plugin designed for using ansible-playbook ansible-lint vela pipeline. source code: https://github.com/go-vela/vela-ansible registry: https://hub.docker.com/r/target/vela-ansible usage note: users should refrain from latest as the tag docker image. it recommended to use semantically versioned instead. more information can be found at: docs. sample .vela.yml steps: name: image: target/vela-ansible:latest parameters: action: lint playbook: "abox/main.yml" lint_skip: 403 201 playbook options_inventory: "abox/inventory/hosts.yml" connection_user: root parameters following are used configure parameter required default log_level set log level (valid options: info, debug, trace) true info action lint, will determine whether run ansible-playbook. ansible-lint. ran by false lint_version returns version exits program. lint_list lists all rules. lint_format format rules output {rich,plain,rst,codeclimate,quiet,pep8} rich lint_quieter quieter, although not silent output. lint_parseable parseable of pep8. lint_parseableseverity including severity rule. lint_progressive return success if detects reduction number violations compared with previous git commit. feature works only repositories. lint_projectdir location project/repository, autodetected based on configuration file. n/a lint_rule specify one directories. -r flag (lint_rule) overrides /path/to/ansible-lint/lib/ansiblelint/rules, unless (lint_rulesdefault) also used. lint_rulesdefault /path/to/ansible-lint/lib/ansiblelint/rules addition any extra directories specified (lint_rule). there need flag/s is/are lint_showrelativepath display path relative cwd. lint_tags check whose id/tags match these values. lint_tagslist list tags. lint_verbose increase verbosity level. lint_skip does lint_warn warn about rules, overridden config file defaults ’experimental' experimental lint_enable activate optional their name lint_nocolor disable colored lint_forcecolor try force lint_exclude files skip. lint_config use. .ansible-lint lint_offline installation requirements.yml options options_askvaultpass ask vault password. options_flushcache clear fact cache every host inventory. options_forcehandlers handlers even task fails. options_listhosts outputs matching hosts options_listtags available tags options_listtasks tasks executed. options_skiptags plays options_startattask start at name. options_step one-set-at-a-time: confirm each before running. options_syntaxcheck perform syntax options_vaultid identity options_vaultpasswordfile password options_version number, location, configured module search path, executable options_check dry-run, make changes; instead, tries predict some changes that may occur. options_difference when changing (small) template, shows difference those files. options_modulepath prepend colon-separated path(s) library ~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules options_extravars additional variables key=value yaml/json, filename options_forks parallel processes options_inventory inventory comma separated list. options_limit further limit selected pattern. options_tags matches options_verbose verbose mode. options_verbosemore mode: verbose. options_verbosedebug connection debugging connection_privatekey authenticate connection. connection_scpextraargs arguments pass scp only. connection_sftpextraargs sftp connection_sshextraargs ssh connection_sshcommonargs common scp/sftp/ssh. connection_timeout override timeout seconds. 10 connection_connection type smart connection_user connect user. none connection_passwordfile privilege escalation privilege_becomemethod method sudo privilege_becomeuser operation privilege_askbecomepass privilege_become operations become (does imply prompting) privilege_becomepassfile template coming soon! troubleshooting you tuning logs being displayed: log_level: trace below problems how solve them: "},{"url":"https://go-vela.github.io/docs/reference/cli/build/approve/","display":"CLI/Build/Approve","title":"Approve","content":"command vela approve build <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, build_org repo repository vela_repo, build_repo number vela_build, build_number output format vela_output, build_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build targeted --org github --repo octocat response "successfully approved github/octocat/1" "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/artifactory/","display":"Registry/Pipeline/Artifactory","title":"Artifactory","content":"description plugin enables you to manage artifacts artifactory vela pipeline. source code: https://github.com/go-vela/vela-artifactory registry: https://hub.docker.com/r/target/vela-artifactory usage note: users should refrain from using latest as the tag for docker image. it recommended use semantically versioned instead. sample of copying an artifact: steps: name: copy_artifacts image: target/vela-artifactory:latest pull: always parameters: action: copy path: libs-snapshot-local/foo.txt target: libs-snapshot-local/bar.txt url: http://localhost:8081/artifactory deleting delete_artifacts delete setting properties on set_properties_artifacts set-prop props: single value: foo multiple values: bar baz uploading upload_artifacts upload libs-snapshot-local/ sources: foo.txt target/*.jar dist/**/*.js artifact regexp: true dist/([a-z]+).js [!important] jfrog docs call out: if have specified that are regular expressions, then beginning expression must be enclosed parenthesis. example: a/b/c/(.*)/file.zip pretending dry_run: docker-promote docker_promote_artifacts target_repo: libs-snapshot-local docker_registry: octocat/hello-world tag: target_docker_registry: target_tags: "${vela_build_commit:0:8}" secrets configuring sensitive information your pipeline plain text. internal accepts following parameters authentication: parameter environment variable configuration api_key parameter_api_key, artifactory_api_key password parameter_password, artifactory_password username parameter_username, artifactory_username can substitute these values at runtime: secrets: artifactory_username, username: octocat password: supersecretpassword example will add step variables: artifactory_username=<value> artifactory_password=<value> external files file /vela/parameters/artifactory/api_key, /vela/secrets/artifactory/api_key, /vela/secrets/managed-auth/api_key /vela/parameters/artifactory/password, /vela/secrets/artifactory/password, /vela/secrets/managed-auth/password /vela/parameters/artifactory/username, /vela/secrets/artifactory/username, /vela/secrets/managed-auth/username read secret build workspace stored /vela/secrets/artifactory/* supports reading all via: variables parameter_* artifactory_* /vela/parameters/artifactory/* any set takes precedence over environment. used configure name required default action perform against n/a parameter_action artifactory_action api key communication with false parameter_api_key dry_run parameter_dry_run artifactory_dry_run log_level log level info parameter_log_level artifactory_log_level parameter_password url instance communicate parameter_url artifactory_url user parameter_username http_client_retries number times retry failed http attempts parameter_http_client_retries artifactory_http_client_retries http_client_retry_wait amount milliseconds wait between 500 parameter_http_client_retry_wait_milliseconds artifactory_http_client_retry_wait_milliseconds http_client_cert path client certificate tls parameter_http_client_cert artifactory_http_client_cert http_client_cert_key parameter_http_client_cert_key artifactory_http_client_cert_key http_client_insecure_tls enable insecure parameter_http_client_insecure_tls artifactory_http_client_insecure_tls flat removing directory hierarchy parameter_flat artifactory_flat artifact(s) parameter_path artifactory_path recursive sub-directories parameter_recursive artifactory_recursive target parameter_target artifactory_target instead moving image parameter_copy artifactory_copy docker_registry registry parameter_docker_registry artifactory_docker_registry promote_props promoted parameter_promote_props artifactory_promote_props promoting parameter_tag artifactory_tag target_docker_registry parameter_target_docker_registry artifactory_target_docker_registry target_repo containing parameter_target_repo artifactory_target_repo target_tags final tags after promotion parameter_target_tags artifactory_target_tags props parameter_props artifactory_props include_dirs including parameter_include_dirs artifactory_include_dirs regexp sources parameter_regexp artifactory_regexp list parameter_sources artifactory_sources template coming soon! troubleshooting start by tuning logs being displayed: log_level: trace below common problems how solve them: "},{"url":"https://go-vela.github.io/docs/usage/authenticate/","display":"Docs/Usage/Authenticate","title":"Authenticate","content":"warning these docs assume you have vela running. ui navigate to your deployed instance follow the oauth workflow presented on web interface. cli please see authentication reference. if not yet installed cli, install reference first. api sdk "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/aws-credentials/","display":"Registry/Pipeline/Aws credentials","title":"AWS Credentials","content":"description with openid connect (oidc), you can configure your pipeline to request short-lived set of credentials from aws. source code: https://github.com/cargill/vela-aws-credentials registry: https://hub.docker.com/r/cargill/vela-aws-credentials prerequisites adding the identity provider aws add github oidc iam, see docs. url: https://<vela api>/_services/token. audience: sts.amazonaws.com. terraform example: data "tls_certificate" "vela" url "https://vela-server.com/_services/token" resource "aws_iam_openid_connect_provider" client_id_list ["sts.amazonaws.com"] thumbprint_list [data.tls_certificate.vela.certificates[0].sha1_fingerprint] configuring iam role review official documentation for roles oidc. note: it critical that trust policy has conditions limit which vela pipelines/steps are able assume role. example below includes several ability role: stringlike condition on sub claim wildcard operator (*) allows any branch pull merge octo-org/octo-repo organization repository image permits only steps use golang:<tag> stringequals aud ensures tokens audience sts.amazonaws.com default when utilizing plugin. commands without section requires all must be met assumption succeed. if not met, will fail. "version": "2012-10-17", "statement": "effect": "allow", "principal": "federated": "arn:aws:iam::123456123456:oidc-provider/vela-server.com/_services/token" }, "action": "sts:assumerolewithwebidentity", "condition": "stringlike": "vela-server.com/_services/token:sub": "repo:octo-org/octo-repo:*", "vela-server.com/_services/token:image": "golang:*" "stringequals": "vela-server.com/_services/token:aud": "sts.amazonaws.com", "vela-server.com/_services/token:commands": false full list claims exposes found within "aws_iam_policy_document" "assume_role_policy" statement actions "sts:assumerolewithwebidentity" principals identifiers aws_iam_openid_connect_provider.vela.arn type "federated" test "stringlike" variable "vela-server.com/_services/token:sub" values ["repo:octo-org/octo-repo:*"] "vela-server.com/_services/token:image" ["golang:*"] "stringequals" "vela-server.com/_services/token:aud" "vela-server.com/_services/token:commands" [false] "aws_iam_role" "test_role" name assume_role_policy data.aws_iam_policy_document.assume_role_policy.json usage users should refrain using latest as tag docker image. recommended semantically versioned instead. generating credentials: steps: name: generate_aws image: cargill/vela-aws-credentials:latest id_request: parameters: "arn:aws:iam::123456123456:role/test" different region: "us-west-2" sample credentials, writing script, them cli: script_write: true test_aws amazon/aws-cli:latest commands: /vela/secrets/aws/setup.sh sts get-caller-identity parameters plugin supports reading via environment variables files. file take precedence over environment. following used required arn generate n/a parameter_role aws_credentials_role region where want obtain credentials. us-east-1 parameter_region aws_credentials_region role_duration_seconds assumed duration seconds. 3600 parameter_role_duration_seconds aws_credentials_role_duration_seconds role_session_name session assuming parameter_role_session_name aws_credentials_role_session_name log_level log level info parameter_log_level aws_credentials_log_level provider. parameter_audience aws_credentials_audience verify verified. parameter_verify aws_credentials_verify script_path path write script contains parameter_script_path aws_credentials_script_path script_write created. parameter_script_write aws_credentials_script_write inline_session_policy an json format inline parameter_inline_session_policy aws_credentials_inline_session_policy managed_session_policies arns managed policies exist same account parameter_managed_session_policies aws_credentials_managed_session_policies troubleshooting start by tuning logs being displayed: message pull: always log_level: trace "},{"url":"https://go-vela.github.io/docs/usage/badge/","display":"Docs/Usage/Badge","title":"Badges","content":"note: these docs assume you have vela running. how to get your badge the server has an endpoint that will return svg for default branch of repo. represents current status most recent build branch. refers any produced by repo attached branch, which includes event (push, pull request, etc). syntax https://<vela server>/badge/<org>/<repo>/status.svg example https://vela.example.com/badge/octocat/hello-world/status.svg addition can specify want supplying ?branch= query parameter url. server>/badge/<org>/<repo>/status.svg?branch=<branch name> https://vela.example.com/badge/octocat/hello-world/status.svg?branch=not_default embedding markdown embed formatted file, follow example: [![build status](https://<vela server>/badge/<org>/<repo>/status.svg)](https://<vela server>/<org>/<repo>) status](https://vela.example.com/badge/octocat/hello-world/status.svg)](https://vela.example.com/octocat/hello-world) "},{"url":"https://go-vela.github.io/docs/plugins/tutorials/bash/","display":"Plugins/Tutorials/Bash","title":"Bash","content":"we recommend reviewing docker’s best practices before attempting to create custom plugin. that all plugins be placed inside scratch image. overview from bash documentation: the gnu project’s shell. bourne an sh-compatible shell incorporates useful features korn (ksh) (csh). it intended conform ieee posix p1003.2/iso 9945.2 tools standard. offers functional improvements over sh for both programming interactive use. addition, most scripts can run by without modification. code plugin using bash, we’ll need first decide what task want accomplish. example, we’re going script runs curl command provided input: #!/usr/bin/env import method parameter environment method=${parameter_method} body body=${parameter_body} url url=${parameter_url} send request input -x "${method}" -d "${body}" "${url}" example of section go-vela/vela-tutorials repository. image once have executable needed accomplish our plugin’s task, dockerfile produce should contain setup when executed: alpine apk add --update --no-cache ca-certificates copy vela-sample.sh /bin/vela-sample.sh entrypoint ["bash", "/bin/vela-sample.sh"] target/vela-sample docker publishing order pipeline, make sure build publish registry: -t target/vela-sample:bash push has added benefit enabling others community consume your plugin! troubleshooting verify performs desired executed locally via line: --rm -e parameter_body="this sample vela written with bash" parameter_method="post" parameter_url="http://vela.localhost.com" usage after registry, referenced pipeline: version: "1" steps: name: image: pull: always parameters: url: http://vela.localhost.com method: post body: "},{"url":"https://go-vela.github.io/docs/reference/api/admin/build/","display":"API/Admin/Build","title":"Build","content":"endpoint put /api/v1/admin/build permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. note: must provide entire build object, as overwrites existing entry for build. file "id": 1, "repo_id": "number": "parent": "event": "push", "status": "created", "error": "", "enqueued": 1563474077, "created": 1563474076, "started": "finished": 0, "deploy": "clone": "https://github.com/github/octocat.git", "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", "title": "push received from https://github.com/github/octocat", "message": "this an updated message", "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "sender": "octokitty", "author": "branch": "main", "ref": "refs/heads/main", "base_ref": "host": "company.localhost", "runtime": "docker", "distribution": "linux" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/admin/build" response "},{"url":"https://go-vela.github.io/docs/reference/api/admin/build_queue/","display":"API/Admin/Build queue","title":"Build Queue","content":"endpoint get /api/v1/admin/builds/queue permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/admin/builds/queue" response "id": 2, "repo_id": "number": 1, "parent": "event": "push", "status": "pending", "error": "", "enqueued": 1563474204, "created": "started": "finished": 0, "deploy": "clone": "https://github.com/github/octocat.git", "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", "title": "push received from https://github.com/github/octocat", "message": "second commit...", "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "sender": "octokitty", "author": "branch": "main", "ref": "refs/heads/main", "base_ref": "host": "ed95dcc0687c", "runtime": "distribution": "" }, "running", 1563474077, 1563474076, "first "82823eb770b0", "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/build-summary/","display":"Registry/Pipeline/Build summary","title":"Build Summary","content":"description plugin enables you to provide summary of build pipeline. source code: https://github.com/go-vela/vela-build-summary registry: https://hub.docker.com/r/target/vela-build-summary usage note: users should refrain from using latest as the tag for docker image. it recommended use semantically versioned instead. sample outputting current build: steps: name: build-summary image: target/vela-build-summary:latest pull: always secrets: build_summary_token an existing parameters: number: different repo: org: octocat hello-world secrets configuring sensitive information your pipeline plain text. internal accepts following parameters authentication: parameter environment variable configuration token parameter_token, can vela substitute these values at runtime: token: supersecrettoken example will add secret step variable: build_summary_token=<value> external files volume /vela/parameters/build-summary/token, /vela/secrets/build-summary/token read stored /vela/secrets/ supports reading all via variables files. any set file take precedence over environment. are used configure name required default log_level log level true info parameter_log_level build_summary_log_level number by parameter_number build_summary_number vela_build_number org organization parameter_org build_summary_org vela_repo_org repo repository parameter_repo build_summary_repo vela_repo_name server communicate with parameter_server build_summary_server vela_addr communication parameter_token vela_netrc_password template coming soon! troubleshooting start tuning logs being displayed: log_level: trace below list common problems how solve them: "},{"url":"https://go-vela.github.io/docs/usage/docker/","display":"Docs/Usage/Docker","title":"Building Docker Images","content":"we assume you understand how to build run docker images. if need assistance on get started with docker; recommend see their documentation for getting set up. vela runs all workloads within containers. which essentially gives us two core different ways images: without elevated daemon access both options have disadvantages advantages, so encourage administrators weigh the pros/cons of they want images cluster. here are some resources can use while researching available tools: what buildkit it for? kaniko tools comparison building an image most secure pattern not allowing any workers there plugin those vela-kaniko customers read tool comparisons before picking technology in-depth examples either utility respective pages. simple example provided below: version: "1" steps: name: publish image: target/vela-kaniko:latest pull: always parameters: registry: index.docker.io repo: index.docker.io/octocat/hello-world allowed as long required allow list worker. it’s important work your administrator stand instances was deployed support. supported vela-docker docker's target/vela-docker:latest tags: environment: docker_buildkit=0 additional container securely kubernetes why rootless hard? "},{"url":"https://go-vela.github.io/docs/reference/api/build/cancel/","display":"API/Build/Cancel","title":"Cancel","content":"endpoint delete /api/v1/repos/:org/:repo/builds/:build/cancel permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper 404 that server was unable to cancel build 500 there an error trying sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/cancel" response "canceled github/octocat/36" "},{"url":"https://go-vela.github.io/docs/reference/cli/build/cancel/","display":"CLI/Build/Cancel","title":"Cancel","content":"command vela cancel build <parameters...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, build_org repo repository vela_repo, build_repo number vela_build, build_number output format vela_output, build_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build targeted --org github --repo octocat response canceled github/octocat/1 "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/captains_log/","display":"Registry/Pipeline/Captains log","title":"Captain's Log","content":"overview the captain’s log plugin enables ability to manage release logs through slack vela pipeline. source code: https://github.com/target/captains-log registry: https://hub.docker.com/r/target/captains-log usage basic steps: name: captains-log image: target/captains-log:1 pull: always secrets: [github_token, slack_url] parameters: github_owner: target github_repo: github_tag_id: "v([0-9]+-release)$" enterprise_host: https://git.myteam.com jira_team_domain: myteamnamespace utilize teams organization: teams: team1 color: "#ffdc18" emoji: "✨" mentions: "<@person1> <@person2>" issuetracking: jira: projects: team1subgroup team2 "#f48642" "🔥" "<@person3>" secrets users should refrain from configuring sensitive information their pipeline plain text. accepts following parameters for authentication: parameter environment variable configuration github_token slack_token slack_url can use substitute these values at runtime: github_token, github_token: supersecrettoken slack_url: https://hooks.slack.com/services/super/secret/url example will add step as variables: github_token= slack_url= more on options, visit documentation. https://target.github.io/captains-log/#/configuration/ "},{"url":"https://go-vela.github.io/docs/reference/api/repo/chown/","display":"API/Repo/Chown","title":"Chown","content":"endpoint patch /api/v1/repos/:org/:repo/chown parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/chown" response github/octocat changed owner "},{"url":"https://go-vela.github.io/docs/reference/cli/repo/chown/","display":"CLI/Repo/Chown","title":"Chown","content":"command vela chown repo <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization repository vela_org, repo_org vela_repo, repo_name output format vela_output, repo_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response "github/octocat" changed owner "},{"url":"https://go-vela.github.io/docs/reference/api/admin/clean/","display":"API/Admin/Clean","title":"Clean","content":"endpoint put /api/v1/admin/clean filters the following optional are available: name description before clean resources created certain time (unix epoch, default now minus repo timeout minutes) permissions coming soon! responses status code 200 indicates request has succeeded 400 bad 401 user does not have proper 500 internal server issue while cleaning sample section assumes you already know how to authenticate api. api, please review authentication documentation. file "message": "this resource been set error by platform admins during maintenance" note: value for message build cleaned admin curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/admin/clean" response "42 builds cleaned. 42 services steps cleaned." "},{"url":"https://go-vela.github.io/docs/reference/api/pipeline/compile/","display":"API/Pipeline/Compile","title":"Compile","content":"endpoint post /api/v1/pipelines/:org/:repo/:pipeline/compile parameters the following are used to configure endpoint: name description org of organization repo repository pipeline commit sha for from output format compiled configuration permissions coming soon! responses status code 200 indicates request has succeeded 400 unable retrieve compile templates 401 user does not have proper 404 500 system error while retrieving compiling sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/pipelines/github/octocat/48afb5bdc41ad69bf22588491333f7cf71135163/compile" response notice, when step fields such as image commands will be arranged alphabetical order. version: "1" secrets: name: go_module key: github/octocat/template_secret engine: native type: steps: commands: go vet ./... && git diff --exit-code; code=$?; checkout -- .; (exit $code) fmt image: golang:latest go_validate pull: not_present test go_test build -a -ldflags '-extldflags "-static"' -o release/heyvela {$go_module} go_build environment: cgo_enabled: "0" goos: linux templates: source: github.com/github/octocat/go/template.yml github "version": "1", "metadata": {}, "worker": "secrets": "name": "go_module", "key": "github/octocat/template_secret", "engine": "native", "type": "repo", "origin": "ruleset": "if": "unless": {} ], "steps": }, "commands": "go $code)", $code)" "template": "image": "golang:latest", "go_validate", "pull": "not_present" ./..." "go_test", "-static "' {$go_module}" "go_build", "not_present", "environment": "cgo_enabled": "0", "goos": "linux" "go-tag_validate", "go-tag_test", "go-tag_build", "templates": "go", "source": "github.com/github/octocat/go/template.yml", "github" "},{"url":"https://go-vela.github.io/docs/installation/server/reference/compiler/","display":"Server/Reference/Compiler","title":"Compiler","content":"note: the compiler embedded directly server can only be accessed through server. component responsible for transforming pipeline into an executable representation worker. during transformation, it will retrieve templates from one more registries depending on configuration. by default, vela use github as registry fetching templates, but you configure additional well. however, to fetch private organization repository github, need provide token compiler. additionally, send pipelines external endpoint, modified, based off custom modification endpoint used perform any number of customizations all workloads created system. some examples what do include, are not limited to: injecting updating configuration secrets services stages steps following options component: name description required default environment variables clone-image clone image injected step true target/vela-git (1) vela_clone_image github-driver enables using enterprise false compiler_github vela_compiler_github github-url fully qualified url n/a compiler_github_url vela_compiler_github_url github-token authentication when compiler_github_token vela_compiler_github_token modification-addr modifying modification_addr vela_modification_addr modification-retries times resend failed requests modification_retries vela_modification_retries modification-secret authenticates communication between modification_secret vela_modification_secret modification-timeout timeout sent 8s modification_timeout vela_modification_timeout max-template-depth max depth calling nested compilation max_template_depth vela_max_template_depth compiler-starlark-exec-limit execution limit compiling starlark 7500 compiler_starlark_exec_limit vela_compiler_starlark_exec_limit latest available, tagged release at time released information these options, please see reference. drivers available documentation uses githug template https://docs.github.com/en/enterprise-server/admin/overview/system-overview official website: where world builds software. millions developers companies build, ship, maintain their software github—the largest most advanced development platform world. below displays example starting that registry: docker run --detach=true --env=vela_addr=https://vela-server.example.com --env=vela_compiler_github=true --env=vela_compiler_token=<github-personal-access-token> --env=vela_compiler_url=https://github.com --env=vela_database_encryption_key=<encryption-key> --env=vela_queue_driver=redis --env=vela_queue_addr=redis://<password>@<hostname>:<port>/<database> --env=vela_port=443 --env=vela_secret=<shared-secret> --env=vela_server_private_key=<private_key> --env=vela_scm_client=<oauth-client-id> --env=vela_scm_secret=<oauth-client-secret> --env=vela_webui_addr=https://vela.example.com --name=server --publish=80:80 --publish=443:443 --restart=always target/vela-server:latest enabled necessary order operate. enable github. your organization’s copy contained within virtual appliance, hosted premises cloud, control. --env=vela_compiler_url=https://git.example.com "},{"url":"https://go-vela.github.io/docs/templates/tutorials/go/conditional/","display":"Tutorials/Go/Conditional","title":"Conditionals","content":"we recommend reviewing go templates documentation before attempting to create template. if you’re new yaml also the 1.2 spec for validation on syntax. overview from template conditional: {{if pipeline}} t1 {{end}} value of pipeline empty, output generated; otherwise, executed. empty values are false, 0, any nil pointer interface value, array, slice, map, string length zero. dot unaffected. tip: information if/else statements see conditional docs sample let’s take look at using with variable template: metadata: true {{$br := vela "build_branch"}} steps: name: test commands: ./... image: {{ .image }} .pull_policy ruleset: event: push, pull_request branch equals main add step final (eq $br "main") build end caller could like: version: "1" templates: source: github.com/<org>/<repo>/path/to/file/<template>.yml type: github golang vars: golang:latest pull_policy: "pull: always" which means compiled execution worker is: sample_test pull: always sample_build "},{"url":"https://go-vela.github.io/docs/templates/tutorials/starlark/conditional/","display":"Tutorials/Starlark/Conditional","title":"Conditionals","content":"we recommend reviewing starlark spec before attempting to create template. overview from conditional expressions: "yes" if enabled else "no" tip: for information on if/else statements see docs sample let’s take look at using with variable template: def main(ctx): steps "name": "test", "image": ctx["vars"]["image"], "commands": "go test ./..." ], "pull": ctx["vars"]["pull_policy"], "ruleset": "event": "push", "pull_request" branch equals main add step the final pipeline ctx["vela"]["build"]["branch"] == "main": steps.append( "build", build" return 'version': '1', 'steps': steps, caller of template could like: version: "1" templates: name: source: github.com/<org>/<repo>/path/to/file/<template>.star type: github format: steps: golang vars: image: golang:latest pull_policy: "always" which means compiled execution worker is: sample_test commands: go ./... pull: always ruleset: event: push, pull_request sample_build build "},{"url":"https://go-vela.github.io/docs/installation/server/reference/database/","display":"Server/Reference/Database","title":"Database","content":"component responsible for integrating with database system based off the configuration provided. used by vela storing application data at rest. an organized collection of information necessary platform to operate. note: any sensitive stored will be encrypted using advanced encryption standard (aes). following options are configure component: name description required default environment variables database.addr full connection string true sqlite3 database_addr vela_database_addr database.driver type client control operate vela.sqlite database_driver vela_database_driver database.compression.level level compression logs database_compression_level vela_database_compression_level database.connection.idle maximum number idle connections database_connection_idle vela_database_connection_idle database.connection.life duration time reusable 30m database_connection_life vela_database_connection_life database.connection.open open database_connection_open vela_database_connection_open database.encryption.key aes-256 key encrypting/decrypting values n/a database_encryption_key vela_database_encryption_key database.skip_creation skips creation tables indexes false database_skip_creation vela_database_skip_creation database.log.level log warn database_log_level vela_database_log_level database.log.show_sql show sql query database_log_show_sql vela_database_log_show_sql database.log.skip_notfound skip logging not found errors database_log_skip_notfound vela_database_log_skip_notfound database.log.slow_threshold queries higher than value considered slow logged 200ms database_log_slow_threshold vela_database_log_slow_threshold more on these options, please see server reference. drivers available documentation postgres uses postgresql rest https://www.postgresql.org/ sqlite https://www.sqlite.org/ from official website: powerful, source object-relational over 30 years active development that has earned it strong reputation reliability, feature robustness, performance. below displays example starting connect database: docker run --detach=true --env=vela_addr=https://vela-server.example.com --env=vela_database_driver=postgres --env=vela_database_addr=postgres://<username>:<password>@<hostname>:<port>/<database> --env=vela_database_encryption_key=<encryption-key> --env=vela_queue_driver=redis --env=vela_queue_addr=redis://<password>@<hostname>:<port>/<database> --env=vela_port=443 --env=vela_secret=<shared-secret> --env=vela_server_private_key=<private_key> --env=vela_scm_client=<oauth-client-id> --env=vela_scm_secret=<oauth-client-secret> --env=vela_webui_addr=https://vela.example.com --name=server --publish=80:80 --publish=443:443 --restart=always target/vela-server:latest c-language library implements small, fast, self-contained, high-reliability, full-featured, engine. most engine world. built into all mobile phones computers comes bundled inside countless other applications people use every day. --env=vela_database_driver=sqlite3 --env=vela_database_addr=vela.sqlite enabled provide order "},{"url":"https://go-vela.github.io/docs/reference/api/dashboard/delete/","display":"API/Dashboard/Delete","title":"Delete","content":"endpoint delete /api/v1/dashboards/:id permissions coming soon! responses status code description 200 indicates the request has succeeded 400 bad 401 user does not have proper 500 server error sample section assumes you already know how to authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/dashboards/f460e0a1-a6a5-4724-89e8-4b2b39e12012" response "dashboard test deleted" "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/docker/","display":"Registry/Pipeline/Docker","title":"Docker","content":"description plugin enables you to build publish docker images vela pipeline. source code: https://github.com/go-vela/vela-docker registry: https://hub.docker.com/r/target/vela-docker usage note: users should refrain from using latest as the tag for image. it recommended use semantically versioned instead. samples of building publishing an image: steps: name: publish_hello-world target/vela-docker:latest pull: always parameters: index.docker.io repo: octocat/hello-world tags: index.docker.io/octocat/hello-world:latest two above are functionally equivalent. sample image without publishing: hello world dry_run: true with custom octocat/hello-world:1 index.docker.io/octocat/hello-world:foobar arguments: build_args: foo=bar caching: cache_from: index.docker.io/octocat/hello-world daemon settings: daemon: registry_mirrors: mirror.index.docker.io secrets configuring sensitive information your pipeline plain text. internal can substitute these values at runtime: secrets: docker_username, docker_password username: octocat password: supersecretpassword example will add step environment variables: docker_username=<value> docker_password=<value> external accepts following files authentication: parameter volume configuration password /vela/parameters/docker/password, /vela/secrets/docker/password username /vela/parameters/docker/username, /vela/secrets/docker/username read secret stored /vela/secrets/ parameters supports reading all via variables files. any set file take precedence over environment. by default kit on; be turned off setting docker_buildkit=0 key.key syntax signifies new yaml object within definition. used configure name required add_hosts host-to-ip mapping format (host:ip) false n/a parameter_add_hosts docker_add_hosts build_args pass build-time parameter_build_args docker_build_args cache_from consider cache sources parameter_cache_from docker_cache_from cgroup_parent parent cgroup container parameter_cgroup_parent docker_cgroup_parent compress enable compressing context gzip parameter_compress docker_compress and/or directory parameter_context docker_context cpu parameter, see settings below parameter_cpu docker_cpu parameter_daemon docker_daemon disable_content_trust skipping verification parameter_disable_content_trust docker_disable_content_trust dry_run parameter_dry_run docker_dry_run dockerfile parameter_file docker_file force_rm removing intermediate containers after successful parameter_force_rm docker_force_rm image_id_file write id parameter_image_id_file docker_image_id_file isolation technology parameter_isolation docker_isolation labels metadata parameter_labels docker_labels log_level log level info parameter_log_level docker_log_level memory limit parameter_memory docker_memory memory_swaps swap equal plus swap: ‘-1’ unlimited parameter_memory_swaps docker_memory_swaps network networking mode run instructions during parameter_network docker_network no_cache disable caching when parameter_no_cache docker_no_cache output destination (type=local,dest=path) parameter_outputs docker_outputs communication registry parameter_password platform if server multi-platform capable parameter_platform docker_platform progress type options (auto|plain|tty) parameter_progress docker_progress pull attempting newer version parameter_pull docker_pull quiet suppressing print on success parameter_quiet docker_quiet address communicate parameter_registry docker_registry remove parameter_remove docker_remove repo repository parameter_repo docker_repo expose (only buildkit enabled) (id=mysecret,src=/local/secret) parameter_secrets docker_secrets security_opts security parameter_security_opts docker_security_opts shm_sizes size /dev/shm parameter_shm_sizes docker_shm_sizes squash squashing newly built layers into single layer parameter_squash docker_squash ssh_components ssh agent socket keys (default|[=|[,]]) parameter_ssh_components docker_ssh_components stream attaching negotiate parameter_stream docker_stream tags (name:tag) parameter_tags docker_tags target stage parameter_target docker_target ulimits parameter_ulimits docker_ulimits user parameter_username docker_username parameter: period cfs (completely fair scheduler) quota shares (relative weight) set_cpus cpus which allow execution (0-3, 0,1) set_mems mems bip bridge ip dns settings, experimental features insecure_registries insecure registries ipv6 mtu contain registry_mirrors mirrors storage setting: servers nameservers searches search domains driver opts template coming soon! troubleshooting start tuning logs being displayed: log_level: trace list common problems how solve them: "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/downstream/","display":"Registry/Pipeline/Downstream","title":"Downstream","content":"description plugin enables you to trigger builds for other repos vela pipeline. source code: https://github.com/go-vela/vela-downstream registry: https://hub.docker.com/r/target/vela-downstream usage note: users should refrain from using latest as the tag docker image. it recommended use semantically versioned instead. sample of triggering downstream build: steps: name: trigger_hello-world image: target/vela-downstream:latest pull: always parameters: repos: octocat/hello-world server: https://vela-server.localhost build specific branch: main event: status: can provide list statuses plugin. first found matching either will be triggered. success, failure multiple trigger_multiple go-vela/hello-world with different branches: symbol at end org/repo unique branch per repo. override value set parameter. octocat/hello-world@test go-vela/hello-world@stage secrets configuring sensitive information your pipeline plain text. personal access token related control manager (github, gitlab, etc.) required. must tied user that exists vela, is, has logged into least once. additionally, have write both origin repo any repos. internal substitute these values runtime: secrets: downstream_token token: supersecretvelatoken example add secret step environment variables: downstream_token=<value> external accepts following files authentication: parameter volume configuration /vela/parameters/downstream/token, /vela/secrets/downstream/token read stored /vela/secrets/ parameters supports reading all via variables files. file take precedence over environment. are used configure name required default on false n/a parameter_branch downstream_branch event true push parameter_event downstream_event log_level log level info parameter_log_level downstream_log_level names parameter_repos downstream_repos server communicate parameter_server downstream_server status success parameter_status downstream_status scm an existing parameter_token report_back whether not track parameter_report_back downstream_report_back target_status look parameter_target_status downstream_target_status timeout how long wait 30m parameter_timeout downstream_timeout continue_on_not_found continue find one parameter_continue_on_not_found downstream_continue_on_not_found template coming soon! troubleshooting start by tuning logs being displayed: log_level: trace below common problems solve them: unable authenticate: does record owns token, even if management system may valid. once fix issue. restart myorg/myrepo/1234 permission given token. make sure .vela.yml inside want for. admin "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/email/","display":"Registry/Pipeline/Email","title":"Email","content":"description plugin enables you to send data an email. source code: https://github.com/go-vela/vela-email registry: https://hub.docker.com/r/target/vela-email usage note: users should refrain from using latest as the tag for docker image. it recommended use semantically versioned instead. sample .vela.yml secrets: name: username engine: native key: vela/noreply/username type: shared password vela/noreply/password steps: email on success image: target/vela-email:latest pull: not_present [username, password] ruleset: status: parameters: from: vela-noreply@fakemail.com to: [one@email.com, two@email.com] sendtype: starttls auth: loginauth host: smtp.youremailserver.com port: 587 subject: "{{ .vela_build_commit }}" text: "author: {{ .vela_build_author }} branch: .vela_build_branch failure with attachment filename: <filename> emailone@email.com, emailtwo@email.com vela pipeline .vela_repo_full_name content-type: text/plain buildauthor: buildauthoremail: .vela_build_author_email buildbranch: buildcommit: buildcreated: .buildcreated buildmessage: .vela_build_message buildnumber: .vela_build_number repositoryfullname: repositorylink: .vela_repo_link secrets configuring sensitive information your plain text. internal accepts following parameters authentication: parameter environment variable configuration parameter_username, parameter_password, can substitute these values at runtime: always username, username: usernameexample@email.com example will add secret step variables: username=<value> external files volume /vela/parameters/email/username, /vela/secrets/email/username /vela/parameters/email/password, /vela/secrets/email/password read value stored /vela/secrets/ any set file take precedence over environment. environments be found all variables are wrapped sprig template. more docs used configure logging required default log_level log level (valid options: info, debug, trace) true info parameter_log_level email_log_level who being sent n/a parameter_from email_from parameter_to email_to cc carbon copy of false parameter_cc email_cc bcc blind parameter_bcc email_bcc sender (will overwrite from) parameter_sender email_sender replyto address that replies parameter_replyto email_replyto subject parameter_subject email_subject text body format (html text) parameter_text email_text html hmtl parameter_html email_html readreceipt delivery confirmation parameter_readreceipt email_readreceipt to, cc, array emails of: one@email.com, two@email.com firstname lastname <one@email.com>, <two@email.com> subject, body, accept such as: attached parameter_attachment email_attachment filename populate parameter_filename email_filename smtp host parameter_host email_host port parameter_port email_port parameter_username email_username parameter_password email_password tls servername server parameter_servername email_servername insecureskipverify verification server’s certificate chain name. only testing purposes makes susceptible man-in-middle attacks. parameter_skipverify email_skipverify encryption sendtype security option: plain, starttls, tls) parameter_sendtype email_sendtype authentication auth login plainauth, loginauth) parameter_auth email_auth plainauth smtp/auth server. custom office 365/exchange provides user friendly timestamp text, timestamps converted unix utc. buildcreated buildenqueued buildfinished buildstarted defaults context-type options follow: text/html based message. <table> <tbody> <tr> <td width="600"> <div> <table width="100%" cellspacing="0" cellpadding="0"> <td> <td>build number:</td> <a href="{{ .vela_build_link }}"> </a> </td> </tr> <td>repo:</td> <td>{{ }}</td> <td>author:</td> ({{ }}) <td>branch:</td> <td>commit:</td> <td>started at:</td> </tbody> </table> <hr /> </div> template coming soon! troubleshooting start by tuning logs displayed: log_level: trace ... below list common problems how solve them: "},{"url":"https://go-vela.github.io/docs/usage/enable_repo/","display":"Docs/Usage/Enable repo","title":"Enable a Repo","content":"note: you will need admin access to the repo be able activate it vela. because add webhooks repo. via ui for example, we’ll go over using can always head cli docs on how cli. log into your vela instance. click repositories. select org from available list. next would like add. alternatively all repos an org. if doesn’t exist, try clicking refresh list top right. now has necessary web hook tip: you’re coming another ci platform set starting build number by updating counter field ui, cli, api. "},{"url":"https://go-vela.github.io/docs/reference/cli/pipeline/exec/","display":"CLI/Pipeline/Exec","title":"Exec","content":"command vela exec pipeline <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: ruleset name description environment variables branch build vela_branch, pipeline_branch comment vela_comment, pipeline_comment event vela_event, pipeline_event tag vela_tag, pipeline_tag target vela_target, pipeline_target file-changeset file changeset vela_file_changeset, file_changeset repo settings org provide organization vela_org, pipeline_org repository vela_repo, pipeline_repo pipeline-type type vela_pipeline_type, pipeline_type template compiler.github.token pat accessing github sourced templates vela_compiler_github_token, compiler_github_token compiler.github.url url vela_compiler_github_url, compiler_github_url template-file list of local form vela_template_file, pipeline_template_file max-template-depth maximum depth requesting nested vela_max_template_depth, max_template_depth env-file bool value whether not source from an env (default .env) vela_env_file, env_file env-file-path path override default .env sourcing vela_env_file_path, env_file_path local-env onboard your onboard_local_env, local_env env-vars include vela_env_vars other output format json, spew yaml vela_output, pipeline_output vela_file, pipeline_file vela_path, pipeline_path enables mounting directory vela_local, pipeline_local volume volumes mount vela_volumes, pipeline_volumes unless flag supplied, will execute without any set environment. instead, users encouraged supply their own (e.g. --env-file --env-file-path custom.env). many plugins, starlark/go templates, resources depend on vela-injected variables, such as vela_build_commit. these have be supplied by user, there way compiler determine values locally. secrets does access secret stored attached store. using flag, ie --env-vars my_secret=foo. they also with flags. example, if kaniko plugin, it may require kaniko_password, which provided kaniko_password=mypass. sample section assumes already installed setup cli. install cli, please review installation documentation. authentication request response [step: init] > inspecting runtime network... docker network inspect localorg_localrepo_1 "name": "localorg_localrepo_1", "id": "cf204e6081cd4c10e3a285e7545790152afca05991c2dc67534f496844c1d274", "created": "2021-06-01t19:37:35.4772628z", "scope": "local", "driver": "bridge", "enableipv6": false, "ipam": "default", "options": null, "config": "subnet": "192.168.0.0/20", "gateway": "192.168.0.1" }, "internal": "attachable": "ingress": "configfrom": "network": "" "configonly": "containers": {}, "labels": {} volume... "createdat": "2021-06-01t19:37:35z", "mountpoint": "/var/lib/docker/volumes/localorg_localrepo_1/_data", "local" pulling service images... stage step image alpine:latest sha256:6dbb9cc54074106d46d4ccb330f2a40a682d49dda5f4844962b7dce9fe44aaec hello vela] echo "hello vela!" vela! complex samples below several examples .vela.yml version: "1" templates: name: tmpl source: git.example.com/cloud/vela-templates/kaniko.yml@main type: steps: testing image: commands: ruleset: matcher: regexp path: src/* ran template: vars: repo: docker.example.com/octocat/hello-world kaniko.yml metadata: true environment: {{ .repo }} secrets: docker_username key: octocat/docker_username engine: native docker_password octocat/docker_password publish target/vela-kaniko:latest docker_username, parameters: registry: docker.example.com ${repo} remote onboarding docker_username=octocat docker_password=abc123 vela_build_commit=1a2b3c --ct <github_pat> --cgu https://git.example.com --local-env note: onboards entire bash load specific use --env-vars: docker_username=octocat,docker_password=abc123,vela_build_commit=1a2b3c --template-file tmpl:path/to/template.yml vela_exec.env inclusion order steps rulesets, sure all necessary flags that match rules --file-changeset src/main.go rules: --branch, --event, --comment, --tag, --target "},{"url":"https://go-vela.github.io/docs/installation/worker/reference/executor/","display":"Worker/Reference/Executor","title":"Executor","content":"component responsible for coordinating with the runtime to manage workload resources. throughout lifecycle of these resources, will track report results back server. configuration following options are used configure component: name description required default environment variables executor.driver type client control operate executor true linux executor_driver vela_executor_driver executor.max_log_size maximum log size (in bytes) false (no limit) executor_max_log_size vela_executor_max_log_size executor.log_streaming_timeout time wait, after build completion, logs finish streaming 5m executor_log_streaming_timeout vela_executor_log_streaming_timeout note: more information on options, please see worker reference. drivers available documentation uses running workloads https://www.linux.com/ local (cli only) n/a from official website: has been around since mid-1990s reached user-base that spans globe. just like windows, ios, mac os, an operating system. fact, one most popular platforms planet, android, powered by below displays example starting vela use executor: docker run --detach=true --env=vela_executor_driver=linux --env=vela_queue_driver=redis --env=vela_server_addr=https://vela-server.example.com --env=vela_server_secret=<shared-secret> --env=vela_worker_addr=https://vela-worker.example.com --name=worker --publish=80:80 --publish=443:443 --restart=always --volume=/var/run/docker.sock:/var/run/docker.sock target/vela-worker:latest enabled not necessary provide order operate. driver only intended cli. it’s recommended any configured driver. "},{"url":"https://go-vela.github.io/docs/reference/api/pipeline/expand/","display":"API/Pipeline/Expand","title":"Expand","content":"endpoint post /api/v1/pipelines/:org/:repo/:pipeline/expand parameters the following are used to configure endpoint: name description org of organization repo repository pipeline commit sha for from output format compiled configuration permissions coming soon! responses status code 200 indicates request has succeeded 400 unable retrieve expand templates 401 user does not have proper 404 500 system error while retrieving expanding sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/pipelines/github/octocat/48afb5bdc41ad69bf22588491333f7cf71135163/expand" response notice, when step fields such as image commands will be arranged alphabetical order. version: "1" secrets: name: go_module key: github/octocat/template_secret engine: native type: steps: commands: go vet ./... && git diff --exit-code; code=$?; checkout -- .; (exit $code) fmt image: golang:latest go_validate pull: not_present test go_test build -a -ldflags '-extldflags "-static"' -o release/heyvela {$go_module} go_build environment: cgo_enabled: "0" goos: linux templates: source: github.com/github/octocat/go/template.yml github "version": "1", "metadata": {}, "worker": "secrets": "name": "go_module", "key": "github/octocat/template_secret", "engine": "native", "type": "repo", "origin": "ruleset": "if": "unless": {} ], "steps": }, "commands": "go $code)", $code)" "template": "image": "golang:latest", "go_validate", "pull": "not_present" ./..." "go_test", "-static "' {$go_module}" "go_build", "not_present", "environment": "cgo_enabled": "0", "goos": "linux" "templates": "go", "source": "github.com/github/octocat/go/template.yml", "github" "},{"url":"https://go-vela.github.io/docs/templates/tutorials/go/functions/","display":"Tutorials/Go/Functions","title":"Functions","content":"we recommend reviewing go templates documentation before attempting to create template. if you’re new yaml also the 1.2 spec for validation on syntax. overview provides limited set of built-in template functions. vela number additional, predefined functions utilize templates. see list example function call: {{ printf "%q" "output" }} call whose final argument comes from previous command: custom sprig over 100 additional please refer original documentation. note, env expandenv are not available vela. toyaml intended ease working with passing rendering content .vela.yml version: "1" templates: name: golang source: github.com/<org>/<repo>/path/to/file/<template>.yml type: github steps: sample template: vars: ruleset: event: push, pull_request branch: main metadata: true install commands: test image: alpine {{- .ruleset nindent pipeline above place, resulting would render as follows: sample_install convenience accessing environment variables within your its dedicated platform vars page more info. "},{"url":"https://go-vela.github.io/docs/templates/tutorials/starlark/functions/","display":"Tutorials/Starlark/Functions","title":"Functions","content":"we recommend reviewing starlark spec before attempting to create template. overview from functions: def twice(x): return str(twice) "<function f>" twice(2) twice("two") "twotwo" the function’s name preceded by keyword followed parameter list (which enclosed parentheses), colon, then an indented block of statements which form body function. comma-separated whose elements are four kinds. first come zero more required parameters, simple identifiers; all calls must provide argument value for these parameters. parameters optional name=expression. expression specifies default use that do not it. optionally single *. called varargs parameter, it accumulates surplus positional arguments specified call. finally, there may be **. dictionary any name=value match prior parameter. limitation on how many steps can used determined vela_compiler_starlark_exec_limit flag set platform administrators. sample let’s take look at using function within template: main(ctx): 'version': '1', 'steps': step('foo'), step('bar') ], step(word): "name": "build_%s" word, "image": "alpine:latest", 'commands': "echo %s" word caller template could like: version: "1" templates: name: source: github.com/<org>/<repo>/path/to/file/<template>.star format: type: github steps: echo means compiled pipeline execution worker is: sample_build_foo image: alpine:latest commands: foo sample_build_bar bar "},{"url":"https://go-vela.github.io/docs/reference/cli/completion/generate/","display":"CLI/Completion/Generate","title":"Generate","content":"command vela generate completion <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables bash auto-completion script vela_bash, completion_bash zsh vela_zsh, completion_zsh permissions coming soon! sample section assumes have already installed setup cli. install cli, please review installation documentation. authentication request --bash response #! /bin/bash _cli_bash_autocomplete() if [[ "${comp_words[0]}" != "source" ]]; then local cur opts base compreply=() cur="${comp_words[comp_cword]}" "$cur" == "-"* opts=$( ${comp_words[@]:0:$comp_cword} ${cur} --generate-bash-completion else fi compreply=( $(compgen -w "${opts}" -- ${cur}) return complete -o bashdefault default nospace -f _cli_bash_autocomplete permanent automatic covers how enable your terminal permanently. version of greater than 4. check with: --version older 4, use brew newer version. v2 bash-completion@2 copy >> /usr/local/etc/bash_completion.d/vela.sh update profile with export bash_completion_compat_dir="/usr/local/etc/bash_completion.d" $home/.bash_profile -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && source current <(vela --zsh) $home/.zshrc you’re met an error like: complete:13: not found: compdef need add top $home/.zshrc: autoload -uz compinit "},{"url":"https://go-vela.github.io/docs/reference/cli/config/generate/","display":"CLI/Config/Generate","title":"Generate","content":"command vela generate config <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables api.addr full url api server vela_addr, config_addr api.token.access access token vela_access_token, config_access_token api.token.refresh refresh vela_refresh_token, config_refresh_token api.token pat vela_token, config_token api.version version of vela_api_version, config_api_version log.level set level logging vela_log_level, config_log_level no-git whether cli finds repo cwd automatically vela_no_git, config_no_git output format results vela_output, config_output org organization calls vela_org, config_org repository vela_repo, config_repo secret.engine secret engine vela_engine, config_engine secret.type type vela_type, config_type permissions coming soon! sample section assumes have already installed setup cli. install cli, please review installation documentation. authentication request --api.addr https://vela.example.com --log.level info response api: addr: log: level: no-git: "false" secret: {} "},{"url":"https://go-vela.github.io/docs/reference/cli/pipeline/generate/","display":"CLI/Pipeline/Generate","title":"Generate","content":"command vela generate pipeline <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables file of vela_file, pipeline_file path vela_path, pipeline_path stages generates with vela_stages, pipeline_stages type being generated vela_type, pipeline_type permissions coming soon! sample section assumes have already installed setup cli. install cli, please review installation documentation. authentication request response ".vela.yml" go "},{"url":"https://go-vela.github.io/docs/reference/api/build/get/","display":"API/Build/Get","title":"Get","content":"endpoint get /api/v1/repos/:org/:repo/builds parameters the following are used to configure endpoint: name description org of organization repo repository filters optional available: branch filter commit hash event page number for results (default 1) per_page 10, max 100) status before return builds created certain time (unix epoch, default now) after 0) permissions coming soon! responses code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds" with "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds?event=push" response "id": 2, "repo_id": 1, "number": "parent": "event": "push", "status": "running", "error": "", "enqueued": 1563474204, "created": "started": "finished": 0, "deploy": "clone": "https://github.com/github/octocat.git", "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", "title": "push received from https://github.com/github/octocat", "message": "second commit...", "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "sender": "octokitty", "author": "branch": "main", "ref": "refs/heads/main", "base_ref": "host": "ed95dcc0687c", "runtime": "distribution": "" }, 1563474077, 1563474076, "first "82823eb770b0", "},{"url":"https://go-vela.github.io/docs/reference/api/dashboard/get/","display":"API/Dashboard/Get","title":"Get","content":"endpoint get /api/v1/dashboards/:id permissions coming soon! responses status code description 200 indicates the request has succeeded 400 bad 401 user does not have proper 404 resource exist 500 server error sample section assumes you already know how to authenticate api. api, please review authentication documentation. curl -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/dashboards/3e84cf64-4730-4067-bdbc-6961e37a3a92" response "dashboard": "id": "3e84cf64-4730-4067-bdbc-6961e37a3a92", "name": "test", "created_at": 1721254450, "created_by": "octocat", "updated_at": 1721254596, "updated_by": "admins": 126, "active": true ], "repos": 293, "octocat/myvela" }, "org": "myvela", "counter": 1703, true, "builds": "number": "started": 1721164234, "finished": 1721164240, "sender": "status": "success", "event": "push", "branch": "develop", "link": "https://http://127.0.0.1:8080/octocat/myvela/1703" 1702, "pending approval", "pull_request", "main", "https://http://127.0.0.1:8080/octocat/myvela/1702" 1701, 1721071014, 1721071016, "failure", "https://http://127.0.0.1:8080/octocat/myvela/1701" 1700, 1721070428, 1721070441, "https://http://127.0.0.1:8080/octocat/myvela/1700" 1699, 1721070363, 1721070375, "https://http://127.0.0.1:8080/octocat/myvela/1699" "},{"url":"https://go-vela.github.io/docs/reference/api/deployment/get/","display":"API/Deployment/Get","title":"Get","content":"endpoint get /api/v1/deployments/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/deployments/github/octocat" response "id": 2, "repo_id": 1, "url": "https://api.github.com/repos/github/octocat/deployments/2", "user": "octocat", "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "ref": "main", "task": "deploy:vela", "target": "production", "description": "deployment from vela", "payload": {}, "builds": 10, "number": 5, "parent": 4, "event": "push", "status": "created", "error": "", "enqueued": 1563474204, "created": "started": "finished": 0, "deploy": "clone": "https://github.com/github/octocat.git", "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", "title": "push received https://github.com/github/octocat", "message": "second commit...", "sender": "octokitty", "author": "branch": "refs/heads/main", "base_ref": "host": "ed95dcc0687c", "runtime": "distribution": "" }, 9, "https://api.github.com/repos/github/octocat/deployments/9", 3, 1563474077, 1563474076, "first "82823eb770b0", "},{"url":"https://go-vela.github.io/docs/reference/api/hook/get/","display":"API/Hook/Get","title":"Get","content":"endpoint get /api/v1/hooks/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/hooks/github/octocat" response "id": 2, "repo_id": 1, "build_id": "number": "source_id": "c8da1302-07d6-11ea-882f-4893bca275b8", "created": "1563474076", "host": "github.com", "event": "push", "branch": "main", "error": "", "status": "success", "link": "" }, "},{"url":"https://go-vela.github.io/docs/reference/api/pipeline/get/","display":"API/Pipeline/Get","title":"Get","content":"endpoint get /api/v1/pipelines/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 400 unable retrieve pipeline configuration 401 user does not have proper 404 500 system error while retrieving sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/pipelines/github/octocat" response "id": 2, "repo_id": 1, "commit": "a49aaf4afae6431a79239c95247a2b169fd9f067", "flavor": "", "platform": "ref": "refs/heads/main", "type": "yaml", "version": "1", "external_secrets": false, "internal_secrets": "services": "stages": "steps": true, "templates": "data": "ls0tcnzlcnnpb246icixigokc3rlchm6ciaglsbuyw1loibly2hvciagicbpbwfnztogywxwaw5lomxhdgvzdaogicagy29tbwfuzhm6iftly2hvigzvb10=" }, "48afb5bdc41ad69bf22588491333f7cf71135163", "},{"url":"https://go-vela.github.io/docs/reference/api/repo/get/","display":"API/Repo/Get","title":"Get","content":"endpoint get /api/v1/repos will return list of all repos owned by the user. filters following optional are available: name description page number for results (default 1) per_page 10, max 100) permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos" response "id": 1, "user_id": "org": "github", "name": "octocat", "full_name": "github/octocat", "link": "https://github.com/github/octocat", "clone": "https://github.com/github/octocat.git", "branch": "main", "build_limit": "timeout": 60, "counter": 0, "visibility": "public", "private": false, "trusted": true, "active": "allow_pull": "allow_push": "allow_deploy": "allow_tag": "allow_comment": "allow_events": "push": "tag": "delete_branch": "delete_tag": false }, "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": true "comment": "schedule": "run": "pipeline_type": "yaml" 2, "octokitty", "github/octokitty", "https://github.com/github/octokitty", "https://github.com/github/octokitty.git", /api/v1/repos/:org parameters used configure endpoint: org organization active filter whether true) sort_by sort (default) latest, which sorts latest build activity "http://127.0.0.1:8080/api/v1/repos/octocat" "example", "octocat/example", "https://github.com/octocat/example", "https://github.com/octocat/example.git", "octocat/octokitty", "https://github.com/octocat/octokitty", "https://github.com/octocat/octokitty.git", "},{"url":"https://go-vela.github.io/docs/reference/api/schedule/get/","display":"API/Schedule/Get","title":"Get","content":"endpoint get /api/v1/schedules/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 400 unable retrieve schedules 401 user does not have proper 404 500 system error while retrieving sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/schedules/github/octocat" response "id": 1, "repo": "owner": "name": "octokitty", "active": true }, "org": "github", "full_name": "github/octokitty", "link": "https://github.com/github/octokitty", "clone": "https://github.com/github/octokitty.git", "branch": "main", "topics": [], "build_limit": 10, "timeout": 30, "counter": 0, "visibility": "public", "private": false, "trusted": true, "allow_events": "push": "tag": "delete_branch": "delete_tag": false "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": "comment": "schedule": "run": "pipeline_type": "yaml", "previous_name": "", "approve_build": "fork-always" "hourly", "entry": "0 *", "created_at": 1716495910, "created_by": "updated_at": "updated_by": "scheduled_at": "error": "next_run": 1716499800 2, "nightly", "},{"url":"https://go-vela.github.io/docs/reference/api/secret/get/","display":"API/Secret/Get","title":"Get","content":"endpoint get /api/v1/secrets/:engine/:type/:org/:name parameters the following are used to configure endpoint: name description engine of type secret org organization repository team permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/secrets/native/repo/github/octocat" response "id": 1, "org": "github", "repo": "octocat", "team": "", "name": "foo", "value": null, "type": "repo", "images": ["alpine"], "events": ["push"], "allow_command": true, "allow_substitution": "allow_events": "push": "branch": "tag": "delete_branch": false, "delete_tag": false }, "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": true "comment": "schedule": "run": "created_at": 1641314085, "created_by": "octokitty", "updated_at": "updated_by": "octokitty" 2, "bar", 1641314500, "},{"url":"https://go-vela.github.io/docs/reference/api/service/get/","display":"API/Service/Get","title":"Get","content":"endpoint get /api/v1/repos/:org/:repo/builds/:build/services parameters the following are used to configure endpoint: name description org of organization repo repository build number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/services" response "id": 2, "build_id": 1, "repo_id": "number": "name": "build", "status": "success", "error": "", "exit_code": 0, "created": 1563475419, "started": 1563475420, "finished": 1563475421 }, "clone", "},{"url":"https://go-vela.github.io/docs/reference/api/step/get/","display":"API/Step/Get","title":"Get","content":"endpoint get /api/v1/repos/:org/:repo/builds/:build/steps parameters the following are used to configure endpoint: name description org of organization repo repository build number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/steps" response "id": 2, "build_id": 1, "repo_id": "number": "name": "build", "status": "success", "error": "", "exit_code": 0, "created": 1563475419, "started": "finished": "host": "company.localhost", "runtime": "docker", "distribution": "linux" }, "clone", "},{"url":"https://go-vela.github.io/docs/reference/api/user/get/","display":"API/User/Get","title":"Get","content":"endpoint get /api/v1/users permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/users" response "id": 2, "name": "octocat", "token": null, "favorites": ["github/octocat"], "active": true, "admin": false }, 1, "octokitty", "},{"url":"https://go-vela.github.io/docs/reference/cli/build/get/","display":"CLI/Build/Get","title":"Get","content":"command vela get build <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization builds vela_org, build_org repo repository vela_repo, build_repo event filter vela_event, build_event status vela_status, build_status branch vela_branch, build_branch output format vela_output, build_output page prints specific vela_page, build_page per.page number print per vela_per_page, build_per_page also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build targeted --org github --repo octocat response duration failure push main 45s 50s success 54s 55s pending ... "},{"url":"https://go-vela.github.io/docs/reference/cli/dashboard/get/","display":"CLI/Dashboard/Get","title":"Get","content":"command vela get dashboard <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables full output repo build information vela_full, dashboard_full format dashboards vela_output, dashboard_output also supports setting via configuration file: please review cli config documentation. sample section assumes have already installed setup cli. install cli, installation authentication request response [{ name: octocat main branches, id: 59376e53-879f-478e-b6d2-b8aefe219c6d, admins: active: true, admin: false, dashboards: [], favorites: 1, octokitty, token: }], createdat: 1715117480, createdby: updatedat: updatedby: repos: octocat/hello-world, branches: [main], events: octocat/spoon-knife, 2, pr events, 0ebb9f01-389c-4a0f-b301-6bf2f9a0fe3b, 1716397739, [pull_request], }] examples examples: 1. user dashboards. 2. with information. --full "},{"url":"https://go-vela.github.io/docs/reference/cli/deployment/get/","display":"CLI/Deployment/Get","title":"Get","content":"command vela get deployment <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization deployments vela_org, deployment_org repo repository vela_repo, deployment_repo output format vela_output, deployment_output page prints specific vela_page, deployment_page per.page number print per vela_per_page, deployment_per_page also supports setting via configuration file: please review cli config documentation. sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response generated from successful id task user ref target deploy:vela main production examples examples: 1. repository. myorg myrepo 2. with wide view output. --output 3. yaml 4. json 5. when set. "},{"url":"https://go-vela.github.io/docs/reference/cli/hook/get/","display":"CLI/Hook/Get","title":"Get","content":"command vela get hook <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization hooks vela_org, hook_org repo repository vela_repo, hook_repo output format vela_output, hook_output page prints specific vela_page, hook_page per.page number print per vela_per_page, hook_per_page also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response status event branch failure push main success "},{"url":"https://go-vela.github.io/docs/reference/cli/log/get/","display":"CLI/Log/Get","title":"Get","content":"command vela get log <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, log_org repo repository vela_repo, log_repo build number vela_build, log_build output format logs vela_output, log_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build targeted --org github --repo octocat response git init initialized empty /vela/src/github.com/github/octocat/.git/ remote add origin https://github.com/github/octocat.git --verbose (fetch) (push) fetch --no-tags refs/heads/main from https://github.com/github/octocat branch main -> fetch_head [new branch] origin/main reset --hard afafce5e33a8efd4340613b31a953107d6dec3a3 head now at afafce5 dummy commit echo "hello world!" hello world! "},{"url":"https://go-vela.github.io/docs/reference/cli/pipeline/get/","display":"CLI/Pipeline/Get","title":"Get","content":"command vela get pipeline <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization pipelines vela_org, hook_org repo repository vela_repo, hook_repo output format vela_output, hook_output page prints specific vela_page, hook_page per.page number print per vela_per_page, hook_per_page also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response commit ref type version stages steps a49aaf4afae6431a79239c95247a2b169fd9f067 refs/heads/main yaml 48afb5bdc41ad69bf22588491333f7cf71135163 "},{"url":"https://go-vela.github.io/docs/reference/cli/repo/get/","display":"CLI/Repo/Get","title":"Get","content":"command vela get repo <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization repository vela_org, repo_org vela_repo, repo_name output format vela_output, repo_output page prints specific repositories vela_page, repo_page per.page number print per vela_per_page, repo_per_page also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request repos response org/repo status events visibility branch github/octocat true push,pull_request public main "},{"url":"https://go-vela.github.io/docs/reference/cli/schedule/get/","display":"CLI/Schedule/Get","title":"Get","content":"command vela get schedule <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization schedules vela_org, schedule_org repo repository vela_repo, schedule_repo output format vela_output, schedule_output page prints specific vela_page, schedule_page per.page number print per vela_per_page, schedule_per_page also supports setting via configuration file: please review cli config documentation. sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response entry active scheduled_at branch nightly true long while ago main hourly examples examples: 1. list repository. myorg myrepo 2. with wide view output. --output 3. yaml 4. json 5. when set. "},{"url":"https://go-vela.github.io/docs/reference/cli/secret/get/","display":"CLI/Secret/Get","title":"Get","content":"command vela get secret <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization secrets vela_org, secret_org repo repository vela_repo, secret_repo secret.engine engine that stores vela_engine. secret_engine secret.type type being stored vela_type, secret_type team secrets, ‘*’ all teams vela_team, secret_team output format vela_output, secret_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --secret.engine native --secret.type targeted --org github --repo octocat response events foo github/octocat push,pull_request "},{"url":"https://go-vela.github.io/docs/reference/cli/service/get/","display":"CLI/Service/Get","title":"Get","content":"command vela get service <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization services vela_org, service_org repo repository vela_repo, service_repo build number vela_build, service_build output format vela_output, service_output page prints specific vela_page, service_page per.page print per vela_per_page, service_per_page also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build targeted --org github --repo octocat response status runtime duration publish failure 1s success 17s test 10s clone 2s "},{"url":"https://go-vela.github.io/docs/reference/cli/step/get/","display":"CLI/Step/Get","title":"Get","content":"command vela get step <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization steps vela_org, step_org repo repository vela_repo, step_repo build number vela_build, step_build output format vela_output, step_output page prints specific vela_page, step_page per.page print per vela_per_page, step_per_page also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build targeted --org github --repo octocat response status runtime duration publish failure 1s success 17s test 10s clone 2s "},{"url":"https://go-vela.github.io/docs/reference/cli/worker/get/","display":"CLI/Worker/Get","title":"Get","content":"command vela get workers <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables output format vela_output, worker_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request response generated from successful hostname active routes last_checked_in myworker1 true [vela] 1681485812 myworker2 1681485814 examples examples: 1. list of workers. worker 2. with wide view output. --output 3. yaml 4. json 5. when set. "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/git/","display":"Registry/Pipeline/Git","title":"Git","content":"description note: plugin automatically injected into your pipeline for the source repository. enables you to clone repositories vela build workspace. code: https://github.com/go-vela/vela-git registry: https://hub.docker.com/r/target/vela-git usage users should refrain from using latest as tag docker image. it recommended use semantically versioned instead. sample of cloning repository: steps: name: clone_hello-world image: target/vela-git:latest pull: always parameters: path: hello-world ref: refs/heads/master remote: https://github.com/octocat/hello-world.git sha: 7fd1a60b01f91b314f59955a4e4d4e80d8edf11d repository with submodules: true tags: secrets configuring sensitive information plain text. internal can substitute these values at runtime: secrets: git_username, git_password username: octocat password: supersecretpassword /home/octocat_hello-world_1 example will add step environment variables: git_username=<value> git_password=<value> external accepts following files authentication: parameter volume configuration password /vela/parameters/git/password, /vela/secrets/git/password username /vela/parameters/git/username, /vela/secrets/git/username read secret stored /vela/secrets/ parameters supports reading all via variables files. any set file take precedence over environment. are used configure name required default branch initial master parameter_branch git_branch vela_pull_request_source vela_build_branch log_level log level info parameter_log_level git_log_level machine communicate github.com parameter_machine git_machine vela_netrc_machine authentication by parameter_password vela_netrc_password user parameter_username git_username vela_netrc_username path local parameter_path git_path vela_build_workspace ref reference generated commit parameter_ref git_ref vela_build_ref remote full url parameter_remote git_remote vela_repo_clone sha sha-1 hash parameter_sha git_sha vela_build_commit submodules fetching false parameter_submodules git_submodules tags parameter_tags git_tags depth specific 100 parameter_depth git_depth template coming soon! troubleshooting start tuning logs being displayed: log_level: trace below list common problems how solve them: "},{"url":"https://go-vela.github.io/docs/plugins/tutorials/go/","display":"Plugins/Tutorials/Go","title":"Go","content":"we recommend reviewing docker’s best practices before attempting to create custom plugin. that all plugins be placed inside scratch image. overview from go documentation: an open source programming language makes it easy build simple, reliable, efficient software. code plugin using go, we’ll need first decide what task want accomplish. for example, we’re going program http request the provided input: package main import "fmt" "net/http" "os" "strings" func main() // method parameter environment := os.getenv("parameter_method") body os.getenv("parameter_body") url os.getenv("parameter_url") payload strings.newreader(body) new input request, err http.newrequest(method, url, payload) if != nil fmt.println(err) os.exit(1) send capture response response, http.defaultclient.do(request) output fmt.println(response) example of section go-vela/vela-tutorials repository. executable now have accomplish our plugin’s task, compile produce binary target platform: goos=linux goarch=amd64 cgo_enabled=0 -o vela-sample please ensure compiled right platform. it’s not, may fail properly run unclear error messages. image once needed dockerfile should contain setup when executed: golang:alpine apk add --update --no-cache ca-certificates copy /bin/vela-sample entrypoint ["/bin/vela-sample"] target/vela-sample docker publishing order pipeline, make sure publish registry: -t target/vela-sample:go push has added benefit enabling others community consume your plugin! troubleshooting verify performs desired can executed locally via command line: --rm -e parameter_body="this sample vela written with go" parameter_method="post" parameter_url="http://vela.localhost.com" usage after registry, referenced pipeline: version: "1" steps: name: image: pull: always parameters: url: http://vela.localhost.com method: post body: "},{"url":"https://go-vela.github.io/docs/reference/sdk/go/","display":"Reference/Sdk/Go","title":"Go","content":"overview vela go sdk client to perform operations on objects view content new way integrate into applications. for complete list of apis examples, please take look at the godoc reference documentation. minimum requirements 1.13 above get build info example below sample program demonstrating how authenticate with sdk: package main import "fmt" "github.com/go-vela/sdk-go/vela" func main() // full uri server url := "https://your-vela-server.example.com" token "sometoken" accesstoken "someaccesstoken" refreshtoken "somerefreshtoken" instantiate client, err vela.newclient(url, nil) if != nil fmt.println(err) set authentication mechanisms client.authentication.settokenauth(token) client.authentication.setaccessandrefreshauth(accesstoken, refreshtoken) from build, resp, c.build.get("go-vela", "sdk-go", 1) fmt.printf("received response code %d, %+v", resp.statuscode, build) "},{"url":"https://go-vela.github.io/docs/reference/api/admin/hook/","display":"API/Admin/Hook","title":"Hook","content":"endpoint put /api/v1/admin/hook permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. note: must provide entire hook object, as overwrites existing entry for hook. file "id": 1, "repo_id": "build_id": "number": "source_id": "c8da1302-07d6-11ea-882f-4893bca275b8", "created": "1563474076", "host": "github.com", "event": "push", "branch": "main", "error": "", "status": "failure", "link": "" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/admin/hook" response "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/hugo/","display":"Registry/Pipeline/Hugo","title":"Hugo","content":"description plugin enables you generate static website using hugo pipeline. source code: https://github.com/go-vela/vela-hugo registry: https://hub.docker.com/r/target/vela-hugo usage note: users should refrain from latest as the tag for docker image. it recommended to use semantically versioned instead. sample of building site: steps: name: image: target/vela-hugo:latest pull: always parameters: theme_name: hugo-theme-learn site docsy theme: custom version hugo: version: 0.101.0 extended binary: some themes may require binary additional functionality. extended: true an environment build differently depending on configuration: please see documentation how configure properly. environment: dev multiple via configuration file: config_file: config.toml parameters supports reading all variables files. any values set file take precedence over environment. following are used name required default base_url hostname (and path) root, e.g. http://spf13.com/ false n/a parameter_base_url hugo_base_url cache_directory filesystem path cache directory parameter_cache_directory hugo_cache_directory content_directory content parameter_content_directory hugo_content_directory config_directory config parameter_config_directory hugo_config_directory config_file (supports: json,toml,yaml) parameter_config_file hugo_config_file draft include marked parameter_draft hugo_draft target environment, located parameter_environment hugo_environment expired parameter_expired hugo_expired whether parameter_extended hugo_extended future with publish date parameter_future hugo_future layout_directory layout parameter_layout_directory hugo_layout_directory log_level log level info parameter_log_level hugo_log_level output_directory write files parameter_output_directory hugo_output_directory source_directory read relative parameter_source_directory hugo_source_directory theme_name theme parameter_theme_name hugo_theme_name theme_directory parameter_theme_directory hugo_theme_directory parameter_version hugo_version template coming soon! troubleshooting can start by tuning logs being displayed: log_level: trace below list common problems solve them: "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/influx/","display":"Registry/Pipeline/Influx","title":"Influx","content":"description plugin enables you to send data an influxdb pipeline. source code: https://github.com/go-vela/vela-influx registry: https://hub.docker.com/r/target/vela-influx usage note: users should refrain from using latest as the tag for docker image. it recommended use semantically versioned instead. sample of emitting pass/fail build metric: steps: name: write image: target/vela-influx:latest pull: always parameters: addr: https://influx.example.com database: vela build_report fields: build_status: ${vela_build_status} metric with custom tags: ${build_status} repo_name: ${vela_repo_full_name} build_number: "${vela_build_number}" secrets configuring sensitive information your pipeline plain text. internal accepts following parameters authentication: parameter environment variable configuration password parameter_password, influx_password username parameter_username, influx_username can substitute these values at runtime: secrets: influx_username, username: supersecretusername password: supersecretpassword example will add secret trigger_hello-world step variables: downstream_token=<value> external files volume /vela/parameters/influx/password, /vela/secrets/influx/password /vela/parameters/influx/username, /vela/secrets/influx/username read value stored /vela/secrets/ supports reading all via variables files. any set file take precedence over environment. are used configure name required default addr influx instance communicate true n/a parameter_addr influx_addr database on parameter_database influx_database fields along parameter_fields influx_fields log_level log level info parameter_log_level influx_log_level sent build_metrics parameter_name influx_name communication false parameter_password tags extra metadata parameter_tags influx_tags user parameter_username template coming soon! troubleshooting start by tuning logs being displayed: log_level: trace below list common problems how solve them: "},{"url":"https://go-vela.github.io/docs/usage/schema/","display":"Docs/Usage/Schema","title":"JSON Schema support","content":"the schema gets published updated via https://github.com/go-vela/types where it ends up as release artifact. latest available for download from https://github.com/go-vela/types/releases/latest/download/schema.json. addition, json store project at https://www.schemastore.org. supported editors automatically use schemas that provides, including vela’s schema. "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/k6/","display":"Registry/Pipeline/K6","title":"k6","content":"description plugin uses grafana k6 to run performance tests vela pipeline. source code: https://github.com/go-vela/vela-k6 registry: https://hub.docker.com/r/target/vela-k6 usage below simple example using the plugin. hypothetical repository, test script located at ./k6-test/script.js. step, file named test-results.json will be created current directory with results. name: k6-performance-test image: target/vela-k6:v0.1.0 ruleset: event: [tag] pull: true parameters: script_path: ./k6-test/script.js output_path: ./test-results.json projektor_compat_mode parameter, which generates output --summary-export flag instead of recommended --out flag. ensures compatibility projektor result visualization: projektor_compat_mode: projektor-publish node:alpine commands: npm install -g npx --serverurl=https://my-projektor-server.dev --performance="./test-results.json" note: not accept results unless stats are included for your accepted by server, script’s options.summarytrendstats must include following: export const options summarytrendstats: ["p(95)", "p(90)", "avg", "min", "max", "med"], ... }; parameters supports reading all via environment variables files. any values set from take precedence over environment. following used configure name required default script_path path file. javascript satisfying pattern ^( ./|( ./)+)?[a-za-z0-9-_/]*[a-za-z0-9] .js$. n/a output_path that created. directories as necessary. if empty, generated. json .json$. false setup_script_path an optional setup before tests. shell (sh bash) execute permissions matching .sh$. fail_on_threshold_breach false, pipeline step fail even thresholds breached. true, generated --summary-output necessary uploaded server. log_progress progress bar print numerous long-running tests, logging becomes excessive. "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/kaniko/","display":"Registry/Pipeline/Kaniko","title":"Kaniko","content":"description plugin enables you to build publish docker images vela pipeline. source code: https://github.com/go-vela/vela-kaniko registry: https://hub.docker.com/r/target/vela-kaniko usage note: users should refrain from using latest as the tag for image. it recommended use semantically versioned instead. sample of building publishing an image: steps: name: publish_hello-world target/vela-kaniko:latest pull: always parameters: index.docker.io repo: index.docker.io/octocat/hello-world image without publishing: dry_run: true attempting three times: push_retry: with custom tags: foobar automatic auto_tag: depending on type event, will be tagged follows: event (using v1.0.0 example): index.docker.io/octocat/hello-world:latest index.docker.io/octocat/hello-world:v1.0.0 all other events: index.docker.io/octocat/hello-world:eeea105fed7fc11bda4b43a00edfc49a5c982968 arguments: build_args: foo=bar caching: cache: cache_repo: snapshot mode snapshot_mode: redo platform: custom_platform: linux/arm64/v8 option only work if your worker configured appropriately. including repository topics starting id value io.vela.build.topics that gets applied built repo_topics_filter: "^id" zstd layer compression: compression_level: aware while may yield better compression and/or performance, many common container tools are not yet compatible compression. at own risk. secrets configuring sensitive information pipeline plain text. internal can substitute these values runtime: secrets: kaniko_username, kaniko_password username: octocat password: supersecretpassword example add step environment variables: kaniko_username=<value> kaniko_password=<value> external accepts following files authentication: parameter volume configuration password /vela/parameters/kaniko/password, /vela/secrets/kaniko/password, /vela/secrets/managed-auth/password username /vela/parameters/kaniko/username, /vela/secrets/kaniko/username, /vela/secrets/managed-auth/username read secret stored /vela/secrets/ parameters supports reading via variables files. any set file take precedence over environment. help improve performance but recommend follow kaniko’s guidelines picking mode. used configure name required default auto_tag tagging (tag sha, latest) false parameter_auto_tag kaniko_auto_tag build_args passed build-time n/a parameter_build_args kaniko_build_args cache enable caching layers parameter_cache kaniko_cache cache_repo specific repo parameter_cache_repo kaniko_cache_repo (gzip kaniko uses gzip defined) parameter_compression kaniko_compression compression_level level (1 9, inclusive) parameter_compression_level kaniko_compression_level context path parameter_context kaniko_context dockerfile parameter_dockerfile kaniko_dockerfile dry_run parameter_dry_run kaniko_dry_run generated by parameter_event kaniko_event vela_build_event force_build_metadata force adding metadata parameter_force_build_metadata kaniko_force_build_metadata repo_topics_filter regex expression filter out empty slice parameter_repo_topics_filter kaniko_repo_topics_filter ignore_var_run sets --ignore-var-run flag control whether /var/run included parameter_ignore_var_run kaniko_ignore_var_run vela_ignore_var_run labels unique parameter_labels kaniko_labels log_level log info parameter_log_level kaniko_log_level mirror registry parameter_mirror kaniko_mirror communication parameter_password docker_password push_retry number retries pushing remote destination parameter_push_retry kaniko_push_retry parameter_registry kaniko_registry parameter_repo kaniko_repo sha sha-1 hash commit parameter_sha kaniko_sha vela_build_commit use_new_run experimental run implementation detecting changes requiring system snapshots parameter_use_new_run kaniko_use_new_run single_snapshot takes single filesystem end build, so one appended base parameter_single_snapshot kaniko_single_snapshot snapshot_mode how filesystem. options: full, redo, time parameter_snapshot_mode kaniko_snapshot_mode parameter_tag kaniko_tag vela_build_tag tags parameter_tags kaniko_tags tar_path save tarball parameter_tar_path kaniko_tar_path target stage parameter_target kaniko_target user parameter_username kaniko_username docker_username custom_platform platform parameter_custom_platform kaniko_custom_platform insecure_registries insecure registries push pull to/from parameter_insecure_registries kaniko_insecure_registries insecure_pull pulling parameter_insecure_pull kaniko_insecure_pull insecure_push parameter_insecure_push kaniko_insecure_push template coming soon! troubleshooting start tuning logs being displayed: log_level: trace below list problems solve them: "},{"url":"https://go-vela.github.io/docs/plugins/tutorials/kotlin/","display":"Plugins/Tutorials/Kotlin","title":"Kotlin","content":"we recommend reviewing docker’s best practices before attempting to create custom plugin. that all plugins be placed inside scratch image. overview from kotlin documentation: is… modern, concise safe programming language easy pick up, so you can powerful applications immediately code plugin using kotlin, we’ll need first decide what task want accomplish. for example, we’re going program makes an http request the provided input: import org.http4k.client.apacheclient org.http4k.core.* org.http4k.format.jackson.auto yellowstone.cr.vcrexception fun main() // get vela parameters env variables val method when ("method".parameter.envordefault("get").trim().lowercase()) "get" -> method.get "put" method.put "post" method.post "delete" method.delete else throw exception("method not supported") body "body".parameter.env url "url".parameter.env set up clientid client: httphandler apacheclient() make print result println(request(method, url).addbody(body).okordie(client).toobject<string>()) helper functions string.env get() system.getenv(this) ?: vcrexception("the environment variable $this required but missing!") string.envordefault(default: string) default string.parameter "parameter_$this" request.okordie(client: httphandler) client(this).let response response.takeif it.status.successful exception("got unexpected ${response.status.code} ${method.name} $uri! ${response.bodystring()}") inline <reified any> response.toobject() body.auto<t>().tolens()(this) request.addbody(t: t) body.auto<t>().tolens()(t, this) jar order runnable executable, must turn it into file. below example build.gradle.kts org.jetbrains.kotlin.gradle.tasks.kotlincompile application kotlin("jvm") version "1.5.10" repositories mavencentral() group "mygroup" mainclass.set("mygroup.mainkt") dependencies deps(format: string, vararg arr: with(format) arr.foreach implementation(format(it)) implementation(kotlin("stdlib-jdk8")) implementation(kotlin("reflect")) deps("org.http4k:http4k-%s:4.9.9.0", "client-apache", "format-jackson") tasks enabled true withtype<kotlincompile> kotlinoptions.jvmtarget javaversion.version_11.majorversion withtype<test> usejunitplatform() build jar, run ./gradlew clean disttar image once have needed accomplish our plugin’s task, dockerfile produce should contain setup executed alpine:latest install java 11 java_home /usr/lib/jvm/java-11-openjdk path $path:/usr/lib/jvm/java-11-openjdk/jre/bin:/usr/lib/jvm/java-11-openjdk apk update && upgrade --no-cache add openjdk11 --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community copy executable build/distributions/vela-sample.tar cmd ["/vela-sample/bin/vela-sample"] publishing pipeline, sure publish docker registry: -t target/vela-sample:kotlin push has added benefit of enabling others community consume your plugin! troubleshooting verify performs desired locally via command line: --rm -e parameter_body="this sample written with kotlin" parameter_method="post" parameter_url="http://vela.localhost.com" usage after registry, referenced pipeline: version: "1" steps: name: image: pull: always parameters: url: http://vela.localhost.com method: post body: "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/kubernetes/","display":"Registry/Pipeline/Kubernetes","title":"Kubernetes","content":"description plugin enables the ability to manage resources kubernetes vela pipeline. source code: https://github.com/go-vela/vela-kubernetes registry: https://hub.docker.com/r/target/vela-kubernetes usage note: users should refrain from using latest as tag for docker image. it recommended use semantically versioned instead. sample of applying files: steps: name: image: target/vela-kubernetes:latest pull: always parameters: action: apply kubernetes/common, kubernetes/dev/deploy.yml pretending dry_run: true patching containers patch containers: alpine:latest watching status resources: statuses: gke clusters authentication google engine (gke) version 1.26 up require new gke-gcloud-auth-plugin, see blog. download service account credentials: gcloud beta secrets versions access --secret [secret name] --project [google project --out-file name]-gsa-key.json upload secret native store: add --secret.engine --secret.type org --org myorgname --name k8s-gsa-key --value @k8s-gsa-key.json -event deployment --event pull_request push comment create kubeconfig file make sure user gke-gcloud-auth-user your cluster: apiversion: v1 clusters: certificate-authority-data: xxxxxxxxxxx server: https://ip k8s api server clustername contexts: context: user: current-context: "" kind: config preferences: {} users: exec: client.authentication.k8s.io/v1beta1 args: --use_application_default_credentials command: gke-gcloud-auth-plugin env: null installhint: install with kubectl by following https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke interactivemode: ifavailable provideclusterinfo: secretrs kube_config_secret @kube_config_secret.file configure file: secrets: key: orgname/kube-config type: gsa_key orgname/k8s-gsa-key k8s-gsa-setup: setup-gke-access ruleset: branch: master event: [pull_request, push, deployment] environment: google_application_credentials: "/vela/secrets/.kube/gsa-key.json" <== change name needed source: target: gsa_key_file commands: mkdir -p /vela/secrets/.kube/ echo "$gsa_key_file" > $google_application_credentials k8s-plugin-dry-run: needs: k8s-gsa-setup dry-run use_gke_gcloud_auth_plugin: required kube_config context-name kubernetes/manifests/service.yaml k8s-plugin-apply: run-apply configuring sensitive information pipeline plain text. internal can substitute these values at runtime: config: --- example will step environment variables: kube_config=<value> external accepts files authentication: parameter volume configuration /vela/parameters/kubernetes/config, /vela/secrets/kubernetes/config read stored /vela/secrets/ parameters supports reading all via variables files. any set take precedence over environment. are used default action perform against n/a parameter_action kubernetes_action cluster false parameter_cluster kubernetes_cluster context parameter_context kubernetes_context content communication parameter_config kubernetes_config log_level log level info parameter_log_level kubernetes_log_level namespace parameter_namespace kubernetes_namespace path parameter_path kubernetes_path cli v1.24.0 parameter_version kubernetes_version passed expected be full object would found ~/.kube/config. run view get an idea what could file. consider minimal inline [main] [k8s_token] may not necessary, but explicitness good practice. mycluster mycontext namespace: mynamespace k8s/myapp.yaml https://kubernetes.example.com:6443 myuser token: "${k8s_token}" note interpolation k8s_token secret. doing ease management large multiple sub-secrets even when they don’t very often. actions next sections define that must particular active. dry_run (true/client, false/none, server) parameter_dry_run kubernetes_dry_run list directories parameter_files kubernetes_files output parameter_output kubernetes_output parameter_containers kubernetes_containers statuses watch on parameter_statuses kubernetes_statuses timeout total time allowed 5m parameter_timeout kubernetes_timeout until resource completes parameter_watch kubernetes_watch template coming soon! troubleshooting you start tuning logs being displayed: log_level: trace below common problems how solve them: "},{"url":"https://go-vela.github.io/docs/reference/api/dashboard/list/","display":"API/Dashboard/List","title":"List","content":"endpoint get /api/v1/user/dashboards permissions coming soon! responses status code description 200 indicates the request has succeeded 400 bad 401 user does not have proper 404 resource exist 500 server error sample section assumes you already know how to authenticate api. api, please review authentication documentation. curl -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/user/dashboards" response "dashboard": "id": "215d0834-a08a-4203-aee5-542681c4dc8d", "name": "friends", "created_at": 1718118753, "created_by": "octocat", "updated_at": 1718120350, "updated_by": "octokitty", "admins": 287, "active": true }, 126, ], "repos": 293, "octocat/myvela" 34, "octopal/heyvela" // repo build information "3e84cf64-4730-4067-bdbc-6961e37a3a92", "test", 1721254450, 1721254596, "},{"url":"https://go-vela.github.io/docs/reference/api/build/logs/","display":"API/Build/Logs","title":"Logs","content":"endpoint get /api/v1/repos/:org/:repo/builds/:build/logs parameters the following are used to configure endpoint: name description org of organization repo repository build number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/logs" response "id": 1, "step_id": "build_id": "repo_id": "data": "sgvsbg8sifdvcmxkiq==" }, 2, data field base64 encoded. decode data, can use command: echo --decode "},{"url":"https://go-vela.github.io/docs/reference/api/service/logs/","display":"API/Service/Logs","title":"Logs","content":"endpoint get /api/v1/repos/:org/:repo/builds/:build/services/:service/logs parameters the following are used to configure endpoint: name description org of organization repo repository build number service permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/services/1/logs" response "id": 1, "build_id": "repo_id": "service_id": "data": "sgvsbg8sifdvcmxkiq==" data field base64 encoded. decode data, can use command: echo --decode "},{"url":"https://go-vela.github.io/docs/reference/api/step/logs/","display":"API/Step/Logs","title":"Logs","content":"endpoint get /api/v1/repos/:org/:repo/builds/:build/steps/:step/logs parameters the following are used to configure endpoint: name description org of organization repo repository build number step permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/steps/1/logs" response "id": 1, "build_id": "repo_id": "step_id": "data": "sgvsbg8sifdvcmxkiq==" data field base64 encoded. decode data, can use command: echo --decode "},{"url":"https://go-vela.github.io/docs/templates/tutorials/go/loops_maps/","display":"Tutorials/Go/Loops maps","title":"Loops with Maps","content":"we recommend reviewing go templates documentation before attempting to create template. if you’re new yaml also the 1.2 spec for validation on syntax. overview from template range: {{range pipeline}} t1 {{end}} value of pipeline must be an array, slice, map, channel. has length zero, nothing output; otherwise, dot set successive elements map executed. keys are basic type with defined order, will visited sorted key order. tip: information range/else statements see conditional docs sample let’s take look at ranging over template: metadata: true steps: {{ range $key, $value := .images }} name: test{{ $key commands: test ./... image: .pull_policy ruleset: event: push, pull_request end build environment: cgo_enabled: '0' goos: linux golang:latest caller could like: version: "1" templates: source: github.com/<org>/<repo>/path/to/file/<template>.yml type: github golang vars: pull_policy: "pull: always" images: _latest: _1.13: golang:1.13 _1.12: which means compiled execution worker is: does not guarantee order maps. you need steps always outputted same use loops slice implementation. sample_test_latest pull: sample_test_1.13 sample_test_1.12 golang:1.12 sample_build "},{"url":"https://go-vela.github.io/docs/templates/tutorials/starlark/loops_map/","display":"Tutorials/Starlark/Loops map","title":"Loops with Maps","content":"we recommend reviewing starlark spec before attempting to create template. overview from for loops: [["a", 1], ["b", 2], ["c", 3]]: print(a, i) prints "a 1", "b 2", "c 3" sample let’s take look at looping over map template: def main(ctx): ruleset "event": "push", "pull_request" steps "name": "install", "image": "golang:latest", "commands": "go get ./..." ], "pull": ctx["vars"]["pull_policy"], "ruleset": ruleset, name, image ctx["vars"]["images"].items(): steps.append( "test_%s" image, test "build", build" "environment": "cgo_enabled": "0", "goos": "linux", }, pipeline 'version': '1', 'steps': steps, return the caller of template could like: version: "1" templates: name: source: github.com/<org>/<repo>/path/to/file/<template>.star type: github steps: golang vars: pull_policy: "always" images: _latest: golang:latest _1.13: golang:1.13 _1.12: golang:1.12 which means compiled execution on worker is: vela does not guarantee order with maps. if you need always be outputted same use loops slice implementation. sample_test_latest commands: go ./... image: pull: ruleset: event: push, pull_request sample_test_1.13 sample_test_1.12 sample_build build environment: cgo_enabled: '0' goos: linux "},{"url":"https://go-vela.github.io/docs/templates/tutorials/go/loops_slice/","display":"Tutorials/Go/Loops slice","title":"Loops with Slices","content":"we recommend reviewing go templates documentation before attempting to create template. if you’re new yaml also the 1.2 spec for validation on syntax. overview from template range: {{range pipeline}} t1 {{end}} value of pipeline must be an array, slice, map, channel. has length zero, nothing output; otherwise, dot set successive elements map executed. keys are basic type with defined order, will visited sorted key order. tip: information range/else statements see conditional docs sample let’s take look at ranging over slice template: metadata: true steps: {{ range $value := .images }} name: test_{{ commands: test ./... image: $.pull_policy ruleset: event: push, pull_request end build environment: cgo_enabled: '0' goos: linux golang:latest caller could like: version: "1" templates: source: github.com/<org>/<repo>/path/to/file/<template>.yml type: github golang vars: pull_policy: "pull: always" images: golang:latest, golang:1.13, golang:1.12 which means compiled execution worker is: sample_test_latest pull: always sample_test_golang:1.13 golang:1.13 sample_test_golang:1.12 sample_build "},{"url":"https://go-vela.github.io/docs/templates/tutorials/starlark/loops_slice/","display":"Tutorials/Starlark/Loops slice","title":"Loops with Slices","content":"we recommend reviewing starlark spec before attempting to create template. overview from for loops: [1, 2, 3]: print(i) prints "1", "2", "3" sample let’s take look at ranging over slice template: def main(ctx): ruleset "event": "push", "pull_request" steps "name": "install", "image": "golang:latest", "commands": "go get ./..." ], "pull": ctx["vars"]["pull_policy"], "ruleset": ruleset, image ctx["vars"]["images"]: steps.append( "test_%s" image, test "build", build" "environment": "cgo_enabled": "0", "goos": "linux", }, pipeline 'version': '1', 'steps': steps, return the caller of template could like: version: "1" templates: name: source: github.com/<org>/<repo>/path/to/file/<template>.star format: type: github steps: golang vars: pull_policy: "always" images: golang:latest, golang:1.13, golang:1.12 which means compiled execution on worker is: sample_test_latest commands: go ./... image: golang:latest pull: always ruleset: event: push, pull_request sample_test_golang:1.13 golang:1.13 sample_test_golang:1.12 sample_build build environment: cgo_enabled: '0' goos: linux "},{"url":"https://go-vela.github.io/docs/usage/deployments/","display":"Docs/Usage/Deployments","title":"Managing Deployments","content":"pipelines can be written with your specific branching methodology mind but when it comes to deployments you often want very intentional triggering change. for reason, vela has deployments, unique build event that triggered directly via on ref (branch, sha, tag). leverages deep integration github which will not only trigger create system of record deployment action. leverage steps like: tip: make sure have the enabled within repo settings additionally, any secret may need must also allowed events. step "all" events name: all image: alpine commands: echo "running deployment!" ruleset: event: target. targets value i.e. dev, stage, eng, prod, etc targeted ${vela_deployment}!" target: eng usage let us look at an example workflow executing repo. should understand following concepts before proceeding: image commands ruleset version: "1" steps: now we know how control deployment, lets adding custom parameters. sometimes do target data available pipeline runs. parameters "custom parameter message, ${deployment_parameter_message}" cli produce different permutations executing: additional configuration add --org --repo octocat repository environment. --target stage two --parameter 'message=hello, var!' "},{"url":"https://go-vela.github.io/docs/reference/api/metrics/metrics/","display":"API/Metrics/Metrics","title":"Metrics","content":"endpoint get /metrics query parameters the following are used to configure endpoint: parameter description user_count count of total users repo_count repos build_count builds running_build_count with status ‘running’ failure_build_count ‘failure’ pending_build_count ‘pending’ queued_build_count inside queue killed_build_count ‘killed’ success_build_count ‘success’ error_build_count ’error' step_image_count steps executed each unique image step_status_count service_image_count services service_status_count worker_build_limit worker build limits active_worker_count active workers inactive_worker_count inactive idle_worker_count idle (no running builds) available_worker_count available (one more executors) busy_worker_count busy error_worker_count error permissions permission restrictions for endpoint. responses code 200 indicates request has succeeded 500 server failure while processing sample curl -x "http://127.0.0.1:8080/metrics?pending_build_count=true" response help go_gc_duration_seconds summary pause duration garbage collection cycles. type go_gc_duration_seconds{quantile="0"} 4.0986e-05 vela_totals gauge vela_totals{field="status",resource="build",value="pending"} 31 "},{"url":"https://go-vela.github.io/docs/templates/tutorials/go/mulitline/","display":"Tutorials/Go/Mulitline","title":"Multiline","content":"we recommend reviewing go templates documentation before attempting to create template. if you’re new yaml also the 1.2 spec for validation on syntax. overview from scalars: scalar literals, newlines are preserved below was taken literal example --- //|| /|| // || ||__ tip: information more types of scalars read sample let’s take look at using conditional with variable template: metadata: true steps: {{ .test }} name: build commands: environment: cgo_enabled: '0' goos: linux image: golang:latest pull: always ruleset: event: push, pull_request caller template could like: version: "1" templates: source: github.com/<org>/<repo>/path/to/file/<template>.yml type: github golang vars: test: test ./... which means compiled pipeline execution worker is: sample_test sample_build "},{"url":"https://go-vela.github.io/docs/plugins/tutorials/node/","display":"Plugins/Tutorials/Node","title":"Node.js","content":"we recommend reviewing docker’s best practices before attempting to create custom plugin. that all plugins be placed inside scratch image. overview from node.js documentation: as an asynchronous event-driven javascript runtime, designed build scalable network applications. code plugin using node.js, we’ll need first decide what task want accomplish. for example, we’re going program makes http request the provided input: #!/usr/bin/env node const https require("https"); url require("url"); // import method parameter environment process.env.parameter_method; body process.env.parameter_body; uri process.env.parameter_url; capture full myurl url.parse(uri); options method: }; new input req https.request(myurl, options); exit immediately if errors req.on("error", () => process.exit(1); }); write req.write(process.env.parameter_body); send req.end(); example of section go-vela/vela-tutorials repository. image once have executable needed accomplish our plugin’s task, dockerfile produce should contain script setup run when executed: node:alpine apk add --update --no-cache ca-certificates copy vela-sample.js /bin/vela-sample.js entrypoint ["node", "/bin/vela-sample.js"] target/vela-sample docker publishing order pipeline, make sure publish it registry: -t target/vela-sample:node push has added benefit enabling others community consume your plugin! troubleshooting verify performs desired can executed locally via command line: --rm -e parameter_body="this sample vela written with node.js" parameter_method="post" parameter_url="http://vela.localhost.com" usage after registry, referenced pipeline: version: "1" steps: name: image: pull: always parameters: url: http://vela.localhost.com post body: "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/npm/","display":"Registry/Pipeline/Npm","title":"npm","content":"description plugin enables the ability to manage artifacts npm vela pipeline. source code: https://github.com/go-vela/vela-npm registry: https://hub.docker.com/r/target/vela-npm usage note: users should refrain from using latest as tag for docker image. it recommended use semantically versioned instead. sample of publishing package: steps: name: npm_publish image: target/vela-npm:latest pull: not_present secrets: npm_password parameters: username: npmusername https://registry.npmjs.org if registry does not support ping: you are deploying inside artifactory skip_ping: true pretending publish dry_run: first time first_publish: with additional dist-tag: tags used an alias cannot be valid semver tag: beta higher level tolerance audit: audit_level: critical secrets configuring sensitive information their pipeline plain text. internal accepts following parameters authentication: parameter environment variable configuration password npm_password, parameter_password username npm_username, parameter_username npm_registry, parameter_registry email npm_email, parameter_email can substitute these values at runtime: password: supersecretpassword example will add step variables: npm_password=value external files volume /vela/parameters/npm/password, /vela/secrets/npm/password, /vela/secrets/managed-auth/password /vela/parameters/npm/username, /vela/secrets/npm/username, /vela/secrets/managed-auth/username /vela/parameters/npm/registry, /vela/secrets/npm/registry /vela/parameters/npm/email, /vela/secrets/npm/email configure name required default variables communication n/a npm_username false npm_email token auth parameter_token instance communicate npm_registry audit_level which audit check fail (valid options: low, moderate, high, critical, none skip) low parameter_audit_level strict_ssl whether do ssl key validation during parameter_strict_ssl always_auth force always require authentication parameter_always_auth skip_ping skip ping command parameter_skip_ping dry_run perform action parameter_dry_run package given parameter_tag log_level set log info, debug, trace) info parameter_log_level workspaces all parameter_workspaces workspace specific by specifying relative path parameter_workspace access tells published public restricted. only applies scoped packages, restricted parameter_access package.json your module’s manifest. there few important keys that need order module checked against version publish, must unique private needs even internally. publishconfig configured location match value values, see npm’s documentation template coming soon! troubleshooting here available levels assist troubleshooting: trace, warn, error, fatal, panic "},{"url":"https://go-vela.github.io/docs/usage/open_id_connect/","display":"Docs/Usage/Open ID connect","title":"OpenID Connect","content":"openid vela oftentimes, builds interact with cloud providers to deploy software, update configurations, more generally use the cloud’s services. order for process work securely, users create retrieve credentials from provider duplicate their values into as secrets, which are injected build steps. an example, below pipeline uploads docker image artifactory: version: "1" secrets: password user vela-arti-user name: docker_password key: velaorg/vela-repo type: repo engine: native steps: & publish image: target/vela-kaniko:latest parameters: username: registry: my-arti-registry.com repo: my-arti-registry.com/velaorg/vela-repo tags: latest above will be suitable many cloud-related ci builds. however, there potential issues method. stricter rotation policies becomes common place, developing processes wherein secrets updated tandem these rotations introducing unneccessary tech debt antithetical continuous integration. comes connect. connect (oidc), you can configure your request short-lived access token directly provider. requires that supports oidc processing id tokens properly validates using vela’s configuration jwks. let’s take look at same but get alpine id_request: commands: > auth_token=$(curl -h "authorization: bearer $vela_id_token_request_token" "$vela_id_token_request_url?audience=artifactory" jq -r '.value') req=$(curl -s -x post "token: $auth_token" "https://cloud-service-open-id-validator.com/get-token") echo "${req}" .username /vela/secrets/kaniko/username .token /vela/secrets/kaniko/password step environment of vela_id_token_request_token vela_id_token_request_url used authenticate service, so long service has layer. id_request key being set anything result injection variables. value claim eventual token. claims "build_number": 42, "build_id": 100, "actor": "octocat", "actor_scm_id": "1", "repo": "octocat/vela-testing", "token_type": "id", "image": "golang:1.22.4", "request": "yes", "commands": true, "event": "pull_request:opened", "ref": "refs/heads/main", "sha": "15b17a5751dd2fd04a7b4ca056063dc876984073", "iss": "https://vela-server.com/_services/token", "sub": "repo:octocat/vela-testing:ref:refs/heads/main:event:pull_request", "aud": "artifactory" ], "exp": 1717699924, "iat": 1717699624 validating resources on tokens. some high level requirements: validated jwks located well-known path issuer? do match expectations? all members supported_claims field configuration? "},{"url":"https://go-vela.github.io/docs/templates/tutorials/go/vars_platform/","display":"Tutorials/Go/Vars platform","title":"Platform Vars","content":"we recommend reviewing go templates documentation before attempting to create template. if you’re new yaml also the 1.2 spec for validation on syntax. overview platform variables can be referenced with following syntax: {{ vela "<environment variable>" }} examples "vela_repo_name" equates vela_repo_name environment variable "repo_name" "vela_build_number" vela_build_number "vela_addr" vela_addr "deployment_parameter_<name>" deployment_parameter_<name> sample let’s take look at using template: metadata: true steps: name: test commands: echo "vela_repo_full_name" image: alpine pull: always ruleset: event: push, pull_request caller of template could like: version: "1" templates: source: github.com/<org>/<repo>/path/to/file/<template>.yml type: github which means compiled pipeline execution worker is: sample_echo github/octocat "},{"url":"https://go-vela.github.io/docs/templates/tutorials/starlark/vars_platform/","display":"Tutorials/Starlark/Vars platform","title":"Platform Vars","content":"we recommend reviewing starlark spec before attempting to create template. additionally, depending on how the template written, it may be incompatible with viewing pipelines ui. overview platform variables can referenced following syntax: ctx['vela']['<resource>']['<name>'] examples ctx["vela"]["repo"]["name"] equates vela_repo_name environment variable ctx["vela"]["build"]["number"] vela_build_number ctx["vela"]["system"]["addr"] vela_addr ctx["vela"]["deployment"]["<name>"] deployment_parameter_<name> sample let’s take look at using within template: def main(ctx): return 'version': '1', 'steps': step(ctx["vela"]["repo"]["name"]), ], step(name): "name": "echo %s" name, "image": "alpine:latest", 'commands': name caller of could like: version: "1" templates: name: source: github.com/<org>/<repo>/path/to/file/<template>.star format: type: github steps: build which means compiled pipeline for execution worker is: sample_echo hello-world image: alpine:latest commands: echo "},{"url":"https://go-vela.github.io/docs/usage/pull_policies/","display":"Docs/Usage/Pull policies","title":"Pull Policies","content":"vela provides the ability to define how when images for secrets, steps, services will be retrieved at runtime. usage below are options pull policies container policy description always attempt image from registry, even if it exists locally. best used leveraging mutable tag, such as latest not_present only registry does not already exist default behavior recommended immutably tagged images. on_start right before step executed. can speed up build times service run on every (e.g. failed notifying plugins), leveraged dealing with password rotation mid-build vault plugin), an that was created published earlier build. never use note: declaration required. you do provide declaration, value of used. example version: "1" services: name: redis image: redis:latest pull: steps: check status alpine:latest commands: bash commands in-line set override variables export example="hello world team" echo ${example} secrets: origin: private target/secret-vault:latest vault_token parameters: addr: vault.example.com auth_method: token username: octocat items: source: secret/docker path: docker pipeline will: image, locally doesn’t wait until starting references following concepts being below: steps secrets origin yaml key "},{"url":"https://go-vela.github.io/docs/plugins/tutorials/python/","display":"Plugins/Tutorials/Python","title":"Python","content":"we recommend reviewing docker’s best practices before attempting to create custom plugin. that all plugins be placed inside scratch image. overview from python documentation: programming language lets you work quickly integrate systems more effectively. code plugin using python, we’ll need first decide what task want accomplish. for example, we’re going program makes an http request the provided input: #!/usr/bin/env import http.client os urlparse method parameter environment os.getenv['parameter_method'] body os.getenv['parameter_body'] url os.getenv['parameter_url'] capture full uri urlparse(url) new connection conn http.client.httpsconnection(uri.hostname, uri.port) headers added {} send conn.request(method, uri.path, body, headers) response conn.getresponse() output print(response.read().decode("utf-8")) example of section go-vela/vela-tutorials repository. image once have script needed accomplish our plugin’s task, dockerfile produce should contain setup run when executed: python:alpine apk add --update --no-cache ca-certificates copy vela-sample.py /bin/vela-sample.py entrypoint ["python", "/bin/vela-sample.py"] target/vela-sample docker publishing order pipeline, make sure build publish it registry: -t target/vela-sample:python push has benefit enabling others community consume your plugin! troubleshooting verify performs desired can executed locally via command line: --rm -e parameter_body="this sample vela written with python" parameter_method="post" parameter_url="http://vela.localhost.com" usage after registry, referenced pipeline: version: "1" steps: name: image: pull: always parameters: url: http://vela.localhost.com method: post body: "},{"url":"https://go-vela.github.io/docs/reference/sdk/python/","display":"Reference/Sdk/Python","title":"Python","content":"overview vela python sdk client to perform operations on objects view content new way integrate into applications. for complete list of apis examples, please take look at the reference documentation. requirements. 2.7 3.4+ get build info example below sample go program demonstrating how authenticate with sdk: from __future__ import print_function time vela.rest apiexception pprint configure api key authorization: apikeyauth configuration vela.configuration() configuration.api_key['authorization'] 'your_api_key' configuration.api_key_prefix['authorization'] 'bearer' endpoint configuration.host 'https://your-vela-server.example.com' create an instance class api_instance vela.buildsapi(vela.apiclient(configuration)) try: api_response api_instance.get_builds(org="go-vela",repo="sdk-python") pprint(api_response) except as e: print("exception when calling buildsapi->get_builds: %s n" e) "},{"url":"https://go-vela.github.io/docs/installation/server/reference/queue/","display":"Server/Reference/Queue","title":"Queue","content":"component responsible for integrating with queue system based off the configuration provided. used by vela server pushing workloads that will be run worker. published to are managed first in, out (fifo) strategy. following options configure component: name description required default environment variables queue.addr full connection string true n/a queue_addr vela_queue_addr queue.cluster configures client cluster false queue_cluster vela_queue_cluster queue.driver type of control operate queue_driver vela_queue_driver queue.pop.timeout timeout requests pop items 60s queue_pop_timeout vela_queue_pop_timeout queue.routes unique channels topics queue_routes vela_queue_routes queue.private-key private key signing prior push queue_private_key vela_queue_private_key queue.public-key public opening after popping them queue_public_key vela_queue_public_key note: more information on these options, please see reference. drivers available documentation redis uses managing https://redis.io/ from official website: an open source (bsd licensed), in-memory data structure store, as database, cache, message broker. provides structures such strings, hashes, lists, sets, sorted sets range queries, bitmaps, hyperloglogs, geospatial indexes, streams. has built-in replication, lua scripting, lru eviction, transactions, different levels on-disk persistence, high availability via sentinel automatic partitioning cluster. below displays example starting connect queue: docker --detach=true --env=vela_addr=https://vela-server.example.com --env=vela_database_encryption_key=<encryption-key> --env=vela_queue_driver=redis --env=vela_queue_addr=redis://<password>@<hostname>:<port>/<database> --env=vela_queue_private_key=<signing-private-key> --env=vela_queue_public_key=<signing-public-key> --env=vela_port=443 --env=vela_secret=<shared-secret> --env=vela_server_private_key=<private_key> --env=vela_scm_client=<oauth-client-id> --env=vela_scm_secret=<oauth-client-secret> --env=vela_webui_addr=https://vela.example.com --name=server --publish=80:80 --publish=443:443 --restart=always target/vela-server:latest "},{"url":"https://go-vela.github.io/docs/installation/worker/reference/queue/","display":"Worker/Reference/Queue","title":"Queue","content":"component responsible for integrating with queue system based off the configuration provided. used by vela pulling workloads, provided server, that will be run. workloads fetched from are managed first in, out (fifo) strategy. following options to configure component: name description required default environment variables queue.cluster configures client cluster false queue_cluster vela_queue_cluster queue.driver type of control operate true n/a queue_driver vela_queue_driver queue.pop.timeout timeout requests pop items 60s queue_pop_timeout vela_queue_pop_timeout queue.routes unique channels topics queue_routes vela_queue_routes note: more information on these options, please see worker reference. drivers available documentation redis uses managing https://redis.io/ official website: an open source (bsd licensed), in-memory data structure store, as database, cache, message broker. provides structures such strings, hashes, lists, sets, sorted sets range queries, bitmaps, hyperloglogs, geospatial indexes, streams. has built-in replication, lua scripting, lru eviction, transactions, different levels on-disk persistence, high availability via sentinel automatic partitioning cluster. below displays example starting connect queue: docker run --detach=true --env=vela_queue_driver=redis --env=vela_server_addr=https://vela-server.example.com --env=vela_server_secret=<shared-secret> --env=vela_worker_addr=https://vela-worker.example.com --name=worker --publish=80:80 --publish=443:443 --restart=always --volume=/var/run/docker.sock:/var/run/docker.sock target/vela-worker:latest "},{"url":"https://go-vela.github.io/docs/reference/api/build/remove/","display":"API/Build/Remove","title":"Remove","content":"endpoint delete /api/v1/repos/:org/:repo/builds/:build parameters the following are used to configure endpoint: name description org of organization repo repository build number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1" response github/octocat/1 deleted "},{"url":"https://go-vela.github.io/docs/reference/api/hook/remove/","display":"API/Hook/Remove","title":"Remove","content":"endpoint delete /api/v1/hooks/:org/:repo/:hook parameters the following are used to configure endpoint: name description org of organization repo repository hook number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/hooks/github/octocat/1" response github/octocat/1 deleted "},{"url":"https://go-vela.github.io/docs/reference/api/pipeline/remove/","display":"API/Pipeline/Remove","title":"Remove","content":"endpoint delete /api/v1/pipelines/:org/:repo/:pipeline parameters the following are used to configure endpoint: name description org of organization repo repository pipeline commit sha for from permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/pipelines/github/octocat/48afb5bdc41ad69bf22588491333f7cf71135163" response github/octocat/48afb5bdc41ad69bf22588491333f7cf71135163 deleted "},{"url":"https://go-vela.github.io/docs/reference/api/repo/remove/","display":"API/Repo/Remove","title":"Remove","content":"endpoint delete /api/v1/repos/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat" response github/octocat deleted "},{"url":"https://go-vela.github.io/docs/reference/api/schedule/remove/","display":"API/Schedule/Remove","title":"Remove","content":"endpoint delete /api/v1/schedules/:org/:repo/:schedule parameters the following are used to configure endpoint: name description org of organization repo repository schedule from permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/schedules/github/octocat/hourly" response "schedule hourly deleted" "},{"url":"https://go-vela.github.io/docs/reference/api/secret/remove/","display":"API/Secret/Remove","title":"Remove","content":"endpoint delete /api/v1/secrets/:engine/:type/:org/:name/:secret parameters the following are used to configure endpoint: name description engine of type secret org organization repository team permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/secrets/native/repo/github/octocat/foo" response repo/github/octocat/foo deleted from native service "},{"url":"https://go-vela.github.io/docs/reference/api/service/remove/","display":"API/Service/Remove","title":"Remove","content":"endpoint delete /api/v1/repos/:org/:repo/builds/:build/services/:service parameters the following are used to configure endpoint: name description org of organization repo repository build number service permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/services/1" response github/octocat/1/1 deleted "},{"url":"https://go-vela.github.io/docs/reference/api/step/remove/","display":"API/Step/Remove","title":"Remove","content":"endpoint delete /api/v1/repos/:org/:repo/builds/:build/steps/:step parameters the following are used to configure endpoint: name description org of organization repo repository build number step permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/steps/1" response github/octocat/1/1 deleted "},{"url":"https://go-vela.github.io/docs/reference/api/user/remove/","display":"API/User/Remove","title":"Remove","content":"endpoint delete /api/v1/users/:user parameters the following are used to configure endpoint: name description user of permissions coming soon! responses status code 200 indicates request has succeeded 401 does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/users/octokitty" response octokitty deleted "},{"url":"https://go-vela.github.io/docs/reference/cli/config/remove/","display":"CLI/Config/Remove","title":"Remove","content":"command vela remove config <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: providing will entire configuration file. name description environment variables api.addr removes api address field vela_addr, config_addr api.token.access access token vela_access_token, config_access_token api.token.refresh refresh vela_refresh_token, config_refresh_token api.token vela_token, config_token api.version version vela_api_version, config_api_version log.level log level vela_log_level, config_log_level output vela_output, config_output org vela_org, config_org repo vela_repo, config_repo secret.engine secret engine vela_engine, config_engine secret.type type vela_type, config_type permissions coming soon! sample section assumes have already installed setup cli. install cli, please review installation documentation. authentication request response "},{"url":"https://go-vela.github.io/docs/reference/cli/repo/remove/","display":"CLI/Repo/Remove","title":"Remove","content":"command vela remove repo <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization repository vela_org, repo_org vela_repo, repo_name output format vela_output, repo_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response "github/octocat" was deleted "},{"url":"https://go-vela.github.io/docs/reference/cli/schedule/remove/","display":"CLI/Schedule/Remove","title":"Remove","content":"command vela remove schedule <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, schedule_org repo repository vela_repo, schedule_repo vela_schedule, schedule_name output format vela_output, schedule_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --schedule hourly targeted --org github --repo octocat response deleted examples examples: 1. from repository. myorg myrepo daily 2. with json output. --output 3. when set. "},{"url":"https://go-vela.github.io/docs/reference/cli/secret/remove/","display":"CLI/Secret/Remove","title":"Remove","content":"command vela remove secret <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, secret_org repo repository vela_repo, secret_repo secret.engine engine that stores vela_engine. secret_engine secret.type type being stored vela_type, secret_type team vela_team, secret_team vela_name, secret_name output format vela_output, secret_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --secret.engine native --secret.type --name foo targeted --org github --repo octocat response "foo" was deleted "},{"url":"https://go-vela.github.io/docs/reference/api/repo/repair/","display":"API/Repo/Repair","title":"Repair","content":"endpoint patch /api/v1/repos/:org/:repo/repair parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/repair" response github/octocat repaired "},{"url":"https://go-vela.github.io/docs/reference/cli/repo/repair/","display":"CLI/Repo/Repair","title":"Repair","content":"command vela repair repo <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization repository vela_org, repo_org vela_repo, repo_name output format vela_output, repo_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response "github/octocat" repaired "},{"url":"https://go-vela.github.io/docs/reference/api/admin/repo/","display":"API/Admin/Repo","title":"Repo","content":"endpoint put /api/v1/admin/repo permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. note: must provide entire repo object, as overwrites existing entry for repo. file "id": 1, "user_id": "org": "github", "name": "octocat", "full_name": "github/octocat", "link": "https://github.com/github/octocat", "clone": "https://github.com/github/octocat.git", "branch": "main", "build_limit": 10, "timeout": 60, "counter": 0, "visibility": "public", "private": false, "trusted": true, "active": "allow_pull": "allow_push": "allow_deploy": "allow_tag": "allow_comment": "pipeline_type": "yaml" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/admin/repo" response "},{"url":"https://go-vela.github.io/docs/reference/api/user/current/repos/","display":"User/Current/Repos","title":"Repos","content":"endpoint get /api/v1/user/source/repos permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/user/source/repos" response "id": 1, "user_id": "org": "github", "name": "octocat", "full_name": "github/octocat", "link": "https://github.com/github/octocat", "clone": "https://github.com/github/octocat.git", "branch": "main", "timeout": 60, "visibility": "public", "private": false, "trusted": true, "active": "allow_pull": "allow_push": "allow_deploy": "allow_tag": "allow_comment": false }, 2, "octokitty", "github/octokitty", "https://github.com/github/octokitty", "https://github.com/github/octokitty.git", "},{"url":"https://go-vela.github.io/docs/usage/repo_settings/","display":"Docs/Usage/Repo settings","title":"Repository Settings","content":"permissions before going through all the vela repository settings, it’s important to cover how they apply various parts of application. an overview can be found here. general settings below are for repositories that changed ui cli api. webhook events subscribe any following events: event description push commit pushed branch tag pull_request:opened pull request opened pull_request:reopened reopened pull_request:synchronize source has been updated with new pull_request:edited edited (title, description, target branch, etc) pull_request:labeled labeled pull_request:unlabeled unlabeled deployment:created deployment created comment:created comment made on comment:edited delete:branch deleted delete:tag pipelines written behave differently based which triggered build (see rulesets). scoping (event:action) was included release v0.23.0. as such, rulesets mapped following: pull_request -> pull_request:opened, pull_request:synchronize, comment:created, updating must done (api/cli/ui) order preserve signature integrity webhook. otherwise, users will experience error. access supports two options visibility: private any. determines who view builds. by default, newly enabled inherit visibility setting it control manager. however, if user wishes visbility differ between code ci repository, do so changing setting. outside contributor allows admins further safeguard their requiring approval builds, specifically requests from forks. four are: always require approval: regardless user, fork, need approved admin. read-only: some teams prefer fork contribution workflow even have write permission repo. those not approval, but read-only will. admin first time contributors: contributed able run builds without approval. note: may take few hours marked prior after repository. never opening pr against when awaiting scm status pending needs repo run. approve using cli. auto cancel previous same (if one exists). prevent up source. limit default max determined platform administrators. these values determine many concurrently given limits exist single occupying large amount worker resources. result exceeding re-launched redelivering once concurrent total dips limit. timeout lasts longer than set timeout, error out. counter number tally ran adjusted larger smaller. occasionally, due compilation errors, fall behind resulting sql collision audit page fix this, ensure matches actual count. badge check out usage documentation more details customizing badges repositories. actions chown every requires owner. owner typically at minimum. button (or command) transfer ownership making request. repair whenever connection configured manager invalidated, repaired. involves deletion re-creation history preserved, ability redeliver old webhooks not. pipeline type formatting base pipeline: yaml syntax (reference documentation) go standard inline functionality starlark generation templates treated syntax. match behavior pipeline, go. high-level pulled directly metadata key. metadata: auto_cancel: running: true default_branch: canceling strategy prioritize most recent obsolete running/pending information render render_inline: templates: name: example source: github.com/go-vela/templates/inline.yml type: github template appends end declared. only viable method calling stages top level. clone clone: false key override vela’s cloning start build. "},{"url":"https://go-vela.github.io/docs/reference/api/build/restart/","display":"API/Build/Restart","title":"Restart","content":"endpoint post /api/v1/repos/:org/:repo/builds/:build parameters the following are used to configure endpoint: name description org of organization repo repository build number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1" response "id": 2, "repo_id": 1, "number": "parent": "event": "push", "status": "created", "error": "", "enqueued": 1563474077, "created": 1563474076, "started": "finished": 0, "deploy": "clone": "https://github.com/github/octocat.git", "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", "title": "push received from https://github.com/github/octocat", "message": "first commit...", "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "sender": "octokitty", "author": "branch": "main", "ref": "refs/heads/main", "base_ref": "host": "company.localhost", "runtime": "docker", "distribution": "linux" "},{"url":"https://go-vela.github.io/docs/reference/cli/build/restart/","display":"CLI/Build/Restart","title":"Restart","content":"command vela restart build <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, build_org repo repository vela_repo, build_repo number vela_build, build_number output format vela_output, build_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build targeted --org github --repo octocat response id: repo_id: number: parent: event: push status: created error: "" populates when platform runs into an error with enqueued: 1563474087 created: 1563474086 started: finished: deploy: clone: https://github.com/github/octocat.git source: https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163 title: received from https://github.com/github/octocat message: first commit... commit: 48afb5bdc41ad69bf22588491333f7cf71135163 sender: octokitty author: branch: main ref: refs/heads/main baseref: host: "company.localhost" runtime: "docker" distribution: "linux" "},{"url":"https://go-vela.github.io/docs/reference/api/admin/settings/restore/","display":"Admin/Settings/Restore","title":"Restore","content":"endpoint delete /api/v1/admin/settings permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper 404 server was unable to retrieve resource 500 failure while processing sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/admin/settings" response "id": 1, "compiler": "clone_image": "target/vela-git:latest", "template_depth": 3, "starlark_exec_limit": 7500 }, "queue": "routes": "vela" "repo_allowlist": "*", ], "schedule_allowlist": "github/octocat", "created_at": 1715718878, "updated_at": 1715718879, "updated_by": "octocat" "},{"url":"https://go-vela.github.io/docs/usage/roles/","display":"Docs/Usage/Roles","title":"Roles","content":"warning at time the only source control provider github. so documentation tailored for those users. vela does not maintain any authentication (authn) authorization (authz) internally, but instead inherits its access from (version control) provider. more information on github’s model can be found their documentation. platform roles: admin write read roles admins have full when interacting with cli, ui, api. within github organization option to use orgs allow users permissions all repositories org, fine-grained of adding directly individual repositories. role enables repository, which grants following levels resources: repo build step service log secret "},{"url":"https://go-vela.github.io/docs/plugins/tutorials/ruby/","display":"Plugins/Tutorials/Ruby","title":"Ruby","content":"we recommend reviewing docker’s best practices before attempting to create custom plugin. that all plugins be placed inside scratch image. overview from ruby documentation: is… dynamic, open source programming language with focus on simplicity productivity. it has an elegant syntax natural read easy write. code plugin using ruby, we’ll need first decide what task want accomplish. for example, we’re going program makes http request the provided input: #!/usr/bin/env require 'net/http' 'uri' import method parameter environment env['parameter_method'] body env['parameter_body'] url env['parameter_url'] capture full uri uri(url) new client net::http.new(uri.host, uri.port) send response http.send_request( method, uri.path, body, output puts response.read_body example of section go-vela/vela-tutorials repository. image once have script needed accomplish our plugin’s task, dockerfile produce should contain setup run when executed: ruby:alpine apk add --update --no-cache ca-certificates copy vela-sample.rb /bin/vela-sample.rb entrypoint ["ruby", "/bin/vela-sample.rb"] target/vela-sample docker publishing order pipeline, make sure build publish registry: -t target/vela-sample:ruby push added benefit enabling others community consume your plugin! troubleshooting verify performs desired can executed locally via command line: --rm -e parameter_body="this sample vela written ruby" parameter_method="post" parameter_url="http://vela.localhost.com" usage after registry, referenced pipeline: version: "1" steps: name: image: pull: always parameters: url: http://vela.localhost.com method: post body: "},{"url":"https://go-vela.github.io/docs/installation/worker/reference/runtime/","display":"Worker/Reference/Runtime","title":"Runtime","content":"component responsible for integrating with runtime environment based off the configuration provided. used by vela executing workload resources managing their lifecycle. following options are to configure component: name description required default variables runtime.config path file false n/a runtime_config vela_runtime_config runtime.driver type of client control operate true docker runtime_driver vela_runtime_driver runtime.namespace namespace use (only kubernetes) runtime_namespace vela_runtime_namespace runtime.pods-template-name pipelinepodstemplate retrieve from runtime_pods_template_name vela_runtime_pods_template_name runtime.pods-template-file local fallback containing yaml runtime_pods_template_file vela_runtime_pods_template_file runtime.privileged-images images allowed run privileged mode runtime_privileged_images vela_runtime_privileged_images runtime.drop-capabilities kernel capabilities be dropped each running container runtime_drop_capabilities vela_runtime_drop_capabilities runtime.volumes host volumes mount into runtime_volumes vela_runtime_volumes note: more information on these options, please see worker reference. drivers available documentation uses daemon creating https://docker.io/ kubernetes cluster https://kubernetes.io/ official website: takes away repetitive, mundane tasks throughout development lifecycle fast, easy portable application desktop cloud. docker’s comprehensive end platform includes uis, clis, apis security that engineered work together across entire delivery below displays an example starting will runtime: --detach=true --env=vela_queue_driver=redis --env=vela_runtime_driver=docker --env=vela_server_addr=https://vela-server.example.com --env=vela_server_secret=<shared-secret> --env=vela_worker_addr=https://vela-worker.example.com --name=worker --publish=80:80 --publish=443:443 --restart=always --volume=/var/run/docker.sock:/var/run/docker.sock target/vela-worker:latest enabled not necessary provide order operate. kubernetes, also known as k8s, open-source system automating deployment, scaling, management containerized applications. --env=vela_runtime_driver=kubernetes --env=vela_runtime_config=/root/.kube/config --env=vela_runtime_namespace=vela --volume=/root/.kube/config:/root/.kube/config "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/s3_cache/","display":"Registry/Pipeline/S3 cache","title":"S3 Cache","content":"description plugin enables you to cache build resources an s3 compatible store for vela pipeline. source code: https://github.com/go-vela/vela-s3-cache registry: https://hub.docker.com/r/target/vela-s3-cache usage note: users should refrain from using latest as the tag docker image. it recommended use semantically versioned instead. sample of restoring cache: steps: name: restore_cache image: target/vela-s3-cache:latest pull: always parameters: action: restore bucket: mybucket server: mybucket.s3-us-west-2.amazonaws.com rebuilding rebuild_cache rebuild mount: .gradle while preserving directory structure: preserve_path: true foo/test1 bar/test2 flushing flushing_cache flush secrets configuring sensitive information your pipeline plain text. internal can substitute these values at runtime: secrets: s3_cache_access_key, s3_cache_secret_key access_key: akiaiosfodnn7example secret_key: 123456789qwertyexample example will add step environment variables: s3_cache_access_key=<value> s3_cache_secret_key=<value> external accepts following files authentication: parameter volume configuration access_key /vela/parameters/s3-cache/access_key, /vela/secrets/s3-cache/access_key secret_key /vela/parameters/s3-cache/secret_key, /vela/secrets/s3-cache/secret_key session_token /vela/parameters/s3-cache/session_token, /vela/secrets/s3-cache/session_token read secret stored /vela/secrets/ parameters supports reading all via variables files. any set file take precedence over environment. bucket with expected be created beforehand. used configure image actions: name required default accelerated_endpoint accelerated instance communicate false n/a parameter_accelerated_endpoint s3_cache_accelerated_endpoint access key communication parameter_access_key s3_cache_access_key aws_access_key_id action perform against parameter_action s3_cache_action build_branch branch repository by parameter_build_branch vela_build_branch parameter_bucket s3_cache_bucket log_level log level info parameter_log_level s3_cache_log_level org parameter_org vela_repo_org path custom object(s) parameter_path s3_cache_path prefix parameter_prefix s3_cache_prefix repo parameter_repo vela_repo_name repo_branch parameter_repo_branch vela_repo_branch parameter_secret_key aws_secret_access_key server parameter_server s3_cache_server session token parameter_session_token s3_cache_session_token aws_session_token are filename object archive.tgz parameter_filename s3_cache_filename timeout call 10m parameter_timeout s3_cache_timeout preserve_path whether preserve relative structure during tar process parameter_preserve_path s3_preserve_path mount directories locations parameter_mount s3_cache_mount age delete objects past specific (i.e. 60m, 8h) 336h parameter_age s3_cache_age template coming soon! troubleshooting start tuning logs being displayed: log_level: trace below list common problems how solve them: invalid duration value error may look like this: could not parse "14d " flag flush.age: time: unknown unit "d parsed go’s time.parseduration function. only hours, minutes, so on smaller time units supported; days cause unless added subsequent versions go after v1.16, which unlikely. "},{"url":"https://go-vela.github.io/docs/usage/schedule_build/","display":"Docs/Usage/Schedule build","title":"Scheduling a Build","content":"note: please ensure you’ve already started build for your repo before attempting to setup schedule. vela supports the ability periodically trigger builds known as outside of ecosystem, more commonly cron expression. users will be able manage schedules via ui, api cli. only with admin access that repo. warning: we make best efforts support feature parity but may not every capability. entry customize cadence frequency how often schedule should field. by default, sets limit 1h which controls smallest amount time can wait running. i.e. can’t than hour different installation you use. here’s small list examples demonstrate valid values field: run day at midnight week on sunday currently uses github.com/adhocore/gronx parse validate library also number common expressions (a.k.a. tags) @hourly, @daily, @weekly etc. information, see library’s official docs these tags. tip: recommend leveraging an expression generator like crontab guru pipeline what stages steps using ruleset: version: "1" steps: name: unit-test event: deployment, target: unit_test, integration_test, nightly commands: echo "i when name 'unit_test', 'integration_test' 'nightly' executed" integration-test publish notification any adding deployment event ruleset processes want enable manually replicates configuration especially useful initially test debug "},{"url":"https://go-vela.github.io/docs/installation/server/reference/scm/","display":"Server/Reference/Scm","title":"SCM","content":"component responsible for integrating with source control management (scm) system based off the configuration provided. scm used by vela both authentication authorization of interactions performed within application. following options are to configure component: name description required default environment variables scm.addr fully qualified url true https://github.com scm_addr vela_scm_addr scm.client client id from generated oauth application on n/a scm_client vela_scm_client scm.context message set commit status continuous-integration/vela scm_context vela_scm_context scm.driver type operate github scm_driver vela_scm_driver scm.scopes permission scopes apply credentials repo, repo:status, user:email, read:user, read:org scm_scopes vela_scm_scopes scm.secret secret scm_secret vela_scm_secret scm.webhook.addr webhooks send requests false address server ($vela_addr) scm_webhook_addr vela_scm_webhook_addr note: more information these options, please see reference. drivers available documentation uses githug enterprise https://github.com/about/ official website: where world builds software. millions developers companies build, ship, maintain their software github—the largest most advanced development platform world. below displays an example creating application: warning: homepage should match vela_addr variable provided clusters without ui. otherwise, vela_webui_addr server. callback contain /authenticate suffix. your organization’s private copy contained virtual appliance, hosted premises cloud, that you control. "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/scp/","display":"Registry/Pipeline/Scp","title":"SCP","content":"description plugin part of the openssh suite plugins which enables you to use scp binary vela pipeline. source code: https://github.com/go-vela/vela-openssh registry: https://hub.docker.com/r/target/vela-scp usage because thin wrapper around binary, syntax parameters follow from manual. will take care some basic secrets identity management tasks for you, most importantly that when an file provided as secret place into filesystem change permissions match what expects, then add it list files tried authentication. additionally, if using password passphrase authentication unlocking file, sshpass be used provide those credentials without interactive user input. note: users should refrain latest tag images. recommended semantically versioned instead. steps: name: image: target/vela-scp:latest pull: always parameters: source: ./relative/path/to/file/in/vela/workspace a_user_name@some_remote_host_name:/absolute/path/on/remote/system target: a_different_user@some_other_host:~ scp:// schema non-standard ports port scp://a_different_user@some_remote_host_name:12345/path passing additional flags override default ./relative/path/to/folder/in/vela/workspace scp_flag: "-r" "-o stricthostkeychecking=yes" secrets: my_non_user_account_password sshpass_password (without passphrase) internal contents my_non_user_account_id_rsa_file_contents identity_file_contents (with with my_non_user_account_id_rsa_passphrase sshpass_passphrase existing workspace identity_file_path: ./some/workspace/location/id_rsa other some_secret_user secret_user some_secret_host secret_host some_secret_port secret_port scp://$secret_user@$secret_host:$secret_port/path container logic directly commands: -i ./some/existing/id_rsa username@hostname:/path/ & supports reading all via environment variables files. any values set precedence over environment. don’t confuse source/target native target required binary. name accepts multiple values? paths option parameter_source /vela/parameters/vela-scp/source /vela/secrets/vela-scp/source parameter_target /vela/parameters/vela-scp/target /vela/secrets/vela-scp/target identity_file_path path where look these are not auto created by they must managed only referenced here. parameter_identity_file_path parameter_ssh_key_path ssh_key_path /vela/parameters/vela-scp/identity-file.path /vela/secrets/vela-scp/identity-file.path raw scp. temporary location correct inject during execution. parameter_identity_file_contents parameter_ssh_key ssh_key /vela/parameters/vela-scp/identity-file.contents /vela/secrets/vela-scp/identity-file.contents scp_flag options placed between at end. -o stricthostkeychecking=no userknownhostsfile=/dev/null parameter_scp_flag /vela/parameters/vela-scp/scp.flag /vela/secrets/vela-scp/scp.flag systems require can specified here, conjunction parameter_sshpass_password parameter_password /vela/parameters/vela-scp/sshpass.password /vela/secrets/vela-scp/sshpass.password parameter_sshpass_passphrase /vela/parameters/vela-scp/sshpass.passphrase /vela/secrets/vela-scp/sshpass.passphrase sshpass_flag parameter_sshpass_flag /vela/parameters/vela-scp/sshpass.flag /vela/secrets/vela-scp/sshpass.flag "},{"url":"https://go-vela.github.io/docs/installation/server/reference/secret/","display":"Server/Reference/Secret","title":"Secret","content":"component optional responsible for integrating with an external secret system based off the configuration provided. used by vela storing sensitive application data at rest. default, will use database to store if other configured. note: any stored be encrypted using advanced encryption standard (aes). following options are configure component: name description required default environment variables secret.vault.addr fully qualified url hashicorp vault instance true n/a secret_vault_addr vela_secret_vault_addr secret.vault.auth-method authentication method obtain token from false secret_vault_auth_method vela_secret_vault_auth_method secret.vault.aws-role role connect auth/aws/login endpoint secret_vault_aws_role vela_secret_vault_aws_role secret.vault.driver enables as engine secret_vault vela_secret_vault secret.vault.prefix prefix k/v secrets secret_vault_prefix vela_secret_vault_prefix secret.vault.renewal frequency renew 30m secret_vault_renewal vela_secret_vault_renewal secret.vault.token access secret_vault_token vela_secret_vault_token secret.vault.version version backend secret_vault_version vela_secret_vault_version more information on these options, please see server reference. drivers available documentation uses rest https://www.vaultproject.io/ official website: you secure, tightly control tokens, passwords, certificates, keys protecting ui, cli, http api. below displays example of starting that instance: docker run --detach=true --env=vela_addr=https://vela-server.example.com --env=vela_database_encryption_key=<encryption-key> --env=vela_queue_driver=redis --env=vela_queue_addr=redis://<password>@<hostname>:<port>/<database> --env=vela_port=443 --env=vela_secret=<shared-secret> --env=vela_server_private_key=<private_key> --env=vela_secret_vault=true --env=vela_secret_vault_addr=https://vault.example.com --env=vela_secret_vault_token=<vault-token> --env=vela_scm_client=<oauth-client-id> --env=vela_scm_secret=<oauth-client-secret> --env=vela_webui_addr=https://vela.example.com --name=server --publish=80:80 --publish=443:443 --restart=always target/vela-server:latest "},{"url":"https://go-vela.github.io/docs/reference/api/admin/secret/","display":"API/Admin/Secret","title":"Secret","content":"endpoint put /api/v1/admin/secret permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. note: must provide entire secret object, as overwrites existing entry for secret. file "id": 1, "org": "github", "repo": "octocat", "team": "", "name": "foo", "value": "type": "repo", "images": ["alpine"], "events": ["push", "tag"], "allow_command": true, "allow_substitution": "allow_events": "push": "branch": "tag": "delete_branch": false, "delete_tag": false }, "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": true "comment": "schedule": "run": "created_at": 1641314085, "created_by": "octokitty", "updated_at": 1641314500, "updated_by": "octocat" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/admin/secret" response "},{"url":"https://go-vela.github.io/docs/usage/secrets/","display":"Docs/Usage/Secrets","title":"Secrets","content":"page will primarily focus on internal secrets. if you would like to learn more about external secrets, check out the secrets examples page. for broader view of how use your pipeline, tour warning: do not have pull_request event enabled by default. intentional help mitigate exposure via pull request against repo. can override behavior, at own risk, each secret. are generally managed ui cli. they also be api. full pipeline example available here yaml block secrets: name: foo1 key: github/ocotocat/foo engine: native type: repo name key autogenerated based other secret components, following convention (see type). repository: <org>/<repo>/<name> organization: <org>/<name> shared: <org>/<team>/<name> engine designed store database. component exists configuration future-proofing; allowing easier expansion additional options future. type there three types with equivalent paths ui: repository https://vela.example.com/-/secrets/native/repo/<org>/<repo> organization https://vela.example.com/-/secrets/native/org/<org> shared https://vela.example.com/-/secrets/native/shared/<org>/<team> scoped only single repository. order create/modify these must admin within source code manager. github/ocotocat/foo1 any organization. an foo github/foo org manager (scm). unique case require team exist scm org. member team. github/ocotokitties/foo protecting best practices keeping vela safe. log implements masking routine that obfuscates printing value step service logs. example: steps: image: alpine commands: echo $foo1 print *** simply looks logs exactly match content it important consider as protection accidental logging opportunity verbose logging, bad actors. those protections described below. build approval default enabled, triggered users without write access therefore, events, practice adopt policy, which allow admins validate safety pipeline. settings defaults various setting command substitution images events push, tag, deployment command: prevents from being injected into container environment whenever commands custom entrypoint specified. no_commands 'allow command' set false vela/no_commands yes_commands true vela/yes_commands mask alpine:latest no_commands, $no_commands nothing (not injected) $yes_commands substitution: substituted referencing its ${key} format. setting, tandem disallowing commands, attempting bypass vela’s no_substitution substitution' vela/no_substitution yes_substitution vela/yes_substitution docker target/vela-kaniko no_substitution, parameters: build_args: foo=${no_substitution} empty bar=${yes_substitution} bar caveat both fact values. because converts all shell script, substitutions actually rather than runtime substitutions. wget --header="x-auth-token: ${no_substitution}" https://www.example.com ${yes_substitution}" note: plugin expects specific variable, leverage target docker.company.com/my-org/my-plugin github_token source: target: parameter_api_token api_token: ${github_token} much safer practice. images: further protect limiting usage certain images. ensures every time environment, used expected way. specify tag-specific base any_image `images` "any" vela/any_image kaniko_only "target/vela-kaniko" vela/kaniko_only kaniko_username kaniko_password registry: docker.company.com repo: docker.company.com/some/repo tags: ${vela_build_commit:0:8} any_image, $any_image ***, signaling injection $kaniko_only nothing, events: restricted environments webhook events. useful potential opportunities using when necessary. update settings, edit ui. may cli api "},{"url":"https://go-vela.github.io/docs/reference/api/admin/service/","display":"API/Admin/Service","title":"Service","content":"endpoint put /api/v1/admin/service permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. note: must provide entire service object, as overwrites existing entry for service. file "id": 1, "build_id": "repo_id": "number": "name": "clone", "status": "failure", "error": "", "exit_code": 0, "created": 1563475419, "started": 1563475420, "finished": 1563475421 curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/admin/service" response "},{"url":"https://go-vela.github.io/docs/usage/skipping_build/","display":"Docs/Usage/Skipping build","title":"Skipping a Build","content":"to prevent vela from running build for commit, add one of the following your commit title message: [skip ci] [ci skip] vela] [vela ***no_ci*** note: you can use upper lower case. will receive payload source control provider return 200 response with reason why was not triggered. "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/slack/","display":"Registry/Pipeline/Slack","title":"Slack","content":"description plugin enables you to send data slack channel. source code: https://github.com/go-vela/vela-slack registry: https://hub.docker.com/r/target/vela-slack usage note: users should refrain from using latest as the tag for docker image. it recommended use semantically versioned instead. sample of sending message: steps: name: message image: target/vela-slack:latest pull: always parameters: text: "hello world!" with formatting: message-with-formatting not_present repo {{ .repositoryname }}!" local attachment file: message-with-attachment secrets: webhook filepath: slack_attachment.json remote: false remote message-with-remote-attachment true https://github.com content slack_attachment.json: "attachments": "fallback": "required plain-text summary attachment.", "color": "#36a64f", "pretext": "optional text that appears above block", "author_name": "bobby tables", "author_link": "http://flickr.com/bobby/", "author_icon": "http://flickr.com/icons/bobby.jpg", "title": "slack api documentation", "title_link": "https://api.slack.com/", "text": "build: .buildnumber }}", "fields": "priority", "value": "high", "short": ], "image_url": "http://my-website.com/path/to/image.jpg", "thumb_url": "http://example.com/path/to/thumb.png", "footer": api", "footer_icon": "https://platform.slack-edge.com/img/default_application_icon.png", "ts": 123456789 any variables within attachments file must be saved format json file. configuration below pulled almost directly builder example. secrets configuring sensitive information your pipeline plain text. internal accepts following parameters authentication: parameter environment variable parameter_webhook, slack_webhook can vela substitute these values at runtime: webhook: http://slack.example.com example will add secret step variables: slack_webhook=<value> external files volume /vela/parameters/slack/webhook, /vela/secrets/slack/webhook read value stored /vela/secrets/ supports reading all via files. set take precedence over environment. are used configure name required default channel n/a parameter_channel slack_channel filepath path parameter_filepath slack_filepath icon_emoji emoji icon parameter_icon_emoji slack_icon_emoji icon_url url parameter_icon_url slack_icon_url log_level log level info parameter_log_level slack_log_level top display parameter_text slack_text thread_ts timestamp thread post parameter_thread_ts slack_thread_ts parameter_webhook template coming soon! troubleshooting start by tuning logs being displayed: log_level: trace list common problems how solve them: "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/ssh/","display":"Registry/Pipeline/SSH","title":"SSH","content":"description plugin part of the openssh suite plugins which enables you to use ssh binary vela pipeline. source code: https://github.com/go-vela/vela-openssh registry: https://hub.docker.com/r/target/vela-ssh usage because thin wrapper around binary, syntax parameters follow from manual. will take care some basic secrets identity management tasks for you, most importantly that when an file provided as secret place into filesystem change permissions match what expects, then add it list files tried authentication. additionally, if using password passphrase authentication unlocking file, sshpass be used provide those credentials without interactive user input. note: users should refrain latest tag images. recommended semantically versioned instead. with no-auth methods steps: name: image: target/vela-ssh:latest pull: always parameters: destination: a_different_user@some_other_host command: echo "hello vela!" /some/path/to/a/remote/script.sh ssh:// schema non-standard ports port ssh://a_different_user@some_remote_host_name:12345 passing additional flags override default ssh_flag: "-o stricthostkeychecking=yes" secrets: source: my_non_user_account_password target: sshpass_password (without passphrase) internal contents my_non_user_account_id_rsa_file_contents identity_file_contents (with my_non_user_account_id_rsa_passphrase sshpass_passphrase existing workspace identity_file_path: ./some/workspace/location/id_rsa other some_secret_user secret_user some_secret_host secret_host some_secret_port secret_port ssh://$secret_user@$secret_host:$secret_port container logic directly note isn't section. commands: -i ./some/existing/id_rsa username@hostname some-bin & supports reading all via environment variables files. any values set precedence over environment. don’t confuse commands parameter traditional step command option required binary. name accepts multiple values? paths destination parameter_destination parameter_host /vela/parameters/vela-ssh/destination /vela/secrets/vela-ssh/destination parameter_command parameter_script script /vela/parameters/vela-ssh/command /vela/secrets/vela-ssh/command identity_file_path path where look these are not auto created by they must managed only referenced here. parameter_identity_file_path parameter_ssh_key_path ssh_key_path /vela/parameters/vela-ssh/identity-file.path /vela/secrets/vela-ssh/identity-file.path raw ssh. temporary location correct inject during execution. parameter_identity_file_contents parameter_ssh_key ssh_key /vela/parameters/vela-ssh/identity-file.contents /vela/secrets/vela-ssh/identity-file.contents ssh_flag options placed between destination/command at end. -o stricthostkeychecking=no userknownhostsfile=/dev/null parameter_ssh_flag /vela/parameters/vela-ssh/ssh.flag /vela/secrets/vela-ssh/ssh.flag systems require can specified here, conjunction parameter_sshpass_password parameter_password /vela/parameters/vela-ssh/sshpass.password /vela/secrets/vela-ssh/sshpass.password parameter_sshpass_passphrase /vela/parameters/vela-ssh/sshpass.passphrase /vela/secrets/vela-ssh/sshpass.passphrase sshpass_flag parameter_sshpass_flag /vela/parameters/vela-ssh/sshpass.flag /vela/secrets/vela-ssh/sshpass.flag "},{"url":"https://go-vela.github.io/docs/usage/stage_orchestration/","display":"Docs/Usage/Stage orchestration","title":"Stage Orchestration","content":"page will focus on stages how to effectively leverage the orchestration options given users. these are: ruleset key, needs independent key. step rulesets begin, let’s while not key at level, each stage has collection of steps, which can all be rulesets. there are two kinds rules within vela: compile-time (path, event, branch, comment, tag, target, repo) runtime rule (status). when vela compiles pipeline, it purge any steps that do meet rules. for example, consider pipeline written as such: version: "1" stages: build: steps: name: build my code image: golang:latest environment: cgo_enabled: '0' goos: linux commands: go deploy: publish docker image target/vela-kaniko:latest ruleset: event: push branch: main parameters: registry: index.docker.io repo: index.docker.io/octocat/hello-world dry-run: false notify: needs: build, deploy report failure target/vela-slack:latest status: text: "failure!" if triggered branch named issue-123, compiled like this: true notice been pruned completely, rather than being with empty steps. further, since notify normally waits both deploy, situation, only build. still part its consists rule. understanding isn’t sure-fire way running order, introduces level dependency used order stages. however become tricky combined pruning, shown example above. take look theoretical pipeline: run-first: sleep 10 alpine:latest echo "done"" runtime-ruleset-stage: run-first fail "runtime rule" compile-time-ruleset-stage: not-main "never ran" x-stage: runtime-ruleset-stage, compile-time-ruleset-stage who ran 20 $vela_build_author y-stage: what repo $vela_repo_full_name note: aware references by their name, overridden name definition. main. we know indeed run first, followed runtime-ruleset-stage cannot due however, recall from our first entirety stage’s compile-time, disappears completely: so fact, scenario, y-stage begin simultaneously, even though needed original pipeline. leveraging independence increasing popularity monorepos, some pipelines may want simultaneously execute very different flows based modules repository. nature skip remainder single fails could potentially cause issues, such half-done deployments. say have back-end front-end together. assume org/repo/back-end org/repo/front-end. path compartmentalize builds: test-and-build-backend: independent: install pull: always matcher: regexp path: org/repo/back-end/* get ./... test test-and-build-frontend: node node:latest org/repo/front-end/* lint extend deployments, it’s easy see where team one module complete flow there’s another module. summary an advanced tool help writing powerful sensible parallel execution. tools helpful, just using simplify don’t need the, sometimes surprising, complexity. "},{"url":"https://go-vela.github.io/docs/usage/start_build/","display":"Docs/Usage/Start build","title":"Start a Build","content":"if you’ve followed the documentation for enabling repo wrote pipeline (here are some example pipelines), all that should be left to push your repo. build does not trigger when change repo, check webhook response see there an error. "},{"url":"https://go-vela.github.io/docs/reference/api/admin/step/","display":"API/Admin/Step","title":"Step","content":"endpoint put /api/v1/admin/step permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. note: must provide entire step object, as overwrites existing entry for step. file "id": 1, "build_id": "repo_id": "number": "name": "clone", "status": "failure", "error": "", "exit_code": 0, "created": 1563475419, "started": "finished": "host": "company.localhost", "runtime": "docker", "distribution": "linux" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/admin/step" response "},{"url":"https://go-vela.github.io/docs/reference/environment/substitution/","display":"Reference/Environment/Substitution","title":"Substitution","content":"vela imports substitution library to provide the ability expand, substitute, repository build metadata facilitate dynamic pipeline configurations. string operations syntax example with output description ${var^} var=example; echo converts first character of variable uppercase ${var^^} all characters ${var,} lowercase ${var,,} ${var:position} ${var:1} xample extracts substring from starting at position ${var:position:length} ${var:2:3} amp specified length ${var#substring} var=exampleexample; ${var#exa} mpleexample removes shortest match start ${var##substring} ${var##*exa} mple longest ${var%substring} ${var%mple} exampleexa end ${var%%substring} ${var%%mple*} exa ${var/substring/replacement} ${var/exam/ap} appleexample replaces replacement ${var//substring/replacement} ${var//exam/ap} appleapple matches ${var/#substring/replacement} ${var/#exam/ap} apple if starts substring, replace it ${var/%substring/replacement} ${var/%mple/ctly} exactly ends ${#var} returns ${var=default} unset var; default null, will be set ${var:=default} assignment exported ${var:-default} replaced without changing value var note you want play examples above terminal, make sure are bash shell. escaping tip: expressions evaluated before yaml parsed. do not system evaluate an expression must escaped. version: "1" steps: name: commands: does escape evaluation ${vela_build_commit} by adding double '$$' $${vela_build_commit} "},{"url":"https://go-vela.github.io/docs/reference/api/scm/sync/","display":"API/Scm/Sync","title":"Sync","content":"endpoint patch /api/v1/scm/repos/:org/:repo/sync parameters the following are used to configure endpoint: name description org of organization repo repository responses status code 200 indicates request has succeeded 401 user does not have proper permissions sync allows users re-align their vela with its scm mirror. discrepancy can come form that been deleted from but vela. further, as v0.19.0, be adjust events sent vela-instance subscribed to. for example, if your audit page errors like "unable process webhook: <org>/<repo> comment enabled" hitting should re-configure webhook only send allowed. once aligned, you hit again, even changed. sample section assumes already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/scm/repos/github/octocat/sync" response "github/octocat" synced "},{"url":"https://go-vela.github.io/docs/reference/cli/repo/sync/","display":"CLI/Repo/Sync","title":"Sync","content":"command vela sync repo <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization repository vela_org, repo_org vela_repo, repo_name all bool flag repos an vela_sync_all, sync_all also supports setting via configuration file: please review cli config documentation. allows users re-align their with its scm mirror. discrepancy come form that has been deleted from but not vela. further, as v0.19.0, be adjust events sent vela-instance subscribed to. example, if your audit page errors like "unable process webhook: <org>/<repo> does have comment enabled" running should re-configure webhook only send allowed. once aligned, again, even changed. samples section assumes already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response "github/octocat" synced --all "github" "},{"url":"https://go-vela.github.io/docs/reference/api/scm/syncall/","display":"API/Scm/Syncall","title":"SyncAll","content":"endpoint get /api/v1/scm/orgs/:org/sync parameters the following are used to configure endpoint: name description org of organization responses status code 200 indicates request has succeeded 401 user does not have proper permissions sync-all allows users re-align their organization’s repositories vela with scm mirror. discrepancy can come form repository that been deleted from but vela. further, as v0.19.0, be adjust events sent vela-instance repo subscribed to. for example, if your audit page errors like "unable process webhook: <org>/<repo> comment enabled" hitting should re-configure webhook all repos only send allowed. once aligned, you hit again, even changed. sample section assumes already know how authenticate api. api, please review authentication documentation. curl -x patch -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/scm/orgs/github/sync" response "github" synced "},{"url":"https://go-vela.github.io/docs/templates/tutorials/go/vars_template/","display":"Tutorials/Go/Vars template","title":"Template Vars","content":"we recommend reviewing go templates documentation before attempting to create template. if you’re new yaml also the 1.2 spec for validation on syntax. overview template variables can be referenced with following syntax: {{ .name }} sample let’s take look at using within template: metadata: true steps: name: test commands: echo .input image: alpine pull: always ruleset: event: push, pull_request caller of could like: version: "1" templates: source: github.com/<org>/<repo>/path/to/file/<template>.yml type: github vars: input: hello which means compiled pipeline execution worker is: sample_echo "},{"url":"https://go-vela.github.io/docs/templates/tutorials/starlark/vars_template/","display":"Tutorials/Starlark/Vars template","title":"Template Vars","content":"we recommend reviewing starlark spec before attempting to create template. overview template variables can be referenced with the following syntax: ctx['vars'][<name>] sample let’s take look at using within template: def main(ctx): steps [step(x, ctx["vars"]["pull_policy"], ctx["vars"]["commands"]) for ctx["vars"]["tags"]] pipeline 'version': '1', 'steps': steps, return step(tag, pull_policy, commands): "name": "build %s" tag, "image": "golang:%s" "pull": 'commands': commands.values(), caller of could like: version: "1" templates: name: source: github.com/<org>/<repo>/path/to/file/<template>.star format: type: github steps: build vars: tags: [latest, "1.14", "1.15"] pull_policy: always commands: test: "go test ./..." build: build" which means compiled execution on worker is: sample_build latest image: golang:latest pull: go ./... 1.14 golang:1.14 1.15 golang:1.15 "},{"url":"https://go-vela.github.io/docs/reference/api/pipeline/templates/","display":"API/Pipeline/Templates","title":"Templates","content":"endpoint get /api/v1/pipelines/:org/:repo/:pipeline/templates parameters the following are used to configure endpoint: name description org of organization repo repository pipeline commit sha for from output format compiled configuration permissions coming soon! responses status code 200 indicates request has succeeded 400 unable retrieve templates 401 user does not have proper 404 500 system error while retrieving sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/pipelines/github/octocat/48afb5bdc41ad69bf22588491333f7cf71135163/templates" response some_template: link: https://github.com/github/octocat/blob/main/template.yml name: some_template source: github.com/github/octocat/template.yml type: github "some_template": "link": "https://github.com/github/octocat/blob/main/template.yml", "name": "some_template", "source": "github.com/github/octocat/template.yml", "type": "github" }, "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/terraform/","display":"Registry/Pipeline/Terraform","title":"Terraform","content":"description plugin enables you to run terraform against providers vela pipeline. source code: https://github.com/go-vela/vela-terraform registry: https://hub.docker.com/r/target/vela-terraform usage note: users should refrain from using latest as the tag for docker image. it recommended use semantically versioned instead. sample of adding installing version: steps: name: apply image: target/vela-terraform:latest pull: always parameters: action: auto_approve: true required versions 0.12.x 0.11.7 init options configuration: init_options: get_plugins: applying destroying destroy formatting configuration files: fmt planning plan validating validate secrets configuring sensitive information your pipeline plain text. internal can substitute these values at runtime: secrets: terraform_username, terraform_password username: octocat password: supersecretpassword example will add step environment variables: terraform_username=<value> terraform_password=<value> external accepts following files authentication: parameter volume password /vela/parameters/terraform/password, /vela/secrets/terraform/password username /vela/parameters/terraform/username, /vela/secrets/terraform/username read secret stored /vela/secrets/ parameters supports reading all via variables files. any set file take precedence over environment. commands be invoked current directory by default. are used configure name default action perform with n/a parameter_action terraform_action init_options operation false parameter_init_options terraform_init_options log_level log level info parameter_log_level terraform_log_level machine netrc communicate github.com parameter_machine terraform_machine vela_netrc_machine authentication parameter_password vela_netrc_password user parameter_username terraform_username vela_netrc_username version cli 1.2.7 parameter_version terraform_version within backend backend_configs merged what force_copy suppress prompts about copying state data from_module copy contents given module into target before initialization get download modules get_plugins missing plugins input ask if not directly lock when locking supported lock_timeout duration retry no_color disables colors output plugin_dirs containing binaries; overrides search paths reconfigure backend, ignoring saved upgrade install allowed configured constraints verify_plugins verify authenticity integrity automatically downloaded command uses defaults overridden config. auto_approve skip interactive approval resources parameter_auto_approve terraform_auto_approve backup path existing parameter_backup terraform_backup parameter_directory terraform_directory parameter_lock terraform_lock parameter_lock_timeout terraform_lock_timeout parameter_no_color terraform_no_color parallelism number concurrent operations walks its graph parameter_parallelism terraform_parallelism refresh update prior checking differences parameter_refresh terraform_refresh save parameter_state terraform_state state_out write updated parameter_state_out terraform_state_out resource parameter_target terraform_target vars map pass (<key>=<value>) parameter_vars terraform_vars var_files list var parameter_var_files terraform_var_files format check formatted parameter_check terraform_check diff diffs changes parameter_diff terraform_diff whose differs parameter_list terraform_list result instead stdout parameter_write terraform_write managed parameter_destroy terraform_destroy detailed_exit_code return detailed exit codes exits parameter_detailed_exit_code terraform_detailed_exit_code parameter_input terraform_input module_depth specifies depth show parameter_module_depth terraform_module_depth check_variables whether have been specified parameter_check_variables terraform_check_variables template coming soon! troubleshooting start tuning logs being displayed: log_level: trace also instruct verbose logging: environment: tf_log: below common problems how solve them: "},{"url":"https://go-vela.github.io/docs/installation/server/reference/token_manager/","display":"Server/Reference/Token manager","title":"Token Manager","content":"component responsible for generating validating jwt tokens shared between the vela server, workers, users based off configuration provided. token manager designed to ensure secure interactions with server protect build resources. following options are used configure component: name description required default environment variables vela-server-private-key private key signing all true n/a vela_server_private_key user-access-token-duration maximum duration of time access user valid on 15m vela_user_access_token_duration user_access_token_duration user-refresh-token-duration refresh 8h build-token-buffer-duration extends beyond repo limit maintain validity 5m vela_build_token_buffer_duration build_token_buffer_duration worker-auth-token-duration an auth worker false* 20m vela_worker_auth_token_duration worker_auth_token_duration worker-register-token-duration registration 1m vela_worker_register_token_duration worker_register_token_duration notes: if you intend register workers. more information these options, please see reference. "},{"url":"https://go-vela.github.io/docs/usage/workspace/","display":"Docs/Usage/Workspace","title":"Understanding the Workspace","content":"vela uses shared volume model between steps to allow file system during the build process. these volumes should be considered ephemeral sense once completes execution all data via being destroyed. working directory ensures configuration, code, dependencies, compiled binaries are persisted steps. default workspace attached every unique matches below pattern: source: syntax /vela/src/<source_provider/<source org>/<source repo> example /vela/src/github.com/go-vela/hello-world secrets: /vela/secrets/<path>/<key> /vela/secrets/github/username/ /vela/secrets/github/password/ parameters: /vela/parameters/<path>/<key> /vela/parameters/github/repo/settings/topics before you use parameters check plugin authors docs ensure it has support read from /vela/parameters would equivalent following docker commands executed: create build-workspace run --volume=build-workspace:/vela/ <image> cloning automatically checks out repository into local that mounted each container. generally referred as workspace, which defines by build. git clone https://github.com/go-vela/hello-world.git <workspace> cases where your needs special configuration add step at beginning of pipeline adding desired behavior. "},{"url":"https://go-vela.github.io/docs/reference/api/admin/settings/update/","display":"Admin/Settings/Update","title":"Update","content":"endpoint put /api/v1/admin/settings permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper 404 server was unable to retrieve resource 500 failure while processing sample section assumes you already know how authenticate api. api, please review authentication documentation. file "compiler": "clone_image": "target/vela-git:latest", "template_depth": 3, "starlark_exec_limit": 7500 }, "queue": "routes": "vela" "repo_allowlist": "*", ], "schedule_allowlist": "github/octocat", curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/admin/settings" response "id": 1, "created_at": 1715718878, "updated_at": 1715718879, "updated_by": "octocat" "},{"url":"https://go-vela.github.io/docs/reference/api/build/update/","display":"API/Build/Update","title":"Update","content":"endpoint put /api/v1/repos/:org/:repo/builds/:build parameters the following are used to configure endpoint: name description org of organization repo repository build number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "message": "this an updated message" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1" response "id": 1, "repo_id": "number": "parent": "event": "push", "status": "created", "error": "", "enqueued": 1563474077, "created": 1563474076, "started": "finished": 0, "deploy": "clone": "https://github.com/github/octocat.git", "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", "title": "push received from https://github.com/github/octocat", message", "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "sender": "octokitty", "author": "branch": "main", "ref": "refs/heads/main", "base_ref": "host": "company.localhost", "runtime": "docker", "distribution": "linux" "},{"url":"https://go-vela.github.io/docs/reference/api/dashboard/update/","display":"API/Dashboard/Update","title":"Update","content":"endpoint put /api/v1/dashboards/:id permissions coming soon! responses status code description 200 indicates the request has succeeded 400 bad 401 user does not have proper 500 server error sample section assumes you already know how to authenticate api. api, please review authentication documentation. file "id": "f460e0a1-a6a5-4724-89e8-4b2b39e12012", "name": "new-name", "admins": 1, "octocat", "active": true }, "myfriend" ], "repos": "octocat/myvela" "octocat/other-repo" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/dashboards/f460e0a1-a6a5-4724-89e8-4b2b39e12012" response "created_at": 1721251709, "created_by": "updated_at": 1721253772, "updated_by": 2, "myfriend", 293, 294, "},{"url":"https://go-vela.github.io/docs/reference/api/hook/update/","display":"API/Hook/Update","title":"Update","content":"endpoint put /api/v1/hooks/:org/:repo/:hook parameters the following are used to configure endpoint: name description org of organization repo repository hook number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "status": "failure" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/hooks/github/octocat/1" response "id": 1, "repo_id": "build_id": "number": "source_id": "c8da1302-07d6-11ea-882f-4893bca275b8", "created": "1563474076", "host": "github.com", "event": "push", "branch": "main", "error": "", "failure", "link": "" "},{"url":"https://go-vela.github.io/docs/reference/api/pipeline/update/","display":"API/Pipeline/Update","title":"Update","content":"endpoint put /api/v1/pipelines/:org/:repo/:pipeline parameters the following are used to configure endpoint: name description org of organization repo repository pipeline commit sha for from permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "data": "ls0tcnzlcnnpb246icixigokc3rlchm6ciaglsbuyw1loibly2hvciagicbpbwfnztogywxwaw5lomxhdgvzdaogicagzw52axjvbm1lbnq6ciagicagiehftexpoib3b3jszaogicagy29tbwfuzhm6iftly2hvicriruxmt10=" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/pipelines/github/octocat/48afb5bdc41ad69bf22588491333f7cf71135163" response "id": 1, "repo_id": "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "flavor": "", "platform": "ref": "refs/heads/main", "type": "yaml", "version": "1", "external_secrets": false, "internal_secrets": "services": "stages": "steps": true, "templates": "},{"url":"https://go-vela.github.io/docs/reference/api/repo/update/","display":"API/Repo/Update","title":"Update","content":"endpoint put /api/v1/repos/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "allow_tag": true curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/repos/github/octocat" response "id": 1, "user_id": "org": "github", "name": "octocat", "full_name": "github/octocat", "link": "https://github.com/github/octocat", "clone": "https://github.com/github/octocat.git", "branch": "main", "build_limit": 10, "timeout": 60, "counter": 0, "visibility": "public", "private": false, "trusted": true, "active": "allow_pull": "allow_push": "allow_deploy": "allow_comment": "allow_events": "push": "tag": "delete_branch": "delete_tag": false }, "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": "comment": "schedule": "run": "pipeline_type": "yaml" "},{"url":"https://go-vela.github.io/docs/reference/api/schedule/update/","display":"API/Schedule/Update","title":"Update","content":"endpoint put /api/v1/schedules/:org/:repo/:schedule parameters the following are used to configure endpoint: name description org of organization repo repository schedule from permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "active": false curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/schedules/github/octocat/hourly" response "id": 1, "repo": "owner": "name": "octokitty", true }, "org": "github", "full_name": "github/octokitty", "link": "https://github.com/github/octokitty", "clone": "https://github.com/github/octokitty.git", "branch": "main", "topics": [], "build_limit": 10, "timeout": 30, "counter": 0, "visibility": "public", "private": false, "trusted": true, "allow_events": "push": "tag": "delete_branch": "delete_tag": "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": "comment": "schedule": "run": "pipeline_type": "yaml", "previous_name": "", "approve_build": "fork-always" "hourly", "entry": "0 *", "created_at": 1716495910, "created_by": "updated_at": "updated_by": "scheduled_at": "error": "next_run": 1716499800 "},{"url":"https://go-vela.github.io/docs/reference/api/secret/update/","display":"API/Secret/Update","title":"Update","content":"endpoint put /api/v1/secrets/:engine/:type/:org/:name/:secret parameters the following are used to configure endpoint: name description engine of type secret org organization repository team permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "allow_command": false curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/secrets/native/repo/github/octocat/foo" response "id": 1, "org": "github", "repo": "octocat", "team": "", "name": "foo", "value": "type": "repo", "images": ["alpine"], "events": ["push", "tag"], true, "allow_substitution": "allow_events": "push": "branch": "tag": "delete_branch": false, "delete_tag": }, "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": true "comment": "schedule": "run": "created_at": 1641314085, "created_by": "octokitty", "updated_at": 1641314500, "updated_by": "octocat" "},{"url":"https://go-vela.github.io/docs/reference/api/service/update/","display":"API/Service/Update","title":"Update","content":"endpoint put /api/v1/repos/:org/:repo/builds/:build/services/:service parameters the following are used to configure endpoint: name description org of organization repo repository build number service permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "status": "failure" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/services/1" response "id": 1, "build_id": "repo_id": "number": "name": "clone", "failure", "error": "", "exit_code": 0, "created": 1563475419, "started": 1563475420, "finished": 1563475421 "},{"url":"https://go-vela.github.io/docs/reference/api/step/update/","display":"API/Step/Update","title":"Update","content":"endpoint put /api/v1/repos/:org/:repo/builds/:build/steps/:step parameters the following are used to configure endpoint: name description org of organization repo repository build number step permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "status": "failure" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/steps/1" response "id": 1, "build_id": "repo_id": "number": "name": "clone", "failure", "error": "", "exit_code": 0, "created": 1563475419, "started": "finished": "host": "company.localhost", "runtime": "docker", "distribution": "linux" "},{"url":"https://go-vela.github.io/docs/reference/api/user/current/update/","display":"User/Current/Update","title":"Update","content":"endpoint put /api/v1/user permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. file "admin": true curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/user" response "id": 1, "name": "octokitty", "token": null, "favorites": ["github/octocat"], "active": true, "},{"url":"https://go-vela.github.io/docs/reference/api/user/update/","display":"API/User/Update","title":"Update","content":"endpoint put /api/v1/users/:user parameters the following are used to configure endpoint: name description user of permissions coming soon! responses status code 200 indicates request has succeeded 401 does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "admin": true curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/users/octokitty" response "id": 1, "name": "octokitty", "token": null, "favorites": ["github/octocat"], "active": true, "},{"url":"https://go-vela.github.io/docs/reference/cli/config/update/","display":"CLI/Config/Update","title":"Update","content":"command vela update config <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables api.addr updates api address field vela_addr, config_addr api.token.access access token vela_access_token, config_access_token api.token.refresh refresh vela_refresh_token, config_refresh_token api.token vela_token, config_token api.version version vela_api_version, config_api_version log.level log level vela_log_level, config_log_level output vela_output, config_output org vela_org, config_org repo vela_repo, config_repo secret.engine secret engine vela_engine, config_engine secret.type type vela_type, config_type permissions coming soon! sample section assumes have already installed setup cli. install cli, please review installation documentation. authentication request --org github response api: addr: https://vela.example.com access_token: supersecretaccesstoken refresh_token: supersecretrefreshtoken version: v1 log: level: info no-git: "false" secret: {} org: "},{"url":"https://go-vela.github.io/docs/reference/cli/dashboard/update/","display":"CLI/Dashboard/Update","title":"Update","content":"command vela update dashboard <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables id uuid vela_dashboard_id, dashboard_id vela_dashboard_name, dashboard_name add-repos list of repositories add vela_dashboard_add_repos, dashboard_add_repos drop-repos remove from vela_dashboard_drop_repos, dashboard_drop_repos target-repos target updates vela_dashboard_target_repos, dashboard_target_repos add-admins admins vela_dashboard_add_admins, dashboard_add_admins drop-admins vela_dashboard_drop_admins, dashboard_drop_admins branches filter builds all by branch vela_dashboard_repos_branch, dashboard_repos_branch events event vela_dashboard_repos_event, dashboard_repos_event output format vela_output, dashboard_output also supports setting via configuration file: please review cli config documentation. sample section assumes have already installed setup cli. install cli, installation authentication request --id d3040cd7-9bb6-45d1-a2a1-d794483a902c --name 'octocat dev branches' --target-repos octocat/hello-world,octocat/spoon-knife --branches response name: octocat branches, id: d3040cd7-9bb6-45d1-a2a1-d794483a902c, admins: [{ active: true, admin: false, dashboards: [], favorites: 1, octokitty, token: }], createdat: 1716572402, createdby: updatedat: updatedby: repos: octocat/hello-world, branches: [dev], events: octocat/spoon-knife, 2, examples examples: 1. repository. c8da1302-07d6-11ea-882f-4893bca275b8 --add-repos org-1/repo-1 2. --drop-repos 3. filters specific repositories. org-1/repo-1,org-2/repo-2 main --events push 4. change name. mydashboard 5. an admin. --add-admins johndoe 6. --drop-admins "},{"url":"https://go-vela.github.io/docs/reference/cli/repo/update/","display":"CLI/Repo/Update","title":"Update","content":"command vela update repo <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization repository vela_org, repo_org vela_repo, repo_name branch default vela_branch, repo_branch link full url vela_link, repo_link clone vela_clone, repo_clone visibility access level required view vela_visibility, repo_visibility build.limit limit concurrent builds allowed vela_build_limit, repo_build_limit timeout max time per build vela_timeout, repo_timeout counter set value new number vela_counter, repo_counter private disables public vela_private, repo_private trusted elevates permissions vela_trusted, repo_trusted active enables/disables vela_active, repo_active event events trigger vela_events, repo_events pipeline-type type base pipeline compiler render vela_pipeline_type, pipeline_type output format vela_output, repo_output also supports setting via configuration file: please review cli config documentation. as v0.23.0, flag an overwrite/clobber operation. --org github --repo octocat --event tag above will only tag. be sure specify all when updating cli. coming soon! sample section assumes have already installed setup install cli, installation authentication request pwd ~/github/octocat targeted response id: userid: org: name: fullname: github/octocat link: https://github.com/github/octocat clone: https://github.com/github/octocat.git branch: main buildlimit: 10 timeout: 60 counter: visibility: private: false trusted: active: true allowpull: allowpush: allowdeploy: allowtag: allowcomment: allowevents: [tag] pipelinetype: yaml "},{"url":"https://go-vela.github.io/docs/reference/cli/schedule/update/","display":"CLI/Schedule/Update","title":"Update","content":"command vela update schedule <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, schedule_org repo repository vela_repo, schedule_repo vela_schedule, schedule_name entry frequency vela_entry, schedule_entry active enables/disables vela_active, schedule_active output format vela_output, schedule_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --name hourly --active false targeted --org github --repo octocat --output json response "id": 1, "repo": "owner": "name": "octokitty", "active": true }, "org": "github", "full_name": "github/octokitty", "link": "https://github.com/github/octokitty", "clone": "https://github.com/github/octokitty.git", "branch": "main", "topics": [], "build_limit": 10, "timeout": 30, "counter": 0, "visibility": "public", "private": false, "trusted": true, "allow_events": "push": "tag": "delete_branch": "delete_tag": "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": "comment": "schedule": "run": "pipeline_type": "yaml", "previous_name": "", "approve_build": "fork-always" "hourly", "entry": "0 *", "created_at": 1716495910, "created_by": "updated_at": "updated_by": "scheduled_at": "error": "next_run": 1716499800 examples examples: 1. with disabled. myorg myrepo --schedule 2. new entry. nightly --entry '@nightly' 3. when set. "},{"url":"https://go-vela.github.io/docs/reference/cli/secret/update/","display":"CLI/Secret/Update","title":"Update","content":"command vela update secret <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, secret_org repo repository vela_repo, secret_repo secret.engine engine that stores vela_engine. secret_engine secret.type type being stored vela_type, secret_type team vela_team, secret_team vela_name, secret_name value vela_value, secret_value image build image(s) access vela_images, secret_images event event(s) vela_events, secret_events commands allows step with vela_commands, secret_commands substitution using ${key} format vela_substitution, secret_substitution file add secret(s) vela_file, secret_file output vela_output, secret_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --secret.engine native --secret.type --name foo --value bar targeted --org github --repo octocat response "foo" was updated advanced input from updating single-line multi-line symbol. syntax @/path/to/file example @$home/tmp/secret.txt secrets multiple filename parameter. -f secret.yml single yaml document --- metadata: version: v1 engine: secrets: org: repo: name: value: type: images: golang:latest events: push pull_request team: octokitties foo1 "@/path/to/file/bar1" shared vault "},{"url":"https://go-vela.github.io/docs/reference/cli/settings/update/","display":"CLI/Settings/Update","title":"Update","content":"command vela update settings <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables compiler.clone-image image by compiler clone repositories vela_compiler_clone_image compiler.template-depth maximum depth of nested templates vela_compiler_template_depth compiler.starlark-exec-limit execution limit starlark vela_compiler_starlark_exec_limit queue.add-route add route queue vela_queue_add_routes queue.drop-route drop from vela_queue_drop_routes add-repo repository global allowlist vela_repo_allowlist_add_repos drop-repo vela_repo_allowlist_drop_repos add-schedule schedules vela_schedule_allowlist_add_repos drop-schedule vela_schedule_allowlist_drop_repos file path json/yaml containing updates vela_file permissions coming soon! sample section assumes have already installed setup cli. install cli, please review installation documentation. authentication request pwd ~/github/octocat --compiler.clone-image target/vela-git:abc123 --queue.add-route large response id: compiler: clone_image: target/vela-git:latest template_depth: starlark_exec_limit: 7500 queue: routes: repo_allowlist: 'github/octocat' schedule_allowlist: '*' created_at: updated_at: 1715791151 updated_by: octocat advanced input supports updating record using symbol. syntax --file @/path/to/file example @$home/tmp/settings.yml single yaml document --- platform: "},{"url":"https://go-vela.github.io/docs/reference/cli/worker/update/","display":"CLI/Worker/Update","title":"Update","content":"command vela update worker <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables worker.address address of vela_worker_address, worker_address worker.hostname hostname vela_worker_hostname, worker_hostname active current status (unused) vela_worker_active, worker_active build-limit build limit (ignored) vela_worker_build_limit, worker_build_limit routes route assignment vela_worker_routes, worker_routes output format vela_output, worker_output also supports setting via configuration file: please review cli config documentation. permissions platform admin sample section assumes have already installed setup cli. install cli, installation authentication request --worker.hostname myworker --worker.address newaddress.example.com response id: 1, hostname: myworker, address: newaddress.example.com, routes: [vela], active: true, status: busy, laststatusupdateat: 1681486769, runningbuildids: [123], lastbuildstartedat: lastbuildfinishedat: lastcheckedin: buildlimit: "},{"url":"https://go-vela.github.io/docs/reference/api/admin/user/","display":"API/Admin/User","title":"User","content":"endpoint put /api/v1/admin/user permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. note: must provide entire service object, as overwrites existing entry for service. file "id": 1, "name": "octokitty", "token": null, "favorites": ["github/octocat"], "active": true, "admin": true curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/admin/user" response "},{"url":"https://go-vela.github.io/docs/usage/environment/","display":"Docs/Usage/Environment","title":"Using the Environment","content":"vela provides the ability to define environment variables scoped individual steps, services secrets. additionally, if you need global can set it at parent have injected all containers. please note designed be unique per container. does inject variety of default values from build, repo user information. defaults: container steps only usage following pipeline concepts are being used below: stages secrets origin note: warned that ${variable} expressions subject pre-processing. do not want pre-processor evaluate your expression must escaped. version: "1" environment: global_example: hello, world globally! services: name: redis local_example: world! image: redis:latest stages: first_stage: stage_example: "all world's stage!" steps: check status commands: use bash commands in-line override export example="hello team" echo ${example} ${stage_example} ${global_example} secrets: origin: private vault target/secret-vault:latest example: vault_token parameters: addr: vault.example.com auth_method: token username: octocat items: source: secret/docker path: docker by injection affects containers ran within pipeline. however, some types receive configuration limit which get them adding declaration into metadata. valid for metadata yaml key metadata: longer available since "secrets" was removed as value metadata.environment block. "},{"url":"https://go-vela.github.io/docs/reference/api/pipeline/validate/","display":"API/Pipeline/Validate","title":"Validate","content":"endpoint post /api/v1/pipelines/:org/:repo/:pipeline/validate parameters the following are used to configure endpoint: name description org of organization repo repository pipeline commit sha for from output format compiled configuration permissions coming soon! responses status code 200 indicates request has succeeded 400 unable retrieve validate templates 401 user does not have proper 404 500 system error while retrieving validating sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/pipelines/github/octocat/48afb5bdc41ad69bf22588491333f7cf71135163/validate" response "pipeline valid" "},{"url":"https://go-vela.github.io/docs/reference/cli/pipeline/validate/","display":"CLI/Pipeline/Validate","title":"Validate","content":"command vela validate pipeline <parameters...> <arguments...> for more information, please run --help. parameters the following are used to configure command: name description environment variables org of organization builds vela_org, build_org pipeline-type provide repository type vela_pipeline_type, pipeline_type repo vela_repo, build_repo compiler-starlark-exec-limit set starlark execution step limit compiling pipelines (default 7500) vela_compiler_starlark_exec_limit, compiler_starlark_exec_limit file vela_file, pipeline_file max-template-depth maximum depth nested templates (default: 3) vela_max_template_depth, max_template_depth path vela_path, pipeline_path ref reference vela_ref, pipeline_ref remote enables validating on server vela_remote, pipeline_remote template be included validation vela_template, pipeline_template template-file using local expansion vela_template_file, pipeline_template_file branch build vela_branch, pipeline_branch, vela_build_branch comment vela_comment, pipeline_comment, vela_build_comment event vela_event, pipeline_event, vela_build_event file-changeset list files changed ruleset matching vela_file_changeset, file_changeset status expected success) vela_status, pipeline_status, vela_build_status tag vela_tag, pipeline_tag, vela_build_tag target vela_target, pipeline_target, vela_build_target clone-image clone image use injected vela_clone_image, compiler_clone_image compiler.github.token github compiler token vela_compiler_github_token, compiler_github_token compiler.github.url url, by compiler, pulling registry vela_compiler_github_url, compiler_github_url permissions coming soon! sample section assumes you have already installed setup cli. install cli, review installation documentation. authentication simple request expanded (github) --template --compiler.github.token <token> --compiler.github.url https://git.example.com (local) --template-file name:/path/to/file response ".vela.yml" valid your pipeline? can also. "},{"url":"https://go-vela.github.io/docs/reference/environment/variables/","display":"Reference/Environment/Variables","title":"Variables","content":"container defaults the following environment variables are injected into every step, service, secret container. build key value explanation vela_build_approved_at 1556720958 unix timestamp representing when was approved vela_build_approved_by repoadmin user who vela_build_author octocat author from source commit vela_build_author_email octocat@github.com email commit, available only push events vela_build_base_ref refs/heads/dev reference base vela_build_branch main branch vela_build_channel vela queue channel published to vela_build_clone https://github.com/octocat/hello-world.git clone url for repository triggered vela_build_commit 7fd1a60b01f91b314f59955a4e4d4e80d8edf11d sha vela_build_created creation time vela_build_distribution linux distribution where executed vela_build_enqueued enqueued vela_build_event webhook event that vela_build_event_action created action vela_build_host vela-worker-1 fully qualified domain name of worker on vela_build_link https://vela.example.com/octocat/hello-world/1 link ui vela_build_message merge pull request #6 octocat/patch-1 message vela_build_number number vela_build_parent previous vela_build_ref refs/heads/main vela_build_runtime docker runtime vela_build_sender nealcoleman vela_build_started 1556730001 start vela_build_source https://github.com/octocat/hello-world/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d full vela_build_status success status vela_build_title received https://github.com/octocat/hello-world title vela_build_workspace /vela/src/github.com/octocat/hello-world working directory comment table includes during event. vela_build_pull_request populated vela_pull_request vela_pull_request_source dev vela_pull_request_target target deployment all custom parameters passed with deployment_parameter_ prefix key. vela_build_target production vela_deployment vela_deployment_number 12345 id pull_request tag vela_build_tag v1.0.0 true vela_addr vela.example.com server vela_channel vela_database postgres database connected vela_host vela_queue redis vela_runtime vela_source github vela_version v0.1.0 version vela_workspace /vela/src/github.com/github/octocat/hello-world ci indicates vela_repo_active active setting vela_repo_allow_comment false enabled vela_repo_allow_deploy deploy vela_repo_allow_pull vela_repo_allow_push vela_repo_allow_tag vela_repo_branch default vela_repo_build_limit 10 limit concurrent builds vela_repo_clone vela_repo_full_name octocat/hello-world vela_repo_link direct vela_repo_name hello-world vela_repo_org org vela_repo_private privacy vela_repo_timeout 30 timeout vela_repo_topics cloud,security comma-separated list topics vela_repo_trusted trusted vela_repo_visibility public visibility vela_user_active vela_user_admin admin platform vela_user_favorites "octocat/hello-world" favorites starred vela_user_name handle step vela_step_created vela_step_distribution vela_step_exit_code exit code starts vela_step_host vela_step_image target/vela-git:latest image vela_step_name vela_step_number within pipeline vela_step_report_as cypress tests context which publish reflects vela_step_runtime vela_step_stage stage belongs vela_step_started vela_step_status service vela_service_created vela_service_distribution vela_service_exit_code vela_service_host vela_service_image vela_service_name vela_service_number vela_service_runtime vela_service_started vela_service_status "},{"url":"https://go-vela.github.io/docs/plugins/registry/secret/vault/","display":"Registry/Secret/Vault","title":"Vault","content":"description plugin enables the ability pull secrets from vault into secret mount within vela pipeline. source code: https://github.com/go-vela/secret-vault registry: https://hub.docker.com/r/target/secret-vault usage sample of writing using token authentication: secrets: origin: name: image: target/vela/secret-vault:latest parameters: addr: vault.company.com token: supersecretvaulttoken auth_method: items: written to path: "/vela/secrets/docker/<key>" source: secret/vela/username docker reading ldap username: octocat password: supersecretpassword authentication with verbose logging: log_level: trace note: users should refrain configuring sensitive information your pipeline plain text. used must exist as secrets. you can use substitute values at runtime: repo created vault_token example method secret: parameters following are configure name required default addr address instance true n/a auth_method for interfacing (i.e. token, ldap) log_level set log level info password server false username read reading: items pretending perform apply template coming soon! troubleshooting below list common problems how solve them: "},{"url":"https://go-vela.github.io/docs/reference/api/admin/settings/view/","display":"Admin/Settings/View","title":"View","content":"endpoint get /api/v1/admin/settings permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper 404 server was unable to retrieve resource sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/admin/settings" response "id": 1, "compiler": "clone_image": "target/vela-git:latest", "template_depth": 3, "starlark_exec_limit": 7500 }, "queue": "routes": "vela" "repo_allowlist": "*", ], "schedule_allowlist": "github/octocat", "created_at": 1715718878, "updated_at": 1715718879, "updated_by": "octocat" "},{"url":"https://go-vela.github.io/docs/reference/api/build/view/","display":"API/Build/View","title":"View","content":"endpoint get /api/v1/repos/:org/:repo/builds/:build parameters the following are used to configure endpoint: name description org of organization repo repository build number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1" response "id": 1, "repo_id": "number": "parent": "event": "push", "status": "created", "error": "", "enqueued": 1563474077, "created": 1563474076, "started": "finished": 0, "deploy": "clone": "https://github.com/github/octocat.git", "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", "title": "push received from https://github.com/github/octocat", "message": "first commit...", "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "sender": "octokitty", "author": "branch": "main", "ref": "refs/heads/main", "base_ref": "host": "company.localhost", "runtime": "docker", "distribution": "linux" alternative (by id) /api/v1/search/builds/:id id unique vela "http://127.0.0.1:8080/api/v1/search/builds/1" "},{"url":"https://go-vela.github.io/docs/reference/api/deployment/view/","display":"API/Deployment/View","title":"View","content":"endpoint get /api/v1/deployments/:org/:repo/:deployment parameters the following are used to configure endpoint: name description org of organization repo repository deployment number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/deployments/github/octocat/1" response "id": 1, "repo_id": "url": "https://api.github.com/repos/github/octocat/deployments/1", "user": "octocat", "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "ref": "main", "task": "deploy:vela", "target": "production", "description": "deployment from vela" "},{"url":"https://go-vela.github.io/docs/reference/api/hook/view/","display":"API/Hook/View","title":"View","content":"endpoint get /api/v1/hooks/:org/:repo/:hook parameters the following are used to configure endpoint: name description org of organization repo repository hook number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/hooks/github/octocat/1" response "id": 1, "repo_id": "build_id": "number": "source_id": "c8da1302-07d6-11ea-882f-4893bca275b8", "created": "1563474076", "host": "github.com", "event": "push", "branch": "main", "error": "", "status": "success", "link": "" "},{"url":"https://go-vela.github.io/docs/reference/api/pipeline/view/","display":"API/Pipeline/View","title":"View","content":"endpoint get /api/v1/pipelines/:org/:repo/:pipeline parameters the following are used to configure endpoint: name description org of organization repo repository pipeline commit sha for from permissions coming soon! responses status code 200 indicates request has succeeded 400 unable retrieve configuration 401 user does not have proper 404 sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/pipelines/github/octocat/48afb5bdc41ad69bf22588491333f7cf71135163" response "id": 1, "repo_id": "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "flavor": "", "platform": "ref": "refs/heads/main", "type": "yaml", "version": "1", "external_secrets": false, "internal_secrets": "services": "stages": "steps": true, "templates": "data": "ls0tcnzlcnnpb246icixigokc3rlchm6ciaglsbuyw1loibly2hvciagicbpbwfnztogywxwaw5lomxhdgvzdaogicagy29tbwfuzhm6iftly2hvigzvb10=" "},{"url":"https://go-vela.github.io/docs/reference/api/repo/view/","display":"API/Repo/View","title":"View","content":"endpoint get /api/v1/repos/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat" response "id": 1, "user_id": "org": "github", "name": "octocat", "full_name": "github/octocat", "link": "https://github.com/github/octocat", "clone": "https://github.com/github/octocat.git", "branch": "main", "build_limit": 10, "timeout": 60, "counter": 0, "visibility": "public", "private": false, "trusted": true, "active": "allow_pull": "allow_push": "allow_deploy": "allow_tag": "allow_comment": "allow_events": "push": "tag": "delete_branch": "delete_tag": false }, "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": true "comment": "schedule": "run": "pipeline_type": "yaml" "},{"url":"https://go-vela.github.io/docs/reference/api/schedule/view/","display":"API/Schedule/View","title":"View","content":"endpoint get /api/v1/schedules/:org/:repo/:schedule parameters the following are used to configure endpoint: name description org of organization repo repository schedule from permissions coming soon! responses status code 200 indicates request has succeeded 400 unable retrieve 401 user does not have proper 404 sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/schedules/github/octocat/hourly" response "id": 1, "repo": "owner": "name": "octokitty", "active": true }, "org": "github", "full_name": "github/octokitty", "link": "https://github.com/github/octokitty", "clone": "https://github.com/github/octokitty.git", "branch": "main", "topics": [], "build_limit": 10, "timeout": 30, "counter": 0, "visibility": "public", "private": false, "trusted": true, "allow_events": "push": "tag": "delete_branch": "delete_tag": false "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": "comment": "schedule": "run": "pipeline_type": "yaml", "previous_name": "", "approve_build": "fork-always" "hourly", "entry": "0 *", "created_at": 1716495910, "created_by": "updated_at": "updated_by": "scheduled_at": "error": "next_run": 1716499800 "},{"url":"https://go-vela.github.io/docs/reference/api/secret/view/","display":"API/Secret/View","title":"View","content":"endpoint get /api/v1/secrets/:engine/:type/:org/:name/:secret parameters the following are used to configure endpoint: name description engine of type secret org organization repository team permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/secrets/native/repo/github/octocat/foo" response "id": 1, "org": "github", "repo": "octocat", "team": "", "name": "foo", "value": "type": "repo", "images": ["alpine"], "events": ["push"], "allow_command": true, "allow_substitution": "allow_events": "push": "branch": "tag": "delete_branch": false, "delete_tag": false }, "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": true "comment": "schedule": "run": "created_at": 1641314085, "created_by": "octokitty", "updated_at": 1641314500, "updated_by": "octocat" "},{"url":"https://go-vela.github.io/docs/reference/api/service/view/","display":"API/Service/View","title":"View","content":"endpoint get /api/v1/repos/:org/:repo/builds/:build/services/:service parameters the following are used to configure endpoint: name description org of organization repo repository build number service permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/services/1" response "id": 1, "build_id": "repo_id": "number": "name": "clone", "status": "success", "error": "", "exit_code": 0, "created": 1563475419, "started": 1563475420, "finished": 1563475421 "},{"url":"https://go-vela.github.io/docs/reference/api/step/view/","display":"API/Step/View","title":"View","content":"endpoint get /api/v1/repos/:org/:repo/builds/:build/steps/:step parameters the following are used to configure endpoint: name description org of organization repo repository build number step permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/steps/1" response "id": 1, "build_id": "repo_id": "number": "name": "clone", "status": "success", "error": "", "exit_code": 0, "created": 1563475419, "started": "finished": "host": "company.localhost", "runtime": "docker", "distribution": "linux" "},{"url":"https://go-vela.github.io/docs/reference/api/user/current/view/","display":"User/Current/View","title":"View","content":"endpoint get /api/v1/user permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/user" response "id": 1, "name": "octokitty", "token": null, "favorites": ["github/octocat"], "active": true, "admin": false "},{"url":"https://go-vela.github.io/docs/reference/api/user/view/","display":"API/User/View","title":"View","content":"endpoint get /api/v1/users/:user parameters the following are used to configure endpoint: name description user of permissions coming soon! responses status code 200 indicates request has succeeded 401 does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/users/octokitty" response "id": 1, "name": "octokitty", "token": null, "favorites": ["github/octocat"], "active": true, "admin": false "},{"url":"https://go-vela.github.io/docs/reference/cli/build/view/","display":"CLI/Build/View","title":"View","content":"command vela view build <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, build_org repo repository vela_repo, build_repo number vela_build, build_number output format vela_output, build_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build targeted --org github --repo octocat response id: repo_id: number: parent: event: push status: created error: "" populates when platform runs into an error with enqueued: 1563474077 created: 1563474076 started: finished: deploy: clone: https://github.com/github/octocat.git source: https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163 title: received from https://github.com/github/octocat message: first commit... commit: 48afb5bdc41ad69bf22588491333f7cf71135163 sender: octokitty author: branch: main ref: refs/heads/main baseref: host: "company.localhost" runtime: "docker" distribution: "linux" "},{"url":"https://go-vela.github.io/docs/reference/cli/config/view/","display":"CLI/Config/View","title":"View","content":"command vela view config <arguments...> for more information, you can run --help. permissions coming soon! sample section assumes have already installed setup the cli. to install cli, please review installation documentation. authentication request response api: addr: https://vela.example.com access_token: supersecretaccesstoken refresh_token: supersecretrefreshtoken version: v1 log: level: info no-git: "false" secret: {} "},{"url":"https://go-vela.github.io/docs/reference/cli/dashboard/view/","display":"CLI/Dashboard/View","title":"View","content":"command vela view dashboard <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables id uuid vela_dashboard_id, dashboard_id full output repo build information vela_full, dashboard_full format vela_output, repo_output also supports setting via configuration file: please review cli config documentation. sample section assumes have already installed setup cli. install cli, installation authentication request --id d3040cd7-9bb6-45d1-a2a1-d794483a902c response name: octocat main branches, id: d3040cd7-9bb6-45d1-a2a1-d794483a902c, admins: [{ active: true, admin: false, dashboards: [], favorites: 1, octokitty, token: }], createdat: 1716572402, createdby: updatedat: updatedby: repos: octocat/hello-world, branches: [main], events: octocat/spoon-knife, 2, examples examples: 1. dashboard. c8da1302-07d6-11ea-882f-4893bca275b8 2. with information. --full "},{"url":"https://go-vela.github.io/docs/reference/cli/deployment/view/","display":"CLI/Deployment/View","title":"View","content":"command vela view deployment <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, deployment_org repo repository vela_repo, deployment_repo number vela_deployment, deployment_number output format vela_output, deployment_output also supports setting via configuration file: please review cli config documentation. sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --deployment targeted --org github --repo octocat response generated from successful id: repo_id: url: https://api.github.com/repos/github/octocat/deployments/1 user: commit: 48afb5bdc41ad69bf22588491333f7cf71135163 ref: main task: deploy:vela target: production description: examples examples: 1. details repository. myorg myrepo 2. with json output. --output 3. set. "},{"url":"https://go-vela.github.io/docs/reference/cli/hook/view/","display":"CLI/Hook/View","title":"View","content":"command vela view hook <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, hook_org repo repository vela_repo, hook_repo number vela_hook, hook_number output format vela_output, hook_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --hook targeted --org github --repo octocat response id: repo_id: build_id: number: source_id: c8da1302-07d6-11ea-882f-4893bca275b8 created: 1563475419 host: github.com event: push branch: main error: status: success link: https://github.com/github/octocat/settings/hooks/1 "},{"url":"https://go-vela.github.io/docs/reference/cli/log/view/","display":"CLI/Log/View","title":"View","content":"command vela view log <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, log_org repo repository vela_repo, log_repo build number vela_build, log_build service vela_service, log_service step vela_step, log_step output format logs vela_output, log_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build --step targeted --org github --repo octocat response git init initialized empty /vela/src/github.com/github/octocat/.git/ remote add origin https://github.com/github/octocat.git --verbose (fetch) (push) fetch --no-tags refs/heads/main from https://github.com/github/octocat branch main -> fetch_head [new branch] origin/main reset --hard afafce5e33a8efd4340613b31a953107d6dec3a3 head now at afafce5 dummy commit "},{"url":"https://go-vela.github.io/docs/reference/cli/repo/view/","display":"CLI/Repo/View","title":"View","content":"command vela view repo <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization repository vela_org, repo_org vela_repo, repo_name output format vela_output, repo_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response id: userid: org: name: fullname: github/octocat link: https://github.com/github/octocat clone: https://github.com/github/octocat.git branch: main buildlimit: 10 timeout: 60 counter: visibility: public private: false trusted: active: true allowpull: allowpush: allowdeploy: allowtag: allowcomment: pipelinetype: yaml "},{"url":"https://go-vela.github.io/docs/reference/cli/schedule/view/","display":"CLI/Schedule/View","title":"View","content":"command vela view schedule <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, schedule_org repo repository vela_repo, schedule_repo vela_schedule, schedule_name output format vela_output, schedule_output also supports setting via configuration file: please review cli config documentation. sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --schedule hourly targeted --org github --repo octocat --output json response "id": 1, "repo": "owner": "name": "octokitty", "active": true }, "org": "github", "full_name": "github/octokitty", "link": "https://github.com/github/octokitty", "clone": "https://github.com/github/octokitty.git", "branch": "main", "topics": [], "build_limit": 10, "timeout": 30, "counter": 0, "visibility": "public", "private": false, "trusted": true, "allow_events": "push": "tag": "delete_branch": "delete_tag": false "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": "comment": "schedule": "run": "pipeline_type": "yaml", "previous_name": "", "approve_build": "fork-always" "hourly", "entry": "0 *", "created_at": 1716495910, "created_by": "updated_at": "updated_by": "scheduled_at": "error": "next_run": 1716499800 examples examples: 1. details repository. myorg myrepo 2. with output. 3. when set. "},{"url":"https://go-vela.github.io/docs/reference/cli/secret/view/","display":"CLI/Secret/View","title":"View","content":"command vela view secret <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, secret_org repo repository vela_repo, secret_repo secret.engine engine that stores vela_engine. secret_engine secret.type type being stored vela_type, secret_type team vela_team, secret_team vela_name, secret_name output format vela_output, secret_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --secret.engine native --secret.type --name foo targeted --org github --repo octocat response id: org: repo: team: "" name: value: "[secure]" type: images: null events: push pull_request allowcommand: true createdat: 1641312765 createdby: octokitty updatedat: updatedby: "},{"url":"https://go-vela.github.io/docs/reference/cli/service/view/","display":"CLI/Service/View","title":"View","content":"command vela view service <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, service_org repo repository vela_repo, service_repo build number vela_build, service_build vela_service, service_number output format vela_output, service_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build --service targeted get --org github --repo octocat response id: build_id: repo_id: number: name: clone status: success error: "" exitcode: created: 1561748980 started: 1561748979 finished: 1561748981 host: "worker.host.com" runtime: "docker" distribution: "linux" "},{"url":"https://go-vela.github.io/docs/reference/cli/settings/view/","display":"CLI/Settings/View","title":"View","content":"command vela view settings for more information, you can run --help. permissions coming soon! sample section assumes have already installed setup the cli. to install cli, please review installation documentation. authentication request pwd ~/github/octocat response id: compiler: clone_image: target/vela-git:latest template_depth: starlark_exec_limit: 7500 queue: routes: repo_allowlist: 'github/octocat' schedule_allowlist: '*' created_at: updated_at: 1715791151 updated_by: octocat "},{"url":"https://go-vela.github.io/docs/reference/cli/step/view/","display":"CLI/Step/View","title":"View","content":"command vela view step <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, step_org repo repository vela_repo, step_repo build number vela_build, step_build vela_step, step_number output format vela_output, step_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build --step targeted --org github --repo octocat response id: build_id: repo_id: number: name: clone status: success error: "" populates when platform runs into an error with exitcode: created: 1561748980 started: 1561748979 finished: 1561748981 host: "worker.host.com" runtime: "docker" distribution: "linux" "},{"url":"https://go-vela.github.io/docs/reference/cli/worker/view/","display":"CLI/Worker/View","title":"View","content":"command vela view worker <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables worker.hostname hostname of vela_worker_hostname, worker_hostname worker.registration.token generate registration token (requires platform admin) vela_worker_registration_token, worker_registration_token output format repository vela_output, worker_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request --worker.hostname myworker response id: hostname: address: myworker.example.com routes: active: true status: busy laststatusupdatedat: 1681487969 runningbuildids: 123 lastbuildstartedat: lastbuildfinishedat: lastcheckedin: buildlimit: "},{"url":"https://go-vela.github.io/docs/reference/api/admin/worker/","display":"API/Admin/Worker","title":"Worker","content":"endpoint post /api/v1/admin/workers/:worker/register-token permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. curl -x put -h "authorization: bearer <token>" "content-type: application/json" "http://127.0.0.1:8080/api/v1/admin/workers/worker_1/register-token" response "token": "eyjhbgcioijiuzi1niisinr5cci6ikpxvcj9.eyjzdwiioij3b3jrzxjfmsisimlhdci6mtuxnjizotaymiwizwf0ijoxnte2mjq1mdiylcj0b2tlbl90exblijoiv29ya2vyumvnaxn0zxiifq.u2zna3e8wwd6ndovmrwez1twlmmvtzp8-uashza1qpw" "},{"url":"https://go-vela.github.io/docs/usage/plugin/","display":"Docs/Usage/Plugin","title":"Working with plugins","content":"note: the following plugins are used within example kaniko vault typically, configured as step pipeline should accept their configuration via environment variables. below shows secret plugin working together to publish an image registry: version: "1" steps: name: image: target/vela-kaniko pull: always parameters: index.docker.io repo: index.docker.io/octocat/hello-world secrets: vault_token key: go-vela/vault_token engine: native type: org origin: target/secret-vault addr: vault.example.com auth_method: token items: source: secret/docker path: docker we pass these variables vela using parameters block. any variable passed block, will be injected into parameter_<variable>: from above example, would added containers: docker: parameter_registry=index.docker.io parameter_repo=index.docker.io/octocat/hello-world vault: parameter_addr=index.docker.io parameter_auth_method=index.docker.io/octocat/hello-world parameter_items={"items": [{"source": "secret/docker"}],"path": "docker"} "},{"url":"https://go-vela.github.io/docs/templates/working_with/","display":"Docs/Templates/Working with","title":"Working with Templates","content":"warning it highly recommended before reviewing the below content to have solid grasp on vela’s core concepts that are explored while taking vela tour). when writing new template getting feedback can be very painful process. provides few methods get quickly ensure you’re expands pipeline you expect run. main for seeing expanded pipelines are: endpoints (which used via ui cli) cli validation (vela validate pipeline) method allows evaluate your exists within vcs system. most commonly referenced build page tab. additionally, also interact with api if trying create more elaborate workflows. docs workflow was mentioned above has variety of local remote validation. all them designed help identify areas need improved should speed up development. available methods: will continue only file server --remote --org myorg --repo myrepo allow someone note: requires user provide auth --template override `source:` use testing --template-file name:path/to/file "}]} \ No newline at end of file +{"results":[{"url":"https://go-vela.github.io/docs/reference/yaml/environment/","display":"Reference/Yaml/Environment","title":"Environment","content":"the environment key intended to be used inject global configuration into steps, services secret containers. control of which container types get injected settings available via metadata block. --- document displaying using with map syntax. additionally, you can also use array syntax where items they are pattern hello="hello, vela!" environment: hello: "hello, "},{"url":"https://go-vela.github.io/docs/usage/examples/secrets_external/","display":"Usage/Examples/Secrets external","title":"External Secrets","content":"example yaml configuration for project requiring secrets to be used within step scenario user looking create pipeline that can integrate with private vault inject not pushing docker image registry. note: it assumed you have created secret vault_token the web interface cli. examples show using repository secrets. vela contains three types: repository, organization, shared. on organization shared, please see concepts documentation. steps following are being below: pull parameters plugins must stored base of as .vela.yml .vela.yaml recommended pin image: versions production pipelines version: "1" steps: name: publish hello world target/vela-docker:latest pull: always parameters: registry: index.docker.io repo: index.docker.io/vela/hello-world secrets: note here how uses an internal origin below get additional from external service. key: go-vela/vault_token engine: native type: org origin: target/secret-vault:latest addr: vault.example.com auth_method: token username: octocat items: source: secret/docker path: stages worker: runtime: stages: docker: docker_username, docker_password "},{"url":"https://go-vela.github.io/docs/usage/examples/go_modules/","display":"Usage/Examples/Go modules","title":"Go (With Modules)","content":"example yaml configuration for project building go binary with modules. scenario user looking to create pipeline that builds an artifact on any event branch pushed source control. steps the following concepts are being used below: image environment pull commands note: must be stored base of repository as .vela.yml .vela.yaml it recommended pin image: versions production pipelines version: "1" steps: name: install golang:latest pull: always environment: cgo_enabled: '0' goos: linux commands: get ./... test build stages needs stages: install: test: needs: build: "},{"url":"https://go-vela.github.io/docs/usage/examples/secrets_internal/","display":"Usage/Examples/Secrets internal","title":"Internal Secrets","content":"example yaml configuration for project requiring secrets to be used within step scenario user looking create pipeline that can inject not placed into file. simple would producing docker image with username password. note: it assumed you have created docker_username docker_password the web interface cli. warning: internal do pull_request event enabled by default. intentional help mitigate exposure via pull request against repo. override behavior, at your own risk, each secret. examples show using repo secrets. vela contains three secret types: repo, org, shared. please see concepts documentation. steps following are being below: parameters plugins must stored base of repository as .vela.yml .vela.yaml recommended pin image: versions production pipelines version: "1" steps: name: publish hello world target/vela-docker:latest pull: always secrets: docker_username, parameters: registry: index.docker.io repo: index.docker.io/vela/hello-world key: vela/hello-world/docker_username engine: native type: vela/hello-world/docker_password stages stages: docker: "},{"url":"https://go-vela.github.io/docs/usage/examples/mongo/","display":"Usage/Examples/Mongo","title":"Mongo","content":"example yaml configuration for project requiring mongo as pipeline dependency. scenario user looking to create that can integrate with an ephemeral instance. services block be used stages steps pipelines. uses basic configuration. the following concepts are being below: image pull commands note: must stored base of repository .vela.yml .vela.yaml it recommended pin image: versions production pipelines version: "1" services: name: mongo:latest pull: always steps: check status commands: sleeping help ensure service adequate time start sleep 15 /bin/mongosh --host --eval 'db.runcommand("ping")' detach if you’re more granular container you add flag within detach: true "},{"url":"https://go-vela.github.io/docs/usage/examples/postgres/","display":"Usage/Examples/Postgres","title":"Postgres","content":"example yaml configuration for project requiring postgres as pipeline dependency. scenario user looking to create that can integrate with an ephemeral instance. services block be used stages steps pipelines. uses basic configuration. the following concepts are being below: image pull commands note: must stored base of repository .vela.yml .vela.yaml it recommended pin image: versions production pipelines version: "1" services: name: postgres:latest pull: always environment: postgres_user: admin postgres_password: password postgres_db: vela steps: check status pgpassword=password commands: sleeping help ensure service adequate time start sleep 15 psql -u -d -h -p 5432 detach if you’re more granular container you add flag within detach: true "},{"url":"https://go-vela.github.io/docs/usage/examples/redis/","display":"Usage/Examples/Redis","title":"Redis","content":"example yaml configuration for project requiring redis as pipeline dependency. scenario user looking to create that can integrate with an ephemeral instance. services block be used stages steps pipelines. uses basic configuration. the following concepts are being below: image pull commands note: must stored base of repository .vela.yml .vela.yaml it recommended pin image: versions production pipelines version: "1" services: name: redis:latest pull: always steps: check status commands: sleeping help ensure service adequate time start sleep 15 redis-cli -h ping detach if you’re more granular container you add flag within detach: true "},{"url":"https://go-vela.github.io/docs/usage/examples/route/","display":"Usage/Examples/Route","title":"Route","content":"example yaml configuration for project requiring specific runtime platform. scenario user looking to create pipeline that can only run within docker runtime. note: work with your server administer understand what routes are available installation steps the following concepts being used below: worker platform image pull commands must be stored base of repository as .vela.yml .vela.yaml it recommended pin image: versions production pipelines version: "1" worker: platform: steps: name: view name alpine:latest pull: always commands: echo "hello ${build_host} worker!!" stages environment stages: docker: "},{"url":"https://go-vela.github.io/docs/usage/examples/rust_cargo/","display":"Usage/Examples/Rust cargo","title":"Rust (With Cargo)","content":"example yaml configuration for project building rust binary with cargo. scenario user looking to create pipeline that builds an artifact on any event branch pushed source control. steps the following concepts are being used below: image pull commands note: must be stored base of repository as .vela.yml .vela.yaml it recommended pin image: versions production pipelines version: "1" steps: name: fetch rust:latest pull: always commands: cargo --verbose --all test environment: cgo_enabled: '0' goos: linux build stages needs stages: fetch: test: needs: build: "},{"url":"https://go-vela.github.io/docs/installation/server/reference/settings/","display":"Server/Reference/Settings","title":"Settings","content":"platform administrators can update certain properties during runtime to change how the behaves real time. following are available be updated: vela_repo_allowlist vela_schedule_allowlist vela_max_template_depth vela_compiler_starlark_exec_limit vela_clone_image configuration options used configure component: name description required default environment variables settings-refresh-interval interval at which server syncs with database true 5s vela_platform_settings_refresh_interval, vela_settings_refresh_interval note: for more information on consumed, please see reference. permissions functionality only exists administrators. usage initializing will ensure shared settings first initialized using provided environment. configured, subsequent startups, controlled by component retrieved from database. if record deleted then fail. next startup re-initialize values synchronization keep its own sync according set viewing updating view via user interface, log into your vela instance click site admin link top right corner navigate https://vela-server.example.com/admin/settings. check cli docs instructions modifying command line. updated propagate all instances depending startup. restoring delete /api/v1/admin/settings api endpoint restore original environment-provided configurations. acting as way admins undo any current modifications without restarting "},{"url":"https://go-vela.github.io/docs/tour/step/","display":"Docs/Tour/Step","title":"Step","content":"step declaration allows you to provide execution instructions for pipeline. the following displaying an example of minimal configuration executing simple echo linux command. name: key unique identifier throughout lifecycle execution. when commands: are provided they converted shell script executed as docker entrypoint container. step, commands inside container entrypoint. if any command returns non-zero exit code, fails exits. welcome image: alpine "welcome vela docs" #!/bin/sh set -e run --entrypoint=build.sh alpine:latest references: name:, image:, commands:, "},{"url":"https://go-vela.github.io/docs/reference/yaml/version/","display":"Reference/Yaml/Version","title":"Version","content":"the version key intended to be used order issue warnings for deprecated features breaking changes within yaml document. --- document displaying using file. version: "1" "},{"url":"https://go-vela.github.io/docs/tour/image/","display":"Docs/Tour/Image","title":"Image","content":"all vela steps will require an image declaration to be provided. the image: key component that defines docker you want executed during step. default behavior for worker pull if it not present on host. daemon’s cache layers locally, by allowing use can get advantage of faster build start up times. sometimes isn’t desired always pulled at specific point pipeline lifecycle. that’s when pull: set policy how/when interaction should treated. expand your knowledge with example! below syntaxes would image. alpine alpine:latest alpine:3 library/alpine:3 index.docker.io/library/alpine index.docker.io/library/alpine:3 telling beginning always. name: commands: echo "welcome docs" just before executing step on_start references: name:, image:, pull:, commands:, "},{"url":"https://go-vela.github.io/docs/usage/examples/java_gradle/","display":"Usage/Examples/Java gradle","title":"Java (With Gradle)","content":"example yaml configuration for project building java application with gradle. scenario user looking to create pipeline that builds an artifact on any event branch pushed source control. steps the following concepts are being used below: image environment pull commands note: must be stored base of repository as .vela.yml .vela.yaml it recommended pin image: versions production pipelines version: "1" steps: name: install gradle:latest pull: always environment: gradle_user_home: .gradle gradle_opts: -dorg.gradle.daemon=false -dorg.gradle.workers.max=1 -dorg.gradle.parallel=false commands: gradle downloaddependencies test build stages needs stages: install: test: needs: build: "},{"url":"https://go-vela.github.io/docs/usage/examples/java_maven/","display":"Usage/Examples/Java maven","title":"Java (With Maven)","content":"example yaml configuration for project building java application with maven. scenario user looking to create pipeline that builds an artifact on any event branch pushed source control. steps the following concepts are being used below: image environment pull commands note: must be stored base of repository as .vela.yml .vela.yaml it recommended pin image: versions production pipelines version: "1" steps: name: install maven:latest pull: always commands: mvn test build package stages needs stages: install: test: needs: environment: gradle_user_home: .gradle gradle_opts: -dorg.gradle.daemon=false -dorg.gradle.workers.max=1 -dorg.gradle.parallel=false build: "},{"url":"https://go-vela.github.io/docs/reference/yaml/metadata/","display":"Reference/Yaml/Metadata","title":"Metadata","content":"the metadata key intended to be used during compile phase signal how treat yaml document. --- document displaying all available keys their default state for process. metadata: template: false clone: true required type description template bool enables compiling pipeline as template. clone injecting render_inline rendering without explicitly calling within pipeline. auto_cancel (see below) auto canceling settings pipelines. usage tip: learn write templates, see documentation. value defaulted "false" if not provided by user. process environment: default, below populated into every with services, steps, secrets. but, when block exists configuration specified phase. [steps, secrets] render_inline: false. set "true" user can render resulting referencing it stages steps. pending builds will canceled qualifying build triggered running currently default_branch pushes branch also triggered. defined either: push same another running/pending pull request head ref these most often happen commit quickly commit, both of which kick off new builds. using help free up space eliminate pointless disabled altogether. however, are specified, has unless otherwise. & cancel, but branch. auto_cancel: running: cancel even they targeting branch, not. pending: default_branch: "},{"url":"https://go-vela.github.io/docs/usage/examples/node/","display":"Usage/Examples/Node","title":"Node","content":"example yaml configuration for project building node application. scenario user looking to create pipeline that builds an artifact on any event branch pushed source control. steps the following concepts are being used below: image pull commands note: must be stored base of repository as .vela.yml .vela.yaml it recommended pin image: versions production pipelines version: "1" steps: name: install node:latest pull: always commands: lint test build stages needs stages: install: test: needs: build: "},{"url":"https://go-vela.github.io/docs/tour/rulesets/","display":"Docs/Tour/Rulesets","title":"Rulesets","content":"the ruleset allows you to provide conditions limit execution of container. when push your code source control management system payload sent vela. within that contains characteristics about what just happened. maybe it was main branch, feature branch tag on any specific commit. key gives ability add step tell vela should be executed. name: welcome would scope only executing under occurred ruleset: event: branch: image: alpine commands: echo "welcome docs" never unless: references: name:, ruleset:,image:, commands:, "},{"url":"https://go-vela.github.io/docs/reference/yaml/worker/","display":"Reference/Yaml/Worker","title":"Worker","content":"the worker key intended to be used route build specific pool of workers available with vela queue. --- document displaying all keys routing "sm:docker". worker: flavor: sm platform: docker warning: routes are defined by system administrators during installation. know what for your installation, we recommend consulting administrators. required type description flavor string indicates worker. (i.e. sm, m, lg) platform docker, k8s) usage tip: see an example on how build. lg). if not specified will scheduled generic "vela" k8s). "},{"url":"https://go-vela.github.io/docs/tour/environment/","display":"Docs/Tour/Environment","title":"Environment","content":"to define environment variables you can add an environment: yaml key. be scoped global, within stage, step. all platform get injected with custom vela_ prefix pattern. the global encompasses stages, steps, services pipeline. every stage’s isolated each individual stage its steps. variable will overwrite of same name. step’s step vela does import library provide partial string operations. use functions manipulate values prior substitution. substitution should aware ${variable} expressions are subject pre-processing. if want avoid behavior escape your pre-processor evaluations. expand knowledge example! using version: "1" global_env: stages: hello: hello_message: hello, world! steps: name: env image: alpine commands: echo ${vela_repo_full_name} user ${hello_message} goodbye: operation goodbye_message: goodbye, ":0:8" shorthand cut value commit down just first through characters sha. ${vela_build_commit:0:8} ${goodbye_message} key references: name:, image:, environment:, commands:, "},{"url":"https://go-vela.github.io/docs/reference/yaml/templates/","display":"Reference/Yaml/Templates","title":"Templates","content":"the template key intended to be used identify where retrieve templates during compiler phase of pipeline. --- document displaying all required keys pull from remote system. templates: name: example source: github.com/go-vela/templates/example.yml type: github type description name string indicates unique identifier for template. source path which version use. format language within file. usage tip: learn how write templates, see documentation then can step expand should always raw repository. by default pulled branch on it overwritten adding suffix `@branch`, `@tag`, `@commit`. github.com/go-vela/templates/example.yml@testbranch as an alternative, if same repository, vela workspace. conjunction with `type: file`. path/to/template.yml 'file' will grab repository commit. file format: "go" but accepts following values: go, golang, starlark "},{"url":"https://go-vela.github.io/docs/reference/api/authentication/","display":"Reference/API/Authentication","title":"Authentication","content":"overview authentication for the vela api responsibility of client initiating request. each request requires token to be provided as an authorization http header. content header should using bearer <token> scheme. authorization: more information, you can visit swagger documentation. format tokens are based off json web (a.k.a. jwt) standard. broken down into distinct sections, separated by periods (.): metadata about type signing algorithm used payload data claims) providing additional information signature encoded string header, secret syntax header.payload.signature sample xxxxx.yyyyy.zzzzz jwt introduction curl -x get -h "authorization: <token>" "http://127.0.0.1:8080/api/v1/users" "},{"url":"https://go-vela.github.io/docs/reference/cli/install/","display":"Reference/CLI/Install","title":"Install","content":"please keep mind your operating system (os) when referring to the installation instructions below. macos homebrew recommended method for installing vela cli on mac. add tap brew configuration go-vela/vela update taps install curl download binary -l https://github.com/go-vela/cli/releases/latest/download/vela_darwin_amd64.tar.gz tar zx copy $path sudo cp /usr/local/bin/ linux https://github.com/go-vela/cli/releases/latest/download/vela_linux_amd64.tar.gz windows utility must be installed before following command prompt https://github.com/go-vela/cli/releases/latest/download/vela_windows_amd64.tar.gz --output vela_windows_amd64.tar.gz unzip tarball xzvf c: system32/vela.exe powershell -outfile (powershell core) from source intended developers advanced users only. section assumes you have already setup golang. golang, review documentation. repo go get -d github.com/go-vela/cli change directory cd ${gopath}/src/github.com/go-vela/cli build release with -o releases/vela "},{"url":"https://go-vela.github.io/docs/tour/plugins/","display":"Docs/Tour/Plugins","title":"Plugins","content":"plugin docker container that designed to perform set of pre-defined actions. these actions can be for any number general tasks, deploying code, publishing artifacts more. anyone create use it their pipeline. the registry existing plugins found on site tab. within parameters block, keys are injected as upper case environment variables with pattern parameter_<yaml_key>. expand your knowledge an example! working steps: name: publish hello world image: target/vela-kaniko injected: parameter_registry=index.docker.io parameter_repo=index.docker.io/go-vela/hello-world parameter_username=moby parameter_password=mypassword parameter_tags=latest,v1.0.0 parameters: registry: index.docker.io repo: index.docker.io/go-vela/hello-world username: moby password: mypassword tags: latest v1.0.0 key references: name:, image:, parameters:, "},{"url":"https://go-vela.github.io/docs/reference/yaml/services/","display":"Reference/Yaml/Services","title":"Services","content":"the services key intended to be used run applications alongside pipeline. --- document displaying all required keys postgres database for duration of services: name: image: postgres:latest type description name string unique identifier container pipeline image docker create an ephemeral pull declaration configure if when pulled environment map entrypoint []string commands execute inside ports list ulimits set user limits container. usage pull: pulled. by default, compiler will inject but accepts following values: always, never, no_present, on_start, always environment: variables injected into using style syntax. db_name: vela array db_name=vela entrypoint: some/path/sql-init.sql /some/binary/postgres ports: "8080:5432" ulimits: foo soft: 1024 bar hard: 2048 user: with user. "},{"url":"https://go-vela.github.io/docs/tour/cloning/","display":"Docs/Tour/Cloning","title":"Cloning","content":"vela will clone your repository automatically before executing the pipeline. injects credentials that are oauth2 token associated with to authenticate. however, sometimes you may need customize, override disable default behavior. expand knowledge an example! understanding workspace below displaying behavior occurs metadata: clone: true steps: since clone, we can instantly access files our repository. name: view pipeline file image: alpine commands: cat .vela.yml how turn off false now turned off; use any docker image git installed manually repo specific settings for target/vela-git parameters: path: hello-world ref: refs/heads/main remote: https://github.com/octocat/hello-world.git sha: 7fd1a60b01f91b314f59955a4e4d4e80d8edf11d key references: clone:, name:, image:, parameters:, "},{"url":"https://go-vela.github.io/docs/reference/yaml/steps/","display":"Reference/Yaml/Steps","title":"Steps","content":"the steps key intended to be used run sequential tasks pipeline. --- document displaying all required keys postgres database for duration of steps: name: hello world image: alpine:latest commands: echo "hello, vela user" type description name string unique identifier container image docker create ephemeral container. pull declaration configure if when pulled. secrets struct sensitive variables injected into environment. environment map ruleset conditions limit execution parameters extra configuration specific plugin. commands []string instructions inside template expand entrypoint execute detach detached (headless) state. ulimits set user limits usage pull: by default, compiler will inject with value not_present but accepts following values: always, never, not_present, on_start always secrets: as upper case env. i.e. git_username=vela git_username git_username=<secret_value> source "name:" secret within parent "secrets:" yaml source: username target desired accessible during runtime. target: environment: using style syntax. db_name: an array db_name=vela ruleset: rules can branch build. comment request body. event label label. path workspace files repo status tag reference deployment schedule shown below step build stage main. branch: stage, main extends ability start new builds through interactions request. “run build” added bottom comment: "run build" push pull_request. available events are: comment, push, pull_request, tag, deployment. event: pull_request scope events, specifying action further executed. these actions include opened, synchronized, edited pull_request; created comment. specify action, use ":" below. [pull_request:opened, comment:created] note: same pull_request:synchronized, pull_request:reopened]. [comment:created, comment:edited]. scoping (event:action) was included release v0.23.0. such, general rulesets pipelines are mapped following: -> pull_request:opened, pull_request:synchronize, pull_request:reopened comment:created, comment:edited deployment:created you wish types from event, wildcard at end: pull_request* on reopened, synchronize, edited, labeled, unlabeled labeling has been labeled enhancement. 'pull_request:labeled' label: 'enhancement' editing labels enhancement documentation. 'pull_request:edited' 'enhancement', 'documentation' file readme.md, any *.md root directory test/* changed. path: "*.md", "test/*" exists github organization go-vela/docs repository. repo: "target/*", "go-vela/docs" failure success. status: failure, success ref dev/* test/*. tag: dev/*, production. only compatible events. controls modify behavior evaluation: options continue enables continuing fails. true, false matcher evaluating ruleset. filepath, regexp operator and, must match. branch, path, repo, status, unless overwrite vela's default allow pipeline continue: true filepath instead evaluate regex. matchers regexp. uses go's package. find documentation https://golang.org/pkg/regexp/syntax/ matcher: foo- "or" comparing rules. operators or. operator: tell push. if: not unless: parameters: parameter_<key_name>. plugin that needs two fields: parameter_registry=index.docker.io parameter_repo=octocat/hello-world,go-vela/docs registry: index.docker.io go-vela/hello-world, entrypoint: world" template: injection: vars step. existing "template" key. example template. primitive complex corresponding understand how those templates used. vars: tags: latest, "1.14", "1.15" pull_policy: test: "go test ./..." build: report_as publish custom commit `test suite` context report_as: suite have up 10 report their own status. /bin/pwd /bin/ls detach: similar "services:" throughout ulimits: foo soft: 1024 bar hard: 2048 user: user. "},{"url":"https://go-vela.github.io/docs/tour/secrets/","display":"Docs/Tour/Secrets","title":"Secrets","content":"sometimes you need to inject environment information into an image plugin that don’t want plain text. for this, we introduce pipeline secrets as pattern keep sensitive data safe. are always retrieved at the beginning of before any services, stages, steps created started. they answer when don’t provide let’s go back our docker used within tutorial focus only on repo type. can learn about all secret types usage section. looking shows few different patterns how leverage adding aliasing your pipeline. however, time going remove username: password: yaml keys parameter: block replace them with container environment. see it action examples! internal external steps: name: publish hello world image: target/vela-kaniko here simply just match key then starts will get "docker_password=<value>" secrets: docker_password parameters: registry: index.docker.io repo: index.docker.io/go-vela/hello-world moby tags: latest v1.0.0 now lets try something more complicated let's say alias secret. do via source target syntax where new name env var. source: password target: docker_username notice don't match. gives end users ability reuse rename names across their various pipelines. similar above, but allows entire key: go-vela/docs/username engine: native type: references: (step) secrets:, (parent) "},{"url":"https://go-vela.github.io/docs/reference/yaml/stages/","display":"Reference/Yaml/Stages","title":"Stages","content":"the stages key intended to be used parallelize one-to-many sets of step tasks. --- document displaying all required keys run two with one task parallel. stages: hello: steps: name: hello world image: alpine:latest commands: echo "hello, vela user" welcome: welcome "welcome vela!" type description name string unique identifier for stage pipeline steps []string sequential execution instructions needs that must complete before starting current independent bool will execute its ignore failures from other stages’ usage pipeline. stage. tip: more details on keys, see documentation needs: greeting: one. greeting independent: if fails at any point, continue execution. true "},{"url":"https://go-vela.github.io/docs/reference/yaml/secrets/","display":"Reference/Yaml/Secrets","title":"Secrets","content":"the secret key intended to be used pull secrets from vela server execute plugins write external build volume. --- document displaying all required keys various types. secrets: below declarative definitions. name: foo1 key: go-vela/docs/foo1 engine: native type: repo foo2 go-vela/foo2 org foo3 go-vela/admins/foo3 shared vault_token go-vela/vault_token executing plugin. origin: vault image: target/secret-vault:latest parameters: addr: vault.company.com auth_method: token username: token: sometoken items: source: secret/vela path: user type description name string of reference pipeline. path fetch storage backend. engine backend from. when origin struct declaration non-internal providers. postgres tip: unique you need follows pattern ensure has proper authorization use secret. by //<some_name> /<some_name> /<team_with_org>/<some_name> go-vela/foo1 go-vela/admins/foo1 know what engines are available for your installation, we recommend consulting system administrators. from, "native" signifies provider database. default, can but accepts following values: repo, org, pull: will at beginning build_start, step_start important: lazy loading not currently kubernetes-based workers does work with originating loaded via (see below). identifier container image []string docker create an ephemeral container. configure if pulled. sensitive variables injected into environment. environment map ruleset conditions limit execution parameters extra configuration specific note: option under allows different values than key. it mimics steps version effort reduce duplicate documentation, see comparable step documentation learn how set details on behavior. "},{"url":"https://go-vela.github.io/docs/tour/services/","display":"Docs/Tour/Services","title":"Services","content":"declaration allows you to provide detached (headless) container for the duration of pipeline. services are always ran, parallel alongside ephemeral steps they extremely useful when your testing requires additional such as cache, database queue. created at beginning pipeline order defined. name: field service defines what hostname will available communicate other tasks however, there times need more control over created. perhaps dealing with that has start up dependencies needs something before started. see it action examples! mongo postgres redis services: starting set execution cache image: version: "1" steps: ping commands: redis-cli -h now we know started execute another directly workflow detach: true vela exec ... [service: cache] 1:c 02 feb 2021 21:24:10.600 oo0ooo0ooo0oo version=6.0.10, bits=64, commit=00000000, modified=0, pid=1, just warning: config file specified, using default config. specify use redis-server /path/to/redis.conf 1:m 21:24:10.602 running mode=standalone, port=6379. 21:24:10.603 tcp backlog setting 511 cannot be enforced because /proc/sys/net/core/somaxconn lower value 128. server initialized ready accept connections [stage: ][step: pong key references: name:, image:, detach:, "},{"url":"https://go-vela.github.io/docs/tour/steps/","display":"Docs/Tour/Steps","title":"Steps","content":"steps pipeline designed to run sequential set of tasks. these pipelines do not have minimum defined length will always execute the order defined. each step shown with required yaml keys step. both are pulling alpine linux image from docker hub executing echo statements. see it action examples! go rust gradle maven node version: "1" pipeline, commands executed inside container as entrypoint. if any command returns non-zero exit code, fails exits. steps: name: greeting image: commands: "hello, world" welcome "welcome vela docs" exec ... [stage: ][step: greeting] hello, world welcome] docs key references: name:, image:, commands:, "},{"url":"https://go-vela.github.io/docs/reference/cli/authentication/","display":"Reference/CLI/Authentication","title":"Authentication","content":"overview authentication with the vela cli responsibility of client initiating request. each request requires server address. you can provide variable to three ways: configuration file environment flag recommended method for providing api address cli. default path be found $home/.vela/config.yml. log in: syntax login --api.addr <vela url> example https://vela.example.com confirm via browser prompt: open your complete (press enter confirm): generate update complete. continue save (existing config will overwritten): more information, visit documentation. variables configure vela_addr variable: export vela_addr=https://vela.example.com two prompts as stated above: it’s add these terminal profile (~/.bashrc ~/.zshrc) flags "},{"url":"https://go-vela.github.io/docs/tour/stages/","display":"Docs/Tour/Stages","title":"Stages","content":"stages pipelines are designed to parallelize one-to-many sets of step tasks. by design all the will run at same time unless user uses needs: yaml key control flow stage executions (see example). also stop executing their steps if build fails as whole, default. other words, fails, that have yet execute be skipped. can declare independent: true for any change behavior. these do not minimum defined length always within order defined. on host so it’s important take into consideration size worker running your builds. pipeline both trigger time. pulling alpine linux image from docker hub echo statements. see it action with examples! go rust gradle maven node you learn more about orchestration here! version: "1" pipeline, commands executed inside container entrypoint. command returns non-zero exit code, exits. stages: greeting: steps: name: greeting image: commands: "hello, world" welcome: welcome "welcome vela docs" goodbye: wait finish [greeting, welcome] goodbye "goodbye, note: aware references name, which overridden name definition. exec ... [stage: greeting][step: greeting] hello, world welcome][step: docs goodbye][step: goodbye] goodbye, references: name:, image:, commands:, "},{"url":"https://go-vela.github.io/docs/tour/templates/","display":"Docs/Tour/Templates","title":"Templates","content":"templates help to create reusable workflows order make grouping tasks like building deploying code. can solve duplicative single workflow be leveraged by any number of pipelines across multiple workflows. pipeline each step shown with the minimum required yaml keys execute step. both steps are pulling alpine linux image from docker hub executing echo statements. expand your knowledge deep dive! version: "1" templates: name: sample source: github.com/<org>/<repo>/path/to/file/<template>.yml type: github steps: test versions template: vars: images: golang:1.16, golang:1.15, golang:1.14 build binary image: commands: "hello, world" key references: templates:, vars:, "},{"url":"https://go-vela.github.io/docs/tour/status/","display":"Docs/Tour/Status","title":"Status","content":"vela will always publish build statuses to the source control management system. these correspond with webhook event that triggered build. can be used define various branch protection policies. also supports up 10 step-level statuses. reflect success failure of step rather than name status match value report_as key. pipeline, overall system (scm). "test suite" scm separately as `<context_prefix>/<event>/testing`. name: welcome image: alpine commands: echo "welcome docs" test suite golang:latest report_as: testing go key references: name:, image:, commands:, "},{"url":"https://go-vela.github.io/docs/reference/cli/validate/","display":"Reference/CLI/Validate","title":"Validate","content":"command has been moved to vela validate pipeline. for more information, please see the documentation "},{"url":"https://go-vela.github.io/docs/reference/cli/version/","display":"Reference/CLI/Version","title":"Version","content":"command vela version sample section assumes you have already installed setup the cli. to install cli, please review installation documentation. authentication request response canonical: v0.7.0, major: 0, minor: 7, patch: metadata: architecture: amd64, builddate: 2021-02-01t15:40:21z, compiler: gc, gitcommit: 6225623858e09b7277f3d274d1ed75289a9eb549, goversion: go1.15.7, operatingsystem: darwin, "},{"url":"https://go-vela.github.io/docs/reference/api/build/add/","display":"API/Build/Add","title":"Add","content":"endpoint post /api/v1/repos/:org/:repo/builds parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "author": "octokitty", "branch": "main", "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "clone": "https://github.com/github/octocat.git", "event": "push", "message": "first commit...", "ref": "refs/heads/main", "sender": "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", "title": "push received from https://github.com/github/octocat" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds" response "id": 1, "repo_id": "number": "parent": "status": "created", "error": "", "enqueued": 1563474077, "created": 1563474076, "started": "finished": 0, "deploy": https://github.com/github/octocat", "base_ref": "host": "company.localhost", "runtime": "docker", "distribution": "linux" "},{"url":"https://go-vela.github.io/docs/reference/api/dashboard/add/","display":"API/Dashboard/Add","title":"Add","content":"endpoint post /api/v1/dashboards permissions coming soon! responses status code description 201 indicates the request has succeeded 400 bad 401 user does not have proper 500 server error sample section assumes you already know how to authenticate api. api, please review authentication documentation. file "name": "test", "created_at": 1721251709, "created_by": "octocat", "updated_at": "updated_by": "admins": "id": 1, "active": true ], "repos": "octocat/myvela" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/dashboards" response "f460e0a1-a6a5-4724-89e8-4b2b39e12012", 1721253772, 293, "},{"url":"https://go-vela.github.io/docs/reference/api/deployment/add/","display":"API/Deployment/Add","title":"Add","content":"endpoint post /api/v1/deployments/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "ref": "main", "target": "production" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/deployments/github/octocat" response "id": 1, "repo_id": "url": "https://api.github.com/repos/github/octocat/deployments/1", "user": "octocat", "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "task": "deploy:vela", "production", "description": "deployment from vela" with if would like pass parameters, which can be referenced pipeline as $deployment_parameter_<key>, include them map inside payload key. "payload": "first_example": "hello", "second_example": "goodbye" vela", "example": "},{"url":"https://go-vela.github.io/docs/reference/api/hook/add/","display":"API/Hook/Add","title":"Add","content":"endpoint post /api/v1/hooks/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "number": 1, "source_id": "c8da1302-07d6-11ea-882f-4893bca275b8", "host": "github.com", "event": "push", "branch": "main", "status": "success" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/hooks/github/octocat" response "id": "repo_id": "build_id": "created": "1563474076", "error": "", "success", "link": "" "},{"url":"https://go-vela.github.io/docs/reference/api/pipeline/add/","display":"API/Pipeline/Add","title":"Add","content":"endpoint post /api/v1/pipelines/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "ref": "refs/heads/main", "type": "yaml", "version": "1", "steps": true, "data": "ls0tcnzlcnnpb246icixigokc3rlchm6ciaglsbuyw1loibly2hvciagicbpbwfnztogywxwaw5lomxhdgvzdaogicagy29tbwfuzhm6iftly2hvigzvb10=" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/pipelines/github/octocat" response "id": 1, "repo_id": "flavor": "", "platform": "external_secrets": false, "internal_secrets": "services": "stages": "templates": "},{"url":"https://go-vela.github.io/docs/reference/api/repo/add/","display":"API/Repo/Add","title":"Add","content":"endpoint post /api/v1/repos permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. file "org": "github", "name": "octocat", "link": "https://github.com/github/octocat", "clone": "https://github.com/github/octocat.git" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/repos" response "id": 1, "user_id": "full_name": "github/octocat", "https://github.com/github/octocat.git", "branch": "main", "build_limit": 10, "timeout": 60, "counter": 0, "visibility": "public", "private": false, "trusted": true, "active": "allow_pull": "allow_push": "allow_deploy": "allow_tag": "allow_comment": "allow_events": "push": "tag": "delete_branch": "delete_tag": false }, "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": true "comment": "schedule": "run": "pipeline_type": "yaml" "},{"url":"https://go-vela.github.io/docs/reference/api/schedule/add/","display":"API/Schedule/Add","title":"Add","content":"endpoint post /api/v1/schedules/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "name": "hourly", "entry": "0 *", "active": true curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/schedules/github/octocat" response "id": 1, "repo": "owner": "octokitty", }, "org": "github", "full_name": "github/octokitty", "link": "https://github.com/github/octokitty", "clone": "https://github.com/github/octokitty.git", "branch": "main", "topics": [], "build_limit": 10, "timeout": 30, "counter": 0, "visibility": "public", "private": false, "trusted": true, "allow_events": "push": "tag": "delete_branch": "delete_tag": false "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": "comment": "schedule": "run": "pipeline_type": "yaml", "previous_name": "", "approve_build": "fork-always" "created_at": 1716495910, "created_by": "updated_at": "updated_by": "scheduled_at": "error": "next_run": 1716499800 "},{"url":"https://go-vela.github.io/docs/reference/api/secret/add/","display":"API/Secret/Add","title":"Add","content":"endpoint post /api/v1/secrets/:engine/:type/:org/:name parameters the following are used to configure endpoint: name description engine of type secret org organization repository team permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "name": "foo", "value": "bar", "images": ["alpine"], "events": ["push"] curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/secrets/native/repo/github/octocat" response "id": 1, "org": "github", "repo": "octocat", "team": "", null, "type": "repo", ["push"], "allow_command": true, "allow_substitution": "allow_events": "push": "branch": "tag": "delete_branch": false, "delete_tag": false }, "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": true "comment": "schedule": "run": "created_at": 1641314085, "created_by": "octokitty", "updated_at": "updated_by": "octokitty" "},{"url":"https://go-vela.github.io/docs/reference/api/service/add/","display":"API/Service/Add","title":"Add","content":"endpoint post /api/v1/repos/:org/:repo/builds/:build/services parameters the following are used to configure endpoint: name description org of organization repo repository build number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "number": 1, "name": "clone" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/services" response "id": "build_id": "repo_id": "clone", "status": "success", "error": "", "exit_code": 0, "created": 1563475419, "started": 1563475420, "finished": 1563475421 "},{"url":"https://go-vela.github.io/docs/reference/api/step/add/","display":"API/Step/Add","title":"Add","content":"endpoint post /api/v1/repos/:org/:repo/builds/:build/steps parameters the following are used to configure endpoint: name description org of organization repo repository build number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "number": 1, "name": "clone" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/steps" response "id": "build_id": "repo_id": "clone", "status": "success", "error": "", "exit_code": 0, "created": 1563475419, "started": "finished": "host": "company.localhost", "runtime": "docker", "distribution": "linux" "},{"url":"https://go-vela.github.io/docs/reference/api/user/add/","display":"API/User/Add","title":"Add","content":"endpoint post /api/v1/users permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. file "name": "octokitty", "favorites": ["github/octocat"], "active": true, "admin": false curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/users" response "id": 1, "token": null, "},{"url":"https://go-vela.github.io/docs/reference/cli/dashboard/add/","display":"CLI/Dashboard/Add","title":"Add","content":"command vela add dashboard <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables vela_dashboard_name, dashboard_name repos list of repositories (org/repo) vela_dashboard_repos, dashboard_repos branches filter builds all by branch vela_dashboard_repos_branch, dashboard_repos_branch events event vela_dashboard_repos_event, dashboard_repos_event admins provide vela_dashboard_admins, dashboard_admins output format vela_output, repo_output also supports setting via configuration file: please review cli config documentation. sample section assumes have already installed setup cli. install cli, installation authentication request --name 'octocat main branches' --repos octocat/hello-world,octocat/spoon-knife --branches response name: octocat branches, id: d3040cd7-9bb6-45d1-a2a1-d794483a902c, admins: [{ active: true, admin: false, dashboards: [], favorites: 1, octokitty, token: }], createdat: 1716572402, createdby: updatedat: updatedby: repos: octocat/hello-world, branches: [main], events: octocat/spoon-knife, 2, examples examples: 1. dashboard. my-dashboard 2. with repositories. org-1/repo-1,org-2/repo-2 3. filtering pushes main. --branch --event push 4. multiple admins. --admins johndoe,janedoe "},{"url":"https://go-vela.github.io/docs/reference/cli/deployment/add/","display":"CLI/Deployment/Add","title":"Add","content":"command vela add deployment <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, deployment_org repo repository vela_repo, deployment_repo ref branch, commit, tag vela_deployment, deployment_number target vela_target, deployment_target short vela_description, deployment_description parameter parameter(s) key=value format vela_parameters,, deployment_parameters task vela_task, deployment_task output vela_output, deployment_output also supports setting via configuration file: please review cli config documentation. sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response generated from successful "https://api.github.com/repos/github/octocat/deployments/1" was created examples examples: 1. repository. myorg myrepo 2. with specific environment. --target stage 3. branch reference. --ref dev 4. commit 48afb5bdc41ad69bf22588491333f7cf71135163 5. tag. 'refs/tags/example.tag' 6. description. --description 'my custom message' 7. two parameters. --parameter 'key=value' 'foo=bar' 8. when set. "},{"url":"https://go-vela.github.io/docs/reference/cli/repo/add/","display":"CLI/Repo/Add","title":"Add","content":"command vela add repo <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization repository vela_org, repo_org vela_repo, repo_name branch default vela_branch, repo_branch link full url vela_link, repo_link clone vela_clone, repo_clone visibility access level required view vela_visibility, repo_visibility build.limit limit concurrent builds allowed vela_build_limit, repo_build_limit timeout max time per build vela_timeout, repo_timeout counter set value new number vela_counter, repo_counter private disables public vela_private, repo_private trusted elevates permissions vela_trusted, repo_trusted active enables/disables vela_active, repo_active event events trigger vela_events, repo_events pipeline-type type base pipeline compiler render vela_pipeline_type, pipeline_type output format vela_output, repo_output also supports setting via configuration file: please review cli config documentation. coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response id: userid: org: name: fullname: github/octocat link: https://github.com/github/octocat clone: https://github.com/github/octocat.git branch: main buildlimit: 10 timeout: 60 visibility: private: false trusted: active: true allowpull: allowpush: allowdeploy: allowtag: allowcomment: allowevents: [push pull_request:opened pull_request:synchronize pipelinetype: yaml "},{"url":"https://go-vela.github.io/docs/reference/cli/schedule/add/","display":"CLI/Schedule/Add","title":"Add","content":"command vela add schedule <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, schedule_org repo repository vela_repo, schedule_repo vela_schedule, schedule_name entry frequency vela_entry, schedule_entry active enables/disables vela_active, schedule_active output format vela_output, schedule_output also supports setting via configuration file: please review cli config documentation. sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --schedule hourly --entry '0 *' targeted --org github --repo octocat --output json response "id": 1, "repo": "owner": "name": "octokitty", "active": true }, "org": "github", "full_name": "github/octokitty", "link": "https://github.com/github/octokitty", "clone": "https://github.com/github/octokitty.git", "branch": "main", "topics": [], "build_limit": 10, "timeout": 30, "counter": 0, "visibility": "public", "private": false, "trusted": true, "allow_events": "push": "tag": "delete_branch": "delete_tag": false "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": "comment": "schedule": "run": "pipeline_type": "yaml", "previous_name": "", "approve_build": "fork-always" "hourly", "entry": "0 *", "created_at": 1716495910, "created_by": "updated_at": "updated_by": "scheduled_at": "error": "next_run": 1716499800 examples examples: 1. with not enabled. myorg myrepo --active 2. nightly entry. 3. weekly '@weekly' 4. when set. "},{"url":"https://go-vela.github.io/docs/reference/cli/secret/add/","display":"CLI/Secret/Add","title":"Add","content":"command vela add secret <parameters...> <arguments...> for more information, you can run --help. note on special characters: certain characters may require to encapsulate your with " '. have be double escaped parameters the following are used configure command: name description environment variables org of organization vela_org, secret_org repo repository vela_repo, secret_repo secret.engine engine that stores vela_engine. secret_engine secret.type type being stored vela_type, secret_type team vela_team, secret_team vela_name, secret_name value vela_value, secret_value image build image(s) access vela_images, secret_images event event(s) vela_events, secret_events commands allows step vela_commands, secret_commands substitution using ${key} format vela_substitution, secret_substitution file secret(s) vela_file, secret_file output vela_output, secret_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --secret.engine native --secret.type --name foo --value bar targeted --org github --repo octocat response "foo" was added advanced input from creating single-line multi-line symbol. syntax @/path/to/file example @$home/tmp/secret.txt secrets multiple filename parameter. -f secret.yml single yaml document --- metadata: version: v1 engine: secrets: org: repo: name: value: type: images: golang:latest events: push pull_request team: octokitties foo1 "@/path/to/file/bar1" shared vault "},{"url":"https://go-vela.github.io/docs/reference/cli/worker/add/","display":"CLI/Worker/Add","title":"Add","content":"command vela add worker <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables worker.address address of vela_worker_address, worker_address worker.hostname hostname vela_worker_hostname, worker_hostname output format vela_output, worker_output also supports setting via configuration file: please review cli config documentation. permissions platform admin sample section assumes have already installed setup authenticated as admin. install cli, installation authentication request --worker.address myworker.example.com not passing --worker.hostname will automatically use part passed hostname. response generated from successful registered successfully examples examples: 1. reachable at provided address. 2. with given. myworker "},{"url":"https://go-vela.github.io/docs/templates/tutorials/starlark/anatomy/","display":"Tutorials/Starlark/Anatomy","title":"Anatomy","content":"anatomy order to make starlark work with vela’s templates functionality we did have few design decisions on behalf of the users. all must contain main function that returns pipeline illustrated below example file contains def main(ctx) data structure valid pipeline. main(ctx): return 'version': '1', 'steps': 'name': 'build', 'image': 'golang:latest', 'commands': 'go build', test', }, ], context used by compiler pass information template will inject user variables defined parent compile time platform variables. both sets are injected into within dictionary structure. syntax: ctx['vela']['<resource>']['<name>'] repo ctx["vela"]["repo"]["full_name"] "go build %s" %, repo, ctx['vars'][<name>] image ctx['vars']['image'] image, "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/ansible/","display":"Registry/Pipeline/Ansible","title":"Ansible","content":"description plugin designed for using ansible-playbook ansible-lint vela pipeline. source code: https://github.com/go-vela/vela-ansible registry: https://hub.docker.com/r/target/vela-ansible usage note: users should refrain from latest as the tag docker image. it recommended to use semantically versioned instead. more information can be found at: docs. sample .vela.yml steps: name: image: target/vela-ansible:latest parameters: action: lint playbook: "abox/main.yml" lint_skip: no-changed-when key-order playbook options_inventory: "abox/inventory/hosts.yml" connection_user: root parameters following are used configure parameter required default log_level set log level (valid options: info, debug, trace) true info action lint, will determine whether run ansible-playbook. ansible-lint. ran by false lint_version returns version exits program. lint_list lists all rules. lint_format format rules output {rich,plain,rst,codeclimate,quiet,pep8} rich lint_quieter quieter, although not silent output. lint_parseable parseable of pep8. lint_parseableseverity including severity rule. lint_progressive return success if detects reduction number violations compared with previous git commit. feature works only repositories. lint_projectdir location project/repository, autodetected based on configuration file. n/a lint_rule specify one directories. -r flag (lint_rule) overrides /path/to/ansible-lint/lib/ansiblelint/rules, unless (lint_rulesdefault) also used. lint_rulesdefault /path/to/ansible-lint/lib/ansiblelint/rules addition any extra directories specified (lint_rule). there need flag/s is/are lint_showrelativepath display path relative cwd. lint_tags check whose id/tags match these values. lint_tagslist list tags. lint_verbose increase verbosity level. lint_skip does lint_warn warn about rules, overridden config file defaults ’experimental' experimental lint_enable activate optional their name lint_nocolor disable colored lint_forcecolor try force lint_exclude files skip. lint_config use. .ansible-lint lint_offline installation requirements.yml options options_askvaultpass ask vault password. options_flushcache clear fact cache every host inventory. options_forcehandlers handlers even task fails. options_listhosts outputs matching hosts options_listtags available tags options_listtasks tasks executed. options_skiptags plays options_startattask start at name. options_step one-set-at-a-time: confirm each before running. options_syntaxcheck perform syntax options_vaultid identity options_vaultpasswordfile password options_version number, location, configured module search path, executable options_check dry-run, make changes; instead, tries predict some changes that may occur. options_difference when changing (small) template, shows difference those files. options_modulepath prepend colon-separated path(s) library ~/.ansible/plugins/modules:/usr/share/ansible/plugins/modules options_extravars additional variables key=value yaml/json, filename options_forks parallel processes options_inventory inventory comma separated list. options_limit further limit selected pattern. options_tags matches options_verbose verbose mode. options_verbosemore mode: verbose. options_verbosedebug connection debugging connection_privatekey authenticate connection. connection_scpextraargs arguments pass scp only. connection_sftpextraargs sftp connection_sshextraargs ssh connection_sshcommonargs common scp/sftp/ssh. connection_timeout override timeout seconds. 10 connection_connection type smart connection_user connect user. none connection_passwordfile privilege escalation privilege_becomemethod method sudo privilege_becomeuser operation privilege_askbecomepass privilege_become operations become (does imply prompting) privilege_becomepassfile template coming soon! troubleshooting you tuning logs being displayed: log_level: trace below problems how solve them: "},{"url":"https://go-vela.github.io/docs/reference/cli/build/approve/","display":"CLI/Build/Approve","title":"Approve","content":"command vela approve build <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, build_org repo repository vela_repo, build_repo number vela_build, build_number output format vela_output, build_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build targeted --org github --repo octocat response "successfully approved github/octocat/1" "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/artifactory/","display":"Registry/Pipeline/Artifactory","title":"Artifactory","content":"description plugin enables you to manage artifacts artifactory vela pipeline. source code: https://github.com/go-vela/vela-artifactory registry: https://hub.docker.com/r/target/vela-artifactory usage note: users should refrain from using latest as the tag for docker image. it recommended use semantically versioned instead. sample of copying an artifact: steps: name: copy_artifacts image: target/vela-artifactory:latest pull: always parameters: action: copy path: libs-snapshot-local/foo.txt target: libs-snapshot-local/bar.txt url: http://localhost:8081/artifactory deleting delete_artifacts delete setting properties on set_properties_artifacts set-prop props: single value: foo multiple values: bar baz uploading upload_artifacts upload libs-snapshot-local/ sources: foo.txt target/*.jar dist/**/*.js artifact regexp: true dist/([a-z]+).js [!important] jfrog docs call out: if have specified that are regular expressions, then beginning expression must be enclosed parenthesis. example: a/b/c/(.*)/file.zip pretending dry_run: docker-promote docker_promote_artifacts target_repo: libs-snapshot-local docker_registry: octocat/hello-world tag: target_docker_registry: target_tags: "${vela_build_commit:0:8}" secrets configuring sensitive information your pipeline plain text. internal accepts following parameters authentication: parameter environment variable configuration api_key parameter_api_key, artifactory_api_key password parameter_password, artifactory_password username parameter_username, artifactory_username can substitute these values at runtime: secrets: artifactory_username, username: octocat password: supersecretpassword example will add step variables: artifactory_username=<value> artifactory_password=<value> external files file /vela/parameters/artifactory/api_key, /vela/secrets/artifactory/api_key, /vela/secrets/managed-auth/api_key /vela/parameters/artifactory/password, /vela/secrets/artifactory/password, /vela/secrets/managed-auth/password /vela/parameters/artifactory/username, /vela/secrets/artifactory/username, /vela/secrets/managed-auth/username read secret build workspace stored /vela/secrets/artifactory/* supports reading all via: variables parameter_* artifactory_* /vela/parameters/artifactory/* any set takes precedence over environment. used configure name required default action perform against n/a parameter_action artifactory_action api key communication with false parameter_api_key dry_run parameter_dry_run artifactory_dry_run log_level log level info parameter_log_level artifactory_log_level parameter_password url instance communicate parameter_url artifactory_url user parameter_username http_client_retries number times retry failed http attempts parameter_http_client_retries artifactory_http_client_retries http_client_retry_wait amount milliseconds wait between 500 parameter_http_client_retry_wait_milliseconds artifactory_http_client_retry_wait_milliseconds http_client_cert path client certificate tls parameter_http_client_cert artifactory_http_client_cert http_client_cert_key parameter_http_client_cert_key artifactory_http_client_cert_key http_client_insecure_tls enable insecure parameter_http_client_insecure_tls artifactory_http_client_insecure_tls flat removing directory hierarchy parameter_flat artifactory_flat artifact(s) parameter_path artifactory_path recursive sub-directories parameter_recursive artifactory_recursive target parameter_target artifactory_target instead moving image parameter_copy artifactory_copy docker_registry registry parameter_docker_registry artifactory_docker_registry promote_props promoted parameter_promote_props artifactory_promote_props promoting parameter_tag artifactory_tag target_docker_registry parameter_target_docker_registry artifactory_target_docker_registry target_repo containing parameter_target_repo artifactory_target_repo target_tags final tags after promotion parameter_target_tags artifactory_target_tags props parameter_props artifactory_props include_dirs including parameter_include_dirs artifactory_include_dirs regexp sources parameter_regexp artifactory_regexp list parameter_sources artifactory_sources template coming soon! troubleshooting start by tuning logs being displayed: log_level: trace below common problems how solve them: "},{"url":"https://go-vela.github.io/docs/usage/authenticate/","display":"Docs/Usage/Authenticate","title":"Authenticate","content":"warning these docs assume you have vela running. ui navigate to your deployed instance follow the oauth workflow presented on web interface. cli please see authentication reference. if not yet installed cli, install reference first. api sdk "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/aws-credentials/","display":"Registry/Pipeline/Aws credentials","title":"AWS Credentials","content":"description with openid connect (oidc), you can configure your pipeline to request short-lived set of credentials from aws. source code: https://github.com/cargill/vela-aws-credentials registry: https://hub.docker.com/r/cargill/vela-aws-credentials prerequisites adding the identity provider aws add github oidc iam, see docs. url: https://<vela api>/_services/token. audience: sts.amazonaws.com. terraform example: data "tls_certificate" "vela" url "https://vela-server.com/_services/token" resource "aws_iam_openid_connect_provider" client_id_list ["sts.amazonaws.com"] thumbprint_list [data.tls_certificate.vela.certificates[0].sha1_fingerprint] configuring iam role review official documentation for roles oidc. note: it critical that trust policy has conditions limit which vela pipelines/steps are able assume role. example below includes several ability role: stringlike condition on sub claim wildcard operator (*) allows any branch pull merge octo-org/octo-repo organization repository image permits only steps use golang:<tag> stringequals aud ensures tokens audience sts.amazonaws.com default when utilizing plugin. commands without section requires all must be met assumption succeed. if not met, will fail. "version": "2012-10-17", "statement": "effect": "allow", "principal": "federated": "arn:aws:iam::123456123456:oidc-provider/vela-server.com/_services/token" }, "action": "sts:assumerolewithwebidentity", "condition": "stringlike": "vela-server.com/_services/token:sub": "repo:octo-org/octo-repo:*", "vela-server.com/_services/token:image": "golang:*" "stringequals": "vela-server.com/_services/token:aud": "sts.amazonaws.com", "vela-server.com/_services/token:commands": false full list claims exposes found within "aws_iam_policy_document" "assume_role_policy" statement actions "sts:assumerolewithwebidentity" principals identifiers aws_iam_openid_connect_provider.vela.arn type "federated" test "stringlike" variable "vela-server.com/_services/token:sub" values ["repo:octo-org/octo-repo:*"] "vela-server.com/_services/token:image" ["golang:*"] "stringequals" "vela-server.com/_services/token:aud" "vela-server.com/_services/token:commands" [false] "aws_iam_role" "test_role" name assume_role_policy data.aws_iam_policy_document.assume_role_policy.json usage users should refrain using latest as tag docker image. recommended semantically versioned instead. generating credentials: steps: name: generate_aws image: cargill/vela-aws-credentials:latest id_request: parameters: "arn:aws:iam::123456123456:role/test" different region: "us-west-2" sample credentials, writing script, them cli: script_write: true test_aws amazon/aws-cli:latest commands: /vela/secrets/aws/setup.sh sts get-caller-identity parameters plugin supports reading via environment variables files. file take precedence over environment. following used required arn generate n/a parameter_role aws_credentials_role region where want obtain credentials. us-east-1 parameter_region aws_credentials_region role_duration_seconds assumed duration seconds. 3600 parameter_role_duration_seconds aws_credentials_role_duration_seconds role_session_name session assuming parameter_role_session_name aws_credentials_role_session_name log_level log level info parameter_log_level aws_credentials_log_level provider. parameter_audience aws_credentials_audience verify verified. parameter_verify aws_credentials_verify script_path path write script contains parameter_script_path aws_credentials_script_path script_write created. parameter_script_write aws_credentials_script_write inline_session_policy an json format inline parameter_inline_session_policy aws_credentials_inline_session_policy managed_session_policies arns managed policies exist same account parameter_managed_session_policies aws_credentials_managed_session_policies troubleshooting start by tuning logs being displayed: message pull: always log_level: trace "},{"url":"https://go-vela.github.io/docs/usage/badge/","display":"Docs/Usage/Badge","title":"Badges","content":"note: these docs assume you have vela running. how to get your badge the server has an endpoint that will return svg for default branch of repo. represents current status most recent build branch. refers any produced by repo attached branch, which includes event (push, pull request, etc). syntax https://<vela server>/badge/<org>/<repo>/status.svg example https://vela.example.com/badge/octocat/hello-world/status.svg addition can specify want supplying ?branch= query parameter url. server>/badge/<org>/<repo>/status.svg?branch=<branch name> https://vela.example.com/badge/octocat/hello-world/status.svg?branch=not_default embedding markdown embed formatted file, follow example: [![build status](https://<vela server>/badge/<org>/<repo>/status.svg)](https://<vela server>/<org>/<repo>) status](https://vela.example.com/badge/octocat/hello-world/status.svg)](https://vela.example.com/octocat/hello-world) "},{"url":"https://go-vela.github.io/docs/plugins/tutorials/bash/","display":"Plugins/Tutorials/Bash","title":"Bash","content":"we recommend reviewing docker’s best practices before attempting to create custom plugin. that all plugins be placed inside scratch image. overview from bash documentation: the gnu project’s shell. bourne an sh-compatible shell incorporates useful features korn (ksh) (csh). it intended conform ieee posix p1003.2/iso 9945.2 tools standard. offers functional improvements over sh for both programming interactive use. addition, most scripts can run by without modification. code plugin using bash, we’ll need first decide what task want accomplish. example, we’re going script runs curl command provided input: #!/usr/bin/env import method parameter environment method=${parameter_method} body body=${parameter_body} url url=${parameter_url} send request input -x "${method}" -d "${body}" "${url}" example of section go-vela/vela-tutorials repository. image once have executable needed accomplish our plugin’s task, dockerfile produce should contain setup when executed: alpine apk add --update --no-cache ca-certificates copy vela-sample.sh /bin/vela-sample.sh entrypoint ["bash", "/bin/vela-sample.sh"] target/vela-sample docker publishing order pipeline, make sure build publish registry: -t target/vela-sample:bash push has added benefit enabling others community consume your plugin! troubleshooting verify performs desired executed locally via line: --rm -e parameter_body="this sample vela written with bash" parameter_method="post" parameter_url="http://vela.localhost.com" usage after registry, referenced pipeline: version: "1" steps: name: image: pull: always parameters: url: http://vela.localhost.com method: post body: "},{"url":"https://go-vela.github.io/docs/reference/api/admin/build/","display":"API/Admin/Build","title":"Build","content":"endpoint put /api/v1/admin/build permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. note: must provide entire build object, as overwrites existing entry for build. file "id": 1, "repo_id": "number": "parent": "event": "push", "status": "created", "error": "", "enqueued": 1563474077, "created": 1563474076, "started": "finished": 0, "deploy": "clone": "https://github.com/github/octocat.git", "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", "title": "push received from https://github.com/github/octocat", "message": "this an updated message", "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "sender": "octokitty", "author": "branch": "main", "ref": "refs/heads/main", "base_ref": "host": "company.localhost", "runtime": "docker", "distribution": "linux" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/admin/build" response "},{"url":"https://go-vela.github.io/docs/reference/api/admin/build_queue/","display":"API/Admin/Build queue","title":"Build Queue","content":"endpoint get /api/v1/admin/builds/queue permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/admin/builds/queue" response "id": 2, "repo_id": "number": 1, "parent": "event": "push", "status": "pending", "error": "", "enqueued": 1563474204, "created": "started": "finished": 0, "deploy": "clone": "https://github.com/github/octocat.git", "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", "title": "push received from https://github.com/github/octocat", "message": "second commit...", "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "sender": "octokitty", "author": "branch": "main", "ref": "refs/heads/main", "base_ref": "host": "ed95dcc0687c", "runtime": "distribution": "" }, "running", 1563474077, 1563474076, "first "82823eb770b0", "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/build-summary/","display":"Registry/Pipeline/Build summary","title":"Build Summary","content":"description plugin enables you to provide summary of build pipeline. source code: https://github.com/go-vela/vela-build-summary registry: https://hub.docker.com/r/target/vela-build-summary usage note: users should refrain from using latest as the tag for docker image. it recommended use semantically versioned instead. sample outputting current build: steps: name: build-summary image: target/vela-build-summary:latest pull: always secrets: build_summary_token an existing parameters: number: different repo: org: octocat hello-world secrets configuring sensitive information your pipeline plain text. internal accepts following parameters authentication: parameter environment variable configuration token parameter_token, can vela substitute these values at runtime: token: supersecrettoken example will add secret step variable: build_summary_token=<value> external files volume /vela/parameters/build-summary/token, /vela/secrets/build-summary/token read stored /vela/secrets/ supports reading all via variables files. any set file take precedence over environment. are used configure name required default log_level log level true info parameter_log_level build_summary_log_level number by parameter_number build_summary_number vela_build_number org organization parameter_org build_summary_org vela_repo_org repo repository parameter_repo build_summary_repo vela_repo_name server communicate with parameter_server build_summary_server vela_addr communication parameter_token vela_netrc_password template coming soon! troubleshooting start tuning logs being displayed: log_level: trace below list common problems how solve them: "},{"url":"https://go-vela.github.io/docs/usage/docker/","display":"Docs/Usage/Docker","title":"Building Docker Images","content":"we assume you understand how to build run docker images. if need assistance on get started with docker; recommend see their documentation for getting set up. vela runs all workloads within containers. which essentially gives us two core different ways images: without elevated daemon access both options have disadvantages advantages, so encourage administrators weigh the pros/cons of they want images cluster. here are some resources can use while researching available tools: what buildkit it for? kaniko tools comparison building an image most secure pattern not allowing any workers there plugin those vela-kaniko customers read tool comparisons before picking technology in-depth examples either utility respective pages. simple example provided below: version: "1" steps: name: publish image: target/vela-kaniko:latest pull: always parameters: registry: index.docker.io repo: index.docker.io/octocat/hello-world allowed as long required allow list worker. it’s important work your administrator stand instances was deployed support. supported vela-docker docker's target/vela-docker:latest tags: environment: docker_buildkit=0 additional container securely kubernetes why rootless hard? "},{"url":"https://go-vela.github.io/docs/reference/api/build/cancel/","display":"API/Build/Cancel","title":"Cancel","content":"endpoint delete /api/v1/repos/:org/:repo/builds/:build/cancel permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper 404 that server was unable to cancel build 500 there an error trying sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/cancel" response "canceled github/octocat/36" "},{"url":"https://go-vela.github.io/docs/reference/cli/build/cancel/","display":"CLI/Build/Cancel","title":"Cancel","content":"command vela cancel build <parameters...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, build_org repo repository vela_repo, build_repo number vela_build, build_number output format vela_output, build_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build targeted --org github --repo octocat response canceled github/octocat/1 "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/captains_log/","display":"Registry/Pipeline/Captains log","title":"Captain's Log","content":"overview the captain’s log plugin enables ability to manage release logs through slack vela pipeline. source code: https://github.com/target/captains-log registry: https://hub.docker.com/r/target/captains-log usage basic steps: name: captains-log image: target/captains-log:1 pull: always secrets: [github_token, slack_url] parameters: github_owner: target github_repo: github_tag_id: "v([0-9]+-release)$" enterprise_host: https://git.myteam.com jira_team_domain: myteamnamespace utilize teams organization: teams: team1 color: "#ffdc18" emoji: "✨" mentions: "<@person1> <@person2>" issuetracking: jira: projects: team1subgroup team2 "#f48642" "🔥" "<@person3>" secrets users should refrain from configuring sensitive information their pipeline plain text. accepts following parameters for authentication: parameter environment variable configuration github_token slack_token slack_url can use substitute these values at runtime: github_token, github_token: supersecrettoken slack_url: https://hooks.slack.com/services/super/secret/url example will add step as variables: github_token= slack_url= more on options, visit documentation. https://target.github.io/captains-log/#/configuration/ "},{"url":"https://go-vela.github.io/docs/reference/api/repo/chown/","display":"API/Repo/Chown","title":"Chown","content":"endpoint patch /api/v1/repos/:org/:repo/chown parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/chown" response github/octocat changed owner "},{"url":"https://go-vela.github.io/docs/reference/cli/repo/chown/","display":"CLI/Repo/Chown","title":"Chown","content":"command vela chown repo <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization repository vela_org, repo_org vela_repo, repo_name output format vela_output, repo_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response "github/octocat" changed owner "},{"url":"https://go-vela.github.io/docs/reference/api/admin/clean/","display":"API/Admin/Clean","title":"Clean","content":"endpoint put /api/v1/admin/clean filters the following optional are available: name description before clean resources created certain time (unix epoch, default now minus repo timeout minutes) permissions coming soon! responses status code 200 indicates request has succeeded 400 bad 401 user does not have proper 500 internal server issue while cleaning sample section assumes you already know how to authenticate api. api, please review authentication documentation. file "message": "this resource been set error by platform admins during maintenance" note: value for message build cleaned admin curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/admin/clean" response "42 builds cleaned. 42 services steps cleaned." "},{"url":"https://go-vela.github.io/docs/reference/api/pipeline/compile/","display":"API/Pipeline/Compile","title":"Compile","content":"endpoint post /api/v1/pipelines/:org/:repo/:pipeline/compile parameters the following are used to configure endpoint: name description org of organization repo repository pipeline commit sha for from output format compiled configuration permissions coming soon! responses status code 200 indicates request has succeeded 400 unable retrieve compile templates 401 user does not have proper 404 500 system error while retrieving compiling sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/pipelines/github/octocat/48afb5bdc41ad69bf22588491333f7cf71135163/compile" response notice, when step fields such as image commands will be arranged alphabetical order. version: "1" secrets: name: go_module key: github/octocat/template_secret engine: native type: steps: commands: go vet ./... && git diff --exit-code; code=$?; checkout -- .; (exit $code) fmt image: golang:latest go_validate pull: not_present test go_test build -a -ldflags '-extldflags "-static"' -o release/heyvela {$go_module} go_build environment: cgo_enabled: "0" goos: linux templates: source: github.com/github/octocat/go/template.yml github "version": "1", "metadata": {}, "worker": "secrets": "name": "go_module", "key": "github/octocat/template_secret", "engine": "native", "type": "repo", "origin": "ruleset": "if": "unless": {} ], "steps": }, "commands": "go $code)", $code)" "template": "image": "golang:latest", "go_validate", "pull": "not_present" ./..." "go_test", "-static "' {$go_module}" "go_build", "not_present", "environment": "cgo_enabled": "0", "goos": "linux" "go-tag_validate", "go-tag_test", "go-tag_build", "templates": "go", "source": "github.com/github/octocat/go/template.yml", "github" "},{"url":"https://go-vela.github.io/docs/installation/server/reference/compiler/","display":"Server/Reference/Compiler","title":"Compiler","content":"note: the compiler embedded directly server can only be accessed through server. component responsible for transforming pipeline into an executable representation worker. during transformation, it will retrieve templates from one more registries depending on configuration. by default, vela use github as registry fetching templates, but you configure additional well. however, to fetch private organization repository github, need provide token compiler. additionally, send pipelines external endpoint, modified, based off custom modification endpoint used perform any number of customizations all workloads created system. some examples what do include, are not limited to: injecting updating configuration secrets services stages steps following options component: name description required default environment variables clone-image clone image injected step true target/vela-git (1) vela_clone_image github-driver enables using enterprise false compiler_github vela_compiler_github github-url fully qualified url n/a compiler_github_url vela_compiler_github_url github-token authentication when compiler_github_token vela_compiler_github_token modification-addr modifying modification_addr vela_modification_addr modification-retries times resend failed requests modification_retries vela_modification_retries modification-secret authenticates communication between modification_secret vela_modification_secret modification-timeout timeout sent 8s modification_timeout vela_modification_timeout max-template-depth max depth calling nested compilation max_template_depth vela_max_template_depth compiler-starlark-exec-limit execution limit compiling starlark 7500 compiler_starlark_exec_limit vela_compiler_starlark_exec_limit latest available, tagged release at time released information these options, please see reference. drivers available documentation uses githug template https://docs.github.com/en/enterprise-server/admin/overview/system-overview official website: where world builds software. millions developers companies build, ship, maintain their software github—the largest most advanced development platform world. below displays example starting that registry: docker run --detach=true --env=vela_addr=https://vela-server.example.com --env=vela_compiler_github=true --env=vela_compiler_token=<github-personal-access-token> --env=vela_compiler_url=https://github.com --env=vela_database_encryption_key=<encryption-key> --env=vela_queue_driver=redis --env=vela_queue_addr=redis://<password>@<hostname>:<port>/<database> --env=vela_port=443 --env=vela_secret=<shared-secret> --env=vela_server_private_key=<private_key> --env=vela_scm_client=<oauth-client-id> --env=vela_scm_secret=<oauth-client-secret> --env=vela_webui_addr=https://vela.example.com --name=server --publish=80:80 --publish=443:443 --restart=always target/vela-server:latest enabled necessary order operate. enable github. your organization’s copy contained within virtual appliance, hosted premises cloud, control. --env=vela_compiler_url=https://git.example.com "},{"url":"https://go-vela.github.io/docs/templates/tutorials/go/conditional/","display":"Tutorials/Go/Conditional","title":"Conditionals","content":"we recommend reviewing go templates documentation before attempting to create template. if you’re new yaml also the 1.2 spec for validation on syntax. overview from template conditional: {{if pipeline}} t1 {{end}} value of pipeline empty, output generated; otherwise, executed. empty values are false, 0, any nil pointer interface value, array, slice, map, string length zero. dot unaffected. tip: information if/else statements see conditional docs sample let’s take look at using with variable template: metadata: true {{$br := vela "build_branch"}} steps: name: test commands: ./... image: {{ .image }} .pull_policy ruleset: event: push, pull_request branch equals main add step final (eq $br "main") build end caller could like: version: "1" templates: source: github.com/<org>/<repo>/path/to/file/<template>.yml type: github golang vars: golang:latest pull_policy: "pull: always" which means compiled execution worker is: sample_test pull: always sample_build "},{"url":"https://go-vela.github.io/docs/templates/tutorials/starlark/conditional/","display":"Tutorials/Starlark/Conditional","title":"Conditionals","content":"we recommend reviewing starlark spec before attempting to create template. overview from conditional expressions: "yes" if enabled else "no" tip: for information on if/else statements see docs sample let’s take look at using with variable template: def main(ctx): steps "name": "test", "image": ctx["vars"]["image"], "commands": "go test ./..." ], "pull": ctx["vars"]["pull_policy"], "ruleset": "event": "push", "pull_request" branch equals main add step the final pipeline ctx["vela"]["build"]["branch"] == "main": steps.append( "build", build" return 'version': '1', 'steps': steps, caller of template could like: version: "1" templates: name: source: github.com/<org>/<repo>/path/to/file/<template>.star type: github format: steps: golang vars: image: golang:latest pull_policy: "always" which means compiled execution worker is: sample_test commands: go ./... pull: always ruleset: event: push, pull_request sample_build build "},{"url":"https://go-vela.github.io/docs/installation/server/reference/database/","display":"Server/Reference/Database","title":"Database","content":"component responsible for integrating with database system based off the configuration provided. used by vela storing application data at rest. an organized collection of information necessary platform to operate. note: any sensitive stored will be encrypted using advanced encryption standard (aes). following options are configure component: name description required default environment variables database.addr full connection string true sqlite3 database_addr vela_database_addr database.driver type client control operate vela.sqlite database_driver vela_database_driver database.compression.level level compression logs database_compression_level vela_database_compression_level database.connection.idle maximum number idle connections database_connection_idle vela_database_connection_idle database.connection.life duration time reusable 30m database_connection_life vela_database_connection_life database.connection.open open database_connection_open vela_database_connection_open database.encryption.key aes-256 key encrypting/decrypting values n/a database_encryption_key vela_database_encryption_key database.skip_creation skips creation tables indexes false database_skip_creation vela_database_skip_creation database.log.level log warn database_log_level vela_database_log_level database.log.show_sql show sql query database_log_show_sql vela_database_log_show_sql database.log.skip_notfound skip logging not found errors database_log_skip_notfound vela_database_log_skip_notfound database.log.slow_threshold queries higher than value considered slow logged 200ms database_log_slow_threshold vela_database_log_slow_threshold more on these options, please see server reference. drivers available documentation postgres uses postgresql rest https://www.postgresql.org/ sqlite https://www.sqlite.org/ from official website: powerful, source object-relational over 30 years active development that has earned it strong reputation reliability, feature robustness, performance. below displays example starting connect database: docker run --detach=true --env=vela_addr=https://vela-server.example.com --env=vela_database_driver=postgres --env=vela_database_addr=postgres://<username>:<password>@<hostname>:<port>/<database> --env=vela_database_encryption_key=<encryption-key> --env=vela_queue_driver=redis --env=vela_queue_addr=redis://<password>@<hostname>:<port>/<database> --env=vela_port=443 --env=vela_secret=<shared-secret> --env=vela_server_private_key=<private_key> --env=vela_scm_client=<oauth-client-id> --env=vela_scm_secret=<oauth-client-secret> --env=vela_webui_addr=https://vela.example.com --name=server --publish=80:80 --publish=443:443 --restart=always target/vela-server:latest c-language library implements small, fast, self-contained, high-reliability, full-featured, engine. most engine world. built into all mobile phones computers comes bundled inside countless other applications people use every day. --env=vela_database_driver=sqlite3 --env=vela_database_addr=vela.sqlite enabled provide order "},{"url":"https://go-vela.github.io/docs/reference/api/dashboard/delete/","display":"API/Dashboard/Delete","title":"Delete","content":"endpoint delete /api/v1/dashboards/:id permissions coming soon! responses status code description 200 indicates the request has succeeded 400 bad 401 user does not have proper 500 server error sample section assumes you already know how to authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/dashboards/f460e0a1-a6a5-4724-89e8-4b2b39e12012" response "dashboard test deleted" "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/docker/","display":"Registry/Pipeline/Docker","title":"Docker","content":"description plugin enables you to build publish docker images vela pipeline. source code: https://github.com/go-vela/vela-docker registry: https://hub.docker.com/r/target/vela-docker usage note: users should refrain from using latest as the tag for image. it recommended use semantically versioned instead. samples of building publishing an image: steps: name: publish_hello-world target/vela-docker:latest pull: always parameters: index.docker.io repo: octocat/hello-world tags: index.docker.io/octocat/hello-world:latest two above are functionally equivalent. sample image without publishing: hello world dry_run: true with custom octocat/hello-world:1 index.docker.io/octocat/hello-world:foobar arguments: build_args: foo=bar caching: cache_from: index.docker.io/octocat/hello-world daemon settings: daemon: registry_mirrors: mirror.index.docker.io secrets configuring sensitive information your pipeline plain text. internal can substitute these values at runtime: secrets: docker_username, docker_password username: octocat password: supersecretpassword example will add step environment variables: docker_username=<value> docker_password=<value> external accepts following files authentication: parameter volume configuration password /vela/parameters/docker/password, /vela/secrets/docker/password username /vela/parameters/docker/username, /vela/secrets/docker/username read secret stored /vela/secrets/ parameters supports reading all via variables files. any set file take precedence over environment. by default kit on; be turned off setting docker_buildkit=0 key.key syntax signifies new yaml object within definition. used configure name required add_hosts host-to-ip mapping format (host:ip) false n/a parameter_add_hosts docker_add_hosts build_args pass build-time parameter_build_args docker_build_args cache_from consider cache sources parameter_cache_from docker_cache_from cgroup_parent parent cgroup container parameter_cgroup_parent docker_cgroup_parent compress enable compressing context gzip parameter_compress docker_compress and/or directory parameter_context docker_context cpu parameter, see settings below parameter_cpu docker_cpu parameter_daemon docker_daemon disable_content_trust skipping verification parameter_disable_content_trust docker_disable_content_trust dry_run parameter_dry_run docker_dry_run dockerfile parameter_file docker_file force_rm removing intermediate containers after successful parameter_force_rm docker_force_rm image_id_file write id parameter_image_id_file docker_image_id_file isolation technology parameter_isolation docker_isolation labels metadata parameter_labels docker_labels log_level log level info parameter_log_level docker_log_level memory limit parameter_memory docker_memory memory_swaps swap equal plus swap: ‘-1’ unlimited parameter_memory_swaps docker_memory_swaps network networking mode run instructions during parameter_network docker_network no_cache disable caching when parameter_no_cache docker_no_cache output destination (type=local,dest=path) parameter_outputs docker_outputs communication registry parameter_password platform if server multi-platform capable parameter_platform docker_platform progress type options (auto|plain|tty) parameter_progress docker_progress pull attempting newer version parameter_pull docker_pull quiet suppressing print on success parameter_quiet docker_quiet address communicate parameter_registry docker_registry remove parameter_remove docker_remove repo repository parameter_repo docker_repo expose (only buildkit enabled) (id=mysecret,src=/local/secret) parameter_secrets docker_secrets security_opts security parameter_security_opts docker_security_opts shm_sizes size /dev/shm parameter_shm_sizes docker_shm_sizes squash squashing newly built layers into single layer parameter_squash docker_squash ssh_components ssh agent socket keys (default|[=|[,]]) parameter_ssh_components docker_ssh_components stream attaching negotiate parameter_stream docker_stream tags (name:tag) parameter_tags docker_tags target stage parameter_target docker_target ulimits parameter_ulimits docker_ulimits user parameter_username docker_username parameter: period cfs (completely fair scheduler) quota shares (relative weight) set_cpus cpus which allow execution (0-3, 0,1) set_mems mems bip bridge ip dns settings, experimental features insecure_registries insecure registries ipv6 mtu contain registry_mirrors mirrors storage setting: servers nameservers searches search domains driver opts template coming soon! troubleshooting start tuning logs being displayed: log_level: trace list common problems how solve them: "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/downstream/","display":"Registry/Pipeline/Downstream","title":"Downstream","content":"description plugin enables you to trigger builds for other repos vela pipeline. source code: https://github.com/go-vela/vela-downstream registry: https://hub.docker.com/r/target/vela-downstream usage note: users should refrain from using latest as the tag docker image. it recommended use semantically versioned instead. sample of triggering downstream build: steps: name: trigger_hello-world image: target/vela-downstream:latest pull: always parameters: repos: octocat/hello-world server: https://vela-server.localhost build specific branch: main event: status: can provide list statuses plugin. first found matching either will be triggered. success, failure multiple trigger_multiple go-vela/hello-world with different branches: symbol at end org/repo unique branch per repo. override value set parameter. octocat/hello-world@test go-vela/hello-world@stage secrets configuring sensitive information your pipeline plain text. personal access token related control manager (github, gitlab, etc.) required. must tied user that exists vela, is, has logged into least once. additionally, have write both origin repo any repos. internal substitute these values runtime: secrets: downstream_token token: supersecretvelatoken example add secret step environment variables: downstream_token=<value> external accepts following files authentication: parameter volume configuration /vela/parameters/downstream/token, /vela/secrets/downstream/token read stored /vela/secrets/ parameters supports reading all via variables files. file take precedence over environment. are used configure name required default on false n/a parameter_branch downstream_branch event true push parameter_event downstream_event log_level log level info parameter_log_level downstream_log_level names parameter_repos downstream_repos server communicate parameter_server downstream_server status success parameter_status downstream_status scm an existing parameter_token report_back whether not track parameter_report_back downstream_report_back target_status look parameter_target_status downstream_target_status timeout how long wait 30m parameter_timeout downstream_timeout continue_on_not_found continue find one parameter_continue_on_not_found downstream_continue_on_not_found template coming soon! troubleshooting start by tuning logs being displayed: log_level: trace below common problems solve them: unable authenticate: does record owns token, even if management system may valid. once fix issue. restart myorg/myrepo/1234 permission given token. make sure .vela.yml inside want for. admin "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/email/","display":"Registry/Pipeline/Email","title":"Email","content":"description plugin enables you to send data an email. source code: https://github.com/go-vela/vela-email registry: https://hub.docker.com/r/target/vela-email usage note: users should refrain from using latest as the tag for docker image. it recommended use semantically versioned instead. sample .vela.yml secrets: name: username engine: native key: vela/noreply/username type: shared password vela/noreply/password steps: email on success image: target/vela-email:latest pull: not_present [username, password] ruleset: status: parameters: from: vela-noreply@fakemail.com to: [one@email.com, two@email.com] sendtype: starttls auth: loginauth host: smtp.youremailserver.com port: 587 subject: "{{ .vela_build_commit }}" text: "author: {{ .vela_build_author }} branch: .vela_build_branch failure with attachment filename: <filename> emailone@email.com, emailtwo@email.com vela pipeline .vela_repo_full_name content-type: text/plain buildauthor: buildauthoremail: .vela_build_author_email buildbranch: buildcommit: buildcreated: .buildcreated buildmessage: .vela_build_message buildnumber: .vela_build_number repositoryfullname: repositorylink: .vela_repo_link secrets configuring sensitive information your plain text. internal accepts following parameters authentication: parameter environment variable configuration parameter_username, parameter_password, can substitute these values at runtime: always username, username: usernameexample@email.com example will add secret step variables: username=<value> external files volume /vela/parameters/email/username, /vela/secrets/email/username /vela/parameters/email/password, /vela/secrets/email/password read value stored /vela/secrets/ any set file take precedence over environment. environments be found all variables are wrapped sprig template. more docs used configure logging required default log_level log level (valid options: info, debug, trace) true info parameter_log_level email_log_level who being sent n/a parameter_from email_from parameter_to email_to cc carbon copy of false parameter_cc email_cc bcc blind parameter_bcc email_bcc sender (will overwrite from) parameter_sender email_sender replyto address that replies parameter_replyto email_replyto subject parameter_subject email_subject text body format (html text) parameter_text email_text html hmtl parameter_html email_html readreceipt delivery confirmation parameter_readreceipt email_readreceipt to, cc, array emails of: one@email.com, two@email.com firstname lastname <one@email.com>, <two@email.com> subject, body, accept such as: attached parameter_attachment email_attachment filename populate parameter_filename email_filename smtp host parameter_host email_host port parameter_port email_port parameter_username email_username parameter_password email_password tls servername server parameter_servername email_servername insecureskipverify verification server’s certificate chain name. only testing purposes makes susceptible man-in-middle attacks. parameter_skipverify email_skipverify encryption sendtype security option: plain, starttls, tls) parameter_sendtype email_sendtype authentication auth login plainauth, loginauth) parameter_auth email_auth plainauth smtp/auth server. custom office 365/exchange provides user friendly timestamp text, timestamps converted unix utc. buildcreated buildenqueued buildfinished buildstarted defaults context-type options follow: text/html based message. <table> <tbody> <tr> <td width="600"> <div> <table width="100%" cellspacing="0" cellpadding="0"> <td> <td>build number:</td> <a href="{{ .vela_build_link }}"> </a> </td> </tr> <td>repo:</td> <td>{{ }}</td> <td>author:</td> ({{ }}) <td>branch:</td> <td>commit:</td> <td>started at:</td> </tbody> </table> <hr /> </div> template coming soon! troubleshooting start by tuning logs displayed: log_level: trace ... below list common problems how solve them: "},{"url":"https://go-vela.github.io/docs/usage/enable_repo/","display":"Docs/Usage/Enable repo","title":"Enable a Repo","content":"note: you will need admin access to the repo be able activate it vela. because add webhooks repo. via ui for example, we’ll go over using can always head cli docs on how cli. log into your vela instance. click repositories. select org from available list. next would like add. alternatively all repos an org. if doesn’t exist, try clicking refresh list top right. now has necessary web hook tip: you’re coming another ci platform set starting build number by updating counter field ui, cli, api. "},{"url":"https://go-vela.github.io/docs/reference/cli/pipeline/exec/","display":"CLI/Pipeline/Exec","title":"Exec","content":"command vela exec pipeline <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: ruleset name description environment variables branch build vela_branch, pipeline_branch comment vela_comment, pipeline_comment event vela_event, pipeline_event tag vela_tag, pipeline_tag target vela_target, pipeline_target file-changeset file changeset vela_file_changeset, file_changeset repo settings org provide organization vela_org, pipeline_org repository vela_repo, pipeline_repo pipeline-type type vela_pipeline_type, pipeline_type template compiler.github.token pat accessing github sourced templates vela_compiler_github_token, compiler_github_token compiler.github.url url vela_compiler_github_url, compiler_github_url template-file list of local form vela_template_file, pipeline_template_file max-template-depth maximum depth requesting nested vela_max_template_depth, max_template_depth env-file bool value whether not source from an env (default .env) vela_env_file, env_file env-file-path path override default .env sourcing vela_env_file_path, env_file_path local-env onboard your onboard_local_env, local_env env-vars include vela_env_vars other output format json, spew yaml vela_output, pipeline_output vela_file, pipeline_file vela_path, pipeline_path enables mounting directory vela_local, pipeline_local volume volumes mount vela_volumes, pipeline_volumes unless flag supplied, will execute without any set environment. instead, users encouraged supply their own (e.g. --env-file --env-file-path custom.env). many plugins, starlark/go templates, resources depend on vela-injected variables, such as vela_build_commit. these have be supplied by user, there way compiler determine values locally. secrets does access secret stored attached store. using flag, ie --env-vars my_secret=foo. they also with flags. example, if kaniko plugin, it may require kaniko_password, which provided kaniko_password=mypass. sample section assumes already installed setup cli. install cli, please review installation documentation. authentication request response [step: init] > inspecting runtime network... docker network inspect localorg_localrepo_1 "name": "localorg_localrepo_1", "id": "cf204e6081cd4c10e3a285e7545790152afca05991c2dc67534f496844c1d274", "created": "2021-06-01t19:37:35.4772628z", "scope": "local", "driver": "bridge", "enableipv6": false, "ipam": "default", "options": null, "config": "subnet": "192.168.0.0/20", "gateway": "192.168.0.1" }, "internal": "attachable": "ingress": "configfrom": "network": "" "configonly": "containers": {}, "labels": {} volume... "createdat": "2021-06-01t19:37:35z", "mountpoint": "/var/lib/docker/volumes/localorg_localrepo_1/_data", "local" pulling service images... stage step image alpine:latest sha256:6dbb9cc54074106d46d4ccb330f2a40a682d49dda5f4844962b7dce9fe44aaec hello vela] echo "hello vela!" vela! complex samples below several examples .vela.yml version: "1" templates: name: tmpl source: git.example.com/cloud/vela-templates/kaniko.yml@main type: steps: testing image: commands: ruleset: matcher: regexp path: src/* ran template: vars: repo: docker.example.com/octocat/hello-world kaniko.yml metadata: true environment: {{ .repo }} secrets: docker_username key: octocat/docker_username engine: native docker_password octocat/docker_password publish target/vela-kaniko:latest docker_username, parameters: registry: docker.example.com ${repo} remote onboarding docker_username=octocat docker_password=abc123 vela_build_commit=1a2b3c --ct <github_pat> --cgu https://git.example.com --local-env note: onboards entire bash load specific use --env-vars: docker_username=octocat,docker_password=abc123,vela_build_commit=1a2b3c --template-file tmpl:path/to/template.yml vela_exec.env inclusion order steps rulesets, sure all necessary flags that match rules --file-changeset src/main.go rules: --branch, --event, --comment, --tag, --target "},{"url":"https://go-vela.github.io/docs/installation/worker/reference/executor/","display":"Worker/Reference/Executor","title":"Executor","content":"component responsible for coordinating with the runtime to manage workload resources. throughout lifecycle of these resources, will track report results back server. configuration following options are used configure component: name description required default environment variables executor.driver type client control operate executor true linux executor_driver vela_executor_driver executor.max_log_size maximum log size (in bytes) false (no limit) executor_max_log_size vela_executor_max_log_size executor.log_streaming_timeout time wait, after build completion, logs finish streaming 5m executor_log_streaming_timeout vela_executor_log_streaming_timeout note: more information on options, please see worker reference. drivers available documentation uses running workloads https://www.linux.com/ local (cli only) n/a from official website: has been around since mid-1990s reached user-base that spans globe. just like windows, ios, mac os, an operating system. fact, one most popular platforms planet, android, powered by below displays example starting vela use executor: docker run --detach=true --env=vela_executor_driver=linux --env=vela_queue_driver=redis --env=vela_server_addr=https://vela-server.example.com --env=vela_server_secret=<shared-secret> --env=vela_worker_addr=https://vela-worker.example.com --name=worker --publish=80:80 --publish=443:443 --restart=always --volume=/var/run/docker.sock:/var/run/docker.sock target/vela-worker:latest enabled not necessary provide order operate. driver only intended cli. it’s recommended any configured driver. "},{"url":"https://go-vela.github.io/docs/reference/api/pipeline/expand/","display":"API/Pipeline/Expand","title":"Expand","content":"endpoint post /api/v1/pipelines/:org/:repo/:pipeline/expand parameters the following are used to configure endpoint: name description org of organization repo repository pipeline commit sha for from output format compiled configuration permissions coming soon! responses status code 200 indicates request has succeeded 400 unable retrieve expand templates 401 user does not have proper 404 500 system error while retrieving expanding sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/pipelines/github/octocat/48afb5bdc41ad69bf22588491333f7cf71135163/expand" response notice, when step fields such as image commands will be arranged alphabetical order. version: "1" secrets: name: go_module key: github/octocat/template_secret engine: native type: steps: commands: go vet ./... && git diff --exit-code; code=$?; checkout -- .; (exit $code) fmt image: golang:latest go_validate pull: not_present test go_test build -a -ldflags '-extldflags "-static"' -o release/heyvela {$go_module} go_build environment: cgo_enabled: "0" goos: linux templates: source: github.com/github/octocat/go/template.yml github "version": "1", "metadata": {}, "worker": "secrets": "name": "go_module", "key": "github/octocat/template_secret", "engine": "native", "type": "repo", "origin": "ruleset": "if": "unless": {} ], "steps": }, "commands": "go $code)", $code)" "template": "image": "golang:latest", "go_validate", "pull": "not_present" ./..." "go_test", "-static "' {$go_module}" "go_build", "not_present", "environment": "cgo_enabled": "0", "goos": "linux" "templates": "go", "source": "github.com/github/octocat/go/template.yml", "github" "},{"url":"https://go-vela.github.io/docs/templates/tutorials/go/functions/","display":"Tutorials/Go/Functions","title":"Functions","content":"we recommend reviewing go templates documentation before attempting to create template. if you’re new yaml also the 1.2 spec for validation on syntax. overview provides limited set of built-in template functions. vela number additional, predefined functions utilize templates. see list example function call: {{ printf "%q" "output" }} call whose final argument comes from previous command: custom sprig over 100 additional please refer original documentation. note, env expandenv are not available vela. toyaml intended ease working with passing rendering content .vela.yml version: "1" templates: name: golang source: github.com/<org>/<repo>/path/to/file/<template>.yml type: github steps: sample template: vars: ruleset: event: push, pull_request branch: main metadata: true install commands: test image: alpine {{- .ruleset nindent pipeline above place, resulting would render as follows: sample_install convenience accessing environment variables within your its dedicated platform vars page more info. "},{"url":"https://go-vela.github.io/docs/templates/tutorials/starlark/functions/","display":"Tutorials/Starlark/Functions","title":"Functions","content":"we recommend reviewing starlark spec before attempting to create template. overview from functions: def twice(x): return str(twice) "<function f>" twice(2) twice("two") "twotwo" the function’s name preceded by keyword followed parameter list (which enclosed parentheses), colon, then an indented block of statements which form body function. comma-separated whose elements are four kinds. first come zero more required parameters, simple identifiers; all calls must provide argument value for these parameters. parameters optional name=expression. expression specifies default use that do not it. optionally single *. called varargs parameter, it accumulates surplus positional arguments specified call. finally, there may be **. dictionary any name=value match prior parameter. limitation on how many steps can used determined vela_compiler_starlark_exec_limit flag set platform administrators. sample let’s take look at using function within template: main(ctx): 'version': '1', 'steps': step('foo'), step('bar') ], step(word): "name": "build_%s" word, "image": "alpine:latest", 'commands': "echo %s" word caller template could like: version: "1" templates: name: source: github.com/<org>/<repo>/path/to/file/<template>.star format: type: github steps: echo means compiled pipeline execution worker is: sample_build_foo image: alpine:latest commands: foo sample_build_bar bar "},{"url":"https://go-vela.github.io/docs/reference/cli/completion/generate/","display":"CLI/Completion/Generate","title":"Generate","content":"command vela generate completion <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables bash auto-completion script vela_bash, completion_bash zsh vela_zsh, completion_zsh permissions coming soon! sample section assumes have already installed setup cli. install cli, please review installation documentation. authentication request --bash response #! /bin/bash _cli_bash_autocomplete() if [[ "${comp_words[0]}" != "source" ]]; then local cur opts base compreply=() cur="${comp_words[comp_cword]}" "$cur" == "-"* opts=$( ${comp_words[@]:0:$comp_cword} ${cur} --generate-bash-completion else fi compreply=( $(compgen -w "${opts}" -- ${cur}) return complete -o bashdefault default nospace -f _cli_bash_autocomplete permanent automatic covers how enable your terminal permanently. version of greater than 4. check with: --version older 4, use brew newer version. v2 bash-completion@2 copy >> /usr/local/etc/bash_completion.d/vela.sh update profile with export bash_completion_compat_dir="/usr/local/etc/bash_completion.d" $home/.bash_profile -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && source current <(vela --zsh) $home/.zshrc you’re met an error like: complete:13: not found: compdef need add top $home/.zshrc: autoload -uz compinit "},{"url":"https://go-vela.github.io/docs/reference/cli/config/generate/","display":"CLI/Config/Generate","title":"Generate","content":"command vela generate config <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables api.addr full url api server vela_addr, config_addr api.token.access access token vela_access_token, config_access_token api.token.refresh refresh vela_refresh_token, config_refresh_token api.token pat vela_token, config_token api.version version of vela_api_version, config_api_version log.level set level logging vela_log_level, config_log_level no-git whether cli finds repo cwd automatically vela_no_git, config_no_git output format results vela_output, config_output org organization calls vela_org, config_org repository vela_repo, config_repo secret.engine secret engine vela_engine, config_engine secret.type type vela_type, config_type permissions coming soon! sample section assumes have already installed setup cli. install cli, please review installation documentation. authentication request --api.addr https://vela.example.com --log.level info response api: addr: log: level: no-git: "false" secret: {} "},{"url":"https://go-vela.github.io/docs/reference/cli/pipeline/generate/","display":"CLI/Pipeline/Generate","title":"Generate","content":"command vela generate pipeline <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables file of vela_file, pipeline_file path vela_path, pipeline_path stages generates with vela_stages, pipeline_stages type being generated vela_type, pipeline_type permissions coming soon! sample section assumes have already installed setup cli. install cli, please review installation documentation. authentication request response ".vela.yml" go "},{"url":"https://go-vela.github.io/docs/reference/api/build/get/","display":"API/Build/Get","title":"Get","content":"endpoint get /api/v1/repos/:org/:repo/builds parameters the following are used to configure endpoint: name description org of organization repo repository filters optional available: branch filter commit hash event page number for results (default 1) per_page 10, max 100) status before return builds created certain time (unix epoch, default now) after 0) permissions coming soon! responses code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds" with "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds?event=push" response "id": 2, "repo_id": 1, "number": "parent": "event": "push", "status": "running", "error": "", "enqueued": 1563474204, "created": "started": "finished": 0, "deploy": "clone": "https://github.com/github/octocat.git", "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", "title": "push received from https://github.com/github/octocat", "message": "second commit...", "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "sender": "octokitty", "author": "branch": "main", "ref": "refs/heads/main", "base_ref": "host": "ed95dcc0687c", "runtime": "distribution": "" }, 1563474077, 1563474076, "first "82823eb770b0", "},{"url":"https://go-vela.github.io/docs/reference/api/dashboard/get/","display":"API/Dashboard/Get","title":"Get","content":"endpoint get /api/v1/dashboards/:id permissions coming soon! responses status code description 200 indicates the request has succeeded 400 bad 401 user does not have proper 404 resource exist 500 server error sample section assumes you already know how to authenticate api. api, please review authentication documentation. curl -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/dashboards/3e84cf64-4730-4067-bdbc-6961e37a3a92" response "dashboard": "id": "3e84cf64-4730-4067-bdbc-6961e37a3a92", "name": "test", "created_at": 1721254450, "created_by": "octocat", "updated_at": 1721254596, "updated_by": "admins": 126, "active": true ], "repos": 293, "octocat/myvela" }, "org": "myvela", "counter": 1703, true, "builds": "number": "started": 1721164234, "finished": 1721164240, "sender": "status": "success", "event": "push", "branch": "develop", "link": "https://http://127.0.0.1:8080/octocat/myvela/1703" 1702, "pending approval", "pull_request", "main", "https://http://127.0.0.1:8080/octocat/myvela/1702" 1701, 1721071014, 1721071016, "failure", "https://http://127.0.0.1:8080/octocat/myvela/1701" 1700, 1721070428, 1721070441, "https://http://127.0.0.1:8080/octocat/myvela/1700" 1699, 1721070363, 1721070375, "https://http://127.0.0.1:8080/octocat/myvela/1699" "},{"url":"https://go-vela.github.io/docs/reference/api/deployment/get/","display":"API/Deployment/Get","title":"Get","content":"endpoint get /api/v1/deployments/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/deployments/github/octocat" response "id": 2, "repo_id": 1, "url": "https://api.github.com/repos/github/octocat/deployments/2", "user": "octocat", "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "ref": "main", "task": "deploy:vela", "target": "production", "description": "deployment from vela", "payload": {}, "builds": 10, "number": 5, "parent": 4, "event": "push", "status": "created", "error": "", "enqueued": 1563474204, "created": "started": "finished": 0, "deploy": "clone": "https://github.com/github/octocat.git", "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", "title": "push received https://github.com/github/octocat", "message": "second commit...", "sender": "octokitty", "author": "branch": "refs/heads/main", "base_ref": "host": "ed95dcc0687c", "runtime": "distribution": "" }, 9, "https://api.github.com/repos/github/octocat/deployments/9", 3, 1563474077, 1563474076, "first "82823eb770b0", "},{"url":"https://go-vela.github.io/docs/reference/api/hook/get/","display":"API/Hook/Get","title":"Get","content":"endpoint get /api/v1/hooks/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/hooks/github/octocat" response "id": 2, "repo_id": 1, "build_id": "number": "source_id": "c8da1302-07d6-11ea-882f-4893bca275b8", "created": "1563474076", "host": "github.com", "event": "push", "branch": "main", "error": "", "status": "success", "link": "" }, "},{"url":"https://go-vela.github.io/docs/reference/api/pipeline/get/","display":"API/Pipeline/Get","title":"Get","content":"endpoint get /api/v1/pipelines/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 400 unable retrieve pipeline configuration 401 user does not have proper 404 500 system error while retrieving sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/pipelines/github/octocat" response "id": 2, "repo_id": 1, "commit": "a49aaf4afae6431a79239c95247a2b169fd9f067", "flavor": "", "platform": "ref": "refs/heads/main", "type": "yaml", "version": "1", "external_secrets": false, "internal_secrets": "services": "stages": "steps": true, "templates": "data": "ls0tcnzlcnnpb246icixigokc3rlchm6ciaglsbuyw1loibly2hvciagicbpbwfnztogywxwaw5lomxhdgvzdaogicagy29tbwfuzhm6iftly2hvigzvb10=" }, "48afb5bdc41ad69bf22588491333f7cf71135163", "},{"url":"https://go-vela.github.io/docs/reference/api/repo/get/","display":"API/Repo/Get","title":"Get","content":"endpoint get /api/v1/repos will return list of all repos owned by the user. filters following optional are available: name description page number for results (default 1) per_page 10, max 100) permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos" response "id": 1, "user_id": "org": "github", "name": "octocat", "full_name": "github/octocat", "link": "https://github.com/github/octocat", "clone": "https://github.com/github/octocat.git", "branch": "main", "build_limit": "timeout": 60, "counter": 0, "visibility": "public", "private": false, "trusted": true, "active": "allow_pull": "allow_push": "allow_deploy": "allow_tag": "allow_comment": "allow_events": "push": "tag": "delete_branch": "delete_tag": false }, "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": true "comment": "schedule": "run": "pipeline_type": "yaml" 2, "octokitty", "github/octokitty", "https://github.com/github/octokitty", "https://github.com/github/octokitty.git", /api/v1/repos/:org parameters used configure endpoint: org organization active filter whether true) sort_by sort (default) latest, which sorts latest build activity "http://127.0.0.1:8080/api/v1/repos/octocat" "example", "octocat/example", "https://github.com/octocat/example", "https://github.com/octocat/example.git", "octocat/octokitty", "https://github.com/octocat/octokitty", "https://github.com/octocat/octokitty.git", "},{"url":"https://go-vela.github.io/docs/reference/api/schedule/get/","display":"API/Schedule/Get","title":"Get","content":"endpoint get /api/v1/schedules/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 400 unable retrieve schedules 401 user does not have proper 404 500 system error while retrieving sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/schedules/github/octocat" response "id": 1, "repo": "owner": "name": "octokitty", "active": true }, "org": "github", "full_name": "github/octokitty", "link": "https://github.com/github/octokitty", "clone": "https://github.com/github/octokitty.git", "branch": "main", "topics": [], "build_limit": 10, "timeout": 30, "counter": 0, "visibility": "public", "private": false, "trusted": true, "allow_events": "push": "tag": "delete_branch": "delete_tag": false "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": "comment": "schedule": "run": "pipeline_type": "yaml", "previous_name": "", "approve_build": "fork-always" "hourly", "entry": "0 *", "created_at": 1716495910, "created_by": "updated_at": "updated_by": "scheduled_at": "error": "next_run": 1716499800 2, "nightly", "},{"url":"https://go-vela.github.io/docs/reference/api/secret/get/","display":"API/Secret/Get","title":"Get","content":"endpoint get /api/v1/secrets/:engine/:type/:org/:name parameters the following are used to configure endpoint: name description engine of type secret org organization repository team permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/secrets/native/repo/github/octocat" response "id": 1, "org": "github", "repo": "octocat", "team": "", "name": "foo", "value": null, "type": "repo", "images": ["alpine"], "events": ["push"], "allow_command": true, "allow_substitution": "allow_events": "push": "branch": "tag": "delete_branch": false, "delete_tag": false }, "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": true "comment": "schedule": "run": "created_at": 1641314085, "created_by": "octokitty", "updated_at": "updated_by": "octokitty" 2, "bar", 1641314500, "},{"url":"https://go-vela.github.io/docs/reference/api/service/get/","display":"API/Service/Get","title":"Get","content":"endpoint get /api/v1/repos/:org/:repo/builds/:build/services parameters the following are used to configure endpoint: name description org of organization repo repository build number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/services" response "id": 2, "build_id": 1, "repo_id": "number": "name": "build", "status": "success", "error": "", "exit_code": 0, "created": 1563475419, "started": 1563475420, "finished": 1563475421 }, "clone", "},{"url":"https://go-vela.github.io/docs/reference/api/step/get/","display":"API/Step/Get","title":"Get","content":"endpoint get /api/v1/repos/:org/:repo/builds/:build/steps parameters the following are used to configure endpoint: name description org of organization repo repository build number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/steps" response "id": 2, "build_id": 1, "repo_id": "number": "name": "build", "status": "success", "error": "", "exit_code": 0, "created": 1563475419, "started": "finished": "host": "company.localhost", "runtime": "docker", "distribution": "linux" }, "clone", "},{"url":"https://go-vela.github.io/docs/reference/api/user/get/","display":"API/User/Get","title":"Get","content":"endpoint get /api/v1/users permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/users" response "id": 2, "name": "octocat", "token": null, "favorites": ["github/octocat"], "active": true, "admin": false }, 1, "octokitty", "},{"url":"https://go-vela.github.io/docs/reference/cli/build/get/","display":"CLI/Build/Get","title":"Get","content":"command vela get build <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization builds vela_org, build_org repo repository vela_repo, build_repo event filter vela_event, build_event status vela_status, build_status branch vela_branch, build_branch output format vela_output, build_output page prints specific vela_page, build_page per.page number print per vela_per_page, build_per_page also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build targeted --org github --repo octocat response duration failure push main 45s 50s success 54s 55s pending ... "},{"url":"https://go-vela.github.io/docs/reference/cli/dashboard/get/","display":"CLI/Dashboard/Get","title":"Get","content":"command vela get dashboard <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables full output repo build information vela_full, dashboard_full format dashboards vela_output, dashboard_output also supports setting via configuration file: please review cli config documentation. sample section assumes have already installed setup cli. install cli, installation authentication request response [{ name: octocat main branches, id: 59376e53-879f-478e-b6d2-b8aefe219c6d, admins: active: true, admin: false, dashboards: [], favorites: 1, octokitty, token: }], createdat: 1715117480, createdby: updatedat: updatedby: repos: octocat/hello-world, branches: [main], events: octocat/spoon-knife, 2, pr events, 0ebb9f01-389c-4a0f-b301-6bf2f9a0fe3b, 1716397739, [pull_request], }] examples examples: 1. user dashboards. 2. with information. --full "},{"url":"https://go-vela.github.io/docs/reference/cli/deployment/get/","display":"CLI/Deployment/Get","title":"Get","content":"command vela get deployment <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization deployments vela_org, deployment_org repo repository vela_repo, deployment_repo output format vela_output, deployment_output page prints specific vela_page, deployment_page per.page number print per vela_per_page, deployment_per_page also supports setting via configuration file: please review cli config documentation. sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response generated from successful id task user ref target deploy:vela main production examples examples: 1. repository. myorg myrepo 2. with wide view output. --output 3. yaml 4. json 5. when set. "},{"url":"https://go-vela.github.io/docs/reference/cli/hook/get/","display":"CLI/Hook/Get","title":"Get","content":"command vela get hook <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization hooks vela_org, hook_org repo repository vela_repo, hook_repo output format vela_output, hook_output page prints specific vela_page, hook_page per.page number print per vela_per_page, hook_per_page also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response status event branch failure push main success "},{"url":"https://go-vela.github.io/docs/reference/cli/log/get/","display":"CLI/Log/Get","title":"Get","content":"command vela get log <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, log_org repo repository vela_repo, log_repo build number vela_build, log_build output format logs vela_output, log_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build targeted --org github --repo octocat response git init initialized empty /vela/src/github.com/github/octocat/.git/ remote add origin https://github.com/github/octocat.git --verbose (fetch) (push) fetch --no-tags refs/heads/main from https://github.com/github/octocat branch main -> fetch_head [new branch] origin/main reset --hard afafce5e33a8efd4340613b31a953107d6dec3a3 head now at afafce5 dummy commit echo "hello world!" hello world! "},{"url":"https://go-vela.github.io/docs/reference/cli/pipeline/get/","display":"CLI/Pipeline/Get","title":"Get","content":"command vela get pipeline <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization pipelines vela_org, hook_org repo repository vela_repo, hook_repo output format vela_output, hook_output page prints specific vela_page, hook_page per.page number print per vela_per_page, hook_per_page also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response commit ref type version stages steps a49aaf4afae6431a79239c95247a2b169fd9f067 refs/heads/main yaml 48afb5bdc41ad69bf22588491333f7cf71135163 "},{"url":"https://go-vela.github.io/docs/reference/cli/repo/get/","display":"CLI/Repo/Get","title":"Get","content":"command vela get repo <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization repository vela_org, repo_org vela_repo, repo_name output format vela_output, repo_output page prints specific repositories vela_page, repo_page per.page number print per vela_per_page, repo_per_page also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request repos response org/repo status events visibility branch github/octocat true push,pull_request public main "},{"url":"https://go-vela.github.io/docs/reference/cli/schedule/get/","display":"CLI/Schedule/Get","title":"Get","content":"command vela get schedule <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization schedules vela_org, schedule_org repo repository vela_repo, schedule_repo output format vela_output, schedule_output page prints specific vela_page, schedule_page per.page number print per vela_per_page, schedule_per_page also supports setting via configuration file: please review cli config documentation. sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response entry active scheduled_at branch nightly true long while ago main hourly examples examples: 1. list repository. myorg myrepo 2. with wide view output. --output 3. yaml 4. json 5. when set. "},{"url":"https://go-vela.github.io/docs/reference/cli/secret/get/","display":"CLI/Secret/Get","title":"Get","content":"command vela get secret <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization secrets vela_org, secret_org repo repository vela_repo, secret_repo secret.engine engine that stores vela_engine. secret_engine secret.type type being stored vela_type, secret_type team secrets, ‘*’ all teams vela_team, secret_team output format vela_output, secret_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --secret.engine native --secret.type targeted --org github --repo octocat response events foo github/octocat push,pull_request "},{"url":"https://go-vela.github.io/docs/reference/cli/service/get/","display":"CLI/Service/Get","title":"Get","content":"command vela get service <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization services vela_org, service_org repo repository vela_repo, service_repo build number vela_build, service_build output format vela_output, service_output page prints specific vela_page, service_page per.page print per vela_per_page, service_per_page also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build targeted --org github --repo octocat response status runtime duration publish failure 1s success 17s test 10s clone 2s "},{"url":"https://go-vela.github.io/docs/reference/cli/step/get/","display":"CLI/Step/Get","title":"Get","content":"command vela get step <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization steps vela_org, step_org repo repository vela_repo, step_repo build number vela_build, step_build output format vela_output, step_output page prints specific vela_page, step_page per.page print per vela_per_page, step_per_page also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build targeted --org github --repo octocat response status runtime duration publish failure 1s success 17s test 10s clone 2s "},{"url":"https://go-vela.github.io/docs/reference/cli/worker/get/","display":"CLI/Worker/Get","title":"Get","content":"command vela get workers <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables output format vela_output, worker_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request response generated from successful hostname active routes last_checked_in myworker1 true [vela] 1681485812 myworker2 1681485814 examples examples: 1. list of workers. worker 2. with wide view output. --output 3. yaml 4. json 5. when set. "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/git/","display":"Registry/Pipeline/Git","title":"Git","content":"description note: plugin automatically injected into your pipeline for the source repository. enables you to clone repositories vela build workspace. code: https://github.com/go-vela/vela-git registry: https://hub.docker.com/r/target/vela-git usage users should refrain from using latest as tag docker image. it recommended use semantically versioned instead. sample of cloning repository: steps: name: clone_hello-world image: target/vela-git:latest pull: always parameters: path: hello-world ref: refs/heads/master remote: https://github.com/octocat/hello-world.git sha: 7fd1a60b01f91b314f59955a4e4d4e80d8edf11d repository with submodules: true tags: secrets configuring sensitive information plain text. internal can substitute these values at runtime: secrets: git_username, git_password username: octocat password: supersecretpassword /home/octocat_hello-world_1 example will add step environment variables: git_username=<value> git_password=<value> external accepts following files authentication: parameter volume configuration password /vela/parameters/git/password, /vela/secrets/git/password username /vela/parameters/git/username, /vela/secrets/git/username read secret stored /vela/secrets/ parameters supports reading all via variables files. any set file take precedence over environment. are used configure name required default branch initial master parameter_branch git_branch vela_pull_request_source vela_build_branch log_level log level info parameter_log_level git_log_level machine communicate github.com parameter_machine git_machine vela_netrc_machine authentication by parameter_password vela_netrc_password user parameter_username git_username vela_netrc_username path local parameter_path git_path vela_build_workspace ref reference generated commit parameter_ref git_ref vela_build_ref remote full url parameter_remote git_remote vela_repo_clone sha sha-1 hash parameter_sha git_sha vela_build_commit submodules fetching false parameter_submodules git_submodules tags parameter_tags git_tags depth specific 100 parameter_depth git_depth template coming soon! troubleshooting start tuning logs being displayed: log_level: trace below list common problems how solve them: "},{"url":"https://go-vela.github.io/docs/plugins/tutorials/go/","display":"Plugins/Tutorials/Go","title":"Go","content":"we recommend reviewing docker’s best practices before attempting to create custom plugin. that all plugins be placed inside scratch image. overview from go documentation: an open source programming language makes it easy build simple, reliable, efficient software. code plugin using go, we’ll need first decide what task want accomplish. for example, we’re going program http request the provided input: package main import "fmt" "net/http" "os" "strings" func main() // method parameter environment := os.getenv("parameter_method") body os.getenv("parameter_body") url os.getenv("parameter_url") payload strings.newreader(body) new input request, err http.newrequest(method, url, payload) if != nil fmt.println(err) os.exit(1) send capture response response, http.defaultclient.do(request) output fmt.println(response) example of section go-vela/vela-tutorials repository. executable now have accomplish our plugin’s task, compile produce binary target platform: goos=linux goarch=amd64 cgo_enabled=0 -o vela-sample please ensure compiled right platform. it’s not, may fail properly run unclear error messages. image once needed dockerfile should contain setup when executed: golang:alpine apk add --update --no-cache ca-certificates copy /bin/vela-sample entrypoint ["/bin/vela-sample"] target/vela-sample docker publishing order pipeline, make sure publish registry: -t target/vela-sample:go push has added benefit enabling others community consume your plugin! troubleshooting verify performs desired can executed locally via command line: --rm -e parameter_body="this sample vela written with go" parameter_method="post" parameter_url="http://vela.localhost.com" usage after registry, referenced pipeline: version: "1" steps: name: image: pull: always parameters: url: http://vela.localhost.com method: post body: "},{"url":"https://go-vela.github.io/docs/reference/sdk/go/","display":"Reference/Sdk/Go","title":"Go","content":"overview vela go sdk client to perform operations on objects view content new way integrate into applications. for complete list of apis examples, please take look at the godoc reference documentation. minimum requirements 1.13 above get build info example below sample program demonstrating how authenticate with sdk: package main import "fmt" "github.com/go-vela/sdk-go/vela" func main() // full uri server url := "https://your-vela-server.example.com" token "sometoken" accesstoken "someaccesstoken" refreshtoken "somerefreshtoken" instantiate client, err vela.newclient(url, nil) if != nil fmt.println(err) set authentication mechanisms client.authentication.settokenauth(token) client.authentication.setaccessandrefreshauth(accesstoken, refreshtoken) from build, resp, c.build.get("go-vela", "sdk-go", 1) fmt.printf("received response code %d, %+v", resp.statuscode, build) "},{"url":"https://go-vela.github.io/docs/reference/api/admin/hook/","display":"API/Admin/Hook","title":"Hook","content":"endpoint put /api/v1/admin/hook permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. note: must provide entire hook object, as overwrites existing entry for hook. file "id": 1, "repo_id": "build_id": "number": "source_id": "c8da1302-07d6-11ea-882f-4893bca275b8", "created": "1563474076", "host": "github.com", "event": "push", "branch": "main", "error": "", "status": "failure", "link": "" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/admin/hook" response "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/hugo/","display":"Registry/Pipeline/Hugo","title":"Hugo","content":"description plugin enables you generate static website using hugo pipeline. source code: https://github.com/go-vela/vela-hugo registry: https://hub.docker.com/r/target/vela-hugo usage note: users should refrain from latest as the tag for docker image. it recommended to use semantically versioned instead. sample of building site: steps: name: image: target/vela-hugo:latest pull: always parameters: theme_name: hugo-theme-learn site docsy theme: custom version hugo: version: 0.101.0 extended binary: some themes may require binary additional functionality. extended: true an environment build differently depending on configuration: please see documentation how configure properly. environment: dev multiple via configuration file: config_file: config.toml parameters supports reading all variables files. any values set file take precedence over environment. following are used name required default base_url hostname (and path) root, e.g. http://spf13.com/ false n/a parameter_base_url hugo_base_url cache_directory filesystem path cache directory parameter_cache_directory hugo_cache_directory content_directory content parameter_content_directory hugo_content_directory config_directory config parameter_config_directory hugo_config_directory config_file (supports: json,toml,yaml) parameter_config_file hugo_config_file draft include marked parameter_draft hugo_draft target environment, located parameter_environment hugo_environment expired parameter_expired hugo_expired whether parameter_extended hugo_extended future with publish date parameter_future hugo_future layout_directory layout parameter_layout_directory hugo_layout_directory log_level log level info parameter_log_level hugo_log_level output_directory write files parameter_output_directory hugo_output_directory source_directory read relative parameter_source_directory hugo_source_directory theme_name theme parameter_theme_name hugo_theme_name theme_directory parameter_theme_directory hugo_theme_directory parameter_version hugo_version template coming soon! troubleshooting can start by tuning logs being displayed: log_level: trace below list common problems solve them: "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/influx/","display":"Registry/Pipeline/Influx","title":"Influx","content":"description plugin enables you to send data an influxdb pipeline. source code: https://github.com/go-vela/vela-influx registry: https://hub.docker.com/r/target/vela-influx usage note: users should refrain from using latest as the tag for docker image. it recommended use semantically versioned instead. sample of emitting pass/fail build metric: steps: name: write image: target/vela-influx:latest pull: always parameters: addr: https://influx.example.com database: vela build_report fields: build_status: ${vela_build_status} metric with custom tags: ${build_status} repo_name: ${vela_repo_full_name} build_number: "${vela_build_number}" secrets configuring sensitive information your pipeline plain text. internal accepts following parameters authentication: parameter environment variable configuration password parameter_password, influx_password username parameter_username, influx_username can substitute these values at runtime: secrets: influx_username, username: supersecretusername password: supersecretpassword example will add secret trigger_hello-world step variables: downstream_token=<value> external files volume /vela/parameters/influx/password, /vela/secrets/influx/password /vela/parameters/influx/username, /vela/secrets/influx/username read value stored /vela/secrets/ supports reading all via variables files. any set file take precedence over environment. are used configure name required default addr influx instance communicate true n/a parameter_addr influx_addr database on parameter_database influx_database fields along parameter_fields influx_fields log_level log level info parameter_log_level influx_log_level sent build_metrics parameter_name influx_name communication false parameter_password tags extra metadata parameter_tags influx_tags user parameter_username template coming soon! troubleshooting start by tuning logs being displayed: log_level: trace below list common problems how solve them: "},{"url":"https://go-vela.github.io/docs/usage/schema/","display":"Docs/Usage/Schema","title":"JSON Schema support","content":"the schema gets published updated via https://github.com/go-vela/types where it ends up as release artifact. latest available for download from https://github.com/go-vela/types/releases/latest/download/schema.json. addition, json store project at https://www.schemastore.org. supported editors automatically use schemas that provides, including vela’s schema. "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/k6/","display":"Registry/Pipeline/K6","title":"k6","content":"description plugin uses grafana k6 to run performance tests vela pipeline. source code: https://github.com/go-vela/vela-k6 registry: https://hub.docker.com/r/target/vela-k6 usage below simple example using the plugin. hypothetical repository, test script located at ./k6-test/script.js. step, file named test-results.json will be created current directory with results. name: k6-performance-test image: target/vela-k6:v0.1.0 ruleset: event: [tag] pull: true parameters: script_path: ./k6-test/script.js output_path: ./test-results.json projektor_compat_mode parameter, which generates output --summary-export flag instead of recommended --out flag. ensures compatibility projektor result visualization: projektor_compat_mode: projektor-publish node:alpine commands: npm install -g npx --serverurl=https://my-projektor-server.dev --performance="./test-results.json" note: not accept results unless stats are included for your accepted by server, script’s options.summarytrendstats must include following: export const options summarytrendstats: ["p(95)", "p(90)", "avg", "min", "max", "med"], ... }; parameters supports reading all via environment variables files. any values set from take precedence over environment. following used configure name required default script_path path file. javascript satisfying pattern ^( ./|( ./)+)?[a-za-z0-9-_/]*[a-za-z0-9] .js$. n/a output_path that created. directories as necessary. if empty, generated. json .json$. false setup_script_path an optional setup before tests. shell (sh bash) execute permissions matching .sh$. fail_on_threshold_breach false, pipeline step fail even thresholds breached. true, generated --summary-output necessary uploaded server. log_progress progress bar print numerous long-running tests, logging becomes excessive. "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/kaniko/","display":"Registry/Pipeline/Kaniko","title":"Kaniko","content":"description plugin enables you to build publish docker images vela pipeline. source code: https://github.com/go-vela/vela-kaniko registry: https://hub.docker.com/r/target/vela-kaniko usage note: users should refrain from using latest as the tag for image. it recommended use semantically versioned instead. sample of building publishing an image: steps: name: publish_hello-world target/vela-kaniko:latest pull: always parameters: index.docker.io repo: index.docker.io/octocat/hello-world image without publishing: dry_run: true attempting three times: push_retry: with custom tags: foobar automatic auto_tag: depending on type event, will be tagged follows: event (using v1.0.0 example): index.docker.io/octocat/hello-world:latest index.docker.io/octocat/hello-world:v1.0.0 all other events: index.docker.io/octocat/hello-world:eeea105fed7fc11bda4b43a00edfc49a5c982968 arguments: build_args: foo=bar caching: cache: cache_repo: snapshot mode snapshot_mode: redo platform: custom_platform: linux/arm64/v8 option only work if your worker configured appropriately. including repository topics starting id value io.vela.build.topics that gets applied built repo_topics_filter: "^id" zstd layer compression: compression_level: aware while may yield better compression and/or performance, many common container tools are not yet compatible compression. at own risk. secrets configuring sensitive information pipeline plain text. internal can substitute these values runtime: secrets: kaniko_username, kaniko_password username: octocat password: supersecretpassword example add step environment variables: kaniko_username=<value> kaniko_password=<value> external accepts following files authentication: parameter volume configuration password /vela/parameters/kaniko/password, /vela/secrets/kaniko/password, /vela/secrets/managed-auth/password username /vela/parameters/kaniko/username, /vela/secrets/kaniko/username, /vela/secrets/managed-auth/username read secret stored /vela/secrets/ parameters supports reading via variables files. any set file take precedence over environment. help improve performance but recommend follow kaniko’s guidelines picking mode. used configure name required default auto_tag tagging (tag sha, latest) false parameter_auto_tag kaniko_auto_tag build_args passed build-time n/a parameter_build_args kaniko_build_args cache enable caching layers parameter_cache kaniko_cache cache_repo specific repo parameter_cache_repo kaniko_cache_repo (gzip kaniko uses gzip defined) parameter_compression kaniko_compression compression_level level (1 9, inclusive) parameter_compression_level kaniko_compression_level compressed_caching order prevent tar cached parameter_compressed_caching kaniko_compressed_caching context path parameter_context kaniko_context dockerfile parameter_dockerfile kaniko_dockerfile dry_run parameter_dry_run kaniko_dry_run generated by parameter_event kaniko_event vela_build_event force_build_metadata force adding metadata parameter_force_build_metadata kaniko_force_build_metadata repo_topics_filter regex expression filter out empty slice parameter_repo_topics_filter kaniko_repo_topics_filter ignore_path ignore when taking parameter_ignore_path kaniko_ignore_path ignore_var_run sets --ignore-var-run flag control whether /var/run included parameter_ignore_var_run kaniko_ignore_var_run vela_ignore_var_run labels unique parameter_labels kaniko_labels log_level log info parameter_log_level kaniko_log_level log_timestamps timestamps lines parameter_log_timestamps kaniko_log_timestamps mirror registry parameter_mirror kaniko_mirror communication parameter_password docker_password push_retry number retries pushing remote destination parameter_push_retry kaniko_push_retry parameter_registry kaniko_registry parameter_repo kaniko_repo sha sha-1 hash commit parameter_sha kaniko_sha vela_build_commit use_new_run experimental run implementation detecting changes requiring system snapshots parameter_use_new_run kaniko_use_new_run single_snapshot takes single filesystem end build, so one appended base parameter_single_snapshot kaniko_single_snapshot snapshot_mode how filesystem. options: full, redo, time parameter_snapshot_mode kaniko_snapshot_mode parameter_tag kaniko_tag vela_build_tag tags parameter_tags kaniko_tags tar_path save tarball parameter_tar_path kaniko_tar_path target stage parameter_target kaniko_target user parameter_username kaniko_username docker_username custom_platform platform parameter_custom_platform kaniko_custom_platform insecure_registries insecure registries push pull to/from parameter_insecure_registries kaniko_insecure_registries insecure_pull pulling parameter_insecure_pull kaniko_insecure_pull insecure_push parameter_insecure_push kaniko_insecure_push template coming soon! troubleshooting start tuning logs being displayed: log_level: trace below list problems solve them: "},{"url":"https://go-vela.github.io/docs/plugins/tutorials/kotlin/","display":"Plugins/Tutorials/Kotlin","title":"Kotlin","content":"we recommend reviewing docker’s best practices before attempting to create custom plugin. that all plugins be placed inside scratch image. overview from kotlin documentation: is… modern, concise safe programming language easy pick up, so you can powerful applications immediately code plugin using kotlin, we’ll need first decide what task want accomplish. for example, we’re going program makes an http request the provided input: import org.http4k.client.apacheclient org.http4k.core.* org.http4k.format.jackson.auto yellowstone.cr.vcrexception fun main() // get vela parameters env variables val method when ("method".parameter.envordefault("get").trim().lowercase()) "get" -> method.get "put" method.put "post" method.post "delete" method.delete else throw exception("method not supported") body "body".parameter.env url "url".parameter.env set up clientid client: httphandler apacheclient() make print result println(request(method, url).addbody(body).okordie(client).toobject<string>()) helper functions string.env get() system.getenv(this) ?: vcrexception("the environment variable $this required but missing!") string.envordefault(default: string) default string.parameter "parameter_$this" request.okordie(client: httphandler) client(this).let response response.takeif it.status.successful exception("got unexpected ${response.status.code} ${method.name} $uri! ${response.bodystring()}") inline <reified any> response.toobject() body.auto<t>().tolens()(this) request.addbody(t: t) body.auto<t>().tolens()(t, this) jar order runnable executable, must turn it into file. below example build.gradle.kts org.jetbrains.kotlin.gradle.tasks.kotlincompile application kotlin("jvm") version "1.5.10" repositories mavencentral() group "mygroup" mainclass.set("mygroup.mainkt") dependencies deps(format: string, vararg arr: with(format) arr.foreach implementation(format(it)) implementation(kotlin("stdlib-jdk8")) implementation(kotlin("reflect")) deps("org.http4k:http4k-%s:4.9.9.0", "client-apache", "format-jackson") tasks enabled true withtype<kotlincompile> kotlinoptions.jvmtarget javaversion.version_11.majorversion withtype<test> usejunitplatform() build jar, run ./gradlew clean disttar image once have needed accomplish our plugin’s task, dockerfile produce should contain setup executed alpine:latest install java 11 java_home /usr/lib/jvm/java-11-openjdk path $path:/usr/lib/jvm/java-11-openjdk/jre/bin:/usr/lib/jvm/java-11-openjdk apk update && upgrade --no-cache add openjdk11 --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community copy executable build/distributions/vela-sample.tar cmd ["/vela-sample/bin/vela-sample"] publishing pipeline, sure publish docker registry: -t target/vela-sample:kotlin push has added benefit of enabling others community consume your plugin! troubleshooting verify performs desired locally via command line: --rm -e parameter_body="this sample written with kotlin" parameter_method="post" parameter_url="http://vela.localhost.com" usage after registry, referenced pipeline: version: "1" steps: name: image: pull: always parameters: url: http://vela.localhost.com method: post body: "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/kubernetes/","display":"Registry/Pipeline/Kubernetes","title":"Kubernetes","content":"description plugin enables the ability to manage resources kubernetes vela pipeline. source code: https://github.com/go-vela/vela-kubernetes registry: https://hub.docker.com/r/target/vela-kubernetes usage note: users should refrain from using latest as tag for docker image. it recommended use semantically versioned instead. sample of applying files: steps: name: image: target/vela-kubernetes:latest pull: always parameters: action: apply kubernetes/common, kubernetes/dev/deploy.yml pretending dry_run: true patching containers patch containers: alpine:latest watching status resources: statuses: gke clusters authentication google engine (gke) version 1.26 up require new gke-gcloud-auth-plugin, see blog. download service account credentials: gcloud beta secrets versions access --secret [secret name] --project [google project --out-file name]-gsa-key.json upload secret native store: add --secret.engine --secret.type org --org myorgname --name k8s-gsa-key --value @k8s-gsa-key.json -event deployment --event pull_request push comment create kubeconfig file make sure user gke-gcloud-auth-user your cluster: apiversion: v1 clusters: certificate-authority-data: xxxxxxxxxxx server: https://ip k8s api server clustername contexts: context: user: current-context: "" kind: config preferences: {} users: exec: client.authentication.k8s.io/v1beta1 args: --use_application_default_credentials command: gke-gcloud-auth-plugin env: null installhint: install with kubectl by following https://cloud.google.com/blog/products/containers-kubernetes/kubectl-auth-changes-in-gke interactivemode: ifavailable provideclusterinfo: secretrs kube_config_secret @kube_config_secret.file configure file: secrets: key: orgname/kube-config type: gsa_key orgname/k8s-gsa-key k8s-gsa-setup: setup-gke-access ruleset: branch: master event: [pull_request, push, deployment] environment: google_application_credentials: "/vela/secrets/.kube/gsa-key.json" <== change name needed source: target: gsa_key_file commands: mkdir -p /vela/secrets/.kube/ echo "$gsa_key_file" > $google_application_credentials k8s-plugin-dry-run: needs: k8s-gsa-setup dry-run use_gke_gcloud_auth_plugin: required kube_config context-name kubernetes/manifests/service.yaml k8s-plugin-apply: run-apply configuring sensitive information pipeline plain text. internal can substitute these values at runtime: config: --- example will step environment variables: kube_config=<value> external accepts files authentication: parameter volume configuration /vela/parameters/kubernetes/config, /vela/secrets/kubernetes/config read stored /vela/secrets/ parameters supports reading all via variables files. any set take precedence over environment. are used default action perform against n/a parameter_action kubernetes_action cluster false parameter_cluster kubernetes_cluster context parameter_context kubernetes_context content communication parameter_config kubernetes_config log_level log level info parameter_log_level kubernetes_log_level namespace parameter_namespace kubernetes_namespace path parameter_path kubernetes_path cli v1.24.0 parameter_version kubernetes_version passed expected be full object would found ~/.kube/config. run view get an idea what could file. consider minimal inline [main] [k8s_token] may not necessary, but explicitness good practice. mycluster mycontext namespace: mynamespace k8s/myapp.yaml https://kubernetes.example.com:6443 myuser token: "${k8s_token}" note interpolation k8s_token secret. doing ease management large multiple sub-secrets even when they don’t very often. actions next sections define that must particular active. dry_run (true/client, false/none, server) parameter_dry_run kubernetes_dry_run list directories parameter_files kubernetes_files output parameter_output kubernetes_output parameter_containers kubernetes_containers statuses watch on parameter_statuses kubernetes_statuses timeout total time allowed 5m parameter_timeout kubernetes_timeout until resource completes parameter_watch kubernetes_watch template coming soon! troubleshooting you start tuning logs being displayed: log_level: trace below common problems how solve them: "},{"url":"https://go-vela.github.io/docs/reference/api/dashboard/list/","display":"API/Dashboard/List","title":"List","content":"endpoint get /api/v1/user/dashboards permissions coming soon! responses status code description 200 indicates the request has succeeded 400 bad 401 user does not have proper 404 resource exist 500 server error sample section assumes you already know how to authenticate api. api, please review authentication documentation. curl -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/user/dashboards" response "dashboard": "id": "215d0834-a08a-4203-aee5-542681c4dc8d", "name": "friends", "created_at": 1718118753, "created_by": "octocat", "updated_at": 1718120350, "updated_by": "octokitty", "admins": 287, "active": true }, 126, ], "repos": 293, "octocat/myvela" 34, "octopal/heyvela" // repo build information "3e84cf64-4730-4067-bdbc-6961e37a3a92", "test", 1721254450, 1721254596, "},{"url":"https://go-vela.github.io/docs/reference/api/build/logs/","display":"API/Build/Logs","title":"Logs","content":"endpoint get /api/v1/repos/:org/:repo/builds/:build/logs parameters the following are used to configure endpoint: name description org of organization repo repository build number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/logs" response "id": 1, "step_id": "build_id": "repo_id": "data": "sgvsbg8sifdvcmxkiq==" }, 2, data field base64 encoded. decode data, can use command: echo --decode "},{"url":"https://go-vela.github.io/docs/reference/api/service/logs/","display":"API/Service/Logs","title":"Logs","content":"endpoint get /api/v1/repos/:org/:repo/builds/:build/services/:service/logs parameters the following are used to configure endpoint: name description org of organization repo repository build number service permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/services/1/logs" response "id": 1, "build_id": "repo_id": "service_id": "data": "sgvsbg8sifdvcmxkiq==" data field base64 encoded. decode data, can use command: echo --decode "},{"url":"https://go-vela.github.io/docs/reference/api/step/logs/","display":"API/Step/Logs","title":"Logs","content":"endpoint get /api/v1/repos/:org/:repo/builds/:build/steps/:step/logs parameters the following are used to configure endpoint: name description org of organization repo repository build number step permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/steps/1/logs" response "id": 1, "build_id": "repo_id": "step_id": "data": "sgvsbg8sifdvcmxkiq==" data field base64 encoded. decode data, can use command: echo --decode "},{"url":"https://go-vela.github.io/docs/templates/tutorials/go/loops_maps/","display":"Tutorials/Go/Loops maps","title":"Loops with Maps","content":"we recommend reviewing go templates documentation before attempting to create template. if you’re new yaml also the 1.2 spec for validation on syntax. overview from template range: {{range pipeline}} t1 {{end}} value of pipeline must be an array, slice, map, channel. has length zero, nothing output; otherwise, dot set successive elements map executed. keys are basic type with defined order, will visited sorted key order. tip: information range/else statements see conditional docs sample let’s take look at ranging over template: metadata: true steps: {{ range $key, $value := .images }} name: test{{ $key commands: test ./... image: .pull_policy ruleset: event: push, pull_request end build environment: cgo_enabled: '0' goos: linux golang:latest caller could like: version: "1" templates: source: github.com/<org>/<repo>/path/to/file/<template>.yml type: github golang vars: pull_policy: "pull: always" images: _latest: _1.13: golang:1.13 _1.12: which means compiled execution worker is: does not guarantee order maps. you need steps always outputted same use loops slice implementation. sample_test_latest pull: sample_test_1.13 sample_test_1.12 golang:1.12 sample_build "},{"url":"https://go-vela.github.io/docs/templates/tutorials/starlark/loops_map/","display":"Tutorials/Starlark/Loops map","title":"Loops with Maps","content":"we recommend reviewing starlark spec before attempting to create template. overview from for loops: [["a", 1], ["b", 2], ["c", 3]]: print(a, i) prints "a 1", "b 2", "c 3" sample let’s take look at looping over map template: def main(ctx): ruleset "event": "push", "pull_request" steps "name": "install", "image": "golang:latest", "commands": "go get ./..." ], "pull": ctx["vars"]["pull_policy"], "ruleset": ruleset, name, image ctx["vars"]["images"].items(): steps.append( "test_%s" image, test "build", build" "environment": "cgo_enabled": "0", "goos": "linux", }, pipeline 'version': '1', 'steps': steps, return the caller of template could like: version: "1" templates: name: source: github.com/<org>/<repo>/path/to/file/<template>.star type: github steps: golang vars: pull_policy: "always" images: _latest: golang:latest _1.13: golang:1.13 _1.12: golang:1.12 which means compiled execution on worker is: vela does not guarantee order with maps. if you need always be outputted same use loops slice implementation. sample_test_latest commands: go ./... image: pull: ruleset: event: push, pull_request sample_test_1.13 sample_test_1.12 sample_build build environment: cgo_enabled: '0' goos: linux "},{"url":"https://go-vela.github.io/docs/templates/tutorials/go/loops_slice/","display":"Tutorials/Go/Loops slice","title":"Loops with Slices","content":"we recommend reviewing go templates documentation before attempting to create template. if you’re new yaml also the 1.2 spec for validation on syntax. overview from template range: {{range pipeline}} t1 {{end}} value of pipeline must be an array, slice, map, channel. has length zero, nothing output; otherwise, dot set successive elements map executed. keys are basic type with defined order, will visited sorted key order. tip: information range/else statements see conditional docs sample let’s take look at ranging over slice template: metadata: true steps: {{ range $value := .images }} name: test_{{ commands: test ./... image: $.pull_policy ruleset: event: push, pull_request end build environment: cgo_enabled: '0' goos: linux golang:latest caller could like: version: "1" templates: source: github.com/<org>/<repo>/path/to/file/<template>.yml type: github golang vars: pull_policy: "pull: always" images: golang:latest, golang:1.13, golang:1.12 which means compiled execution worker is: sample_test_latest pull: always sample_test_golang:1.13 golang:1.13 sample_test_golang:1.12 sample_build "},{"url":"https://go-vela.github.io/docs/templates/tutorials/starlark/loops_slice/","display":"Tutorials/Starlark/Loops slice","title":"Loops with Slices","content":"we recommend reviewing starlark spec before attempting to create template. overview from for loops: [1, 2, 3]: print(i) prints "1", "2", "3" sample let’s take look at ranging over slice template: def main(ctx): ruleset "event": "push", "pull_request" steps "name": "install", "image": "golang:latest", "commands": "go get ./..." ], "pull": ctx["vars"]["pull_policy"], "ruleset": ruleset, image ctx["vars"]["images"]: steps.append( "test_%s" image, test "build", build" "environment": "cgo_enabled": "0", "goos": "linux", }, pipeline 'version': '1', 'steps': steps, return the caller of template could like: version: "1" templates: name: source: github.com/<org>/<repo>/path/to/file/<template>.star format: type: github steps: golang vars: pull_policy: "always" images: golang:latest, golang:1.13, golang:1.12 which means compiled execution on worker is: sample_test_latest commands: go ./... image: golang:latest pull: always ruleset: event: push, pull_request sample_test_golang:1.13 golang:1.13 sample_test_golang:1.12 sample_build build environment: cgo_enabled: '0' goos: linux "},{"url":"https://go-vela.github.io/docs/usage/deployments/","display":"Docs/Usage/Deployments","title":"Managing Deployments","content":"pipelines can be written with your specific branching methodology mind but when it comes to deployments you often want very intentional triggering change. for reason, vela has deployments, unique build event that triggered directly via on ref (branch, sha, tag). leverages deep integration github which will not only trigger create system of record deployment action. leverage steps like: tip: make sure have the enabled within repo settings additionally, any secret may need must also allowed events. step "all" events name: all image: alpine commands: echo "running deployment!" ruleset: event: target. targets value i.e. dev, stage, eng, prod, etc targeted ${vela_deployment}!" target: eng usage let us look at an example workflow executing repo. should understand following concepts before proceeding: image commands ruleset version: "1" steps: now we know how control deployment, lets adding custom parameters. sometimes do target data available pipeline runs. parameters "custom parameter message, ${deployment_parameter_message}" cli produce different permutations executing: additional configuration add --org --repo octocat repository environment. --target stage two --parameter 'message=hello, var!' "},{"url":"https://go-vela.github.io/docs/reference/api/metrics/metrics/","display":"API/Metrics/Metrics","title":"Metrics","content":"endpoint get /metrics query parameters the following are used to configure endpoint: parameter description user_count count of total users repo_count repos build_count builds running_build_count with status ‘running’ failure_build_count ‘failure’ pending_build_count ‘pending’ queued_build_count inside queue killed_build_count ‘killed’ success_build_count ‘success’ error_build_count ’error' step_image_count steps executed each unique image step_status_count service_image_count services service_status_count worker_build_limit worker build limits active_worker_count active workers inactive_worker_count inactive idle_worker_count idle (no running builds) available_worker_count available (one more executors) busy_worker_count busy error_worker_count error permissions permission restrictions for endpoint. responses code 200 indicates request has succeeded 500 server failure while processing sample curl -x "http://127.0.0.1:8080/metrics?pending_build_count=true" response help go_gc_duration_seconds summary pause duration garbage collection cycles. type go_gc_duration_seconds{quantile="0"} 4.0986e-05 vela_totals gauge vela_totals{field="status",resource="build",value="pending"} 31 "},{"url":"https://go-vela.github.io/docs/templates/tutorials/go/mulitline/","display":"Tutorials/Go/Mulitline","title":"Multiline","content":"we recommend reviewing go templates documentation before attempting to create template. if you’re new yaml also the 1.2 spec for validation on syntax. overview from scalars: scalar literals, newlines are preserved below was taken literal example --- //|| /|| // || ||__ tip: information more types of scalars read sample let’s take look at using conditional with variable template: metadata: true steps: {{ .test }} name: build commands: environment: cgo_enabled: '0' goos: linux image: golang:latest pull: always ruleset: event: push, pull_request caller template could like: version: "1" templates: source: github.com/<org>/<repo>/path/to/file/<template>.yml type: github golang vars: test: test ./... which means compiled pipeline execution worker is: sample_test sample_build "},{"url":"https://go-vela.github.io/docs/plugins/tutorials/node/","display":"Plugins/Tutorials/Node","title":"Node.js","content":"we recommend reviewing docker’s best practices before attempting to create custom plugin. that all plugins be placed inside scratch image. overview from node.js documentation: as an asynchronous event-driven javascript runtime, designed build scalable network applications. code plugin using node.js, we’ll need first decide what task want accomplish. for example, we’re going program makes http request the provided input: #!/usr/bin/env node const https require("https"); url require("url"); // import method parameter environment process.env.parameter_method; body process.env.parameter_body; uri process.env.parameter_url; capture full myurl url.parse(uri); options method: }; new input req https.request(myurl, options); exit immediately if errors req.on("error", () => process.exit(1); }); write req.write(process.env.parameter_body); send req.end(); example of section go-vela/vela-tutorials repository. image once have executable needed accomplish our plugin’s task, dockerfile produce should contain script setup run when executed: node:alpine apk add --update --no-cache ca-certificates copy vela-sample.js /bin/vela-sample.js entrypoint ["node", "/bin/vela-sample.js"] target/vela-sample docker publishing order pipeline, make sure publish it registry: -t target/vela-sample:node push has added benefit enabling others community consume your plugin! troubleshooting verify performs desired can executed locally via command line: --rm -e parameter_body="this sample vela written with node.js" parameter_method="post" parameter_url="http://vela.localhost.com" usage after registry, referenced pipeline: version: "1" steps: name: image: pull: always parameters: url: http://vela.localhost.com post body: "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/npm/","display":"Registry/Pipeline/Npm","title":"npm","content":"description plugin enables the ability to manage artifacts npm vela pipeline. source code: https://github.com/go-vela/vela-npm registry: https://hub.docker.com/r/target/vela-npm usage note: users should refrain from using latest as tag for docker image. it recommended use semantically versioned instead. sample of publishing package: steps: name: npm_publish image: target/vela-npm:latest pull: not_present secrets: npm_password parameters: username: npmusername https://registry.npmjs.org if registry does not support ping: you are deploying inside artifactory skip_ping: true pretending publish dry_run: first time first_publish: with additional dist-tag: tags used an alias cannot be valid semver tag: beta higher level tolerance audit: audit_level: critical secrets configuring sensitive information their pipeline plain text. internal accepts following parameters authentication: parameter environment variable configuration password npm_password, parameter_password username npm_username, parameter_username npm_registry, parameter_registry email npm_email, parameter_email can substitute these values at runtime: password: supersecretpassword example will add step variables: npm_password=value external files volume /vela/parameters/npm/password, /vela/secrets/npm/password, /vela/secrets/managed-auth/password /vela/parameters/npm/username, /vela/secrets/npm/username, /vela/secrets/managed-auth/username /vela/parameters/npm/registry, /vela/secrets/npm/registry /vela/parameters/npm/email, /vela/secrets/npm/email configure name required default variables communication n/a npm_username false npm_email token auth parameter_token instance communicate npm_registry audit_level which audit check fail (valid options: low, moderate, high, critical, none skip) low parameter_audit_level strict_ssl whether do ssl key validation during parameter_strict_ssl always_auth force always require authentication parameter_always_auth skip_ping skip ping command parameter_skip_ping dry_run perform action parameter_dry_run package given parameter_tag log_level set log info, debug, trace) info parameter_log_level workspaces all parameter_workspaces workspace specific by specifying relative path parameter_workspace access tells published public restricted. only applies scoped packages, restricted parameter_access package.json your module’s manifest. there few important keys that need order module checked against version publish, must unique private needs even internally. publishconfig configured location match value values, see npm’s documentation template coming soon! troubleshooting here available levels assist troubleshooting: trace, warn, error, fatal, panic "},{"url":"https://go-vela.github.io/docs/usage/open_id_connect/","display":"Docs/Usage/Open ID connect","title":"OpenID Connect","content":"openid vela oftentimes, builds interact with cloud providers to deploy software, update configurations, more generally use the cloud’s services. order for process work securely, users create retrieve credentials from provider duplicate their values into as secrets, which are injected build steps. an example, below pipeline uploads docker image artifactory: version: "1" secrets: password user vela-arti-user name: docker_password key: velaorg/vela-repo type: repo engine: native steps: & publish image: target/vela-kaniko:latest parameters: username: registry: my-arti-registry.com repo: my-arti-registry.com/velaorg/vela-repo tags: latest above will be suitable many cloud-related ci builds. however, there potential issues method. stricter rotation policies becomes common place, developing processes wherein secrets updated tandem these rotations introducing unneccessary tech debt antithetical continuous integration. comes connect. connect (oidc), you can configure your request short-lived access token directly provider. requires that supports oidc processing id tokens properly validates using vela’s configuration jwks. let’s take look at same but get alpine id_request: commands: > auth_token=$(curl -h "authorization: bearer $vela_id_token_request_token" "$vela_id_token_request_url?audience=artifactory" jq -r '.value') req=$(curl -s -x post "token: $auth_token" "https://cloud-service-open-id-validator.com/get-token") echo "${req}" .username /vela/secrets/kaniko/username .token /vela/secrets/kaniko/password step environment of vela_id_token_request_token vela_id_token_request_url used authenticate service, so long service has layer. id_request key being set anything result injection variables. value claim eventual token. claims "build_number": 42, "build_id": 100, "actor": "octocat", "actor_scm_id": "1", "repo": "octocat/vela-testing", "token_type": "id", "image": "golang:1.22.4", "request": "yes", "commands": true, "event": "pull_request:opened", "ref": "refs/heads/main", "sha": "15b17a5751dd2fd04a7b4ca056063dc876984073", "iss": "https://vela-server.com/_services/token", "sub": "repo:octocat/vela-testing:ref:refs/heads/main:event:pull_request", "aud": "artifactory" ], "exp": 1717699924, "iat": 1717699624 validating resources on tokens. some high level requirements: validated jwks located well-known path issuer? do match expectations? all members supported_claims field configuration? "},{"url":"https://go-vela.github.io/docs/templates/tutorials/go/vars_platform/","display":"Tutorials/Go/Vars platform","title":"Platform Vars","content":"we recommend reviewing go templates documentation before attempting to create template. if you’re new yaml also the 1.2 spec for validation on syntax. overview platform variables can be referenced with following syntax: {{ vela "<environment variable>" }} examples "vela_repo_name" equates vela_repo_name environment variable "repo_name" "vela_build_number" vela_build_number "vela_addr" vela_addr "deployment_parameter_<name>" deployment_parameter_<name> sample let’s take look at using template: metadata: true steps: name: test commands: echo "vela_repo_full_name" image: alpine pull: always ruleset: event: push, pull_request caller of template could like: version: "1" templates: source: github.com/<org>/<repo>/path/to/file/<template>.yml type: github which means compiled pipeline execution worker is: sample_echo github/octocat "},{"url":"https://go-vela.github.io/docs/templates/tutorials/starlark/vars_platform/","display":"Tutorials/Starlark/Vars platform","title":"Platform Vars","content":"we recommend reviewing starlark spec before attempting to create template. additionally, depending on how the template written, it may be incompatible with viewing pipelines ui. overview platform variables can referenced following syntax: ctx['vela']['<resource>']['<name>'] examples ctx["vela"]["repo"]["name"] equates vela_repo_name environment variable ctx["vela"]["build"]["number"] vela_build_number ctx["vela"]["system"]["addr"] vela_addr ctx["vela"]["deployment"]["<name>"] deployment_parameter_<name> sample let’s take look at using within template: def main(ctx): return 'version': '1', 'steps': step(ctx["vela"]["repo"]["name"]), ], step(name): "name": "echo %s" name, "image": "alpine:latest", 'commands': name caller of could like: version: "1" templates: name: source: github.com/<org>/<repo>/path/to/file/<template>.star format: type: github steps: build which means compiled pipeline for execution worker is: sample_echo hello-world image: alpine:latest commands: echo "},{"url":"https://go-vela.github.io/docs/usage/pull_policies/","display":"Docs/Usage/Pull policies","title":"Pull Policies","content":"vela provides the ability to define how when images for secrets, steps, services will be retrieved at runtime. usage below are options pull policies container policy description always attempt image from registry, even if it exists locally. best used leveraging mutable tag, such as latest not_present only registry does not already exist default behavior recommended immutably tagged images. on_start right before step executed. can speed up build times service run on every (e.g. failed notifying plugins), leveraged dealing with password rotation mid-build vault plugin), an that was created published earlier build. never use note: declaration required. you do provide declaration, value of used. example version: "1" services: name: redis image: redis:latest pull: steps: check status alpine:latest commands: bash commands in-line set override variables export example="hello world team" echo ${example} secrets: origin: private target/secret-vault:latest vault_token parameters: addr: vault.example.com auth_method: token username: octocat items: source: secret/docker path: docker pipeline will: image, locally doesn’t wait until starting references following concepts being below: steps secrets origin yaml key "},{"url":"https://go-vela.github.io/docs/plugins/tutorials/python/","display":"Plugins/Tutorials/Python","title":"Python","content":"we recommend reviewing docker’s best practices before attempting to create custom plugin. that all plugins be placed inside scratch image. overview from python documentation: programming language lets you work quickly integrate systems more effectively. code plugin using python, we’ll need first decide what task want accomplish. for example, we’re going program makes an http request the provided input: #!/usr/bin/env import http.client os urlparse method parameter environment os.getenv['parameter_method'] body os.getenv['parameter_body'] url os.getenv['parameter_url'] capture full uri urlparse(url) new connection conn http.client.httpsconnection(uri.hostname, uri.port) headers added {} send conn.request(method, uri.path, body, headers) response conn.getresponse() output print(response.read().decode("utf-8")) example of section go-vela/vela-tutorials repository. image once have script needed accomplish our plugin’s task, dockerfile produce should contain setup run when executed: python:alpine apk add --update --no-cache ca-certificates copy vela-sample.py /bin/vela-sample.py entrypoint ["python", "/bin/vela-sample.py"] target/vela-sample docker publishing order pipeline, make sure build publish it registry: -t target/vela-sample:python push has benefit enabling others community consume your plugin! troubleshooting verify performs desired can executed locally via command line: --rm -e parameter_body="this sample vela written with python" parameter_method="post" parameter_url="http://vela.localhost.com" usage after registry, referenced pipeline: version: "1" steps: name: image: pull: always parameters: url: http://vela.localhost.com method: post body: "},{"url":"https://go-vela.github.io/docs/reference/sdk/python/","display":"Reference/Sdk/Python","title":"Python","content":"overview vela python sdk client to perform operations on objects view content new way integrate into applications. for complete list of apis examples, please take look at the reference documentation. requirements. 2.7 3.4+ get build info example below sample go program demonstrating how authenticate with sdk: from __future__ import print_function time vela.rest apiexception pprint configure api key authorization: apikeyauth configuration vela.configuration() configuration.api_key['authorization'] 'your_api_key' configuration.api_key_prefix['authorization'] 'bearer' endpoint configuration.host 'https://your-vela-server.example.com' create an instance class api_instance vela.buildsapi(vela.apiclient(configuration)) try: api_response api_instance.get_builds(org="go-vela",repo="sdk-python") pprint(api_response) except as e: print("exception when calling buildsapi->get_builds: %s n" e) "},{"url":"https://go-vela.github.io/docs/installation/server/reference/queue/","display":"Server/Reference/Queue","title":"Queue","content":"component responsible for integrating with queue system based off the configuration provided. used by vela server pushing workloads that will be run worker. published to are managed first in, out (fifo) strategy. following options configure component: name description required default environment variables queue.addr full connection string true n/a queue_addr vela_queue_addr queue.cluster configures client cluster false queue_cluster vela_queue_cluster queue.driver type of control operate queue_driver vela_queue_driver queue.pop.timeout timeout requests pop items 60s queue_pop_timeout vela_queue_pop_timeout queue.routes unique channels topics queue_routes vela_queue_routes queue.private-key private key signing prior push queue_private_key vela_queue_private_key queue.public-key public opening after popping them queue_public_key vela_queue_public_key note: more information on these options, please see reference. drivers available documentation redis uses managing https://redis.io/ from official website: an open source (bsd licensed), in-memory data structure store, as database, cache, message broker. provides structures such strings, hashes, lists, sets, sorted sets range queries, bitmaps, hyperloglogs, geospatial indexes, streams. has built-in replication, lua scripting, lru eviction, transactions, different levels on-disk persistence, high availability via sentinel automatic partitioning cluster. below displays example starting connect queue: docker --detach=true --env=vela_addr=https://vela-server.example.com --env=vela_database_encryption_key=<encryption-key> --env=vela_queue_driver=redis --env=vela_queue_addr=redis://<password>@<hostname>:<port>/<database> --env=vela_queue_private_key=<signing-private-key> --env=vela_queue_public_key=<signing-public-key> --env=vela_port=443 --env=vela_secret=<shared-secret> --env=vela_server_private_key=<private_key> --env=vela_scm_client=<oauth-client-id> --env=vela_scm_secret=<oauth-client-secret> --env=vela_webui_addr=https://vela.example.com --name=server --publish=80:80 --publish=443:443 --restart=always target/vela-server:latest "},{"url":"https://go-vela.github.io/docs/installation/worker/reference/queue/","display":"Worker/Reference/Queue","title":"Queue","content":"component responsible for integrating with queue system based off the configuration provided. used by vela pulling workloads, provided server, that will be run. workloads fetched from are managed first in, out (fifo) strategy. following options to configure component: name description required default environment variables queue.cluster configures client cluster false queue_cluster vela_queue_cluster queue.driver type of control operate true n/a queue_driver vela_queue_driver queue.pop.timeout timeout requests pop items 60s queue_pop_timeout vela_queue_pop_timeout queue.routes unique channels topics queue_routes vela_queue_routes note: more information on these options, please see worker reference. drivers available documentation redis uses managing https://redis.io/ official website: an open source (bsd licensed), in-memory data structure store, as database, cache, message broker. provides structures such strings, hashes, lists, sets, sorted sets range queries, bitmaps, hyperloglogs, geospatial indexes, streams. has built-in replication, lua scripting, lru eviction, transactions, different levels on-disk persistence, high availability via sentinel automatic partitioning cluster. below displays example starting connect queue: docker run --detach=true --env=vela_queue_driver=redis --env=vela_server_addr=https://vela-server.example.com --env=vela_server_secret=<shared-secret> --env=vela_worker_addr=https://vela-worker.example.com --name=worker --publish=80:80 --publish=443:443 --restart=always --volume=/var/run/docker.sock:/var/run/docker.sock target/vela-worker:latest "},{"url":"https://go-vela.github.io/docs/reference/api/build/remove/","display":"API/Build/Remove","title":"Remove","content":"endpoint delete /api/v1/repos/:org/:repo/builds/:build parameters the following are used to configure endpoint: name description org of organization repo repository build number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1" response github/octocat/1 deleted "},{"url":"https://go-vela.github.io/docs/reference/api/hook/remove/","display":"API/Hook/Remove","title":"Remove","content":"endpoint delete /api/v1/hooks/:org/:repo/:hook parameters the following are used to configure endpoint: name description org of organization repo repository hook number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/hooks/github/octocat/1" response github/octocat/1 deleted "},{"url":"https://go-vela.github.io/docs/reference/api/pipeline/remove/","display":"API/Pipeline/Remove","title":"Remove","content":"endpoint delete /api/v1/pipelines/:org/:repo/:pipeline parameters the following are used to configure endpoint: name description org of organization repo repository pipeline commit sha for from permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/pipelines/github/octocat/48afb5bdc41ad69bf22588491333f7cf71135163" response github/octocat/48afb5bdc41ad69bf22588491333f7cf71135163 deleted "},{"url":"https://go-vela.github.io/docs/reference/api/repo/remove/","display":"API/Repo/Remove","title":"Remove","content":"endpoint delete /api/v1/repos/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat" response github/octocat deleted "},{"url":"https://go-vela.github.io/docs/reference/api/schedule/remove/","display":"API/Schedule/Remove","title":"Remove","content":"endpoint delete /api/v1/schedules/:org/:repo/:schedule parameters the following are used to configure endpoint: name description org of organization repo repository schedule from permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/schedules/github/octocat/hourly" response "schedule hourly deleted" "},{"url":"https://go-vela.github.io/docs/reference/api/secret/remove/","display":"API/Secret/Remove","title":"Remove","content":"endpoint delete /api/v1/secrets/:engine/:type/:org/:name/:secret parameters the following are used to configure endpoint: name description engine of type secret org organization repository team permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/secrets/native/repo/github/octocat/foo" response repo/github/octocat/foo deleted from native service "},{"url":"https://go-vela.github.io/docs/reference/api/service/remove/","display":"API/Service/Remove","title":"Remove","content":"endpoint delete /api/v1/repos/:org/:repo/builds/:build/services/:service parameters the following are used to configure endpoint: name description org of organization repo repository build number service permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/services/1" response github/octocat/1/1 deleted "},{"url":"https://go-vela.github.io/docs/reference/api/step/remove/","display":"API/Step/Remove","title":"Remove","content":"endpoint delete /api/v1/repos/:org/:repo/builds/:build/steps/:step parameters the following are used to configure endpoint: name description org of organization repo repository build number step permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/steps/1" response github/octocat/1/1 deleted "},{"url":"https://go-vela.github.io/docs/reference/api/user/remove/","display":"API/User/Remove","title":"Remove","content":"endpoint delete /api/v1/users/:user parameters the following are used to configure endpoint: name description user of permissions coming soon! responses status code 200 indicates request has succeeded 401 does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/users/octokitty" response octokitty deleted "},{"url":"https://go-vela.github.io/docs/reference/cli/config/remove/","display":"CLI/Config/Remove","title":"Remove","content":"command vela remove config <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: providing will entire configuration file. name description environment variables api.addr removes api address field vela_addr, config_addr api.token.access access token vela_access_token, config_access_token api.token.refresh refresh vela_refresh_token, config_refresh_token api.token vela_token, config_token api.version version vela_api_version, config_api_version log.level log level vela_log_level, config_log_level output vela_output, config_output org vela_org, config_org repo vela_repo, config_repo secret.engine secret engine vela_engine, config_engine secret.type type vela_type, config_type permissions coming soon! sample section assumes have already installed setup cli. install cli, please review installation documentation. authentication request response "},{"url":"https://go-vela.github.io/docs/reference/cli/repo/remove/","display":"CLI/Repo/Remove","title":"Remove","content":"command vela remove repo <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization repository vela_org, repo_org vela_repo, repo_name output format vela_output, repo_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response "github/octocat" was deleted "},{"url":"https://go-vela.github.io/docs/reference/cli/schedule/remove/","display":"CLI/Schedule/Remove","title":"Remove","content":"command vela remove schedule <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, schedule_org repo repository vela_repo, schedule_repo vela_schedule, schedule_name output format vela_output, schedule_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --schedule hourly targeted --org github --repo octocat response deleted examples examples: 1. from repository. myorg myrepo daily 2. with json output. --output 3. when set. "},{"url":"https://go-vela.github.io/docs/reference/cli/secret/remove/","display":"CLI/Secret/Remove","title":"Remove","content":"command vela remove secret <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, secret_org repo repository vela_repo, secret_repo secret.engine engine that stores vela_engine. secret_engine secret.type type being stored vela_type, secret_type team vela_team, secret_team vela_name, secret_name output format vela_output, secret_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --secret.engine native --secret.type --name foo targeted --org github --repo octocat response "foo" was deleted "},{"url":"https://go-vela.github.io/docs/reference/api/repo/repair/","display":"API/Repo/Repair","title":"Repair","content":"endpoint patch /api/v1/repos/:org/:repo/repair parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/repair" response github/octocat repaired "},{"url":"https://go-vela.github.io/docs/reference/cli/repo/repair/","display":"CLI/Repo/Repair","title":"Repair","content":"command vela repair repo <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization repository vela_org, repo_org vela_repo, repo_name output format vela_output, repo_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response "github/octocat" repaired "},{"url":"https://go-vela.github.io/docs/reference/api/admin/repo/","display":"API/Admin/Repo","title":"Repo","content":"endpoint put /api/v1/admin/repo permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. note: must provide entire repo object, as overwrites existing entry for repo. file "id": 1, "user_id": "org": "github", "name": "octocat", "full_name": "github/octocat", "link": "https://github.com/github/octocat", "clone": "https://github.com/github/octocat.git", "branch": "main", "build_limit": 10, "timeout": 60, "counter": 0, "visibility": "public", "private": false, "trusted": true, "active": "allow_pull": "allow_push": "allow_deploy": "allow_tag": "allow_comment": "pipeline_type": "yaml" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/admin/repo" response "},{"url":"https://go-vela.github.io/docs/reference/api/user/current/repos/","display":"User/Current/Repos","title":"Repos","content":"endpoint get /api/v1/user/source/repos permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/user/source/repos" response "id": 1, "user_id": "org": "github", "name": "octocat", "full_name": "github/octocat", "link": "https://github.com/github/octocat", "clone": "https://github.com/github/octocat.git", "branch": "main", "timeout": 60, "visibility": "public", "private": false, "trusted": true, "active": "allow_pull": "allow_push": "allow_deploy": "allow_tag": "allow_comment": false }, 2, "octokitty", "github/octokitty", "https://github.com/github/octokitty", "https://github.com/github/octokitty.git", "},{"url":"https://go-vela.github.io/docs/usage/repo_settings/","display":"Docs/Usage/Repo settings","title":"Repository Settings","content":"permissions before going through all the vela repository settings, it’s important to cover how they apply various parts of application. an overview can be found here. general settings below are for repositories that changed ui cli api. webhook events subscribe any following events: event description push commit pushed branch tag pull_request:opened pull request opened pull_request:reopened reopened pull_request:synchronize source has been updated with new pull_request:edited edited (title, description, target branch, etc) pull_request:labeled labeled pull_request:unlabeled unlabeled deployment:created deployment created comment:created comment made on comment:edited delete:branch deleted delete:tag pipelines written behave differently based which triggered build (see rulesets). scoping (event:action) was included release v0.23.0. as such, rulesets mapped following: pull_request -> pull_request:opened, pull_request:synchronize, comment:created, updating must done (api/cli/ui) order preserve signature integrity webhook. otherwise, users will experience error. access supports two options visibility: private any. determines who view builds. by default, newly enabled inherit visibility setting it control manager. however, if user wishes visbility differ between code ci repository, do so changing setting. outside contributor allows admins further safeguard their requiring approval builds, specifically requests from forks. four are: always require approval: regardless user, fork, need approved admin. read-only: some teams prefer fork contribution workflow even have write permission repo. those not approval, but read-only will. admin first time contributors: contributed able run builds without approval. note: may take few hours marked prior after repository. never opening pr against when awaiting scm status pending needs repo run. approve using cli. auto cancel previous same (if one exists). prevent up source. limit default max determined platform administrators. these values determine many concurrently given limits exist single occupying large amount worker resources. result exceeding re-launched redelivering once concurrent total dips limit. timeout lasts longer than set timeout, error out. counter number tally ran adjusted larger smaller. occasionally, due compilation errors, fall behind resulting sql collision audit page fix this, ensure matches actual count. badge check out usage documentation more details customizing badges repositories. actions chown every requires owner. owner typically at minimum. button (or command) transfer ownership making request. repair whenever connection configured manager invalidated, repaired. involves deletion re-creation history preserved, ability redeliver old webhooks not. pipeline type formatting base pipeline: yaml syntax (reference documentation) go standard inline functionality starlark generation templates treated syntax. match behavior pipeline, go. high-level pulled directly metadata key. metadata: auto_cancel: running: true default_branch: canceling strategy prioritize most recent obsolete running/pending information render render_inline: templates: name: example source: github.com/go-vela/templates/inline.yml type: github template appends end declared. only viable method calling stages top level. clone clone: false key override vela’s cloning start build. "},{"url":"https://go-vela.github.io/docs/reference/api/build/restart/","display":"API/Build/Restart","title":"Restart","content":"endpoint post /api/v1/repos/:org/:repo/builds/:build parameters the following are used to configure endpoint: name description org of organization repo repository build number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1" response "id": 2, "repo_id": 1, "number": "parent": "event": "push", "status": "created", "error": "", "enqueued": 1563474077, "created": 1563474076, "started": "finished": 0, "deploy": "clone": "https://github.com/github/octocat.git", "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", "title": "push received from https://github.com/github/octocat", "message": "first commit...", "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "sender": "octokitty", "author": "branch": "main", "ref": "refs/heads/main", "base_ref": "host": "company.localhost", "runtime": "docker", "distribution": "linux" "},{"url":"https://go-vela.github.io/docs/reference/cli/build/restart/","display":"CLI/Build/Restart","title":"Restart","content":"command vela restart build <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, build_org repo repository vela_repo, build_repo number vela_build, build_number output format vela_output, build_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build targeted --org github --repo octocat response id: repo_id: number: parent: event: push status: created error: "" populates when platform runs into an error with enqueued: 1563474087 created: 1563474086 started: finished: deploy: clone: https://github.com/github/octocat.git source: https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163 title: received from https://github.com/github/octocat message: first commit... commit: 48afb5bdc41ad69bf22588491333f7cf71135163 sender: octokitty author: branch: main ref: refs/heads/main baseref: host: "company.localhost" runtime: "docker" distribution: "linux" "},{"url":"https://go-vela.github.io/docs/reference/api/admin/settings/restore/","display":"Admin/Settings/Restore","title":"Restore","content":"endpoint delete /api/v1/admin/settings permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper 404 server was unable to retrieve resource 500 failure while processing sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/admin/settings" response "id": 1, "compiler": "clone_image": "target/vela-git:latest", "template_depth": 3, "starlark_exec_limit": 7500 }, "queue": "routes": "vela" "repo_allowlist": "*", ], "schedule_allowlist": "github/octocat", "created_at": 1715718878, "updated_at": 1715718879, "updated_by": "octocat" "},{"url":"https://go-vela.github.io/docs/usage/roles/","display":"Docs/Usage/Roles","title":"Roles","content":"warning at time the only source control provider github. so documentation tailored for those users. vela does not maintain any authentication (authn) authorization (authz) internally, but instead inherits its access from (version control) provider. more information on github’s model can be found their documentation. platform roles: admin write read roles admins have full when interacting with cli, ui, api. within github organization option to use orgs allow users permissions all repositories org, fine-grained of adding directly individual repositories. role enables repository, which grants following levels resources: repo build step service log secret "},{"url":"https://go-vela.github.io/docs/plugins/tutorials/ruby/","display":"Plugins/Tutorials/Ruby","title":"Ruby","content":"we recommend reviewing docker’s best practices before attempting to create custom plugin. that all plugins be placed inside scratch image. overview from ruby documentation: is… dynamic, open source programming language with focus on simplicity productivity. it has an elegant syntax natural read easy write. code plugin using ruby, we’ll need first decide what task want accomplish. for example, we’re going program makes http request the provided input: #!/usr/bin/env require 'net/http' 'uri' import method parameter environment env['parameter_method'] body env['parameter_body'] url env['parameter_url'] capture full uri uri(url) new client net::http.new(uri.host, uri.port) send response http.send_request( method, uri.path, body, output puts response.read_body example of section go-vela/vela-tutorials repository. image once have script needed accomplish our plugin’s task, dockerfile produce should contain setup run when executed: ruby:alpine apk add --update --no-cache ca-certificates copy vela-sample.rb /bin/vela-sample.rb entrypoint ["ruby", "/bin/vela-sample.rb"] target/vela-sample docker publishing order pipeline, make sure build publish registry: -t target/vela-sample:ruby push added benefit enabling others community consume your plugin! troubleshooting verify performs desired can executed locally via command line: --rm -e parameter_body="this sample vela written ruby" parameter_method="post" parameter_url="http://vela.localhost.com" usage after registry, referenced pipeline: version: "1" steps: name: image: pull: always parameters: url: http://vela.localhost.com method: post body: "},{"url":"https://go-vela.github.io/docs/installation/worker/reference/runtime/","display":"Worker/Reference/Runtime","title":"Runtime","content":"component responsible for integrating with runtime environment based off the configuration provided. used by vela executing workload resources managing their lifecycle. following options are to configure component: name description required default variables runtime.config path file false n/a runtime_config vela_runtime_config runtime.driver type of client control operate true docker runtime_driver vela_runtime_driver runtime.namespace namespace use (only kubernetes) runtime_namespace vela_runtime_namespace runtime.pods-template-name pipelinepodstemplate retrieve from runtime_pods_template_name vela_runtime_pods_template_name runtime.pods-template-file local fallback containing yaml runtime_pods_template_file vela_runtime_pods_template_file runtime.privileged-images images allowed run privileged mode runtime_privileged_images vela_runtime_privileged_images runtime.drop-capabilities kernel capabilities be dropped each running container runtime_drop_capabilities vela_runtime_drop_capabilities runtime.volumes host volumes mount into runtime_volumes vela_runtime_volumes note: more information on these options, please see worker reference. drivers available documentation uses daemon creating https://docker.io/ kubernetes cluster https://kubernetes.io/ official website: takes away repetitive, mundane tasks throughout development lifecycle fast, easy portable application desktop cloud. docker’s comprehensive end platform includes uis, clis, apis security that engineered work together across entire delivery below displays an example starting will runtime: --detach=true --env=vela_queue_driver=redis --env=vela_runtime_driver=docker --env=vela_server_addr=https://vela-server.example.com --env=vela_server_secret=<shared-secret> --env=vela_worker_addr=https://vela-worker.example.com --name=worker --publish=80:80 --publish=443:443 --restart=always --volume=/var/run/docker.sock:/var/run/docker.sock target/vela-worker:latest enabled not necessary provide order operate. kubernetes, also known as k8s, open-source system automating deployment, scaling, management containerized applications. --env=vela_runtime_driver=kubernetes --env=vela_runtime_config=/root/.kube/config --env=vela_runtime_namespace=vela --volume=/root/.kube/config:/root/.kube/config "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/s3_cache/","display":"Registry/Pipeline/S3 cache","title":"S3 Cache","content":"description plugin enables you to cache build resources an s3 compatible store for vela pipeline. source code: https://github.com/go-vela/vela-s3-cache registry: https://hub.docker.com/r/target/vela-s3-cache usage note: users should refrain from using latest as the tag docker image. it recommended use semantically versioned instead. sample of restoring cache: steps: name: restore_cache image: target/vela-s3-cache:latest pull: always parameters: action: restore bucket: mybucket server: mybucket.s3-us-west-2.amazonaws.com rebuilding rebuild_cache rebuild mount: .gradle while preserving directory structure: preserve_path: true foo/test1 bar/test2 flushing flushing_cache flush secrets configuring sensitive information your pipeline plain text. internal can substitute these values at runtime: secrets: s3_cache_access_key, s3_cache_secret_key access_key: akiaiosfodnn7example secret_key: 123456789qwertyexample example will add step environment variables: s3_cache_access_key=<value> s3_cache_secret_key=<value> external accepts following files authentication: parameter volume configuration access_key /vela/parameters/s3-cache/access_key, /vela/secrets/s3-cache/access_key secret_key /vela/parameters/s3-cache/secret_key, /vela/secrets/s3-cache/secret_key session_token /vela/parameters/s3-cache/session_token, /vela/secrets/s3-cache/session_token read secret stored /vela/secrets/ parameters supports reading all via variables files. any set file take precedence over environment. bucket with expected be created beforehand. used configure image actions: name required default accelerated_endpoint accelerated instance communicate false n/a parameter_accelerated_endpoint s3_cache_accelerated_endpoint access key communication parameter_access_key s3_cache_access_key aws_access_key_id action perform against parameter_action s3_cache_action build_branch branch repository by parameter_build_branch vela_build_branch parameter_bucket s3_cache_bucket log_level log level info parameter_log_level s3_cache_log_level org parameter_org vela_repo_org path custom object(s) parameter_path s3_cache_path prefix parameter_prefix s3_cache_prefix repo parameter_repo vela_repo_name repo_branch parameter_repo_branch vela_repo_branch parameter_secret_key aws_secret_access_key server parameter_server s3_cache_server session token parameter_session_token s3_cache_session_token aws_session_token are filename object archive.tgz parameter_filename s3_cache_filename timeout call 10m parameter_timeout s3_cache_timeout preserve_path whether preserve relative structure during tar process parameter_preserve_path s3_preserve_path mount directories locations parameter_mount s3_cache_mount age delete objects past specific (i.e. 60m, 8h) 336h parameter_age s3_cache_age template coming soon! troubleshooting start tuning logs being displayed: log_level: trace below list common problems how solve them: invalid duration value error may look like this: could not parse "14d " flag flush.age: time: unknown unit "d parsed go’s time.parseduration function. only hours, minutes, so on smaller time units supported; days cause unless added subsequent versions go after v1.16, which unlikely. "},{"url":"https://go-vela.github.io/docs/usage/schedule_build/","display":"Docs/Usage/Schedule build","title":"Scheduling a Build","content":"note: please ensure you’ve already started build for your repo before attempting to setup schedule. vela supports the ability periodically trigger builds known as outside of ecosystem, more commonly cron expression. users will be able manage schedules via ui, api cli. only with admin access that repo. warning: we make best efforts support feature parity but may not every capability. entry customize cadence frequency how often schedule should field. by default, sets limit 1h which controls smallest amount time can wait running. i.e. can’t than hour different installation you use. here’s small list examples demonstrate valid values field: run day at midnight week on sunday currently uses github.com/adhocore/gronx parse validate library also number common expressions (a.k.a. tags) @hourly, @daily, @weekly etc. information, see library’s official docs these tags. tip: recommend leveraging an expression generator like crontab guru pipeline what stages steps using ruleset: version: "1" steps: name: unit-test event: deployment, target: unit_test, integration_test, nightly commands: echo "i when name 'unit_test', 'integration_test' 'nightly' executed" integration-test publish notification any adding deployment event ruleset processes want enable manually replicates configuration especially useful initially test debug "},{"url":"https://go-vela.github.io/docs/installation/server/reference/scm/","display":"Server/Reference/Scm","title":"SCM","content":"component responsible for integrating with source control management (scm) system based off the configuration provided. scm used by vela both authentication authorization of interactions performed within application. following options are to configure component: name description required default environment variables scm.addr fully qualified url true https://github.com scm_addr vela_scm_addr scm.client client id from generated oauth application on n/a scm_client vela_scm_client scm.context message set commit status continuous-integration/vela scm_context vela_scm_context scm.driver type operate github scm_driver vela_scm_driver scm.scopes permission scopes apply credentials repo, repo:status, user:email, read:user, read:org scm_scopes vela_scm_scopes scm.secret secret scm_secret vela_scm_secret scm.webhook.addr webhooks send requests false address server ($vela_addr) scm_webhook_addr vela_scm_webhook_addr note: more information these options, please see reference. drivers available documentation uses githug enterprise https://github.com/about/ official website: where world builds software. millions developers companies build, ship, maintain their software github—the largest most advanced development platform world. below displays an example creating application: warning: homepage should match vela_addr variable provided clusters without ui. otherwise, vela_webui_addr server. callback contain /authenticate suffix. your organization’s private copy contained virtual appliance, hosted premises cloud, that you control. "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/scp/","display":"Registry/Pipeline/Scp","title":"SCP","content":"description plugin part of the openssh suite plugins which enables you to use scp binary vela pipeline. source code: https://github.com/go-vela/vela-openssh registry: https://hub.docker.com/r/target/vela-scp usage because thin wrapper around binary, syntax parameters follow from manual. will take care some basic secrets identity management tasks for you, most importantly that when an file provided as secret place into filesystem change permissions match what expects, then add it list files tried authentication. additionally, if using password passphrase authentication unlocking file, sshpass be used provide those credentials without interactive user input. note: users should refrain latest tag images. recommended semantically versioned instead. steps: name: image: target/vela-scp:latest pull: always parameters: source: ./relative/path/to/file/in/vela/workspace a_user_name@some_remote_host_name:/absolute/path/on/remote/system target: a_different_user@some_other_host:~ scp:// schema non-standard ports port scp://a_different_user@some_remote_host_name:12345/path passing additional flags override default ./relative/path/to/folder/in/vela/workspace scp_flag: "-r" "-o stricthostkeychecking=yes" secrets: my_non_user_account_password sshpass_password (without passphrase) internal contents my_non_user_account_id_rsa_file_contents identity_file_contents (with with my_non_user_account_id_rsa_passphrase sshpass_passphrase existing workspace identity_file_path: ./some/workspace/location/id_rsa other some_secret_user secret_user some_secret_host secret_host some_secret_port secret_port scp://$secret_user@$secret_host:$secret_port/path container logic directly commands: -i ./some/existing/id_rsa username@hostname:/path/ & supports reading all via environment variables files. any values set precedence over environment. don’t confuse source/target native target required binary. name accepts multiple values? paths option parameter_source /vela/parameters/vela-scp/source /vela/secrets/vela-scp/source parameter_target /vela/parameters/vela-scp/target /vela/secrets/vela-scp/target identity_file_path path where look these are not auto created by they must managed only referenced here. parameter_identity_file_path parameter_ssh_key_path ssh_key_path /vela/parameters/vela-scp/identity-file.path /vela/secrets/vela-scp/identity-file.path raw scp. temporary location correct inject during execution. parameter_identity_file_contents parameter_ssh_key ssh_key /vela/parameters/vela-scp/identity-file.contents /vela/secrets/vela-scp/identity-file.contents scp_flag options placed between at end. -o stricthostkeychecking=no userknownhostsfile=/dev/null parameter_scp_flag /vela/parameters/vela-scp/scp.flag /vela/secrets/vela-scp/scp.flag systems require can specified here, conjunction parameter_sshpass_password parameter_password /vela/parameters/vela-scp/sshpass.password /vela/secrets/vela-scp/sshpass.password parameter_sshpass_passphrase /vela/parameters/vela-scp/sshpass.passphrase /vela/secrets/vela-scp/sshpass.passphrase sshpass_flag parameter_sshpass_flag /vela/parameters/vela-scp/sshpass.flag /vela/secrets/vela-scp/sshpass.flag "},{"url":"https://go-vela.github.io/docs/installation/server/reference/secret/","display":"Server/Reference/Secret","title":"Secret","content":"component optional responsible for integrating with an external secret system based off the configuration provided. used by vela storing sensitive application data at rest. default, will use database to store if other configured. note: any stored be encrypted using advanced encryption standard (aes). following options are configure component: name description required default environment variables secret.vault.addr fully qualified url hashicorp vault instance true n/a secret_vault_addr vela_secret_vault_addr secret.vault.auth-method authentication method obtain token from false secret_vault_auth_method vela_secret_vault_auth_method secret.vault.aws-role role connect auth/aws/login endpoint secret_vault_aws_role vela_secret_vault_aws_role secret.vault.driver enables as engine secret_vault vela_secret_vault secret.vault.prefix prefix k/v secrets secret_vault_prefix vela_secret_vault_prefix secret.vault.renewal frequency renew 30m secret_vault_renewal vela_secret_vault_renewal secret.vault.token access secret_vault_token vela_secret_vault_token secret.vault.version version backend secret_vault_version vela_secret_vault_version more information on these options, please see server reference. drivers available documentation uses rest https://www.vaultproject.io/ official website: you secure, tightly control tokens, passwords, certificates, keys protecting ui, cli, http api. below displays example of starting that instance: docker run --detach=true --env=vela_addr=https://vela-server.example.com --env=vela_database_encryption_key=<encryption-key> --env=vela_queue_driver=redis --env=vela_queue_addr=redis://<password>@<hostname>:<port>/<database> --env=vela_port=443 --env=vela_secret=<shared-secret> --env=vela_server_private_key=<private_key> --env=vela_secret_vault=true --env=vela_secret_vault_addr=https://vault.example.com --env=vela_secret_vault_token=<vault-token> --env=vela_scm_client=<oauth-client-id> --env=vela_scm_secret=<oauth-client-secret> --env=vela_webui_addr=https://vela.example.com --name=server --publish=80:80 --publish=443:443 --restart=always target/vela-server:latest "},{"url":"https://go-vela.github.io/docs/reference/api/admin/secret/","display":"API/Admin/Secret","title":"Secret","content":"endpoint put /api/v1/admin/secret permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. note: must provide entire secret object, as overwrites existing entry for secret. file "id": 1, "org": "github", "repo": "octocat", "team": "", "name": "foo", "value": "type": "repo", "images": ["alpine"], "events": ["push", "tag"], "allow_command": true, "allow_substitution": "allow_events": "push": "branch": "tag": "delete_branch": false, "delete_tag": false }, "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": true "comment": "schedule": "run": "created_at": 1641314085, "created_by": "octokitty", "updated_at": 1641314500, "updated_by": "octocat" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/admin/secret" response "},{"url":"https://go-vela.github.io/docs/usage/secrets/","display":"Docs/Usage/Secrets","title":"Secrets","content":"page will primarily focus on internal secrets. if you would like to learn more about external secrets, check out the secrets examples page. for broader view of how use your pipeline, tour warning: do not have pull_request event enabled by default. intentional help mitigate exposure via pull request against repo. can override behavior, at own risk, each secret. are generally managed ui cli. they also be api. full pipeline example available here yaml block secrets: name: foo1 key: github/ocotocat/foo engine: native type: repo name key autogenerated based other secret components, following convention (see type). repository: <org>/<repo>/<name> organization: <org>/<name> shared: <org>/<team>/<name> engine designed store database. component exists configuration future-proofing; allowing easier expansion additional options future. type there three types with equivalent paths ui: repository https://vela.example.com/-/secrets/native/repo/<org>/<repo> organization https://vela.example.com/-/secrets/native/org/<org> shared https://vela.example.com/-/secrets/native/shared/<org>/<team> scoped only single repository. order create/modify these must admin within source code manager. github/ocotocat/foo1 any organization. an foo github/foo org manager (scm). unique case require team exist scm org. member team. github/ocotokitties/foo protecting best practices keeping vela safe. log implements masking routine that obfuscates printing value step service logs. example: steps: image: alpine commands: echo $foo1 print *** simply looks logs exactly match content it important consider as protection accidental logging opportunity verbose logging, bad actors. those protections described below. build approval default enabled, triggered users without write access therefore, events, practice adopt policy, which allow admins validate safety pipeline. settings defaults various setting command substitution images events push, tag, deployment command: prevents from being injected into container environment whenever commands custom entrypoint specified. no_commands 'allow command' set false vela/no_commands yes_commands true vela/yes_commands mask alpine:latest no_commands, $no_commands nothing (not injected) $yes_commands substitution: substituted referencing its ${key} format. setting, tandem disallowing commands, attempting bypass vela’s no_substitution substitution' vela/no_substitution yes_substitution vela/yes_substitution docker target/vela-kaniko no_substitution, parameters: build_args: foo=${no_substitution} empty bar=${yes_substitution} bar caveat both fact values. because converts all shell script, substitutions actually rather than runtime substitutions. wget --header="x-auth-token: ${no_substitution}" https://www.example.com ${yes_substitution}" note: plugin expects specific variable, leverage target docker.company.com/my-org/my-plugin github_token source: target: parameter_api_token api_token: ${github_token} much safer practice. images: further protect limiting usage certain images. ensures every time environment, used expected way. specify tag-specific base any_image `images` "any" vela/any_image kaniko_only "target/vela-kaniko" vela/kaniko_only kaniko_username kaniko_password registry: docker.company.com repo: docker.company.com/some/repo tags: ${vela_build_commit:0:8} any_image, $any_image ***, signaling injection $kaniko_only nothing, events: restricted environments webhook events. useful potential opportunities using when necessary. update settings, edit ui. may cli api "},{"url":"https://go-vela.github.io/docs/reference/api/admin/service/","display":"API/Admin/Service","title":"Service","content":"endpoint put /api/v1/admin/service permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. note: must provide entire service object, as overwrites existing entry for service. file "id": 1, "build_id": "repo_id": "number": "name": "clone", "status": "failure", "error": "", "exit_code": 0, "created": 1563475419, "started": 1563475420, "finished": 1563475421 curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/admin/service" response "},{"url":"https://go-vela.github.io/docs/usage/skipping_build/","display":"Docs/Usage/Skipping build","title":"Skipping a Build","content":"to prevent vela from running build for commit, add one of the following your commit title message: [skip ci] [ci skip] vela] [vela ***no_ci*** note: you can use upper lower case. will receive payload source control provider return 200 response with reason why was not triggered. "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/slack/","display":"Registry/Pipeline/Slack","title":"Slack","content":"description plugin enables you to send data slack channel. source code: https://github.com/go-vela/vela-slack registry: https://hub.docker.com/r/target/vela-slack usage note: users should refrain from using latest as the tag for docker image. it recommended use semantically versioned instead. sample of sending message: steps: name: message image: target/vela-slack:latest pull: always parameters: text: "hello world!" with formatting: message-with-formatting not_present repo {{ .repositoryname }}!" local attachment file: message-with-attachment secrets: webhook filepath: slack_attachment.json remote: false remote message-with-remote-attachment true https://github.com content slack_attachment.json: "attachments": "fallback": "required plain-text summary attachment.", "color": "#36a64f", "pretext": "optional text that appears above block", "author_name": "bobby tables", "author_link": "http://flickr.com/bobby/", "author_icon": "http://flickr.com/icons/bobby.jpg", "title": "slack api documentation", "title_link": "https://api.slack.com/", "text": "build: .buildnumber }}", "fields": "priority", "value": "high", "short": ], "image_url": "http://my-website.com/path/to/image.jpg", "thumb_url": "http://example.com/path/to/thumb.png", "footer": api", "footer_icon": "https://platform.slack-edge.com/img/default_application_icon.png", "ts": 123456789 any variables within attachments file must be saved format json file. configuration below pulled almost directly builder example. secrets configuring sensitive information your pipeline plain text. internal accepts following parameters authentication: parameter environment variable parameter_webhook, slack_webhook can vela substitute these values at runtime: webhook: http://slack.example.com example will add secret step variables: slack_webhook=<value> external files volume /vela/parameters/slack/webhook, /vela/secrets/slack/webhook read value stored /vela/secrets/ supports reading all via files. set take precedence over environment. are used configure name required default channel n/a parameter_channel slack_channel filepath path parameter_filepath slack_filepath icon_emoji emoji icon parameter_icon_emoji slack_icon_emoji icon_url url parameter_icon_url slack_icon_url log_level log level info parameter_log_level slack_log_level top display parameter_text slack_text thread_ts timestamp thread post parameter_thread_ts slack_thread_ts parameter_webhook template coming soon! troubleshooting start by tuning logs being displayed: log_level: trace list common problems how solve them: "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/ssh/","display":"Registry/Pipeline/SSH","title":"SSH","content":"description plugin part of the openssh suite plugins which enables you to use ssh binary vela pipeline. source code: https://github.com/go-vela/vela-openssh registry: https://hub.docker.com/r/target/vela-ssh usage because thin wrapper around binary, syntax parameters follow from manual. will take care some basic secrets identity management tasks for you, most importantly that when an file provided as secret place into filesystem change permissions match what expects, then add it list files tried authentication. additionally, if using password passphrase authentication unlocking file, sshpass be used provide those credentials without interactive user input. note: users should refrain latest tag images. recommended semantically versioned instead. with no-auth methods steps: name: image: target/vela-ssh:latest pull: always parameters: destination: a_different_user@some_other_host command: echo "hello vela!" /some/path/to/a/remote/script.sh ssh:// schema non-standard ports port ssh://a_different_user@some_remote_host_name:12345 passing additional flags override default ssh_flag: "-o stricthostkeychecking=yes" secrets: source: my_non_user_account_password target: sshpass_password (without passphrase) internal contents my_non_user_account_id_rsa_file_contents identity_file_contents (with my_non_user_account_id_rsa_passphrase sshpass_passphrase existing workspace identity_file_path: ./some/workspace/location/id_rsa other some_secret_user secret_user some_secret_host secret_host some_secret_port secret_port ssh://$secret_user@$secret_host:$secret_port container logic directly note isn't section. commands: -i ./some/existing/id_rsa username@hostname some-bin & supports reading all via environment variables files. any values set precedence over environment. don’t confuse commands parameter traditional step command option required binary. name accepts multiple values? paths destination parameter_destination parameter_host /vela/parameters/vela-ssh/destination /vela/secrets/vela-ssh/destination parameter_command parameter_script script /vela/parameters/vela-ssh/command /vela/secrets/vela-ssh/command identity_file_path path where look these are not auto created by they must managed only referenced here. parameter_identity_file_path parameter_ssh_key_path ssh_key_path /vela/parameters/vela-ssh/identity-file.path /vela/secrets/vela-ssh/identity-file.path raw ssh. temporary location correct inject during execution. parameter_identity_file_contents parameter_ssh_key ssh_key /vela/parameters/vela-ssh/identity-file.contents /vela/secrets/vela-ssh/identity-file.contents ssh_flag options placed between destination/command at end. -o stricthostkeychecking=no userknownhostsfile=/dev/null parameter_ssh_flag /vela/parameters/vela-ssh/ssh.flag /vela/secrets/vela-ssh/ssh.flag systems require can specified here, conjunction parameter_sshpass_password parameter_password /vela/parameters/vela-ssh/sshpass.password /vela/secrets/vela-ssh/sshpass.password parameter_sshpass_passphrase /vela/parameters/vela-ssh/sshpass.passphrase /vela/secrets/vela-ssh/sshpass.passphrase sshpass_flag parameter_sshpass_flag /vela/parameters/vela-ssh/sshpass.flag /vela/secrets/vela-ssh/sshpass.flag "},{"url":"https://go-vela.github.io/docs/usage/stage_orchestration/","display":"Docs/Usage/Stage orchestration","title":"Stage Orchestration","content":"page will focus on stages how to effectively leverage the orchestration options given users. these are: ruleset key, needs independent key. step rulesets begin, let’s while not key at level, each stage has collection of steps, which can all be rulesets. there are two kinds rules within vela: compile-time (path, event, branch, comment, tag, target, repo) runtime rule (status). when vela compiles pipeline, it purge any steps that do meet rules. for example, consider pipeline written as such: version: "1" stages: build: steps: name: build my code image: golang:latest environment: cgo_enabled: '0' goos: linux commands: go deploy: publish docker image target/vela-kaniko:latest ruleset: event: push branch: main parameters: registry: index.docker.io repo: index.docker.io/octocat/hello-world dry-run: false notify: needs: build, deploy report failure target/vela-slack:latest status: text: "failure!" if triggered branch named issue-123, compiled like this: true notice been pruned completely, rather than being with empty steps. further, since notify normally waits both deploy, situation, only build. still part its consists rule. understanding isn’t sure-fire way running order, introduces level dependency used order stages. however become tricky combined pruning, shown example above. take look theoretical pipeline: run-first: sleep 10 alpine:latest echo "done"" runtime-ruleset-stage: run-first fail "runtime rule" compile-time-ruleset-stage: not-main "never ran" x-stage: runtime-ruleset-stage, compile-time-ruleset-stage who ran 20 $vela_build_author y-stage: what repo $vela_repo_full_name note: aware references by their name, overridden name definition. main. we know indeed run first, followed runtime-ruleset-stage cannot due however, recall from our first entirety stage’s compile-time, disappears completely: so fact, scenario, y-stage begin simultaneously, even though needed original pipeline. leveraging independence increasing popularity monorepos, some pipelines may want simultaneously execute very different flows based modules repository. nature skip remainder single fails could potentially cause issues, such half-done deployments. say have back-end front-end together. assume org/repo/back-end org/repo/front-end. path compartmentalize builds: test-and-build-backend: independent: install pull: always matcher: regexp path: org/repo/back-end/* get ./... test test-and-build-frontend: node node:latest org/repo/front-end/* lint extend deployments, it’s easy see where team one module complete flow there’s another module. summary an advanced tool help writing powerful sensible parallel execution. tools helpful, just using simplify don’t need the, sometimes surprising, complexity. "},{"url":"https://go-vela.github.io/docs/usage/start_build/","display":"Docs/Usage/Start build","title":"Start a Build","content":"if you’ve followed the documentation for enabling repo wrote pipeline (here are some example pipelines), all that should be left to push your repo. build does not trigger when change repo, check webhook response see there an error. "},{"url":"https://go-vela.github.io/docs/reference/api/admin/step/","display":"API/Admin/Step","title":"Step","content":"endpoint put /api/v1/admin/step permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. note: must provide entire step object, as overwrites existing entry for step. file "id": 1, "build_id": "repo_id": "number": "name": "clone", "status": "failure", "error": "", "exit_code": 0, "created": 1563475419, "started": "finished": "host": "company.localhost", "runtime": "docker", "distribution": "linux" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/admin/step" response "},{"url":"https://go-vela.github.io/docs/reference/environment/substitution/","display":"Reference/Environment/Substitution","title":"Substitution","content":"vela imports substitution library to provide the ability expand, substitute, repository build metadata facilitate dynamic pipeline configurations. string operations syntax example with output description ${var^} var=example; echo converts first character of variable uppercase ${var^^} all characters ${var,} lowercase ${var,,} ${var:position} ${var:1} xample extracts substring from starting at position ${var:position:length} ${var:2:3} amp specified length ${var#substring} var=exampleexample; ${var#exa} mpleexample removes shortest match start ${var##substring} ${var##*exa} mple longest ${var%substring} ${var%mple} exampleexa end ${var%%substring} ${var%%mple*} exa ${var/substring/replacement} ${var/exam/ap} appleexample replaces replacement ${var//substring/replacement} ${var//exam/ap} appleapple matches ${var/#substring/replacement} ${var/#exam/ap} apple if starts substring, replace it ${var/%substring/replacement} ${var/%mple/ctly} exactly ends ${#var} returns ${var=default} unset var; default null, will be set ${var:=default} assignment exported ${var:-default} replaced without changing value var note you want play examples above terminal, make sure are bash shell. escaping tip: expressions evaluated before yaml parsed. do not system evaluate an expression must escaped. version: "1" steps: name: commands: does escape evaluation ${vela_build_commit} by adding double '$$' $${vela_build_commit} "},{"url":"https://go-vela.github.io/docs/reference/api/scm/sync/","display":"API/Scm/Sync","title":"Sync","content":"endpoint patch /api/v1/scm/repos/:org/:repo/sync parameters the following are used to configure endpoint: name description org of organization repo repository responses status code 200 indicates request has succeeded 401 user does not have proper permissions sync allows users re-align their vela with its scm mirror. discrepancy can come form that been deleted from but vela. further, as v0.19.0, be adjust events sent vela-instance subscribed to. for example, if your audit page errors like "unable process webhook: <org>/<repo> comment enabled" hitting should re-configure webhook only send allowed. once aligned, you hit again, even changed. sample section assumes already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/scm/repos/github/octocat/sync" response "github/octocat" synced "},{"url":"https://go-vela.github.io/docs/reference/cli/repo/sync/","display":"CLI/Repo/Sync","title":"Sync","content":"command vela sync repo <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization repository vela_org, repo_org vela_repo, repo_name all bool flag repos an vela_sync_all, sync_all also supports setting via configuration file: please review cli config documentation. allows users re-align their with its scm mirror. discrepancy come form that has been deleted from but not vela. further, as v0.19.0, be adjust events sent vela-instance subscribed to. example, if your audit page errors like "unable process webhook: <org>/<repo> does have comment enabled" running should re-configure webhook only send allowed. once aligned, again, even changed. samples section assumes already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response "github/octocat" synced --all "github" "},{"url":"https://go-vela.github.io/docs/reference/api/scm/syncall/","display":"API/Scm/Syncall","title":"SyncAll","content":"endpoint get /api/v1/scm/orgs/:org/sync parameters the following are used to configure endpoint: name description org of organization responses status code 200 indicates request has succeeded 401 user does not have proper permissions sync-all allows users re-align their organization’s repositories vela with scm mirror. discrepancy can come form repository that been deleted from but vela. further, as v0.19.0, be adjust events sent vela-instance repo subscribed to. for example, if your audit page errors like "unable process webhook: <org>/<repo> comment enabled" hitting should re-configure webhook all repos only send allowed. once aligned, you hit again, even changed. sample section assumes already know how authenticate api. api, please review authentication documentation. curl -x patch -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/scm/orgs/github/sync" response "github" synced "},{"url":"https://go-vela.github.io/docs/templates/tutorials/go/vars_template/","display":"Tutorials/Go/Vars template","title":"Template Vars","content":"we recommend reviewing go templates documentation before attempting to create template. if you’re new yaml also the 1.2 spec for validation on syntax. overview template variables can be referenced with following syntax: {{ .name }} sample let’s take look at using within template: metadata: true steps: name: test commands: echo .input image: alpine pull: always ruleset: event: push, pull_request caller of could like: version: "1" templates: source: github.com/<org>/<repo>/path/to/file/<template>.yml type: github vars: input: hello which means compiled pipeline execution worker is: sample_echo "},{"url":"https://go-vela.github.io/docs/templates/tutorials/starlark/vars_template/","display":"Tutorials/Starlark/Vars template","title":"Template Vars","content":"we recommend reviewing starlark spec before attempting to create template. overview template variables can be referenced with the following syntax: ctx['vars'][<name>] sample let’s take look at using within template: def main(ctx): steps [step(x, ctx["vars"]["pull_policy"], ctx["vars"]["commands"]) for ctx["vars"]["tags"]] pipeline 'version': '1', 'steps': steps, return step(tag, pull_policy, commands): "name": "build %s" tag, "image": "golang:%s" "pull": 'commands': commands.values(), caller of could like: version: "1" templates: name: source: github.com/<org>/<repo>/path/to/file/<template>.star format: type: github steps: build vars: tags: [latest, "1.14", "1.15"] pull_policy: always commands: test: "go test ./..." build: build" which means compiled execution on worker is: sample_build latest image: golang:latest pull: go ./... 1.14 golang:1.14 1.15 golang:1.15 "},{"url":"https://go-vela.github.io/docs/reference/api/pipeline/templates/","display":"API/Pipeline/Templates","title":"Templates","content":"endpoint get /api/v1/pipelines/:org/:repo/:pipeline/templates parameters the following are used to configure endpoint: name description org of organization repo repository pipeline commit sha for from output format compiled configuration permissions coming soon! responses status code 200 indicates request has succeeded 400 unable retrieve templates 401 user does not have proper 404 500 system error while retrieving sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/pipelines/github/octocat/48afb5bdc41ad69bf22588491333f7cf71135163/templates" response some_template: link: https://github.com/github/octocat/blob/main/template.yml name: some_template source: github.com/github/octocat/template.yml type: github "some_template": "link": "https://github.com/github/octocat/blob/main/template.yml", "name": "some_template", "source": "github.com/github/octocat/template.yml", "type": "github" }, "},{"url":"https://go-vela.github.io/docs/plugins/registry/pipeline/terraform/","display":"Registry/Pipeline/Terraform","title":"Terraform","content":"description plugin enables you to run terraform against providers vela pipeline. source code: https://github.com/go-vela/vela-terraform registry: https://hub.docker.com/r/target/vela-terraform usage note: users should refrain from using latest as the tag for docker image. it recommended use semantically versioned instead. sample of adding installing version: steps: name: apply image: target/vela-terraform:latest pull: always parameters: action: auto_approve: true required versions 0.12.x 0.11.7 init options configuration: init_options: get_plugins: applying destroying destroy formatting configuration files: fmt planning plan validating validate secrets configuring sensitive information your pipeline plain text. internal can substitute these values at runtime: secrets: terraform_username, terraform_password username: octocat password: supersecretpassword example will add step environment variables: terraform_username=<value> terraform_password=<value> external accepts following files authentication: parameter volume password /vela/parameters/terraform/password, /vela/secrets/terraform/password username /vela/parameters/terraform/username, /vela/secrets/terraform/username read secret stored /vela/secrets/ parameters supports reading all via variables files. any set file take precedence over environment. commands be invoked current directory by default. are used configure name default action perform with n/a parameter_action terraform_action init_options operation false parameter_init_options terraform_init_options log_level log level info parameter_log_level terraform_log_level machine netrc communicate github.com parameter_machine terraform_machine vela_netrc_machine authentication parameter_password vela_netrc_password user parameter_username terraform_username vela_netrc_username version cli 1.2.7 parameter_version terraform_version within backend backend_configs merged what force_copy suppress prompts about copying state data from_module copy contents given module into target before initialization get download modules get_plugins missing plugins input ask if not directly lock when locking supported lock_timeout duration retry no_color disables colors output plugin_dirs containing binaries; overrides search paths reconfigure backend, ignoring saved upgrade install allowed configured constraints verify_plugins verify authenticity integrity automatically downloaded command uses defaults overridden config. auto_approve skip interactive approval resources parameter_auto_approve terraform_auto_approve backup path existing parameter_backup terraform_backup parameter_directory terraform_directory parameter_lock terraform_lock parameter_lock_timeout terraform_lock_timeout parameter_no_color terraform_no_color parallelism number concurrent operations walks its graph parameter_parallelism terraform_parallelism refresh update prior checking differences parameter_refresh terraform_refresh save parameter_state terraform_state state_out write updated parameter_state_out terraform_state_out resource parameter_target terraform_target vars map pass (<key>=<value>) parameter_vars terraform_vars var_files list var parameter_var_files terraform_var_files format check formatted parameter_check terraform_check diff diffs changes parameter_diff terraform_diff whose differs parameter_list terraform_list result instead stdout parameter_write terraform_write managed parameter_destroy terraform_destroy detailed_exit_code return detailed exit codes exits parameter_detailed_exit_code terraform_detailed_exit_code parameter_input terraform_input module_depth specifies depth show parameter_module_depth terraform_module_depth check_variables whether have been specified parameter_check_variables terraform_check_variables template coming soon! troubleshooting start tuning logs being displayed: log_level: trace also instruct verbose logging: environment: tf_log: below common problems how solve them: "},{"url":"https://go-vela.github.io/docs/installation/server/reference/token_manager/","display":"Server/Reference/Token manager","title":"Token Manager","content":"component responsible for generating validating jwt tokens shared between the vela server, workers, users based off configuration provided. token manager designed to ensure secure interactions with server protect build resources. following options are used configure component: name description required default environment variables vela-server-private-key private key signing all true n/a vela_server_private_key user-access-token-duration maximum duration of time access user valid on 15m vela_user_access_token_duration user_access_token_duration user-refresh-token-duration refresh 8h build-token-buffer-duration extends beyond repo limit maintain validity 5m vela_build_token_buffer_duration build_token_buffer_duration worker-auth-token-duration an auth worker false* 20m vela_worker_auth_token_duration worker_auth_token_duration worker-register-token-duration registration 1m vela_worker_register_token_duration worker_register_token_duration notes: if you intend register workers. more information these options, please see reference. "},{"url":"https://go-vela.github.io/docs/usage/workspace/","display":"Docs/Usage/Workspace","title":"Understanding the Workspace","content":"vela uses shared volume model between steps to allow file system during the build process. these volumes should be considered ephemeral sense once completes execution all data via being destroyed. working directory ensures configuration, code, dependencies, compiled binaries are persisted steps. default workspace attached every unique matches below pattern: source: syntax /vela/src/<source_provider/<source org>/<source repo> example /vela/src/github.com/go-vela/hello-world secrets: /vela/secrets/<path>/<key> /vela/secrets/github/username/ /vela/secrets/github/password/ parameters: /vela/parameters/<path>/<key> /vela/parameters/github/repo/settings/topics before you use parameters check plugin authors docs ensure it has support read from /vela/parameters would equivalent following docker commands executed: create build-workspace run --volume=build-workspace:/vela/ <image> cloning automatically checks out repository into local that mounted each container. generally referred as workspace, which defines by build. git clone https://github.com/go-vela/hello-world.git <workspace> cases where your needs special configuration add step at beginning of pipeline adding desired behavior. "},{"url":"https://go-vela.github.io/docs/reference/api/admin/settings/update/","display":"Admin/Settings/Update","title":"Update","content":"endpoint put /api/v1/admin/settings permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper 404 server was unable to retrieve resource 500 failure while processing sample section assumes you already know how authenticate api. api, please review authentication documentation. file "compiler": "clone_image": "target/vela-git:latest", "template_depth": 3, "starlark_exec_limit": 7500 }, "queue": "routes": "vela" "repo_allowlist": "*", ], "schedule_allowlist": "github/octocat", curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/admin/settings" response "id": 1, "created_at": 1715718878, "updated_at": 1715718879, "updated_by": "octocat" "},{"url":"https://go-vela.github.io/docs/reference/api/build/update/","display":"API/Build/Update","title":"Update","content":"endpoint put /api/v1/repos/:org/:repo/builds/:build parameters the following are used to configure endpoint: name description org of organization repo repository build number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "message": "this an updated message" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1" response "id": 1, "repo_id": "number": "parent": "event": "push", "status": "created", "error": "", "enqueued": 1563474077, "created": 1563474076, "started": "finished": 0, "deploy": "clone": "https://github.com/github/octocat.git", "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", "title": "push received from https://github.com/github/octocat", message", "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "sender": "octokitty", "author": "branch": "main", "ref": "refs/heads/main", "base_ref": "host": "company.localhost", "runtime": "docker", "distribution": "linux" "},{"url":"https://go-vela.github.io/docs/reference/api/dashboard/update/","display":"API/Dashboard/Update","title":"Update","content":"endpoint put /api/v1/dashboards/:id permissions coming soon! responses status code description 200 indicates the request has succeeded 400 bad 401 user does not have proper 500 server error sample section assumes you already know how to authenticate api. api, please review authentication documentation. file "id": "f460e0a1-a6a5-4724-89e8-4b2b39e12012", "name": "new-name", "admins": 1, "octocat", "active": true }, "myfriend" ], "repos": "octocat/myvela" "octocat/other-repo" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/dashboards/f460e0a1-a6a5-4724-89e8-4b2b39e12012" response "created_at": 1721251709, "created_by": "updated_at": 1721253772, "updated_by": 2, "myfriend", 293, 294, "},{"url":"https://go-vela.github.io/docs/reference/api/hook/update/","display":"API/Hook/Update","title":"Update","content":"endpoint put /api/v1/hooks/:org/:repo/:hook parameters the following are used to configure endpoint: name description org of organization repo repository hook number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "status": "failure" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/hooks/github/octocat/1" response "id": 1, "repo_id": "build_id": "number": "source_id": "c8da1302-07d6-11ea-882f-4893bca275b8", "created": "1563474076", "host": "github.com", "event": "push", "branch": "main", "error": "", "failure", "link": "" "},{"url":"https://go-vela.github.io/docs/reference/api/pipeline/update/","display":"API/Pipeline/Update","title":"Update","content":"endpoint put /api/v1/pipelines/:org/:repo/:pipeline parameters the following are used to configure endpoint: name description org of organization repo repository pipeline commit sha for from permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "data": "ls0tcnzlcnnpb246icixigokc3rlchm6ciaglsbuyw1loibly2hvciagicbpbwfnztogywxwaw5lomxhdgvzdaogicagzw52axjvbm1lbnq6ciagicagiehftexpoib3b3jszaogicagy29tbwfuzhm6iftly2hvicriruxmt10=" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/pipelines/github/octocat/48afb5bdc41ad69bf22588491333f7cf71135163" response "id": 1, "repo_id": "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "flavor": "", "platform": "ref": "refs/heads/main", "type": "yaml", "version": "1", "external_secrets": false, "internal_secrets": "services": "stages": "steps": true, "templates": "},{"url":"https://go-vela.github.io/docs/reference/api/repo/update/","display":"API/Repo/Update","title":"Update","content":"endpoint put /api/v1/repos/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "allow_tag": true curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/repos/github/octocat" response "id": 1, "user_id": "org": "github", "name": "octocat", "full_name": "github/octocat", "link": "https://github.com/github/octocat", "clone": "https://github.com/github/octocat.git", "branch": "main", "build_limit": 10, "timeout": 60, "counter": 0, "visibility": "public", "private": false, "trusted": true, "active": "allow_pull": "allow_push": "allow_deploy": "allow_comment": "allow_events": "push": "tag": "delete_branch": "delete_tag": false }, "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": "comment": "schedule": "run": "pipeline_type": "yaml" "},{"url":"https://go-vela.github.io/docs/reference/api/schedule/update/","display":"API/Schedule/Update","title":"Update","content":"endpoint put /api/v1/schedules/:org/:repo/:schedule parameters the following are used to configure endpoint: name description org of organization repo repository schedule from permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "active": false curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/schedules/github/octocat/hourly" response "id": 1, "repo": "owner": "name": "octokitty", true }, "org": "github", "full_name": "github/octokitty", "link": "https://github.com/github/octokitty", "clone": "https://github.com/github/octokitty.git", "branch": "main", "topics": [], "build_limit": 10, "timeout": 30, "counter": 0, "visibility": "public", "private": false, "trusted": true, "allow_events": "push": "tag": "delete_branch": "delete_tag": "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": "comment": "schedule": "run": "pipeline_type": "yaml", "previous_name": "", "approve_build": "fork-always" "hourly", "entry": "0 *", "created_at": 1716495910, "created_by": "updated_at": "updated_by": "scheduled_at": "error": "next_run": 1716499800 "},{"url":"https://go-vela.github.io/docs/reference/api/secret/update/","display":"API/Secret/Update","title":"Update","content":"endpoint put /api/v1/secrets/:engine/:type/:org/:name/:secret parameters the following are used to configure endpoint: name description engine of type secret org organization repository team permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "allow_command": false curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/secrets/native/repo/github/octocat/foo" response "id": 1, "org": "github", "repo": "octocat", "team": "", "name": "foo", "value": "type": "repo", "images": ["alpine"], "events": ["push", "tag"], true, "allow_substitution": "allow_events": "push": "branch": "tag": "delete_branch": false, "delete_tag": }, "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": true "comment": "schedule": "run": "created_at": 1641314085, "created_by": "octokitty", "updated_at": 1641314500, "updated_by": "octocat" "},{"url":"https://go-vela.github.io/docs/reference/api/service/update/","display":"API/Service/Update","title":"Update","content":"endpoint put /api/v1/repos/:org/:repo/builds/:build/services/:service parameters the following are used to configure endpoint: name description org of organization repo repository build number service permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "status": "failure" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/services/1" response "id": 1, "build_id": "repo_id": "number": "name": "clone", "failure", "error": "", "exit_code": 0, "created": 1563475419, "started": 1563475420, "finished": 1563475421 "},{"url":"https://go-vela.github.io/docs/reference/api/step/update/","display":"API/Step/Update","title":"Update","content":"endpoint put /api/v1/repos/:org/:repo/builds/:build/steps/:step parameters the following are used to configure endpoint: name description org of organization repo repository build number step permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "status": "failure" curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/steps/1" response "id": 1, "build_id": "repo_id": "number": "name": "clone", "failure", "error": "", "exit_code": 0, "created": 1563475419, "started": "finished": "host": "company.localhost", "runtime": "docker", "distribution": "linux" "},{"url":"https://go-vela.github.io/docs/reference/api/user/current/update/","display":"User/Current/Update","title":"Update","content":"endpoint put /api/v1/user permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. file "admin": true curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/user" response "id": 1, "name": "octokitty", "token": null, "favorites": ["github/octocat"], "active": true, "},{"url":"https://go-vela.github.io/docs/reference/api/user/update/","display":"API/User/Update","title":"Update","content":"endpoint put /api/v1/users/:user parameters the following are used to configure endpoint: name description user of permissions coming soon! responses status code 200 indicates request has succeeded 401 does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. file "admin": true curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/users/octokitty" response "id": 1, "name": "octokitty", "token": null, "favorites": ["github/octocat"], "active": true, "},{"url":"https://go-vela.github.io/docs/reference/cli/config/update/","display":"CLI/Config/Update","title":"Update","content":"command vela update config <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables api.addr updates api address field vela_addr, config_addr api.token.access access token vela_access_token, config_access_token api.token.refresh refresh vela_refresh_token, config_refresh_token api.token vela_token, config_token api.version version vela_api_version, config_api_version log.level log level vela_log_level, config_log_level output vela_output, config_output org vela_org, config_org repo vela_repo, config_repo secret.engine secret engine vela_engine, config_engine secret.type type vela_type, config_type permissions coming soon! sample section assumes have already installed setup cli. install cli, please review installation documentation. authentication request --org github response api: addr: https://vela.example.com access_token: supersecretaccesstoken refresh_token: supersecretrefreshtoken version: v1 log: level: info no-git: "false" secret: {} org: "},{"url":"https://go-vela.github.io/docs/reference/cli/dashboard/update/","display":"CLI/Dashboard/Update","title":"Update","content":"command vela update dashboard <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables id uuid vela_dashboard_id, dashboard_id vela_dashboard_name, dashboard_name add-repos list of repositories add vela_dashboard_add_repos, dashboard_add_repos drop-repos remove from vela_dashboard_drop_repos, dashboard_drop_repos target-repos target updates vela_dashboard_target_repos, dashboard_target_repos add-admins admins vela_dashboard_add_admins, dashboard_add_admins drop-admins vela_dashboard_drop_admins, dashboard_drop_admins branches filter builds all by branch vela_dashboard_repos_branch, dashboard_repos_branch events event vela_dashboard_repos_event, dashboard_repos_event output format vela_output, dashboard_output also supports setting via configuration file: please review cli config documentation. sample section assumes have already installed setup cli. install cli, installation authentication request --id d3040cd7-9bb6-45d1-a2a1-d794483a902c --name 'octocat dev branches' --target-repos octocat/hello-world,octocat/spoon-knife --branches response name: octocat branches, id: d3040cd7-9bb6-45d1-a2a1-d794483a902c, admins: [{ active: true, admin: false, dashboards: [], favorites: 1, octokitty, token: }], createdat: 1716572402, createdby: updatedat: updatedby: repos: octocat/hello-world, branches: [dev], events: octocat/spoon-knife, 2, examples examples: 1. repository. c8da1302-07d6-11ea-882f-4893bca275b8 --add-repos org-1/repo-1 2. --drop-repos 3. filters specific repositories. org-1/repo-1,org-2/repo-2 main --events push 4. change name. mydashboard 5. an admin. --add-admins johndoe 6. --drop-admins "},{"url":"https://go-vela.github.io/docs/reference/cli/repo/update/","display":"CLI/Repo/Update","title":"Update","content":"command vela update repo <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization repository vela_org, repo_org vela_repo, repo_name branch default vela_branch, repo_branch link full url vela_link, repo_link clone vela_clone, repo_clone visibility access level required view vela_visibility, repo_visibility build.limit limit concurrent builds allowed vela_build_limit, repo_build_limit timeout max time per build vela_timeout, repo_timeout counter set value new number vela_counter, repo_counter private disables public vela_private, repo_private trusted elevates permissions vela_trusted, repo_trusted active enables/disables vela_active, repo_active event events trigger vela_events, repo_events pipeline-type type base pipeline compiler render vela_pipeline_type, pipeline_type output format vela_output, repo_output also supports setting via configuration file: please review cli config documentation. as v0.23.0, flag an overwrite/clobber operation. --org github --repo octocat --event tag above will only tag. be sure specify all when updating cli. coming soon! sample section assumes have already installed setup install cli, installation authentication request pwd ~/github/octocat targeted response id: userid: org: name: fullname: github/octocat link: https://github.com/github/octocat clone: https://github.com/github/octocat.git branch: main buildlimit: 10 timeout: 60 counter: visibility: private: false trusted: active: true allowpull: allowpush: allowdeploy: allowtag: allowcomment: allowevents: [tag] pipelinetype: yaml "},{"url":"https://go-vela.github.io/docs/reference/cli/schedule/update/","display":"CLI/Schedule/Update","title":"Update","content":"command vela update schedule <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, schedule_org repo repository vela_repo, schedule_repo vela_schedule, schedule_name entry frequency vela_entry, schedule_entry active enables/disables vela_active, schedule_active output format vela_output, schedule_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --name hourly --active false targeted --org github --repo octocat --output json response "id": 1, "repo": "owner": "name": "octokitty", "active": true }, "org": "github", "full_name": "github/octokitty", "link": "https://github.com/github/octokitty", "clone": "https://github.com/github/octokitty.git", "branch": "main", "topics": [], "build_limit": 10, "timeout": 30, "counter": 0, "visibility": "public", "private": false, "trusted": true, "allow_events": "push": "tag": "delete_branch": "delete_tag": "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": "comment": "schedule": "run": "pipeline_type": "yaml", "previous_name": "", "approve_build": "fork-always" "hourly", "entry": "0 *", "created_at": 1716495910, "created_by": "updated_at": "updated_by": "scheduled_at": "error": "next_run": 1716499800 examples examples: 1. with disabled. myorg myrepo --schedule 2. new entry. nightly --entry '@nightly' 3. when set. "},{"url":"https://go-vela.github.io/docs/reference/cli/secret/update/","display":"CLI/Secret/Update","title":"Update","content":"command vela update secret <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, secret_org repo repository vela_repo, secret_repo secret.engine engine that stores vela_engine. secret_engine secret.type type being stored vela_type, secret_type team vela_team, secret_team vela_name, secret_name value vela_value, secret_value image build image(s) access vela_images, secret_images event event(s) vela_events, secret_events commands allows step with vela_commands, secret_commands substitution using ${key} format vela_substitution, secret_substitution file add secret(s) vela_file, secret_file output vela_output, secret_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --secret.engine native --secret.type --name foo --value bar targeted --org github --repo octocat response "foo" was updated advanced input from updating single-line multi-line symbol. syntax @/path/to/file example @$home/tmp/secret.txt secrets multiple filename parameter. -f secret.yml single yaml document --- metadata: version: v1 engine: secrets: org: repo: name: value: type: images: golang:latest events: push pull_request team: octokitties foo1 "@/path/to/file/bar1" shared vault "},{"url":"https://go-vela.github.io/docs/reference/cli/settings/update/","display":"CLI/Settings/Update","title":"Update","content":"command vela update settings <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables compiler.clone-image image by compiler clone repositories vela_compiler_clone_image compiler.template-depth maximum depth of nested templates vela_compiler_template_depth compiler.starlark-exec-limit execution limit starlark vela_compiler_starlark_exec_limit queue.add-route add route queue vela_queue_add_routes queue.drop-route drop from vela_queue_drop_routes add-repo repository global allowlist vela_repo_allowlist_add_repos drop-repo vela_repo_allowlist_drop_repos add-schedule schedules vela_schedule_allowlist_add_repos drop-schedule vela_schedule_allowlist_drop_repos file path json/yaml containing updates vela_file permissions coming soon! sample section assumes have already installed setup cli. install cli, please review installation documentation. authentication request pwd ~/github/octocat --compiler.clone-image target/vela-git:abc123 --queue.add-route large response id: compiler: clone_image: target/vela-git:latest template_depth: starlark_exec_limit: 7500 queue: routes: repo_allowlist: 'github/octocat' schedule_allowlist: '*' created_at: updated_at: 1715791151 updated_by: octocat advanced input supports updating record using symbol. syntax --file @/path/to/file example @$home/tmp/settings.yml single yaml document --- platform: "},{"url":"https://go-vela.github.io/docs/reference/cli/worker/update/","display":"CLI/Worker/Update","title":"Update","content":"command vela update worker <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables worker.address address of vela_worker_address, worker_address worker.hostname hostname vela_worker_hostname, worker_hostname active current status (unused) vela_worker_active, worker_active build-limit build limit (ignored) vela_worker_build_limit, worker_build_limit routes route assignment vela_worker_routes, worker_routes output format vela_output, worker_output also supports setting via configuration file: please review cli config documentation. permissions platform admin sample section assumes have already installed setup cli. install cli, installation authentication request --worker.hostname myworker --worker.address newaddress.example.com response id: 1, hostname: myworker, address: newaddress.example.com, routes: [vela], active: true, status: busy, laststatusupdateat: 1681486769, runningbuildids: [123], lastbuildstartedat: lastbuildfinishedat: lastcheckedin: buildlimit: "},{"url":"https://go-vela.github.io/docs/reference/api/admin/user/","display":"API/Admin/User","title":"User","content":"endpoint put /api/v1/admin/user permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. note: must provide entire service object, as overwrites existing entry for service. file "id": 1, "name": "octokitty", "token": null, "favorites": ["github/octocat"], "active": true, "admin": true curl -x -h "authorization: bearer <token>" "content-type: application/json" -d "@data.json" "http://127.0.0.1:8080/api/v1/admin/user" response "},{"url":"https://go-vela.github.io/docs/usage/environment/","display":"Docs/Usage/Environment","title":"Using the Environment","content":"vela provides the ability to define environment variables scoped individual steps, services secrets. additionally, if you need global can set it at parent have injected all containers. please note designed be unique per container. does inject variety of default values from build, repo user information. defaults: container steps only usage following pipeline concepts are being used below: stages secrets origin note: warned that ${variable} expressions subject pre-processing. do not want pre-processor evaluate your expression must escaped. version: "1" environment: global_example: hello, world globally! services: name: redis local_example: world! image: redis:latest stages: first_stage: stage_example: "all world's stage!" steps: check status commands: use bash commands in-line override export example="hello team" echo ${example} ${stage_example} ${global_example} secrets: origin: private vault target/secret-vault:latest example: vault_token parameters: addr: vault.example.com auth_method: token username: octocat items: source: secret/docker path: docker by injection affects containers ran within pipeline. however, some types receive configuration limit which get them adding declaration into metadata. valid for metadata yaml key metadata: longer available since "secrets" was removed as value metadata.environment block. "},{"url":"https://go-vela.github.io/docs/reference/api/pipeline/validate/","display":"API/Pipeline/Validate","title":"Validate","content":"endpoint post /api/v1/pipelines/:org/:repo/:pipeline/validate parameters the following are used to configure endpoint: name description org of organization repo repository pipeline commit sha for from output format compiled configuration permissions coming soon! responses status code 200 indicates request has succeeded 400 unable retrieve validate templates 401 user does not have proper 404 500 system error while retrieving validating sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/pipelines/github/octocat/48afb5bdc41ad69bf22588491333f7cf71135163/validate" response "pipeline valid" "},{"url":"https://go-vela.github.io/docs/reference/cli/pipeline/validate/","display":"CLI/Pipeline/Validate","title":"Validate","content":"command vela validate pipeline <parameters...> <arguments...> for more information, please run --help. parameters the following are used to configure command: name description environment variables org of organization builds vela_org, build_org pipeline-type provide repository type vela_pipeline_type, pipeline_type repo vela_repo, build_repo compiler-starlark-exec-limit set starlark execution step limit compiling pipelines (default 7500) vela_compiler_starlark_exec_limit, compiler_starlark_exec_limit file vela_file, pipeline_file max-template-depth maximum depth nested templates (default: 3) vela_max_template_depth, max_template_depth path vela_path, pipeline_path ref reference vela_ref, pipeline_ref remote enables validating on server vela_remote, pipeline_remote template be included validation vela_template, pipeline_template template-file using local expansion vela_template_file, pipeline_template_file branch build vela_branch, pipeline_branch, vela_build_branch comment vela_comment, pipeline_comment, vela_build_comment event vela_event, pipeline_event, vela_build_event file-changeset list files changed ruleset matching vela_file_changeset, file_changeset status expected success) vela_status, pipeline_status, vela_build_status tag vela_tag, pipeline_tag, vela_build_tag target vela_target, pipeline_target, vela_build_target clone-image clone image use injected vela_clone_image, compiler_clone_image compiler.github.token github compiler token vela_compiler_github_token, compiler_github_token compiler.github.url url, by compiler, pulling registry vela_compiler_github_url, compiler_github_url permissions coming soon! sample section assumes you have already installed setup cli. install cli, review installation documentation. authentication simple request expanded (github) --template --compiler.github.token <token> --compiler.github.url https://git.example.com (local) --template-file name:/path/to/file response ".vela.yml" valid your pipeline? can also. "},{"url":"https://go-vela.github.io/docs/reference/environment/variables/","display":"Reference/Environment/Variables","title":"Variables","content":"container defaults the following environment variables are injected into every step, service, secret container. build key value explanation vela_build_approved_at 1556720958 unix timestamp representing when was approved vela_build_approved_by repoadmin user who vela_build_author octocat author from source commit vela_build_author_email octocat@github.com email commit, available only push events vela_build_base_ref refs/heads/dev reference base vela_build_branch main branch vela_build_channel vela queue channel published to vela_build_clone https://github.com/octocat/hello-world.git clone url for repository triggered vela_build_commit 7fd1a60b01f91b314f59955a4e4d4e80d8edf11d sha vela_build_created creation time vela_build_distribution linux distribution where executed vela_build_enqueued enqueued vela_build_event webhook event that vela_build_event_action created action vela_build_host vela-worker-1 fully qualified domain name of worker on vela_build_link https://vela.example.com/octocat/hello-world/1 link ui vela_build_message merge pull request #6 octocat/patch-1 message vela_build_number number vela_build_parent previous vela_build_ref refs/heads/main vela_build_runtime docker runtime vela_build_sender nealcoleman vela_build_started 1556730001 start vela_build_source https://github.com/octocat/hello-world/commit/7fd1a60b01f91b314f59955a4e4d4e80d8edf11d full vela_build_status success status vela_build_title received https://github.com/octocat/hello-world title vela_build_workspace /vela/src/github.com/octocat/hello-world working directory comment table includes during event. vela_build_pull_request populated vela_pull_request vela_pull_request_source dev vela_pull_request_target target deployment all custom parameters passed with deployment_parameter_ prefix key. vela_build_target production vela_deployment vela_deployment_number 12345 id pull_request tag vela_build_tag v1.0.0 true vela_addr vela.example.com server vela_channel vela_database postgres database connected vela_host vela_queue redis vela_runtime vela_source github vela_version v0.1.0 version vela_workspace /vela/src/github.com/github/octocat/hello-world ci indicates vela_repo_active active setting vela_repo_allow_comment false enabled vela_repo_allow_deploy deploy vela_repo_allow_pull vela_repo_allow_push vela_repo_allow_tag vela_repo_branch default vela_repo_build_limit 10 limit concurrent builds vela_repo_clone vela_repo_full_name octocat/hello-world vela_repo_link direct vela_repo_name hello-world vela_repo_org org vela_repo_private privacy vela_repo_timeout 30 timeout vela_repo_topics cloud,security comma-separated list topics vela_repo_trusted trusted vela_repo_visibility public visibility vela_user_active vela_user_admin admin platform vela_user_favorites "octocat/hello-world" favorites starred vela_user_name handle step vela_step_created vela_step_distribution vela_step_exit_code exit code starts vela_step_host vela_step_image target/vela-git:latest image vela_step_name vela_step_number within pipeline vela_step_report_as cypress tests context which publish reflects vela_step_runtime vela_step_stage stage belongs vela_step_started vela_step_status service vela_service_created vela_service_distribution vela_service_exit_code vela_service_host vela_service_image vela_service_name vela_service_number vela_service_runtime vela_service_started vela_service_status "},{"url":"https://go-vela.github.io/docs/plugins/registry/secret/vault/","display":"Registry/Secret/Vault","title":"Vault","content":"description plugin enables the ability pull secrets from vault into secret mount within vela pipeline. source code: https://github.com/go-vela/secret-vault registry: https://hub.docker.com/r/target/secret-vault usage sample of retrieving using token authentication: secrets: origin: name: image: target/vela/secret-vault:latest parameters: addr: vault.company.com token: supersecretvaulttoken auth_method: items: written to path: "/vela/secrets/docker/<key>" source: secret/vela/username docker ldap username: octocat password: supersecretpassword reading authentication with verbose logging: log_level: trace writing it multiple paths new key: supersecrettoken target: vault_token assume user_a has two keys: `id` `token`, but we want be `username` `password` will write `/vela/secrets/kaniko/username` `/vela/secrets/kaniko/password` also `/vela/secrets/artifactory/username` `/vela/secrets/artifactory/password` secret/vela/user_a kaniko, artifactory id: username password note: users should refrain configuring sensitive information your pipeline plain text. used must exist as secrets. you can use substitute values at runtime: repo created example method secret: parameters following are configure name required default addr address instance true n/a auth_method for interfacing (i.e. token, ldap) log_level set log level info server false items retrieve workspace path desired file under vela/secrets/ directory keys override (map type) key template coming soon! troubleshooting below list common problems how solve them: "},{"url":"https://go-vela.github.io/docs/reference/api/admin/settings/view/","display":"Admin/Settings/View","title":"View","content":"endpoint get /api/v1/admin/settings permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper 404 server was unable to retrieve resource sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/admin/settings" response "id": 1, "compiler": "clone_image": "target/vela-git:latest", "template_depth": 3, "starlark_exec_limit": 7500 }, "queue": "routes": "vela" "repo_allowlist": "*", ], "schedule_allowlist": "github/octocat", "created_at": 1715718878, "updated_at": 1715718879, "updated_by": "octocat" "},{"url":"https://go-vela.github.io/docs/reference/api/build/view/","display":"API/Build/View","title":"View","content":"endpoint get /api/v1/repos/:org/:repo/builds/:build parameters the following are used to configure endpoint: name description org of organization repo repository build number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1" response "id": 1, "repo_id": "number": "parent": "event": "push", "status": "created", "error": "", "enqueued": 1563474077, "created": 1563474076, "started": "finished": 0, "deploy": "clone": "https://github.com/github/octocat.git", "source": "https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163", "title": "push received from https://github.com/github/octocat", "message": "first commit...", "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "sender": "octokitty", "author": "branch": "main", "ref": "refs/heads/main", "base_ref": "host": "company.localhost", "runtime": "docker", "distribution": "linux" alternative (by id) /api/v1/search/builds/:id id unique vela "http://127.0.0.1:8080/api/v1/search/builds/1" "},{"url":"https://go-vela.github.io/docs/reference/api/deployment/view/","display":"API/Deployment/View","title":"View","content":"endpoint get /api/v1/deployments/:org/:repo/:deployment parameters the following are used to configure endpoint: name description org of organization repo repository deployment number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/deployments/github/octocat/1" response "id": 1, "repo_id": "url": "https://api.github.com/repos/github/octocat/deployments/1", "user": "octocat", "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "ref": "main", "task": "deploy:vela", "target": "production", "description": "deployment from vela" "},{"url":"https://go-vela.github.io/docs/reference/api/hook/view/","display":"API/Hook/View","title":"View","content":"endpoint get /api/v1/hooks/:org/:repo/:hook parameters the following are used to configure endpoint: name description org of organization repo repository hook number permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/hooks/github/octocat/1" response "id": 1, "repo_id": "build_id": "number": "source_id": "c8da1302-07d6-11ea-882f-4893bca275b8", "created": "1563474076", "host": "github.com", "event": "push", "branch": "main", "error": "", "status": "success", "link": "" "},{"url":"https://go-vela.github.io/docs/reference/api/pipeline/view/","display":"API/Pipeline/View","title":"View","content":"endpoint get /api/v1/pipelines/:org/:repo/:pipeline parameters the following are used to configure endpoint: name description org of organization repo repository pipeline commit sha for from permissions coming soon! responses status code 200 indicates request has succeeded 400 unable retrieve configuration 401 user does not have proper 404 sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/pipelines/github/octocat/48afb5bdc41ad69bf22588491333f7cf71135163" response "id": 1, "repo_id": "commit": "48afb5bdc41ad69bf22588491333f7cf71135163", "flavor": "", "platform": "ref": "refs/heads/main", "type": "yaml", "version": "1", "external_secrets": false, "internal_secrets": "services": "stages": "steps": true, "templates": "data": "ls0tcnzlcnnpb246icixigokc3rlchm6ciaglsbuyw1loibly2hvciagicbpbwfnztogywxwaw5lomxhdgvzdaogicagy29tbwfuzhm6iftly2hvigzvb10=" "},{"url":"https://go-vela.github.io/docs/reference/api/repo/view/","display":"API/Repo/View","title":"View","content":"endpoint get /api/v1/repos/:org/:repo parameters the following are used to configure endpoint: name description org of organization repo repository permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat" response "id": 1, "user_id": "org": "github", "name": "octocat", "full_name": "github/octocat", "link": "https://github.com/github/octocat", "clone": "https://github.com/github/octocat.git", "branch": "main", "build_limit": 10, "timeout": 60, "counter": 0, "visibility": "public", "private": false, "trusted": true, "active": "allow_pull": "allow_push": "allow_deploy": "allow_tag": "allow_comment": "allow_events": "push": "tag": "delete_branch": "delete_tag": false }, "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": true "comment": "schedule": "run": "pipeline_type": "yaml" "},{"url":"https://go-vela.github.io/docs/reference/api/schedule/view/","display":"API/Schedule/View","title":"View","content":"endpoint get /api/v1/schedules/:org/:repo/:schedule parameters the following are used to configure endpoint: name description org of organization repo repository schedule from permissions coming soon! responses status code 200 indicates request has succeeded 400 unable retrieve 401 user does not have proper 404 sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/schedules/github/octocat/hourly" response "id": 1, "repo": "owner": "name": "octokitty", "active": true }, "org": "github", "full_name": "github/octokitty", "link": "https://github.com/github/octokitty", "clone": "https://github.com/github/octokitty.git", "branch": "main", "topics": [], "build_limit": 10, "timeout": 30, "counter": 0, "visibility": "public", "private": false, "trusted": true, "allow_events": "push": "tag": "delete_branch": "delete_tag": false "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": "comment": "schedule": "run": "pipeline_type": "yaml", "previous_name": "", "approve_build": "fork-always" "hourly", "entry": "0 *", "created_at": 1716495910, "created_by": "updated_at": "updated_by": "scheduled_at": "error": "next_run": 1716499800 "},{"url":"https://go-vela.github.io/docs/reference/api/secret/view/","display":"API/Secret/View","title":"View","content":"endpoint get /api/v1/secrets/:engine/:type/:org/:name/:secret parameters the following are used to configure endpoint: name description engine of type secret org organization repository team permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/secrets/native/repo/github/octocat/foo" response "id": 1, "org": "github", "repo": "octocat", "team": "", "name": "foo", "value": "type": "repo", "images": ["alpine"], "events": ["push"], "allow_command": true, "allow_substitution": "allow_events": "push": "branch": "tag": "delete_branch": false, "delete_tag": false }, "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": true "comment": "schedule": "run": "created_at": 1641314085, "created_by": "octokitty", "updated_at": 1641314500, "updated_by": "octocat" "},{"url":"https://go-vela.github.io/docs/reference/api/service/view/","display":"API/Service/View","title":"View","content":"endpoint get /api/v1/repos/:org/:repo/builds/:build/services/:service parameters the following are used to configure endpoint: name description org of organization repo repository build number service permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/services/1" response "id": 1, "build_id": "repo_id": "number": "name": "clone", "status": "success", "error": "", "exit_code": 0, "created": 1563475419, "started": 1563475420, "finished": 1563475421 "},{"url":"https://go-vela.github.io/docs/reference/api/step/view/","display":"API/Step/View","title":"View","content":"endpoint get /api/v1/repos/:org/:repo/builds/:build/steps/:step parameters the following are used to configure endpoint: name description org of organization repo repository build number step permissions coming soon! responses status code 200 indicates request has succeeded 401 user does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/repos/github/octocat/builds/1/steps/1" response "id": 1, "build_id": "repo_id": "number": "name": "clone", "status": "success", "error": "", "exit_code": 0, "created": 1563475419, "started": "finished": "host": "company.localhost", "runtime": "docker", "distribution": "linux" "},{"url":"https://go-vela.github.io/docs/reference/api/user/current/view/","display":"User/Current/View","title":"View","content":"endpoint get /api/v1/user permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/user" response "id": 1, "name": "octokitty", "token": null, "favorites": ["github/octocat"], "active": true, "admin": false "},{"url":"https://go-vela.github.io/docs/reference/api/user/view/","display":"API/User/View","title":"View","content":"endpoint get /api/v1/users/:user parameters the following are used to configure endpoint: name description user of permissions coming soon! responses status code 200 indicates request has succeeded 401 does not have proper sample section assumes you already know how authenticate api. api, please review authentication documentation. curl -x -h "authorization: bearer <token>" "http://127.0.0.1:8080/api/v1/users/octokitty" response "id": 1, "name": "octokitty", "token": null, "favorites": ["github/octocat"], "active": true, "admin": false "},{"url":"https://go-vela.github.io/docs/reference/cli/build/view/","display":"CLI/Build/View","title":"View","content":"command vela view build <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, build_org repo repository vela_repo, build_repo number vela_build, build_number output format vela_output, build_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build targeted --org github --repo octocat response id: repo_id: number: parent: event: push status: created error: "" populates when platform runs into an error with enqueued: 1563474077 created: 1563474076 started: finished: deploy: clone: https://github.com/github/octocat.git source: https://github.com/github/octocat/commit/48afb5bdc41ad69bf22588491333f7cf71135163 title: received from https://github.com/github/octocat message: first commit... commit: 48afb5bdc41ad69bf22588491333f7cf71135163 sender: octokitty author: branch: main ref: refs/heads/main baseref: host: "company.localhost" runtime: "docker" distribution: "linux" "},{"url":"https://go-vela.github.io/docs/reference/cli/config/view/","display":"CLI/Config/View","title":"View","content":"command vela view config <arguments...> for more information, you can run --help. permissions coming soon! sample section assumes have already installed setup the cli. to install cli, please review installation documentation. authentication request response api: addr: https://vela.example.com access_token: supersecretaccesstoken refresh_token: supersecretrefreshtoken version: v1 log: level: info no-git: "false" secret: {} "},{"url":"https://go-vela.github.io/docs/reference/cli/dashboard/view/","display":"CLI/Dashboard/View","title":"View","content":"command vela view dashboard <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables id uuid vela_dashboard_id, dashboard_id full output repo build information vela_full, dashboard_full format vela_output, repo_output also supports setting via configuration file: please review cli config documentation. sample section assumes have already installed setup cli. install cli, installation authentication request --id d3040cd7-9bb6-45d1-a2a1-d794483a902c response name: octocat main branches, id: d3040cd7-9bb6-45d1-a2a1-d794483a902c, admins: [{ active: true, admin: false, dashboards: [], favorites: 1, octokitty, token: }], createdat: 1716572402, createdby: updatedat: updatedby: repos: octocat/hello-world, branches: [main], events: octocat/spoon-knife, 2, examples examples: 1. dashboard. c8da1302-07d6-11ea-882f-4893bca275b8 2. with information. --full "},{"url":"https://go-vela.github.io/docs/reference/cli/deployment/view/","display":"CLI/Deployment/View","title":"View","content":"command vela view deployment <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, deployment_org repo repository vela_repo, deployment_repo number vela_deployment, deployment_number output format vela_output, deployment_output also supports setting via configuration file: please review cli config documentation. sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --deployment targeted --org github --repo octocat response generated from successful id: repo_id: url: https://api.github.com/repos/github/octocat/deployments/1 user: commit: 48afb5bdc41ad69bf22588491333f7cf71135163 ref: main task: deploy:vela target: production description: examples examples: 1. details repository. myorg myrepo 2. with json output. --output 3. set. "},{"url":"https://go-vela.github.io/docs/reference/cli/hook/view/","display":"CLI/Hook/View","title":"View","content":"command vela view hook <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, hook_org repo repository vela_repo, hook_repo number vela_hook, hook_number output format vela_output, hook_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --hook targeted --org github --repo octocat response id: repo_id: build_id: number: source_id: c8da1302-07d6-11ea-882f-4893bca275b8 created: 1563475419 host: github.com event: push branch: main error: status: success link: https://github.com/github/octocat/settings/hooks/1 "},{"url":"https://go-vela.github.io/docs/reference/cli/log/view/","display":"CLI/Log/View","title":"View","content":"command vela view log <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, log_org repo repository vela_repo, log_repo build number vela_build, log_build service vela_service, log_service step vela_step, log_step output format logs vela_output, log_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build --step targeted --org github --repo octocat response git init initialized empty /vela/src/github.com/github/octocat/.git/ remote add origin https://github.com/github/octocat.git --verbose (fetch) (push) fetch --no-tags refs/heads/main from https://github.com/github/octocat branch main -> fetch_head [new branch] origin/main reset --hard afafce5e33a8efd4340613b31a953107d6dec3a3 head now at afafce5 dummy commit "},{"url":"https://go-vela.github.io/docs/reference/cli/repo/view/","display":"CLI/Repo/View","title":"View","content":"command vela view repo <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization repository vela_org, repo_org vela_repo, repo_name output format vela_output, repo_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat targeted --org github --repo octocat response id: userid: org: name: fullname: github/octocat link: https://github.com/github/octocat clone: https://github.com/github/octocat.git branch: main buildlimit: 10 timeout: 60 counter: visibility: public private: false trusted: active: true allowpull: allowpush: allowdeploy: allowtag: allowcomment: pipelinetype: yaml "},{"url":"https://go-vela.github.io/docs/reference/cli/schedule/view/","display":"CLI/Schedule/View","title":"View","content":"command vela view schedule <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, schedule_org repo repository vela_repo, schedule_repo vela_schedule, schedule_name output format vela_output, schedule_output also supports setting via configuration file: please review cli config documentation. sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --schedule hourly targeted --org github --repo octocat --output json response "id": 1, "repo": "owner": "name": "octokitty", "active": true }, "org": "github", "full_name": "github/octokitty", "link": "https://github.com/github/octokitty", "clone": "https://github.com/github/octokitty.git", "branch": "main", "topics": [], "build_limit": 10, "timeout": 30, "counter": 0, "visibility": "public", "private": false, "trusted": true, "allow_events": "push": "tag": "delete_branch": "delete_tag": false "pull_request": "opened": "edited": "synchronize": "reopened": "labeled": "unlabeled": "deployment": "created": "comment": "schedule": "run": "pipeline_type": "yaml", "previous_name": "", "approve_build": "fork-always" "hourly", "entry": "0 *", "created_at": 1716495910, "created_by": "updated_at": "updated_by": "scheduled_at": "error": "next_run": 1716499800 examples examples: 1. details repository. myorg myrepo 2. with output. 3. when set. "},{"url":"https://go-vela.github.io/docs/reference/cli/secret/view/","display":"CLI/Secret/View","title":"View","content":"command vela view secret <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, secret_org repo repository vela_repo, secret_repo secret.engine engine that stores vela_engine. secret_engine secret.type type being stored vela_type, secret_type team vela_team, secret_team vela_name, secret_name output format vela_output, secret_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --secret.engine native --secret.type --name foo targeted --org github --repo octocat response id: org: repo: team: "" name: value: "[secure]" type: images: null events: push pull_request allowcommand: true createdat: 1641312765 createdby: octokitty updatedat: updatedby: "},{"url":"https://go-vela.github.io/docs/reference/cli/service/view/","display":"CLI/Service/View","title":"View","content":"command vela view service <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, service_org repo repository vela_repo, service_repo build number vela_build, service_build vela_service, service_number output format vela_output, service_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build --service targeted get --org github --repo octocat response id: build_id: repo_id: number: name: clone status: success error: "" exitcode: created: 1561748980 started: 1561748979 finished: 1561748981 host: "worker.host.com" runtime: "docker" distribution: "linux" "},{"url":"https://go-vela.github.io/docs/reference/cli/settings/view/","display":"CLI/Settings/View","title":"View","content":"command vela view settings for more information, you can run --help. permissions coming soon! sample section assumes have already installed setup the cli. to install cli, please review installation documentation. authentication request pwd ~/github/octocat response id: compiler: clone_image: target/vela-git:latest template_depth: starlark_exec_limit: 7500 queue: routes: repo_allowlist: 'github/octocat' schedule_allowlist: '*' created_at: updated_at: 1715791151 updated_by: octocat "},{"url":"https://go-vela.github.io/docs/reference/cli/step/view/","display":"CLI/Step/View","title":"View","content":"command vela view step <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables org of organization vela_org, step_org repo repository vela_repo, step_repo build number vela_build, step_build vela_step, step_number output format vela_output, step_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request pwd ~/github/octocat --build --step targeted --org github --repo octocat response id: build_id: repo_id: number: name: clone status: success error: "" populates when platform runs into an error with exitcode: created: 1561748980 started: 1561748979 finished: 1561748981 host: "worker.host.com" runtime: "docker" distribution: "linux" "},{"url":"https://go-vela.github.io/docs/reference/cli/worker/view/","display":"CLI/Worker/View","title":"View","content":"command vela view worker <parameters...> <arguments...> for more information, you can run --help. parameters the following are used to configure command: name description environment variables worker.hostname hostname of vela_worker_hostname, worker_hostname worker.registration.token generate registration token (requires platform admin) vela_worker_registration_token, worker_registration_token output format repository vela_output, worker_output also supports setting via configuration file: please review cli config documentation. permissions coming soon! sample section assumes have already installed setup cli. install cli, installation authentication request --worker.hostname myworker response id: hostname: address: myworker.example.com routes: active: true status: busy laststatusupdatedat: 1681487969 runningbuildids: 123 lastbuildstartedat: lastbuildfinishedat: lastcheckedin: buildlimit: "},{"url":"https://go-vela.github.io/docs/reference/api/admin/worker/","display":"API/Admin/Worker","title":"Worker","content":"endpoint post /api/v1/admin/workers/:worker/register-token permissions coming soon! responses status code description 200 indicates the request has succeeded 401 user does not have proper sample section assumes you already know how to authenticate api. api, please review authentication documentation. curl -x put -h "authorization: bearer <token>" "content-type: application/json" "http://127.0.0.1:8080/api/v1/admin/workers/worker_1/register-token" response "token": "eyjhbgcioijiuzi1niisinr5cci6ikpxvcj9.eyjzdwiioij3b3jrzxjfmsisimlhdci6mtuxnjizotaymiwizwf0ijoxnte2mjq1mdiylcj0b2tlbl90exblijoiv29ya2vyumvnaxn0zxiifq.u2zna3e8wwd6ndovmrwez1twlmmvtzp8-uashza1qpw" "},{"url":"https://go-vela.github.io/docs/usage/plugin/","display":"Docs/Usage/Plugin","title":"Working with plugins","content":"note: the following plugins are used within example kaniko vault typically, configured as step pipeline should accept their configuration via environment variables. below shows secret plugin working together to publish an image registry: version: "1" steps: name: image: target/vela-kaniko pull: always parameters: index.docker.io repo: index.docker.io/octocat/hello-world secrets: vault_token key: go-vela/vault_token engine: native type: org origin: target/secret-vault addr: vault.example.com auth_method: token items: source: secret/docker path: docker we pass these variables vela using parameters block. any variable passed block, will be injected into parameter_<variable>: from above example, would added containers: docker: parameter_registry=index.docker.io parameter_repo=index.docker.io/octocat/hello-world vault: parameter_addr=index.docker.io parameter_auth_method=index.docker.io/octocat/hello-world parameter_items={"items": [{"source": "secret/docker"}],"path": "docker"} "},{"url":"https://go-vela.github.io/docs/templates/working_with/","display":"Docs/Templates/Working with","title":"Working with Templates","content":"warning it highly recommended before reviewing the below content to have solid grasp on vela’s core concepts that are explored while taking vela tour). when writing new template getting feedback can be very painful process. provides few methods get quickly ensure you’re expands pipeline you expect run. main for seeing expanded pipelines are: endpoints (which used via ui cli) cli validation (vela validate pipeline) method allows evaluate your exists within vcs system. most commonly referenced build page tab. additionally, also interact with api if trying create more elaborate workflows. docs workflow was mentioned above has variety of local remote validation. all them designed help identify areas need improved should speed up development. available methods: will continue only file server --remote --org myorg --repo myrepo allow someone note: requires user provide auth --template override `source:` use testing --template-file name:path/to/file "}]} \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index ebc6dca4a..63d0e017c 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://go-vela.github.io/docs/reference/yaml/environment/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/usage/examples/secrets_external/2021-11-17T14:31:33-06:00https://go-vela.github.io/docs/usage/examples/go_modules/2021-06-03T11:57:15-05:00https://go-vela.github.io/docs/usage/examples/secrets_internal/2022-03-08T09:07:03-06:00https://go-vela.github.io/docs/usage/examples/mongo/2023-11-01T16:32:34-05:00https://go-vela.github.io/docs/usage/examples/postgres/2022-01-31T16:37:47-06:00https://go-vela.github.io/docs/usage/examples/redis/2021-06-03T11:57:15-05:00https://go-vela.github.io/docs/usage/examples/route/2021-11-05T08:06:04-05:00https://go-vela.github.io/docs/usage/examples/rust_cargo/2021-06-03T11:57:15-05:00https://go-vela.github.io/docs/installation/server/2022-09-07T14:05:48+00:00https://go-vela.github.io/docs/installation/server/reference/settings/2024-06-24T17:54:23-05:00https://go-vela.github.io/docs/tour/step/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/faq/usage/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/reference/yaml/version/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/community/contributing_guidelines/2023-03-06T14:20:42-06:00https://go-vela.github.io/docs/installation/server/docker/2023-10-05T13:03:51-05:00https://go-vela.github.io/docs/installation/ui/docker/2022-09-07T14:05:48+00:00https://go-vela.github.io/docs/installation/worker/docker/2023-10-05T14:49:29-05:00https://go-vela.github.io/docs/usage/examples/2021-01-12T13:56:22-06:00https://go-vela.github.io/docs/tour/image/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/usage/examples/java_gradle/2021-06-03T11:57:15-05:00https://go-vela.github.io/docs/usage/examples/java_maven/2021-06-03T11:57:15-05:00https://go-vela.github.io/docs/reference/yaml/metadata/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/installation/worker/2022-09-07T14:05:48+00:00https://go-vela.github.io/docs/installation/server/kubernetes/2022-09-07T14:05:48+00:00https://go-vela.github.io/docs/installation/ui/kubernetes/2022-09-07T14:05:48+00:00https://go-vela.github.io/docs/installation/worker/kubernetes/2023-10-05T14:49:29-05:00https://go-vela.github.io/docs/usage/examples/node/2021-06-03T11:57:15-05:00https://go-vela.github.io/docs/tour/rulesets/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/installation/ui/2022-09-07T14:05:48+00:00https://go-vela.github.io/docs/reference/yaml/worker/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/tour/environment/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/installation/server/reference/2024-06-24T17:54:23-05:00https://go-vela.github.io/docs/installation/ui/reference/2022-09-07T14:05:48+00:00https://go-vela.github.io/docs/installation/worker/reference/2024-06-24T18:57:56-04:00https://go-vela.github.io/docs/reference/yaml/templates/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/reference/api/authentication/2021-01-13T09:29:09-06:00https://go-vela.github.io/docs/reference/cli/install/2021-01-13T09:29:09-06:00https://go-vela.github.io/docs/tour/plugins/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/reference/yaml/services/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/tour/cloning/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/reference/yaml/steps/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/tour/secrets/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/reference/yaml/stages/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/reference/yaml/secrets/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/tour/services/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/tour/steps/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/reference/cli/authentication/2022-06-23T12:11:12-05:00https://go-vela.github.io/docs/tour/stages/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/tour/templates/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/tour/status/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/reference/cli/validate/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/version/2021-02-02T13:43:34+00:00https://go-vela.github.io/docs/reference/api/build/add/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/dashboard/add/2024-07-25T14:25:40-04:00https://go-vela.github.io/docs/reference/api/deployment/add/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/reference/api/hook/add/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/pipeline/add/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/repo/add/2024-06-24T17:28:14-05:00https://go-vela.github.io/docs/reference/api/schedule/add/2024-06-24T17:36:58-05:00https://go-vela.github.io/docs/reference/api/secret/add/2024-06-24T17:28:14-05:00https://go-vela.github.io/docs/reference/api/service/add/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/step/add/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/user/add/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/dashboard/add/2024-06-24T17:37:14-05:00https://go-vela.github.io/docs/reference/cli/deployment/add/2023-11-07T11:30:26-06:00https://go-vela.github.io/docs/reference/cli/repo/add/2024-02-12T16:37:27-05:00https://go-vela.github.io/docs/reference/cli/schedule/add/2024-06-24T17:36:58-05:00https://go-vela.github.io/docs/reference/cli/secret/add/2024-03-13T13:04:57-04:00https://go-vela.github.io/docs/reference/cli/worker/add/2023-04-26T08:49:51-05:00https://go-vela.github.io/docs/reference/api/admin/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/templates/tutorials/starlark/anatomy/2022-03-03T08:54:44-06:00https://go-vela.github.io/docs/plugins/registry/pipeline/ansible/2022-09-01T21:00:47+00:00https://go-vela.github.io/docs/reference/api/2021-01-13T09:29:09-06:00https://go-vela.github.io/docs/reference/cli/build/approve/2024-02-12T16:37:12-05:00https://go-vela.github.io/docs/plugins/registry/pipeline/artifactory/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/usage/authenticate/2021-02-11T18:41:35-06:00https://go-vela.github.io/docs/plugins/registry/pipeline/aws-credentials/2024-07-31T09:52:16-05:00https://go-vela.github.io/docs/usage/badge/2022-10-26T07:04:46-04:00https://go-vela.github.io/docs/plugins/tutorials/bash/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/admin/build/2024-05-15T10:47:14-05:00https://go-vela.github.io/docs/reference/api/build/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/build/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/admin/build_queue/2022-11-16T09:20:04-07:00https://go-vela.github.io/docs/plugins/registry/pipeline/build-summary/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/usage/docker/2022-03-08T15:06:43+00:00https://go-vela.github.io/docs/reference/api/build/cancel/2021-02-12T00:43:42+00:00https://go-vela.github.io/docs/reference/cli/build/cancel/2022-02-09T12:48:43-07:00https://go-vela.github.io/docs/plugins/registry/pipeline/captains_log/2021-06-03T11:57:15-05:00https://go-vela.github.io/docs/reference/api/repo/chown/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/repo/chown/2022-02-09T12:48:43-07:00https://go-vela.github.io/docs/reference/api/admin/clean/2023-07-18T09:26:07-06:00https://go-vela.github.io/docs/reference/cli/2021-01-13T09:29:09-06:00https://go-vela.github.io/docs/community/2022-03-03T10:11:19-06:00https://go-vela.github.io/docs/reference/api/pipeline/compile/2022-06-22T13:01:17-05:00https://go-vela.github.io/docs/installation/server/reference/compiler/2024-06-24T17:54:23-05:00https://go-vela.github.io/docs/reference/cli/completion/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/templates/tutorials/go/conditional/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/templates/tutorials/starlark/conditional/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/config/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/user/current/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/dashboard/2024-07-25T14:25:40-04:00https://go-vela.github.io/docs/reference/cli/dashboard/2024-06-24T17:37:14-05:00https://go-vela.github.io/docs/installation/server/reference/database/2024-06-24T17:48:24-05:00https://go-vela.github.io/docs/reference/api/dashboard/delete/2024-07-25T14:25:40-04:00https://go-vela.github.io/docs/reference/api/deployment/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/deployment/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/plugins/registry/pipeline/docker/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/plugins/registry/pipeline/downstream/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/plugins/registry/pipeline/email/2022-08-29T15:51:37-05:00https://go-vela.github.io/docs/usage/enable_repo/2021-06-03T11:52:42-05:00https://go-vela.github.io/docs/reference/environment/2021-05-17T11:41:49-05:00https://go-vela.github.io/docs/reference/cli/pipeline/exec/2023-12-20T16:06:47-06:00https://go-vela.github.io/docs/installation/worker/reference/executor/2023-10-05T14:49:29-05:00https://go-vela.github.io/docs/reference/api/pipeline/expand/2022-06-22T13:01:17-05:00https://go-vela.github.io/docs/faq/2022-02-07T16:32:58-06:00https://go-vela.github.io/docs/templates/tutorials/go/functions/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/templates/tutorials/starlark/functions/2024-06-24T17:54:23-05:00https://go-vela.github.io/docs/reference/cli/completion/generate/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/config/generate/2022-06-23T12:11:12-05:00https://go-vela.github.io/docs/reference/cli/pipeline/generate/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/build/get/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/dashboard/get/2024-07-25T14:25:40-04:00https://go-vela.github.io/docs/reference/api/deployment/get/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/hook/get/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/pipeline/get/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/repo/get/2024-06-24T17:28:14-05:00https://go-vela.github.io/docs/reference/api/schedule/get/2024-06-24T17:36:58-05:00https://go-vela.github.io/docs/reference/api/secret/get/2024-06-24T17:28:14-05:00https://go-vela.github.io/docs/reference/api/service/get/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/step/get/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/user/get/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/build/get/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/dashboard/get/2024-06-24T17:37:14-05:00https://go-vela.github.io/docs/reference/cli/deployment/get/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/hook/get/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/log/get/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/pipeline/get/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/repo/get/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/schedule/get/2024-06-24T17:36:58-05:00https://go-vela.github.io/docs/reference/cli/secret/get/2024-02-21T15:04:53-06:00https://go-vela.github.io/docs/reference/cli/service/get/2022-02-09T12:48:43-07:00https://go-vela.github.io/docs/reference/cli/step/get/2022-02-09T12:48:43-07:00https://go-vela.github.io/docs/reference/cli/worker/get/2023-04-26T08:49:51-05:00https://go-vela.github.io/docs/plugins/registry/pipeline/git/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/plugins/tutorials/go/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/sdk/go/2021-01-14T12:57:07-06:00https://go-vela.github.io/docs/templates/tutorials/go/2021-01-28T13:57:03-06:00https://go-vela.github.io/docs/reference/api/admin/hook/2024-05-15T10:47:14-05:00https://go-vela.github.io/docs/reference/api/hook/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/hook/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/plugins/registry/pipeline/hugo/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/plugins/registry/pipeline/influx/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/installation/2022-09-07T14:05:48+00:00https://go-vela.github.io/docs/usage/schema/2023-04-23T11:06:32-04:00https://go-vela.github.io/docs/plugins/registry/pipeline/k6/2023-08-28T11:45:00-05:00https://go-vela.github.io/docs/plugins/registry/pipeline/kaniko/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/plugins/tutorials/kotlin/2021-09-27T09:14:22-05:00https://go-vela.github.io/docs/plugins/registry/pipeline/kubernetes/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/reference/api/dashboard/list/2024-07-25T14:25:40-04:00https://go-vela.github.io/docs/reference/cli/log/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/build/logs/2024-04-10T09:14:46-05:00https://go-vela.github.io/docs/reference/api/service/logs/2024-04-10T09:14:46-05:00https://go-vela.github.io/docs/reference/api/step/logs/2024-04-10T09:14:46-05:00https://go-vela.github.io/docs/templates/tutorials/go/loops_maps/2022-04-05T17:17:25-05:00https://go-vela.github.io/docs/templates/tutorials/starlark/loops_map/2021-02-23T08:27:21-06:00https://go-vela.github.io/docs/templates/tutorials/go/loops_slice/2022-04-05T17:17:25-05:00https://go-vela.github.io/docs/templates/tutorials/starlark/loops_slice/2021-02-23T08:27:21-06:00https://go-vela.github.io/docs/usage/deployments/2022-06-14T12:40:52-06:00https://go-vela.github.io/docs/reference/api/metrics/2022-12-16T15:20:42-06:00https://go-vela.github.io/docs/reference/api/metrics/metrics/2023-07-17T14:33:17-05:00https://go-vela.github.io/docs/templates/tutorials/go/mulitline/2022-04-05T17:17:25-05:00https://go-vela.github.io/docs/plugins/tutorials/node/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/plugins/registry/pipeline/npm/2022-09-01T13:55:31-05:00https://go-vela.github.io/docs/usage/open_id_connect/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/plugins/registry/pipeline/2021-01-13T15:05:51-06:00https://go-vela.github.io/docs/reference/api/pipeline/2021-04-02T09:28:53-05:00https://go-vela.github.io/docs/reference/cli/pipeline/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/templates/tutorials/go/vars_platform/2022-12-13T17:59:57-06:00https://go-vela.github.io/docs/templates/tutorials/starlark/vars_platform/2022-12-13T17:59:57-06:00https://go-vela.github.io/docs/plugins/2021-11-17T14:31:33-06:00https://go-vela.github.io/docs/usage/pull_policies/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/plugins/tutorials/python/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/sdk/python/2021-01-14T12:57:07-06:00https://go-vela.github.io/docs/installation/server/reference/queue/2023-10-05T13:03:51-05:00https://go-vela.github.io/docs/installation/worker/reference/queue/2023-10-05T14:49:29-05:00https://go-vela.github.io/docs/reference/2022-02-07T16:32:58-06:00https://go-vela.github.io/docs/plugins/registry/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/build/remove/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/hook/remove/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/pipeline/remove/2022-06-22T13:01:17-05:00https://go-vela.github.io/docs/reference/api/repo/remove/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/schedule/remove/2024-06-24T17:36:58-05:00https://go-vela.github.io/docs/reference/api/secret/remove/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/service/remove/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/step/remove/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/user/remove/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/config/remove/2021-02-11T18:41:35-06:00https://go-vela.github.io/docs/reference/cli/repo/remove/2022-02-09T12:48:43-07:00https://go-vela.github.io/docs/reference/cli/schedule/remove/2024-06-24T17:36:58-05:00https://go-vela.github.io/docs/reference/cli/secret/remove/2022-02-09T12:48:43-07:00https://go-vela.github.io/docs/reference/api/repo/repair/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/repo/repair/2022-02-09T12:48:43-07:00https://go-vela.github.io/docs/reference/api/admin/repo/2024-05-15T10:47:14-05:00https://go-vela.github.io/docs/reference/api/repo/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/repo/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/user/current/repos/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/usage/repo_settings/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/reference/api/build/restart/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/build/restart/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/admin/settings/restore/2024-06-24T17:42:32-05:00https://go-vela.github.io/docs/usage/roles/2021-01-12T13:56:22-06:00https://go-vela.github.io/docs/plugins/tutorials/ruby/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/installation/worker/reference/runtime/2023-10-05T14:49:29-05:00https://go-vela.github.io/docs/plugins/registry/pipeline/s3_cache/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/reference/api/schedule/2023-07-24T10:23:15-05:00https://go-vela.github.io/docs/reference/cli/schedule/2023-07-24T10:23:15-05:00https://go-vela.github.io/docs/usage/schedule_build/2023-07-24T10:23:15-05:00https://go-vela.github.io/docs/installation/server/reference/scm/2022-09-07T14:05:48+00:00https://go-vela.github.io/docs/reference/api/scm/2021-12-28T11:07:35-07:00https://go-vela.github.io/docs/plugins/registry/pipeline/scp/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/reference/sdk/2021-01-14T12:57:07-06:00https://go-vela.github.io/docs/search/index.json2019-11-09T16:39:52-06:00https://go-vela.github.io/docs/installation/server/reference/secret/2023-04-05T11:59:50-06:00https://go-vela.github.io/docs/plugins/registry/secret/2021-01-13T15:05:51-06:00https://go-vela.github.io/docs/reference/api/admin/secret/2024-06-24T17:28:14-05:00https://go-vela.github.io/docs/reference/api/secret/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/secret/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/usage/secrets/2024-03-14T10:55:10-04:00https://go-vela.github.io/docs/reference/api/admin/service/2024-05-15T10:47:14-05:00https://go-vela.github.io/docs/reference/api/service/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/service/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/admin/settings/2024-06-24T17:42:32-05:00https://go-vela.github.io/docs/reference/cli/settings/2024-06-24T17:42:32-05:00https://go-vela.github.io/docs/usage/skipping_build/2021-01-12T13:56:22-06:00https://go-vela.github.io/docs/plugins/registry/pipeline/slack/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/plugins/registry/pipeline/ssh/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/usage/stage_orchestration/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/templates/tutorials/starlark/2021-01-28T13:57:03-06:00https://go-vela.github.io/docs/usage/start_build/2021-05-10T10:10:36-05:00https://go-vela.github.io/docs/reference/api/admin/step/2024-05-15T10:47:14-05:00https://go-vela.github.io/docs/reference/api/step/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/step/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/environment/substitution/2024-04-17T09:37:24-05:00https://go-vela.github.io/docs/reference/api/scm/sync/2023-04-25T16:00:40-06:00https://go-vela.github.io/docs/reference/cli/repo/sync/2023-04-25T16:00:40-06:00https://go-vela.github.io/docs/reference/api/scm/syncall/2023-10-27T10:06:48-05:00https://go-vela.github.io/docs/templates/tutorials/go/vars_template/2022-08-01T13:17:33-05:00https://go-vela.github.io/docs/templates/tutorials/starlark/vars_template/2021-01-28T13:57:03-06:00https://go-vela.github.io/docs/reference/api/pipeline/templates/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/templates/2023-07-25T12:07:19-05:00https://go-vela.github.io/docs/plugins/registry/pipeline/terraform/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/installation/server/reference/token_manager/2023-04-25T15:59:51-06:00https://go-vela.github.io/docs/tour/2021-06-03T11:57:15-05:00https://go-vela.github.io/docs/plugins/tutorials/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/templates/tutorials/2021-06-03T11:57:15-05:00https://go-vela.github.io/docs/usage/workspace/2021-05-07T08:32:39-05:00https://go-vela.github.io/docs/reference/api/admin/settings/update/2024-06-24T17:42:32-05:00https://go-vela.github.io/docs/reference/api/build/update/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/dashboard/update/2024-07-25T14:25:40-04:00https://go-vela.github.io/docs/reference/api/hook/update/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/pipeline/update/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/repo/update/2024-06-24T17:28:14-05:00https://go-vela.github.io/docs/reference/api/schedule/update/2024-06-24T17:36:58-05:00https://go-vela.github.io/docs/reference/api/secret/update/2024-06-24T17:28:14-05:00https://go-vela.github.io/docs/reference/api/service/update/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/step/update/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/user/current/update/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/user/update/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/config/update/2022-06-23T12:11:12-05:00https://go-vela.github.io/docs/reference/cli/dashboard/update/2024-06-24T17:37:14-05:00https://go-vela.github.io/docs/reference/cli/repo/update/2024-02-12T16:37:27-05:00https://go-vela.github.io/docs/reference/cli/schedule/update/2024-06-24T17:36:58-05:00https://go-vela.github.io/docs/reference/cli/secret/update/2024-03-13T13:04:57-04:00https://go-vela.github.io/docs/reference/cli/settings/update/2024-06-24T17:42:32-05:00https://go-vela.github.io/docs/reference/cli/worker/update/2023-07-17T14:33:17-05:00https://go-vela.github.io/docs/usage/2020-02-03T14:46:54-06:00https://go-vela.github.io/docs/reference/api/admin/user/2024-05-15T10:47:14-05:00https://go-vela.github.io/docs/reference/api/user/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/usage/environment/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/reference/api/pipeline/validate/2022-06-22T13:01:17-05:00https://go-vela.github.io/docs/reference/cli/pipeline/validate/2024-06-24T17:38:05-05:00https://go-vela.github.io/docs/reference/environment/variables/2024-06-24T18:44:04-04:00https://go-vela.github.io/docs/plugins/registry/secret/vault/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/2021-06-04T09:43:00-05:00https://go-vela.github.io/docs/reference/api/admin/settings/view/2024-06-24T17:42:32-05:00https://go-vela.github.io/docs/reference/api/build/view/2022-12-19T10:27:08-07:00https://go-vela.github.io/docs/reference/api/deployment/view/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/hook/view/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/pipeline/view/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/repo/view/2024-06-24T17:28:14-05:00https://go-vela.github.io/docs/reference/api/schedule/view/2024-06-24T17:36:58-05:00https://go-vela.github.io/docs/reference/api/secret/view/2024-06-24T17:28:14-05:00https://go-vela.github.io/docs/reference/api/service/view/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/step/view/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/user/current/view/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/user/view/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/build/view/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/config/view/2022-06-23T12:11:12-05:00https://go-vela.github.io/docs/reference/cli/dashboard/view/2024-06-24T17:37:14-05:00https://go-vela.github.io/docs/reference/cli/deployment/view/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/hook/view/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/log/view/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/repo/view/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/schedule/view/2024-06-24T17:36:58-05:00https://go-vela.github.io/docs/reference/cli/secret/view/2022-02-09T13:50:08-07:00https://go-vela.github.io/docs/reference/cli/service/view/2022-02-09T12:48:43-07:00https://go-vela.github.io/docs/reference/cli/settings/view/2024-06-24T17:42:32-05:00https://go-vela.github.io/docs/reference/cli/step/view/2022-02-09T12:48:43-07:00https://go-vela.github.io/docs/reference/cli/worker/view/2023-07-17T14:33:17-05:00https://go-vela.github.io/docs/reference/api/admin/worker/2023-04-25T15:59:51-06:00https://go-vela.github.io/docs/reference/cli/worker/2023-04-26T08:49:51-05:00https://go-vela.github.io/docs/usage/plugin/2022-03-20T22:09:17+00:00https://go-vela.github.io/docs/templates/working_with/2021-10-22T19:47:53-05:00https://go-vela.github.io/docs/reference/yaml/2024-08-14T14:30:28+00:00 \ No newline at end of file +https://go-vela.github.io/docs/reference/yaml/environment/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/usage/examples/secrets_external/2021-11-17T14:31:33-06:00https://go-vela.github.io/docs/usage/examples/go_modules/2021-06-03T11:57:15-05:00https://go-vela.github.io/docs/usage/examples/secrets_internal/2022-03-08T09:07:03-06:00https://go-vela.github.io/docs/usage/examples/mongo/2023-11-01T16:32:34-05:00https://go-vela.github.io/docs/usage/examples/postgres/2022-01-31T16:37:47-06:00https://go-vela.github.io/docs/usage/examples/redis/2021-06-03T11:57:15-05:00https://go-vela.github.io/docs/usage/examples/route/2021-11-05T08:06:04-05:00https://go-vela.github.io/docs/usage/examples/rust_cargo/2021-06-03T11:57:15-05:00https://go-vela.github.io/docs/installation/server/2022-09-07T14:05:48+00:00https://go-vela.github.io/docs/installation/server/reference/settings/2024-06-24T17:54:23-05:00https://go-vela.github.io/docs/tour/step/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/faq/usage/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/reference/yaml/version/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/community/contributing_guidelines/2023-03-06T14:20:42-06:00https://go-vela.github.io/docs/installation/server/docker/2023-10-05T13:03:51-05:00https://go-vela.github.io/docs/installation/ui/docker/2022-09-07T14:05:48+00:00https://go-vela.github.io/docs/installation/worker/docker/2023-10-05T14:49:29-05:00https://go-vela.github.io/docs/usage/examples/2021-01-12T13:56:22-06:00https://go-vela.github.io/docs/tour/image/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/usage/examples/java_gradle/2021-06-03T11:57:15-05:00https://go-vela.github.io/docs/usage/examples/java_maven/2021-06-03T11:57:15-05:00https://go-vela.github.io/docs/reference/yaml/metadata/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/installation/worker/2022-09-07T14:05:48+00:00https://go-vela.github.io/docs/installation/server/kubernetes/2022-09-07T14:05:48+00:00https://go-vela.github.io/docs/installation/ui/kubernetes/2022-09-07T14:05:48+00:00https://go-vela.github.io/docs/installation/worker/kubernetes/2023-10-05T14:49:29-05:00https://go-vela.github.io/docs/usage/examples/node/2021-06-03T11:57:15-05:00https://go-vela.github.io/docs/tour/rulesets/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/installation/ui/2022-09-07T14:05:48+00:00https://go-vela.github.io/docs/reference/yaml/worker/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/tour/environment/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/installation/server/reference/2024-06-24T17:54:23-05:00https://go-vela.github.io/docs/installation/ui/reference/2022-09-07T14:05:48+00:00https://go-vela.github.io/docs/installation/worker/reference/2024-06-24T18:57:56-04:00https://go-vela.github.io/docs/reference/yaml/templates/2024-08-26T10:15:21-04:00https://go-vela.github.io/docs/reference/api/authentication/2021-01-13T09:29:09-06:00https://go-vela.github.io/docs/reference/cli/install/2021-01-13T09:29:09-06:00https://go-vela.github.io/docs/tour/plugins/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/reference/yaml/services/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/tour/cloning/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/reference/yaml/steps/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/tour/secrets/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/reference/yaml/stages/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/reference/yaml/secrets/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/tour/services/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/tour/steps/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/reference/cli/authentication/2022-06-23T12:11:12-05:00https://go-vela.github.io/docs/tour/stages/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/tour/templates/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/tour/status/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/reference/cli/validate/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/version/2021-02-02T13:43:34+00:00https://go-vela.github.io/docs/reference/api/build/add/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/dashboard/add/2024-07-25T14:25:40-04:00https://go-vela.github.io/docs/reference/api/deployment/add/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/reference/api/hook/add/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/pipeline/add/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/repo/add/2024-06-24T17:28:14-05:00https://go-vela.github.io/docs/reference/api/schedule/add/2024-06-24T17:36:58-05:00https://go-vela.github.io/docs/reference/api/secret/add/2024-06-24T17:28:14-05:00https://go-vela.github.io/docs/reference/api/service/add/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/step/add/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/user/add/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/dashboard/add/2024-06-24T17:37:14-05:00https://go-vela.github.io/docs/reference/cli/deployment/add/2023-11-07T11:30:26-06:00https://go-vela.github.io/docs/reference/cli/repo/add/2024-02-12T16:37:27-05:00https://go-vela.github.io/docs/reference/cli/schedule/add/2024-06-24T17:36:58-05:00https://go-vela.github.io/docs/reference/cli/secret/add/2024-03-13T13:04:57-04:00https://go-vela.github.io/docs/reference/cli/worker/add/2023-04-26T08:49:51-05:00https://go-vela.github.io/docs/reference/api/admin/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/templates/tutorials/starlark/anatomy/2022-03-03T08:54:44-06:00https://go-vela.github.io/docs/plugins/registry/pipeline/ansible/2022-09-01T21:00:47+00:00https://go-vela.github.io/docs/reference/api/2021-01-13T09:29:09-06:00https://go-vela.github.io/docs/reference/cli/build/approve/2024-02-12T16:37:12-05:00https://go-vela.github.io/docs/plugins/registry/pipeline/artifactory/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/usage/authenticate/2021-02-11T18:41:35-06:00https://go-vela.github.io/docs/plugins/registry/pipeline/aws-credentials/2024-07-31T09:52:16-05:00https://go-vela.github.io/docs/usage/badge/2022-10-26T07:04:46-04:00https://go-vela.github.io/docs/plugins/tutorials/bash/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/admin/build/2024-05-15T10:47:14-05:00https://go-vela.github.io/docs/reference/api/build/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/build/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/admin/build_queue/2022-11-16T09:20:04-07:00https://go-vela.github.io/docs/plugins/registry/pipeline/build-summary/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/usage/docker/2022-03-08T15:06:43+00:00https://go-vela.github.io/docs/reference/api/build/cancel/2021-02-12T00:43:42+00:00https://go-vela.github.io/docs/reference/cli/build/cancel/2022-02-09T12:48:43-07:00https://go-vela.github.io/docs/plugins/registry/pipeline/captains_log/2021-06-03T11:57:15-05:00https://go-vela.github.io/docs/reference/api/repo/chown/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/repo/chown/2022-02-09T12:48:43-07:00https://go-vela.github.io/docs/reference/api/admin/clean/2023-07-18T09:26:07-06:00https://go-vela.github.io/docs/reference/cli/2021-01-13T09:29:09-06:00https://go-vela.github.io/docs/community/2022-03-03T10:11:19-06:00https://go-vela.github.io/docs/reference/api/pipeline/compile/2022-06-22T13:01:17-05:00https://go-vela.github.io/docs/installation/server/reference/compiler/2024-06-24T17:54:23-05:00https://go-vela.github.io/docs/reference/cli/completion/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/templates/tutorials/go/conditional/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/templates/tutorials/starlark/conditional/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/config/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/user/current/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/dashboard/2024-07-25T14:25:40-04:00https://go-vela.github.io/docs/reference/cli/dashboard/2024-06-24T17:37:14-05:00https://go-vela.github.io/docs/installation/server/reference/database/2024-06-24T17:48:24-05:00https://go-vela.github.io/docs/reference/api/dashboard/delete/2024-07-25T14:25:40-04:00https://go-vela.github.io/docs/reference/api/deployment/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/deployment/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/plugins/registry/pipeline/docker/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/plugins/registry/pipeline/downstream/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/plugins/registry/pipeline/email/2022-08-29T15:51:37-05:00https://go-vela.github.io/docs/usage/enable_repo/2021-06-03T11:52:42-05:00https://go-vela.github.io/docs/reference/environment/2021-05-17T11:41:49-05:00https://go-vela.github.io/docs/reference/cli/pipeline/exec/2023-12-20T16:06:47-06:00https://go-vela.github.io/docs/installation/worker/reference/executor/2023-10-05T14:49:29-05:00https://go-vela.github.io/docs/reference/api/pipeline/expand/2022-06-22T13:01:17-05:00https://go-vela.github.io/docs/faq/2022-02-07T16:32:58-06:00https://go-vela.github.io/docs/templates/tutorials/go/functions/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/templates/tutorials/starlark/functions/2024-06-24T17:54:23-05:00https://go-vela.github.io/docs/reference/cli/completion/generate/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/config/generate/2022-06-23T12:11:12-05:00https://go-vela.github.io/docs/reference/cli/pipeline/generate/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/build/get/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/dashboard/get/2024-07-25T14:25:40-04:00https://go-vela.github.io/docs/reference/api/deployment/get/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/hook/get/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/pipeline/get/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/repo/get/2024-06-24T17:28:14-05:00https://go-vela.github.io/docs/reference/api/schedule/get/2024-06-24T17:36:58-05:00https://go-vela.github.io/docs/reference/api/secret/get/2024-06-24T17:28:14-05:00https://go-vela.github.io/docs/reference/api/service/get/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/step/get/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/user/get/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/build/get/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/dashboard/get/2024-06-24T17:37:14-05:00https://go-vela.github.io/docs/reference/cli/deployment/get/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/hook/get/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/log/get/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/pipeline/get/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/repo/get/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/schedule/get/2024-06-24T17:36:58-05:00https://go-vela.github.io/docs/reference/cli/secret/get/2024-02-21T15:04:53-06:00https://go-vela.github.io/docs/reference/cli/service/get/2022-02-09T12:48:43-07:00https://go-vela.github.io/docs/reference/cli/step/get/2022-02-09T12:48:43-07:00https://go-vela.github.io/docs/reference/cli/worker/get/2023-04-26T08:49:51-05:00https://go-vela.github.io/docs/plugins/registry/pipeline/git/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/plugins/tutorials/go/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/sdk/go/2021-01-14T12:57:07-06:00https://go-vela.github.io/docs/templates/tutorials/go/2021-01-28T13:57:03-06:00https://go-vela.github.io/docs/reference/api/admin/hook/2024-05-15T10:47:14-05:00https://go-vela.github.io/docs/reference/api/hook/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/hook/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/plugins/registry/pipeline/hugo/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/plugins/registry/pipeline/influx/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/installation/2022-09-07T14:05:48+00:00https://go-vela.github.io/docs/usage/schema/2023-04-23T11:06:32-04:00https://go-vela.github.io/docs/plugins/registry/pipeline/k6/2023-08-28T11:45:00-05:00https://go-vela.github.io/docs/plugins/registry/pipeline/kaniko/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/plugins/tutorials/kotlin/2021-09-27T09:14:22-05:00https://go-vela.github.io/docs/plugins/registry/pipeline/kubernetes/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/reference/api/dashboard/list/2024-07-25T14:25:40-04:00https://go-vela.github.io/docs/reference/cli/log/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/build/logs/2024-04-10T09:14:46-05:00https://go-vela.github.io/docs/reference/api/service/logs/2024-04-10T09:14:46-05:00https://go-vela.github.io/docs/reference/api/step/logs/2024-04-10T09:14:46-05:00https://go-vela.github.io/docs/templates/tutorials/go/loops_maps/2022-04-05T17:17:25-05:00https://go-vela.github.io/docs/templates/tutorials/starlark/loops_map/2021-02-23T08:27:21-06:00https://go-vela.github.io/docs/templates/tutorials/go/loops_slice/2022-04-05T17:17:25-05:00https://go-vela.github.io/docs/templates/tutorials/starlark/loops_slice/2021-02-23T08:27:21-06:00https://go-vela.github.io/docs/usage/deployments/2022-06-14T12:40:52-06:00https://go-vela.github.io/docs/reference/api/metrics/2022-12-16T15:20:42-06:00https://go-vela.github.io/docs/reference/api/metrics/metrics/2023-07-17T14:33:17-05:00https://go-vela.github.io/docs/templates/tutorials/go/mulitline/2022-04-05T17:17:25-05:00https://go-vela.github.io/docs/plugins/tutorials/node/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/plugins/registry/pipeline/npm/2022-09-01T13:55:31-05:00https://go-vela.github.io/docs/usage/open_id_connect/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/plugins/registry/pipeline/2021-01-13T15:05:51-06:00https://go-vela.github.io/docs/reference/api/pipeline/2021-04-02T09:28:53-05:00https://go-vela.github.io/docs/reference/cli/pipeline/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/templates/tutorials/go/vars_platform/2022-12-13T17:59:57-06:00https://go-vela.github.io/docs/templates/tutorials/starlark/vars_platform/2022-12-13T17:59:57-06:00https://go-vela.github.io/docs/plugins/2021-11-17T14:31:33-06:00https://go-vela.github.io/docs/usage/pull_policies/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/plugins/tutorials/python/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/sdk/python/2021-01-14T12:57:07-06:00https://go-vela.github.io/docs/installation/server/reference/queue/2023-10-05T13:03:51-05:00https://go-vela.github.io/docs/installation/worker/reference/queue/2023-10-05T14:49:29-05:00https://go-vela.github.io/docs/reference/2022-02-07T16:32:58-06:00https://go-vela.github.io/docs/plugins/registry/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/build/remove/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/hook/remove/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/pipeline/remove/2022-06-22T13:01:17-05:00https://go-vela.github.io/docs/reference/api/repo/remove/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/schedule/remove/2024-06-24T17:36:58-05:00https://go-vela.github.io/docs/reference/api/secret/remove/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/service/remove/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/step/remove/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/user/remove/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/config/remove/2021-02-11T18:41:35-06:00https://go-vela.github.io/docs/reference/cli/repo/remove/2022-02-09T12:48:43-07:00https://go-vela.github.io/docs/reference/cli/schedule/remove/2024-06-24T17:36:58-05:00https://go-vela.github.io/docs/reference/cli/secret/remove/2022-02-09T12:48:43-07:00https://go-vela.github.io/docs/reference/api/repo/repair/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/repo/repair/2022-02-09T12:48:43-07:00https://go-vela.github.io/docs/reference/api/admin/repo/2024-05-15T10:47:14-05:00https://go-vela.github.io/docs/reference/api/repo/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/repo/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/user/current/repos/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/usage/repo_settings/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/reference/api/build/restart/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/build/restart/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/admin/settings/restore/2024-06-24T17:42:32-05:00https://go-vela.github.io/docs/usage/roles/2021-01-12T13:56:22-06:00https://go-vela.github.io/docs/plugins/tutorials/ruby/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/installation/worker/reference/runtime/2023-10-05T14:49:29-05:00https://go-vela.github.io/docs/plugins/registry/pipeline/s3_cache/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/reference/api/schedule/2023-07-24T10:23:15-05:00https://go-vela.github.io/docs/reference/cli/schedule/2023-07-24T10:23:15-05:00https://go-vela.github.io/docs/usage/schedule_build/2023-07-24T10:23:15-05:00https://go-vela.github.io/docs/installation/server/reference/scm/2022-09-07T14:05:48+00:00https://go-vela.github.io/docs/reference/api/scm/2021-12-28T11:07:35-07:00https://go-vela.github.io/docs/plugins/registry/pipeline/scp/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/reference/sdk/2021-01-14T12:57:07-06:00https://go-vela.github.io/docs/search/index.json2019-11-09T16:39:52-06:00https://go-vela.github.io/docs/installation/server/reference/secret/2023-04-05T11:59:50-06:00https://go-vela.github.io/docs/plugins/registry/secret/2021-01-13T15:05:51-06:00https://go-vela.github.io/docs/reference/api/admin/secret/2024-06-24T17:28:14-05:00https://go-vela.github.io/docs/reference/api/secret/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/secret/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/usage/secrets/2024-03-14T10:55:10-04:00https://go-vela.github.io/docs/reference/api/admin/service/2024-05-15T10:47:14-05:00https://go-vela.github.io/docs/reference/api/service/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/service/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/admin/settings/2024-06-24T17:42:32-05:00https://go-vela.github.io/docs/reference/cli/settings/2024-06-24T17:42:32-05:00https://go-vela.github.io/docs/usage/skipping_build/2021-01-12T13:56:22-06:00https://go-vela.github.io/docs/plugins/registry/pipeline/slack/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/plugins/registry/pipeline/ssh/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/usage/stage_orchestration/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/templates/tutorials/starlark/2021-01-28T13:57:03-06:00https://go-vela.github.io/docs/usage/start_build/2021-05-10T10:10:36-05:00https://go-vela.github.io/docs/reference/api/admin/step/2024-05-15T10:47:14-05:00https://go-vela.github.io/docs/reference/api/step/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/step/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/environment/substitution/2024-04-17T09:37:24-05:00https://go-vela.github.io/docs/reference/api/scm/sync/2023-04-25T16:00:40-06:00https://go-vela.github.io/docs/reference/cli/repo/sync/2023-04-25T16:00:40-06:00https://go-vela.github.io/docs/reference/api/scm/syncall/2023-10-27T10:06:48-05:00https://go-vela.github.io/docs/templates/tutorials/go/vars_template/2022-08-01T13:17:33-05:00https://go-vela.github.io/docs/templates/tutorials/starlark/vars_template/2021-01-28T13:57:03-06:00https://go-vela.github.io/docs/reference/api/pipeline/templates/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/templates/2023-07-25T12:07:19-05:00https://go-vela.github.io/docs/plugins/registry/pipeline/terraform/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/installation/server/reference/token_manager/2023-04-25T15:59:51-06:00https://go-vela.github.io/docs/tour/2021-06-03T11:57:15-05:00https://go-vela.github.io/docs/plugins/tutorials/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/templates/tutorials/2021-06-03T11:57:15-05:00https://go-vela.github.io/docs/usage/workspace/2021-05-07T08:32:39-05:00https://go-vela.github.io/docs/reference/api/admin/settings/update/2024-06-24T17:42:32-05:00https://go-vela.github.io/docs/reference/api/build/update/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/dashboard/update/2024-07-25T14:25:40-04:00https://go-vela.github.io/docs/reference/api/hook/update/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/pipeline/update/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/repo/update/2024-06-24T17:28:14-05:00https://go-vela.github.io/docs/reference/api/schedule/update/2024-06-24T17:36:58-05:00https://go-vela.github.io/docs/reference/api/secret/update/2024-06-24T17:28:14-05:00https://go-vela.github.io/docs/reference/api/service/update/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/step/update/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/user/current/update/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/user/update/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/config/update/2022-06-23T12:11:12-05:00https://go-vela.github.io/docs/reference/cli/dashboard/update/2024-06-24T17:37:14-05:00https://go-vela.github.io/docs/reference/cli/repo/update/2024-02-12T16:37:27-05:00https://go-vela.github.io/docs/reference/cli/schedule/update/2024-06-24T17:36:58-05:00https://go-vela.github.io/docs/reference/cli/secret/update/2024-03-13T13:04:57-04:00https://go-vela.github.io/docs/reference/cli/settings/update/2024-06-24T17:42:32-05:00https://go-vela.github.io/docs/reference/cli/worker/update/2023-07-17T14:33:17-05:00https://go-vela.github.io/docs/usage/2020-02-03T14:46:54-06:00https://go-vela.github.io/docs/reference/api/admin/user/2024-05-15T10:47:14-05:00https://go-vela.github.io/docs/reference/api/user/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/usage/environment/2024-08-14T14:30:28+00:00https://go-vela.github.io/docs/reference/api/pipeline/validate/2022-06-22T13:01:17-05:00https://go-vela.github.io/docs/reference/cli/pipeline/validate/2024-06-24T17:38:05-05:00https://go-vela.github.io/docs/reference/environment/variables/2024-06-24T18:44:04-04:00https://go-vela.github.io/docs/plugins/registry/secret/vault/2022-03-08T10:43:11-08:00https://go-vela.github.io/docs/2021-06-04T09:43:00-05:00https://go-vela.github.io/docs/reference/api/admin/settings/view/2024-06-24T17:42:32-05:00https://go-vela.github.io/docs/reference/api/build/view/2022-12-19T10:27:08-07:00https://go-vela.github.io/docs/reference/api/deployment/view/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/hook/view/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/pipeline/view/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/api/repo/view/2024-06-24T17:28:14-05:00https://go-vela.github.io/docs/reference/api/schedule/view/2024-06-24T17:36:58-05:00https://go-vela.github.io/docs/reference/api/secret/view/2024-06-24T17:28:14-05:00https://go-vela.github.io/docs/reference/api/service/view/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/step/view/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/user/current/view/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/api/user/view/2021-02-01T17:58:51-06:00https://go-vela.github.io/docs/reference/cli/build/view/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/config/view/2022-06-23T12:11:12-05:00https://go-vela.github.io/docs/reference/cli/dashboard/view/2024-06-24T17:37:14-05:00https://go-vela.github.io/docs/reference/cli/deployment/view/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/hook/view/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/log/view/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/repo/view/2022-09-16T14:14:53-05:00https://go-vela.github.io/docs/reference/cli/schedule/view/2024-06-24T17:36:58-05:00https://go-vela.github.io/docs/reference/cli/secret/view/2022-02-09T13:50:08-07:00https://go-vela.github.io/docs/reference/cli/service/view/2022-02-09T12:48:43-07:00https://go-vela.github.io/docs/reference/cli/settings/view/2024-06-24T17:42:32-05:00https://go-vela.github.io/docs/reference/cli/step/view/2022-02-09T12:48:43-07:00https://go-vela.github.io/docs/reference/cli/worker/view/2023-07-17T14:33:17-05:00https://go-vela.github.io/docs/reference/api/admin/worker/2023-04-25T15:59:51-06:00https://go-vela.github.io/docs/reference/cli/worker/2023-04-26T08:49:51-05:00https://go-vela.github.io/docs/usage/plugin/2022-03-20T22:09:17+00:00https://go-vela.github.io/docs/templates/working_with/2021-10-22T19:47:53-05:00https://go-vela.github.io/docs/reference/yaml/2024-08-14T14:30:28+00:00 \ No newline at end of file