From 00125a90c82255ed7ca9f0499aaf1cd712117c5b Mon Sep 17 00:00:00 2001 From: qwerty287 <80460567+qwerty287@users.noreply.github.com> Date: Tue, 10 Jun 2025 20:24:27 +0300 Subject: [PATCH] Add 3.7 docs (#5248) --- .../version-3.4/20-usage/40-secrets.md | 156 ------------------ .../10-intro/index.md | 0 .../20-usage/10-intro.md | 0 .../20-usage/100-troubleshooting.md | 0 .../15-terminology/architecture.excalidraw | 0 .../20-usage/15-terminology/architecture.svg | 0 .../20-usage/15-terminology/index.md | 1 + .../pipeline-workflow-step.excalidraw | 0 .../15-terminology/pipeline-workflow-step.svg | 0 .../20-usage/20-workflow-syntax.md | 43 +++-- .../20-usage/25-workflows.md | 0 .../20-usage/30-matrix-workflows.md | 0 .../version-3.7/20-usage/40-secrets.md | 148 +++++++++++++++++ .../20-usage/41-registries.md | 0 .../20-usage/45-cron.md | 0 .../20-usage/50-environment.md | 0 .../51-plugins/20-creating-plugins.md | 0 .../20-usage/51-plugins/51-overview.md | 1 + .../20-usage/51-plugins/_category_.yaml | 0 .../20-usage/60-services.md | 0 .../20-usage/70-volumes.md | 2 + .../20-usage/72-linter.md | 0 .../20-usage/75-project-settings.md | 0 .../20-usage/80-badges.md | 0 .../20-usage/90-advanced-usage.md | 0 .../20-usage/_category_.yaml | 0 .../20-usage/cron-settings.png | Bin .../20-usage/linter-warnings-errors.png | Bin .../20-usage/pipeline.png | Bin .../20-usage/project-settings.png | Bin .../20-usage/repo-new.png | Bin .../20-usage/secrets-plugins-filter.png | Bin .../30-administration/00-general.md | 0 .../05-installation/10-docker-compose.md | 0 .../05-installation/20-helm-chart.md | 0 .../05-installation/30-packages.md | 19 +-- .../05-installation/_category_.yaml | 0 .../10-configuration/10-server.md | 28 +++- .../10-configuration/11-backends/10-docker.md | 0 .../11-backends/20-kubernetes.md | 14 ++ .../10-configuration/11-backends/30-local.md | 0 .../10-configuration/11-backends/50-custom.md | 0 .../11-backends/_category_.yaml | 0 .../10-configuration/12-forges/100-addon.md | 0 .../10-configuration/12-forges/11-overview.md | 0 .../10-configuration/12-forges/20-github.md | 0 .../10-configuration/12-forges/30-gitea.md | 0 .../10-configuration/12-forges/35-forgejo.md | 0 .../10-configuration/12-forges/40-gitlab.md | 0 .../12-forges/50-bitbucket.md | 0 .../12-forges/60-bitbucket_datacenter.md | 0 .../12-forges/_category_.yaml | 0 .../12-forges/bitbucket_oauth.png | Bin .../12-forges/bitbucket_permissions.png | Bin .../12-forges/gitea_oauth.gif | Bin .../12-forges/github_oauth.png | Bin .../10-configuration/30-agent.md | 0 .../10-configuration/40-autoscaler.md | 2 +- .../10-configuration/_category_.yaml | 0 .../10-configuration/new-agent-connected.png | Bin .../10-configuration/new-agent-created.png | Bin .../new-agent-registration.png | Bin .../30-administration/_category_.yaml | 0 .../{version-3.4 => version-3.7}/40-cli.md | 13 +- .../92-development/01-getting-started.md | 0 .../92-development/02-core-ideas.md | 0 .../92-development/03-ui.md | 0 .../92-development/04-docs.md | 0 .../92-development/05-architecture.md | 0 .../92-development/06-conventions.md | 0 .../92-development/07-guides.md | 0 .../92-development/08-translations.md | 0 .../92-development/09-openapi.md | 0 .../92-development/09-testing.md | 0 .../92-development/_category_.yaml | 0 .../92-development/ui-proxy.svg | 0 .../92-development/vscode-debug.png | Bin .../92-development/vscode-run-test.png | Bin .../woodpecker-architecture.png | Bin .../version-3.4-sidebars.json | 8 - ...idebars.json => version-3.7-sidebars.json} | 0 docs/versions.json | 2 +- 82 files changed, 240 insertions(+), 197 deletions(-) delete mode 100644 docs/versioned_docs/version-3.4/20-usage/40-secrets.md rename docs/versioned_docs/{version-3.4 => version-3.7}/10-intro/index.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/10-intro.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/100-troubleshooting.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/15-terminology/architecture.excalidraw (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/15-terminology/architecture.svg (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/15-terminology/index.md (97%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/15-terminology/pipeline-workflow-step.excalidraw (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/15-terminology/pipeline-workflow-step.svg (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/20-workflow-syntax.md (88%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/25-workflows.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/30-matrix-workflows.md (100%) create mode 100644 docs/versioned_docs/version-3.7/20-usage/40-secrets.md rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/41-registries.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/45-cron.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/50-environment.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/51-plugins/20-creating-plugins.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/51-plugins/51-overview.md (96%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/51-plugins/_category_.yaml (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/60-services.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/70-volumes.md (90%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/72-linter.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/75-project-settings.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/80-badges.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/90-advanced-usage.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/_category_.yaml (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/cron-settings.png (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/linter-warnings-errors.png (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/pipeline.png (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/project-settings.png (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/repo-new.png (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/20-usage/secrets-plugins-filter.png (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/00-general.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/05-installation/10-docker-compose.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/05-installation/20-helm-chart.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/05-installation/30-packages.md (90%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/05-installation/_category_.yaml (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/10-server.md (97%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/11-backends/10-docker.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/11-backends/20-kubernetes.md (96%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/11-backends/30-local.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/11-backends/50-custom.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/11-backends/_category_.yaml (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/12-forges/100-addon.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/12-forges/11-overview.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/12-forges/20-github.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/12-forges/30-gitea.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/12-forges/35-forgejo.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/12-forges/40-gitlab.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/12-forges/50-bitbucket.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/12-forges/60-bitbucket_datacenter.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/12-forges/_category_.yaml (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/12-forges/bitbucket_oauth.png (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/12-forges/bitbucket_permissions.png (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/12-forges/gitea_oauth.gif (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/12-forges/github_oauth.png (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/30-agent.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/40-autoscaler.md (82%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/_category_.yaml (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/new-agent-connected.png (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/new-agent-created.png (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/10-configuration/new-agent-registration.png (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/30-administration/_category_.yaml (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/40-cli.md (98%) rename docs/versioned_docs/{version-3.4 => version-3.7}/92-development/01-getting-started.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/92-development/02-core-ideas.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/92-development/03-ui.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/92-development/04-docs.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/92-development/05-architecture.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/92-development/06-conventions.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/92-development/07-guides.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/92-development/08-translations.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/92-development/09-openapi.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/92-development/09-testing.md (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/92-development/_category_.yaml (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/92-development/ui-proxy.svg (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/92-development/vscode-debug.png (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/92-development/vscode-run-test.png (100%) rename docs/versioned_docs/{version-3.4 => version-3.7}/92-development/woodpecker-architecture.png (100%) delete mode 100644 docs/versioned_sidebars/version-3.4-sidebars.json rename docs/versioned_sidebars/{version-3.3-sidebars.json => version-3.7-sidebars.json} (100%) diff --git a/docs/versioned_docs/version-3.4/20-usage/40-secrets.md b/docs/versioned_docs/version-3.4/20-usage/40-secrets.md deleted file mode 100644 index 059bb52dd..000000000 --- a/docs/versioned_docs/version-3.4/20-usage/40-secrets.md +++ /dev/null @@ -1,156 +0,0 @@ -# Secrets - -Woodpecker provides the ability to store named variables in a central secret store. -These secrets can be passed securely to individual pipeline steps using the `from_secret` keyword. - -Three different levels of secrets are available. -The following list shows the priority of these. -If a secret is defined in multiple levels, the following precedence applies: Repository secrets > Organization secrets > Global secrets. - -1. **Repository secrets**: Available to all pipelines of a repository. -1. **Organization secrets**: Available to all pipelines of an organization. -1. **Global secrets**: Can only be set by instance admins. - Global secret are available to all pipelines of the **entire** Woodpecker instance and should therefore be used with caution. - -:::tip -In addition to the native secret integration, external secret providers can be utilized by interacting with them directly within pipeline steps. -Access to these providers can be configured using Woodpecker secrets, enabling the retrieval of secrets from the respective external sources. -::: - -:::warning -Woodpecker can mask secrets from its native secret store, but it cannot apply the same protection to external secrets. As a result, these external secrets may be exposed in the pipeline logs. -::: - -## Usage - -You can set a setting or environment value from Woodpecker secrets using the `from_secret` syntax. - -The example below passes a secret called `secret_token` which will be stored in an environment variable named `TOKEN_ENV`: - -```diff - steps: - - name: 'step name' - image: registry/repo/image:tag - commands: -+ - echo "The secret is $TOKEN_ENV" -+ environment: -+ TOKEN_ENV: -+ from_secret: secret_token -``` - -The same syntax can be used to pass secrets to (plugin) settings. -A secret named `secret_token` is assigned to the setting `TOKEN`, which will then be available in the plugin as environment variable `PLUGIN_TOKEN` (see [plugins](./51-plugins/20-creating-plugins.md#settings) for details). -`PLUGIN_TOKEN` is then internally consumed by the plugin itself and will be honored during execution. - -```diff - steps: - - name: 'step name' - image: registry/repo/image:tag -+ settings: -+ TOKEN: -+ from_secret: secret_token -``` - -### Note about parameter pre-processing - -Please note that parameter expressions undergo pre-processing, meaning they are evaluated before the pipeline starts. -If secrets are to be used in expressions, they must be properly escaped (using `$$`) to ensure correct handling. - -```diff - steps: - - name: docker - image: docker - commands: -- - echo ${TOKEN_ENV} -+ - echo $${TOKEN_ENV} - environment: - TOKEN_ENV: - from_secret: secret_token -``` - -### Use in Pull Requests events - -By default, secrets are not exposed to pull requests. -However, you can change this behavior by creating the secret and enabling the `pull_request` event type. -This can be configured either through the UI or via the CLI, as demonstrated below. - -:::warning -Be cautious when exposing secrets to pull requests. -If your repository is public and initiates pull request runs without requiring approval, your secrets may be at risk. -Malicious actors could potentially exploit this to expose or transmit your secrets to an external location. -::: - -## Plugins filter - -To prevent abusing your secrets from malicious usage, you can limit a secret to a list of plugins. -If enabled they are not available to any other plugin (steps without user-defined commands). -Plugins have the advantage that they cannot run arbitrary commands, hence they cannot be used to expose secrets (in contrast to arbitrary steps). - -:::note -If you specify a tag, the filter will honor it. -However, if the same image appears multiple times in the list, the least privileged entry takes precedence. -For example, an image without a tag will permit all tags, even if another entry with a pinned tag is included. -::: - -![plugins filter](./secrets-plugins-filter.png) - -## Adding Secrets - -Secrets can be added through the UI or via the CLI. - -### CLI Examples - -Create the secret using default settings. -The secret will be available to all images in your pipeline, and will be available to all `push`, `tag`, and `deployment` events (not `pull_request` events). - -```bash -woodpecker-cli repo secret add \ - --repository octocat/hello-world \ - --name aws_access_key_id \ - --value -``` - -Create the secret and limit it to a single image: - -```diff - woodpecker-cli secret add \ - --repository octocat/hello-world \ -+ --image woodpeckerci/plugin-s3 \ - --name aws_access_key_id \ - --value -``` - -Create the secrets and limit it to a set of images: - -```diff - woodpecker-cli repo secret add \ - --repository octocat/hello-world \ -+ --image woodpeckerci/plugin-s3 \ -+ --image woodpeckerci/plugin-docker-buildx \ - --name aws_access_key_id \ - --value -``` - -Create the secret and enable it for multiple hook events: - -```diff - woodpecker-cli repo secret add \ - --repository octocat/hello-world \ - --image woodpeckerci/plugin-s3 \ -+ --event pull_request \ -+ --event push \ -+ --event tag \ - --name aws_access_key_id \ - --value -``` - -Secrets can be loaded from a file using the `@` syntax. -This method is recommended for loading secrets from a file, as it ensures that newlines are preserved (this is for example important for SSH keys). -Here’s an example: - -```diff - woodpecker-cli repo secret add \ - -repository octocat/hello-world \ - -name ssh_key \ -+ -value @/root/ssh/id_rsa -``` diff --git a/docs/versioned_docs/version-3.4/10-intro/index.md b/docs/versioned_docs/version-3.7/10-intro/index.md similarity index 100% rename from docs/versioned_docs/version-3.4/10-intro/index.md rename to docs/versioned_docs/version-3.7/10-intro/index.md diff --git a/docs/versioned_docs/version-3.4/20-usage/10-intro.md b/docs/versioned_docs/version-3.7/20-usage/10-intro.md similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/10-intro.md rename to docs/versioned_docs/version-3.7/20-usage/10-intro.md diff --git a/docs/versioned_docs/version-3.4/20-usage/100-troubleshooting.md b/docs/versioned_docs/version-3.7/20-usage/100-troubleshooting.md similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/100-troubleshooting.md rename to docs/versioned_docs/version-3.7/20-usage/100-troubleshooting.md diff --git a/docs/versioned_docs/version-3.4/20-usage/15-terminology/architecture.excalidraw b/docs/versioned_docs/version-3.7/20-usage/15-terminology/architecture.excalidraw similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/15-terminology/architecture.excalidraw rename to docs/versioned_docs/version-3.7/20-usage/15-terminology/architecture.excalidraw diff --git a/docs/versioned_docs/version-3.4/20-usage/15-terminology/architecture.svg b/docs/versioned_docs/version-3.7/20-usage/15-terminology/architecture.svg similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/15-terminology/architecture.svg rename to docs/versioned_docs/version-3.7/20-usage/15-terminology/architecture.svg diff --git a/docs/versioned_docs/version-3.4/20-usage/15-terminology/index.md b/docs/versioned_docs/version-3.7/20-usage/15-terminology/index.md similarity index 97% rename from docs/versioned_docs/version-3.4/20-usage/15-terminology/index.md rename to docs/versioned_docs/version-3.7/20-usage/15-terminology/index.md index e64d4565f..310567f1a 100644 --- a/docs/versioned_docs/version-3.4/20-usage/15-terminology/index.md +++ b/docs/versioned_docs/version-3.7/20-usage/15-terminology/index.md @@ -24,6 +24,7 @@ - **Dependency**: [Workflows][Workflow] can depend on each other, and if possible, they are executed in parallel. - **Status**: Status refers to the outcome of a step or [workflow][Workflow] after it has been executed, determined by the internal command exit code. At the end of a [workflow][Workflow], its status is sent to the [forge][Forge]. - **Service extension**: Some parts of Woodpecker internal services like secrets storage or config fetcher can be replaced through service extensions. +- **Task**: A task is a [workflow][Workflow] that's currently waiting for its execution in the task queue. ## Woodpecker architecture diff --git a/docs/versioned_docs/version-3.4/20-usage/15-terminology/pipeline-workflow-step.excalidraw b/docs/versioned_docs/version-3.7/20-usage/15-terminology/pipeline-workflow-step.excalidraw similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/15-terminology/pipeline-workflow-step.excalidraw rename to docs/versioned_docs/version-3.7/20-usage/15-terminology/pipeline-workflow-step.excalidraw diff --git a/docs/versioned_docs/version-3.4/20-usage/15-terminology/pipeline-workflow-step.svg b/docs/versioned_docs/version-3.7/20-usage/15-terminology/pipeline-workflow-step.svg similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/15-terminology/pipeline-workflow-step.svg rename to docs/versioned_docs/version-3.7/20-usage/15-terminology/pipeline-workflow-step.svg diff --git a/docs/versioned_docs/version-3.4/20-usage/20-workflow-syntax.md b/docs/versioned_docs/version-3.7/20-usage/20-workflow-syntax.md similarity index 88% rename from docs/versioned_docs/version-3.4/20-usage/20-workflow-syntax.md rename to docs/versioned_docs/version-3.7/20-usage/20-workflow-syntax.md index 2f988790d..646312bb7 100644 --- a/docs/versioned_docs/version-3.4/20-usage/20-workflow-syntax.md +++ b/docs/versioned_docs/version-3.7/20-usage/20-workflow-syntax.md @@ -122,7 +122,13 @@ image: index.docker.io/library/golang image: index.docker.io/library/golang:1.7 ``` -Woodpecker does not automatically upgrade container images. Example configuration to always pull the latest image when updates are available: +Learn more how you can use images from [different registries](./41-registries.md). + +### `pull` + +By default, Woodpecker does not automatically upgrade container images and only pulls them when they are not already present. + +To always pull the latest image when updates are available, use the `pull` option: ```diff steps: @@ -131,8 +137,6 @@ Woodpecker does not automatically upgrade container images. Example configuratio + pull: true ``` -Learn more how you can use images from [different registries](./41-registries.md). - ### `commands` Commands of every step are executed serially as if you would enter them into your local shell. @@ -510,6 +514,15 @@ For more details check the [service docs](./60-services.md#detachment). Using `directory`, you can set a subdirectory of your repository or an absolute path inside the Docker container in which your commands will run. +### `backend_options` + +With `backend_options` you can define options that are specific to the respective backend that is used to execute the steps. For example, you can specify the user and/or group used in a Docker container or you can specify the service account for Kubernetes. + +Further details can be found in the documentation of the used backend: + +- [Docker](../30-administration/10-configuration/11-backends/10-docker.md#step-specific-configuration) +- [Kubernetes](../30-administration/10-configuration/11-backends/20-kubernetes.md#step-specific-configuration) + ## `services` Woodpecker can provide service containers. They can for example be used to run databases or cache containers during the execution of workflow. @@ -594,12 +607,16 @@ For more details check the [matrix build docs](./30-matrix-workflows.md). ## `labels` -You can set labels for your workflow to select an agent to execute the workflow on. An agent will pick up and run a workflow when **every** label assigned to it matches the agents labels. +You can define labels for your workflow in order to select an agent to execute the workflow. An agent takes up a workflow and executes it if **every** label assigned to it matches the label of the agent. -To set additional agent labels, check the [agent configuration options](../30-administration/10-configuration/30-agent.md#agent_labels). Agents will have at least four default labels: `platform=agent-os/agent-arch`, `hostname=my-agent`, `backend=docker` (type of the agent backend) and `repo=*`. Agents can use a `*` as a wildcard for a label. For example `repo=*` will match every repo. +To specify additional agent labels, check the [Agent configuration options](../30-administration/10-configuration/30-agent.md#agent_labels). The agents have at least four default labels: `platform=agent-os/agent-arch`, `hostname=my-agent`, `backend=docker` (type of agent backend) and `repo=*`. Agents can use an `*` as a placeholder for a label. For example, `repo=*` matches any repo. -Workflow labels with an empty value will be ignored. -By default, each workflow has at least the `repo=your-user/your-repo-name` label. If you have set the [platform attribute](#platform) for your workflow it will have a label like `platform=your-os/your-arch` as well. +Workflow labels with an empty value are ignored. +By default, each workflow has at least the label `repo=your-user/your-repo-name`. If you have set the [platform attribute](#platform) for your workflow, it will also have a label such as `platform=your-os/your-arch`. + +:::warning +Labels with the `woodpecker-ci.org` prefix are managed by Woodpecker and can not be set as part of the pipeline definition. +::: You can add additional labels as a key value map: @@ -642,9 +659,9 @@ For more details and examples check the [Advanced usage docs](./90-advanced-usag ## `clone` -Woodpecker automatically configures a default clone step if not explicitly defined. When using the `local` backend, the [plugin-git](https://github.com/woodpecker-ci/plugin-git) binary must be on your `$PATH` for the default clone step to work. If not, you can still write a manual clone step. +Woodpecker automatically configures a default clone step if it is not explicitly defined. If you are using the `local` backend, the [plugin-git](https://github.com/woodpecker-ci/plugin-git) binary must be in your `$PATH` for the default clone step to work. If this is not the case, you can still write a manual clone step. -You can manually configure the clone step in your workflow for customization: +You can manually configure the clone step in your workflow to customize it: ```diff +clone: @@ -659,7 +676,7 @@ You can manually configure the clone step in your workflow for customization: - go test ``` -Example configuration to override depth: +Example configuration to override the depth: ```diff clone: @@ -680,7 +697,7 @@ Example configuration to use a custom clone plugin: ### Git Submodules -To use the credentials that cloned the repository to clone it's submodules, update `.gitmodules` to use `https` instead of `git`: +To use the credentials used to clone the repository to clone its submodules, update `.gitmodules` to use `https` instead of `git`: ```diff [submodule "my-module"] @@ -706,6 +723,10 @@ steps: ## `skip_clone` +:::warning +The default clone step is executed as `root` to ensure that the workspace directory can be accessed by any user (`0777`). This is necessary to allow rootless step containers to write to the workspace directory. If a rootless step container is used with `skip_clone`, the user must ensure a suitable workspace directory that can be accessed by the unprivileged container use, e.g. `/tmp`. +::: + By default Woodpecker is automatically adding a clone step. This clone step can be configured by the [clone](#clone) property. If you do not need a `clone` step at all you can skip it using: ```yaml diff --git a/docs/versioned_docs/version-3.4/20-usage/25-workflows.md b/docs/versioned_docs/version-3.7/20-usage/25-workflows.md similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/25-workflows.md rename to docs/versioned_docs/version-3.7/20-usage/25-workflows.md diff --git a/docs/versioned_docs/version-3.4/20-usage/30-matrix-workflows.md b/docs/versioned_docs/version-3.7/20-usage/30-matrix-workflows.md similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/30-matrix-workflows.md rename to docs/versioned_docs/version-3.7/20-usage/30-matrix-workflows.md diff --git a/docs/versioned_docs/version-3.7/20-usage/40-secrets.md b/docs/versioned_docs/version-3.7/20-usage/40-secrets.md new file mode 100644 index 000000000..6cdaef519 --- /dev/null +++ b/docs/versioned_docs/version-3.7/20-usage/40-secrets.md @@ -0,0 +1,148 @@ +# Secrets + +Woodpecker provides the ability to store named variables in a central secret store. +These secrets can be securely passed on to individual pipeline steps using the keyword `from_secret`. + +There are three different levels of secrets available. If a secret is defined in multiple levels, the following order of priority applies (last wins): + +1. **Repository secrets**: Available for all pipelines of a repository. +1. **Organization secrets**: Available for all pipelines of an organization. +1. **Global secrets**: Can only be set by instance administrators. + Global secrets are available for all pipelines of the **entire** Woodpecker instance and should therefore be used with caution. + +In addition to the native integration of secrets, external providers of secrets can also be used by interacting with them directly within pipeline steps. Access to these providers can be configured with Woodpecker secrets, which enables the retrieval of secrets from the respective external sources. + +:::warning +Woodpecker can mask secrets from its own secrets store, but it cannot apply the same protection to external secrets. As a result, these external secrets can be exposed in the pipeline logs. +::: + +## Usage + +You can set a setting or environment value from Woodpecker secrets by using the `from_secret` syntax. + +The following example passes a secret called `secret_token` which is stored in an environment variable called `TOKEN_ENV`: + +```diff + steps: + - name: 'step name' + image: registry/repo/image:tag + commands: ++ - echo "The secret is $TOKEN_ENV" ++ environment: ++ TOKEN_ENV: ++ from_secret: secret_token +``` + +The same syntax can be used to pass secrets to (plugin) settings. +A secret called `secret_token` is assigned to the setting `TOKEN`, which is then available in the plugin as the environment variable `PLUGIN_TOKEN` (see [plugins](./51-plugins/20-creating-plugins.md#settings) for details). +`PLUGIN_TOKEN` is then used internally by the plugin itself and taken into account during execution. + +```diff + steps: + - name: 'step name' + image: registry/repo/image:tag ++ settings: ++ TOKEN: ++ from_secret: secret_token +``` + +### Escape secrets + +Please note that parameter expressions are preprocessed, i.e. they are evaluated before the pipeline starts. +If secrets are to be used in expressions, they must be properly escaped (with `$$`) to ensure correct processing. + +```diff + steps: + - name: docker + image: docker + commands: +- - echo ${TOKEN_ENV} ++ - echo $${TOKEN_ENV} + environment: + TOKEN_ENV: + from_secret: secret_token +``` + +### Events filter + +By default, secrets are not exposed to pull requests. +However, you can change this behavior by creating the secret and enabling the `pull_request` event type. +This can be configured either via the UI or via the CLI. + +:::warning +Be careful when exposing secrets for pull requests. +If your repository is public and accepts pull requests from everyone, your secrets may be at risk. +Malicious actors could take advantage of this to expose your secrets or transfer them to an external location. +::: + +### Plugins filter + +To prevent your secrets from being misused by malicious users, you can restrict a secret to a list of plugins. +If enabled, they are not available to any other plugins. +Plugins have the advantage that they cannot execute arbitrary commands and therefore cannot reveal secrets. + +:::tip +If you specify a tag, the filter will take it into account. +However, if the same image appears several times in the list, the least privileged entry will take precedence. +For example, an image without a tag will allow all tags, even if it contains another entry with a tag attached. +::: + +![plugins filter](./secrets-plugins-filter.png) + +## CLI + +In addition to the UI, secrets can also be managed using the CLI. + +Create the secret with the default settings. +The secret is available for all images in your pipeline and for all `push`, `tag` and `deployment` events (not for `pull_request` events). + +```bash +woodpecker-cli repo secret add \ + --repository octocat/hello-world \ + --name aws_access_key_id \ + --value +``` + +Create the secret and limit it to a single image: + +```diff + woodpecker-cli secret add \ + --repository octocat/hello-world \ ++ --image woodpeckerci/plugin-s3 \ + --name aws_access_key_id \ + --value +``` + +Create the secrets and limit it to a set of images: + +```diff + woodpecker-cli repo secret add \ + --repository octocat/hello-world \ ++ --image woodpeckerci/plugin-s3 \ ++ --image woodpeckerci/plugin-docker-buildx \ + --name aws_access_key_id \ + --value +``` + +Create the secret and enable it for multiple hook events: + +```diff + woodpecker-cli repo secret add \ + --repository octocat/hello-world \ + --image woodpeckerci/plugin-s3 \ ++ --event pull_request \ ++ --event push \ ++ --event tag \ + --name aws_access_key_id \ + --value +``` + +Secrets can be loaded from a file using the syntax `@`. +This method is recommended for loading secrets from a file, as it ensures that line breaks are preserved (this is important for SSH keys, for example): + +```diff + woodpecker-cli repo secret add \ + -repository octocat/hello-world \ + -name ssh_key \ ++ -value @/root/ssh/id_rsa +``` diff --git a/docs/versioned_docs/version-3.4/20-usage/41-registries.md b/docs/versioned_docs/version-3.7/20-usage/41-registries.md similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/41-registries.md rename to docs/versioned_docs/version-3.7/20-usage/41-registries.md diff --git a/docs/versioned_docs/version-3.4/20-usage/45-cron.md b/docs/versioned_docs/version-3.7/20-usage/45-cron.md similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/45-cron.md rename to docs/versioned_docs/version-3.7/20-usage/45-cron.md diff --git a/docs/versioned_docs/version-3.4/20-usage/50-environment.md b/docs/versioned_docs/version-3.7/20-usage/50-environment.md similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/50-environment.md rename to docs/versioned_docs/version-3.7/20-usage/50-environment.md diff --git a/docs/versioned_docs/version-3.4/20-usage/51-plugins/20-creating-plugins.md b/docs/versioned_docs/version-3.7/20-usage/51-plugins/20-creating-plugins.md similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/51-plugins/20-creating-plugins.md rename to docs/versioned_docs/version-3.7/20-usage/51-plugins/20-creating-plugins.md diff --git a/docs/versioned_docs/version-3.4/20-usage/51-plugins/51-overview.md b/docs/versioned_docs/version-3.7/20-usage/51-plugins/51-overview.md similarity index 96% rename from docs/versioned_docs/version-3.4/20-usage/51-plugins/51-overview.md rename to docs/versioned_docs/version-3.7/20-usage/51-plugins/51-overview.md index 7da822a47..a731a7e97 100644 --- a/docs/versioned_docs/version-3.4/20-usage/51-plugins/51-overview.md +++ b/docs/versioned_docs/version-3.7/20-usage/51-plugins/51-overview.md @@ -64,5 +64,6 @@ There are also other plugin lists with additional plugins. Keep in mind that [Dr - [Drone Plugins](http://plugins.drone.io) - [Geeklab Woodpecker Plugins](https://woodpecker-plugins.geekdocs.de/) +- [Woodpecker Community Plugins](https://codeberg.org/woodpecker-community) ::: diff --git a/docs/versioned_docs/version-3.4/20-usage/51-plugins/_category_.yaml b/docs/versioned_docs/version-3.7/20-usage/51-plugins/_category_.yaml similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/51-plugins/_category_.yaml rename to docs/versioned_docs/version-3.7/20-usage/51-plugins/_category_.yaml diff --git a/docs/versioned_docs/version-3.4/20-usage/60-services.md b/docs/versioned_docs/version-3.7/20-usage/60-services.md similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/60-services.md rename to docs/versioned_docs/version-3.7/20-usage/60-services.md diff --git a/docs/versioned_docs/version-3.4/20-usage/70-volumes.md b/docs/versioned_docs/version-3.7/20-usage/70-volumes.md similarity index 90% rename from docs/versioned_docs/version-3.4/20-usage/70-volumes.md rename to docs/versioned_docs/version-3.7/20-usage/70-volumes.md index 6897053fb..cc9ba7d6b 100644 --- a/docs/versioned_docs/version-3.4/20-usage/70-volumes.md +++ b/docs/versioned_docs/version-3.7/20-usage/70-volumes.md @@ -19,6 +19,8 @@ Volumes are only available to trusted repositories and for security reasons shou + - /var/run/docker.sock:/var/run/docker.sock ``` +If you use the Docker backend, you can also use named volumes like `some_volume_name:/var/run/volume`. + Please note that Woodpecker mounts volumes on the host machine. This means you must use absolute paths when you configure volumes. Attempting to use relative paths will result in an error. ```diff diff --git a/docs/versioned_docs/version-3.4/20-usage/72-linter.md b/docs/versioned_docs/version-3.7/20-usage/72-linter.md similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/72-linter.md rename to docs/versioned_docs/version-3.7/20-usage/72-linter.md diff --git a/docs/versioned_docs/version-3.4/20-usage/75-project-settings.md b/docs/versioned_docs/version-3.7/20-usage/75-project-settings.md similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/75-project-settings.md rename to docs/versioned_docs/version-3.7/20-usage/75-project-settings.md diff --git a/docs/versioned_docs/version-3.4/20-usage/80-badges.md b/docs/versioned_docs/version-3.7/20-usage/80-badges.md similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/80-badges.md rename to docs/versioned_docs/version-3.7/20-usage/80-badges.md diff --git a/docs/versioned_docs/version-3.4/20-usage/90-advanced-usage.md b/docs/versioned_docs/version-3.7/20-usage/90-advanced-usage.md similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/90-advanced-usage.md rename to docs/versioned_docs/version-3.7/20-usage/90-advanced-usage.md diff --git a/docs/versioned_docs/version-3.4/20-usage/_category_.yaml b/docs/versioned_docs/version-3.7/20-usage/_category_.yaml similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/_category_.yaml rename to docs/versioned_docs/version-3.7/20-usage/_category_.yaml diff --git a/docs/versioned_docs/version-3.4/20-usage/cron-settings.png b/docs/versioned_docs/version-3.7/20-usage/cron-settings.png similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/cron-settings.png rename to docs/versioned_docs/version-3.7/20-usage/cron-settings.png diff --git a/docs/versioned_docs/version-3.4/20-usage/linter-warnings-errors.png b/docs/versioned_docs/version-3.7/20-usage/linter-warnings-errors.png similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/linter-warnings-errors.png rename to docs/versioned_docs/version-3.7/20-usage/linter-warnings-errors.png diff --git a/docs/versioned_docs/version-3.4/20-usage/pipeline.png b/docs/versioned_docs/version-3.7/20-usage/pipeline.png similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/pipeline.png rename to docs/versioned_docs/version-3.7/20-usage/pipeline.png diff --git a/docs/versioned_docs/version-3.4/20-usage/project-settings.png b/docs/versioned_docs/version-3.7/20-usage/project-settings.png similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/project-settings.png rename to docs/versioned_docs/version-3.7/20-usage/project-settings.png diff --git a/docs/versioned_docs/version-3.4/20-usage/repo-new.png b/docs/versioned_docs/version-3.7/20-usage/repo-new.png similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/repo-new.png rename to docs/versioned_docs/version-3.7/20-usage/repo-new.png diff --git a/docs/versioned_docs/version-3.4/20-usage/secrets-plugins-filter.png b/docs/versioned_docs/version-3.7/20-usage/secrets-plugins-filter.png similarity index 100% rename from docs/versioned_docs/version-3.4/20-usage/secrets-plugins-filter.png rename to docs/versioned_docs/version-3.7/20-usage/secrets-plugins-filter.png diff --git a/docs/versioned_docs/version-3.4/30-administration/00-general.md b/docs/versioned_docs/version-3.7/30-administration/00-general.md similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/00-general.md rename to docs/versioned_docs/version-3.7/30-administration/00-general.md diff --git a/docs/versioned_docs/version-3.4/30-administration/05-installation/10-docker-compose.md b/docs/versioned_docs/version-3.7/30-administration/05-installation/10-docker-compose.md similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/05-installation/10-docker-compose.md rename to docs/versioned_docs/version-3.7/30-administration/05-installation/10-docker-compose.md diff --git a/docs/versioned_docs/version-3.4/30-administration/05-installation/20-helm-chart.md b/docs/versioned_docs/version-3.7/30-administration/05-installation/20-helm-chart.md similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/05-installation/20-helm-chart.md rename to docs/versioned_docs/version-3.7/30-administration/05-installation/20-helm-chart.md diff --git a/docs/versioned_docs/version-3.4/30-administration/05-installation/30-packages.md b/docs/versioned_docs/version-3.7/30-administration/05-installation/30-packages.md similarity index 90% rename from docs/versioned_docs/version-3.4/30-administration/05-installation/30-packages.md rename to docs/versioned_docs/version-3.7/30-administration/05-installation/30-packages.md index e54e2b093..0ea24b73a 100644 --- a/docs/versioned_docs/version-3.4/30-administration/05-installation/30-packages.md +++ b/docs/versioned_docs/version-3.7/30-administration/05-installation/30-packages.md @@ -8,12 +8,14 @@ The pre-built packages are available on the [GitHub releases](https://github.com/woodpecker-ci/woodpecker/releases/latest) page. The packages can be installed using the package manager of your distribution. ```Shell -# Debian/Ubuntu -curl -L https://github.com/woodpecker-ci/woodpecker/releases/download/${RELEASE_VERSION}/woodpecker_${RELEASE_VERSION}_amd64.deb -o woodpecker-server.deb -sudo apt --fix-broken install ./woodpecker-server.deb +RELEASE_VERSION=$(curl -s https://api.github.com/repos/woodpecker-ci/woodpecker/releases/latest | grep -Po '"tag_name":\s"v\K[^"]+') -# CentOS/RHEL -sudo dnf install https://github.com/woodpecker-ci/woodpecker/releases/download/${RELEASE_VERSION}/woodpecker_${RELEASE_VERSION}_amd64.rpm +# Debian/Ubuntu (x86_64) +curl -fLOOO "https://github.com/woodpecker-ci/woodpecker/releases/download/v${RELEASE_VERSION}/woodpecker-{server,agent,cli}_${RELEASE_VERSION}_amd64.deb" +sudo apt --fix-broken install ./woodpecker-{server,agent,cli}_${RELEASE_VERSION}_amd64.deb + +# CentOS/RHEL (x86_64) +sudo dnf install https://github.com/woodpecker-ci/woodpecker/releases/download/v${RELEASE_VERSION}/woodpecker-{server,agent,cli}-${RELEASE_VERSION}.x86_64.rpm ``` The package installation will create a systemd service file for the Woodpecker server and agent along with an example environment file. To configure the server, copy the example environment file `/etc/woodpecker/woodpecker-server.env.example` to `/etc/woodpecker/woodpecker-server.env` and adjust the values. @@ -113,21 +115,18 @@ in # This automatically sets up certificates via let's encrypt security.acme.defaults.email = "acme@example.com"; security.acme.acceptTerms = true; - security.acme.certs."${domain}" = { }; # Setting up a nginx proxy that handles tls for us - networking.firewall.allowedTCPPorts = [ 80 443 ]; services.nginx = { enable = true; + openFirewall = true; recommendedTlsSettings = true; recommendedOptimisation = true; recommendedProxySettings = true; virtualHosts."${domain}" = { enableACME = true; forceSSL = true; - locations."/" = { - proxyPass = "http://localhost:3007"; - }; + locations."/".proxyPass = "http://localhost:3007"; }; }; diff --git a/docs/versioned_docs/version-3.4/30-administration/05-installation/_category_.yaml b/docs/versioned_docs/version-3.7/30-administration/05-installation/_category_.yaml similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/05-installation/_category_.yaml rename to docs/versioned_docs/version-3.7/30-administration/05-installation/_category_.yaml diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/10-server.md b/docs/versioned_docs/version-3.7/30-administration/10-configuration/10-server.md similarity index 97% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/10-server.md rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/10-server.md index 18f85e5cf..f47ac222c 100644 --- a/docs/versioned_docs/version-3.4/30-administration/10-configuration/10-server.md +++ b/docs/versioned_docs/version-3.7/30-administration/10-configuration/10-server.md @@ -1053,8 +1053,6 @@ Supported variables: --- ---- - ### CONFIG_SERVICE_ENDPOINT - Name: `WOODPECKER_CONFIG_SERVICE_ENDPOINT` @@ -1118,6 +1116,32 @@ Directory to store logs in if [`WOODPECKER_LOG_STORE`](#log_store) is `file`. --- +### EXPERT_WEBHOOK_HOST + +- Name: `WOODPECKER_EXPERT_WEBHOOK_HOST` +- Default: none + +:::warning +This option is not required in most cases and should only be used if you know what you're doing. +::: + +Fully qualified Woodpecker server URL, called by the webhooks of the forge. Format: `://[/]`. + +--- + +### EXPERT_FORGE_OAUTH_HOST + +- Name: `WOODPECKER_EXPERT_FORGE_OAUTH_HOST` +- Default: none + +:::warning +This option is not required in most cases and should only be used if you know what you're doing. +::: + +Fully qualified public forge URL, used if forge url is not a public URL. Format: `://[/]`. + +--- + ### GITHUB\_\* See [GitHub configuration](./12-forges/20-github.md#configuration) diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/11-backends/10-docker.md b/docs/versioned_docs/version-3.7/30-administration/10-configuration/11-backends/10-docker.md similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/11-backends/10-docker.md rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/11-backends/10-docker.md diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/11-backends/20-kubernetes.md b/docs/versioned_docs/version-3.7/30-administration/10-configuration/11-backends/20-kubernetes.md similarity index 96% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/11-backends/20-kubernetes.md rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/11-backends/20-kubernetes.md index cfd76a779..63b0bc60c 100644 --- a/docs/versioned_docs/version-3.4/30-administration/10-configuration/11-backends/20-kubernetes.md +++ b/docs/versioned_docs/version-3.7/30-administration/10-configuration/11-backends/20-kubernetes.md @@ -6,6 +6,20 @@ toc_max_heading_level: 2 The Kubernetes backend executes steps inside standalone Pods. A temporary PVC is created for the lifetime of the pipeline to transfer files between steps. +## Metadata labels + +Woodpecker adds some labels to the pods to provide additional context to the workflow. These labels can be used for various purposes, e.g. for simple debugging or as selectors for network policies. + +The following metadata labels are supported: + +- `woodpecker-ci.org/forge-id` +- `woodpecker-ci.org/repo-forge-id` +- `woodpecker-ci.org/repo-id` +- `woodpecker-ci.org/repo-name` +- `woodpecker-ci.org/repo-full-name` +- `woodpecker-ci.org/branch` +- `woodpecker-ci.org/org-id` + ## Private registries In addition to [registries specified in the UI](../../../20-usage/41-registries.md), you may provide [registry credentials in Kubernetes Secrets](https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/) to pull private container images defined in your pipeline YAML. diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/11-backends/30-local.md b/docs/versioned_docs/version-3.7/30-administration/10-configuration/11-backends/30-local.md similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/11-backends/30-local.md rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/11-backends/30-local.md diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/11-backends/50-custom.md b/docs/versioned_docs/version-3.7/30-administration/10-configuration/11-backends/50-custom.md similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/11-backends/50-custom.md rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/11-backends/50-custom.md diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/11-backends/_category_.yaml b/docs/versioned_docs/version-3.7/30-administration/10-configuration/11-backends/_category_.yaml similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/11-backends/_category_.yaml rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/11-backends/_category_.yaml diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/100-addon.md b/docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/100-addon.md similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/100-addon.md rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/100-addon.md diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/11-overview.md b/docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/11-overview.md similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/11-overview.md rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/11-overview.md diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/20-github.md b/docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/20-github.md similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/20-github.md rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/20-github.md diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/30-gitea.md b/docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/30-gitea.md similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/30-gitea.md rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/30-gitea.md diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/35-forgejo.md b/docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/35-forgejo.md similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/35-forgejo.md rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/35-forgejo.md diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/40-gitlab.md b/docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/40-gitlab.md similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/40-gitlab.md rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/40-gitlab.md diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/50-bitbucket.md b/docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/50-bitbucket.md similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/50-bitbucket.md rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/50-bitbucket.md diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/60-bitbucket_datacenter.md b/docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/60-bitbucket_datacenter.md similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/60-bitbucket_datacenter.md rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/60-bitbucket_datacenter.md diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/_category_.yaml b/docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/_category_.yaml similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/_category_.yaml rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/_category_.yaml diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/bitbucket_oauth.png b/docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/bitbucket_oauth.png similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/bitbucket_oauth.png rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/bitbucket_oauth.png diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/bitbucket_permissions.png b/docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/bitbucket_permissions.png similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/bitbucket_permissions.png rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/bitbucket_permissions.png diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/gitea_oauth.gif b/docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/gitea_oauth.gif similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/gitea_oauth.gif rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/gitea_oauth.gif diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/github_oauth.png b/docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/github_oauth.png similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/12-forges/github_oauth.png rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/12-forges/github_oauth.png diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/30-agent.md b/docs/versioned_docs/version-3.7/30-administration/10-configuration/30-agent.md similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/30-agent.md rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/30-agent.md diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/40-autoscaler.md b/docs/versioned_docs/version-3.7/30-administration/10-configuration/40-autoscaler.md similarity index 82% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/40-autoscaler.md rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/40-autoscaler.md index 0ad43a30b..e1b105ee9 100644 --- a/docs/versioned_docs/version-3.4/30-administration/10-configuration/40-autoscaler.md +++ b/docs/versioned_docs/version-3.7/30-administration/10-configuration/40-autoscaler.md @@ -27,7 +27,7 @@ services: - WOODPECKER_MIN_AGENTS=0 - WOODPECKER_MAX_AGENTS=3 - WOODPECKER_WORKFLOWS_PER_AGENT=2 # the number of workflows each agent can run at the same time - - WOODPECKER_GRPC_ADDR=https://grpc.your-woodpecker-server.tld # the grpc address of your woodpecker server, publicly accessible from the agents + - WOODPECKER_GRPC_ADDR=grpc.your-woodpecker-server.tld # the grpc address of your woodpecker server, publicly accessible from the agents. See https://woodpecker-ci.org/docs/administration/configuration/server#caddy for an example of how to expose it. Do not include "https://" in the value. - WOODPECKER_GRPC_SECURE=true - WOODPECKER_AGENT_ENV= # optional environment variables to pass to the agents - WOODPECKER_PROVIDER=hetznercloud # set the provider, you can find all the available ones down below diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/_category_.yaml b/docs/versioned_docs/version-3.7/30-administration/10-configuration/_category_.yaml similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/_category_.yaml rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/_category_.yaml diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/new-agent-connected.png b/docs/versioned_docs/version-3.7/30-administration/10-configuration/new-agent-connected.png similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/new-agent-connected.png rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/new-agent-connected.png diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/new-agent-created.png b/docs/versioned_docs/version-3.7/30-administration/10-configuration/new-agent-created.png similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/new-agent-created.png rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/new-agent-created.png diff --git a/docs/versioned_docs/version-3.4/30-administration/10-configuration/new-agent-registration.png b/docs/versioned_docs/version-3.7/30-administration/10-configuration/new-agent-registration.png similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/10-configuration/new-agent-registration.png rename to docs/versioned_docs/version-3.7/30-administration/10-configuration/new-agent-registration.png diff --git a/docs/versioned_docs/version-3.4/30-administration/_category_.yaml b/docs/versioned_docs/version-3.7/30-administration/_category_.yaml similarity index 100% rename from docs/versioned_docs/version-3.4/30-administration/_category_.yaml rename to docs/versioned_docs/version-3.7/30-administration/_category_.yaml diff --git a/docs/versioned_docs/version-3.4/40-cli.md b/docs/versioned_docs/version-3.7/40-cli.md similarity index 98% rename from docs/versioned_docs/version-3.4/40-cli.md rename to docs/versioned_docs/version-3.7/40-cli.md index 1a6fb2d96..739e21a4d 100644 --- a/docs/versioned_docs/version-3.4/40-cli.md +++ b/docs/versioned_docs/version-3.7/40-cli.md @@ -56,7 +56,6 @@ woodpecker-cli [GLOBAL OPTIONS] [command [COMMAND OPTIONS]] [ARGUMENTS...] **--token, -t**="": server auth token - # COMMANDS ## admin @@ -131,6 +130,8 @@ add a secret **--image**="": secret limited to these images (default: []) +**--name**="": secret name + **--value**="": secret value #### rm @@ -268,8 +269,6 @@ execute a local pipeline **--backend-no-proxy**="": if set, pass the environment variable down as "NO_PROXY" to steps -**--commit-author-avatar**="": Set the metadata environment variable "CI_COMMIT_AUTHOR_AVATAR". - **--commit-author-email**="": Set the metadata environment variable "CI_COMMIT_AUTHOR_EMAIL". **--commit-author-name**="": Set the metadata environment variable "CI_COMMIT_AUTHOR". @@ -326,8 +325,6 @@ execute a local pipeline **--plugins-privileged**="": Allow plugins to run in privileged mode, if environment variable is defined but empty there will be none (default: []) -**--prev-commit-author-avatar**="": Set the metadata environment variable "CI_PREV_COMMIT_AUTHOR_AVATAR". - **--prev-commit-author-email**="": Set the metadata environment variable "CI_PREV_COMMIT_AUTHOR_EMAIL". **--prev-commit-author-name**="": Set the metadata environment variable "CI_PREV_COMMIT_AUTHOR". @@ -398,9 +395,9 @@ execute a local pipeline **--workflow-number**="": Set the metadata environment variable "CI_WORKFLOW_NUMBER". (default: 0) -**--workspace-base**="": (default: /woodpecker) +**--workspace-base**="": (default: /woodpecker) -**--workspace-path**="": (default: src) +**--workspace-path**="": (default: src) ## info @@ -415,7 +412,7 @@ lint a pipeline configuration file **--plugins-privileged**="": allow plugins to run in privileged mode, if set empty, there is no (default: []) -**--plugins-trusted-clone**="": plugins that are trusted to handle Git credentials in cloning steps (default: [docker.io/woodpeckerci/plugin-git:2.6.2 docker.io/woodpeckerci/plugin-git quay.io/woodpeckerci/plugin-git]) +**--plugins-trusted-clone**="": plugins that are trusted to handle Git credentials in cloning steps (default: [docker.io/woodpeckerci/plugin-git:2.6.3 docker.io/woodpeckerci/plugin-git quay.io/woodpeckerci/plugin-git]) **--strict**: treat warnings as errors diff --git a/docs/versioned_docs/version-3.4/92-development/01-getting-started.md b/docs/versioned_docs/version-3.7/92-development/01-getting-started.md similarity index 100% rename from docs/versioned_docs/version-3.4/92-development/01-getting-started.md rename to docs/versioned_docs/version-3.7/92-development/01-getting-started.md diff --git a/docs/versioned_docs/version-3.4/92-development/02-core-ideas.md b/docs/versioned_docs/version-3.7/92-development/02-core-ideas.md similarity index 100% rename from docs/versioned_docs/version-3.4/92-development/02-core-ideas.md rename to docs/versioned_docs/version-3.7/92-development/02-core-ideas.md diff --git a/docs/versioned_docs/version-3.4/92-development/03-ui.md b/docs/versioned_docs/version-3.7/92-development/03-ui.md similarity index 100% rename from docs/versioned_docs/version-3.4/92-development/03-ui.md rename to docs/versioned_docs/version-3.7/92-development/03-ui.md diff --git a/docs/versioned_docs/version-3.4/92-development/04-docs.md b/docs/versioned_docs/version-3.7/92-development/04-docs.md similarity index 100% rename from docs/versioned_docs/version-3.4/92-development/04-docs.md rename to docs/versioned_docs/version-3.7/92-development/04-docs.md diff --git a/docs/versioned_docs/version-3.4/92-development/05-architecture.md b/docs/versioned_docs/version-3.7/92-development/05-architecture.md similarity index 100% rename from docs/versioned_docs/version-3.4/92-development/05-architecture.md rename to docs/versioned_docs/version-3.7/92-development/05-architecture.md diff --git a/docs/versioned_docs/version-3.4/92-development/06-conventions.md b/docs/versioned_docs/version-3.7/92-development/06-conventions.md similarity index 100% rename from docs/versioned_docs/version-3.4/92-development/06-conventions.md rename to docs/versioned_docs/version-3.7/92-development/06-conventions.md diff --git a/docs/versioned_docs/version-3.4/92-development/07-guides.md b/docs/versioned_docs/version-3.7/92-development/07-guides.md similarity index 100% rename from docs/versioned_docs/version-3.4/92-development/07-guides.md rename to docs/versioned_docs/version-3.7/92-development/07-guides.md diff --git a/docs/versioned_docs/version-3.4/92-development/08-translations.md b/docs/versioned_docs/version-3.7/92-development/08-translations.md similarity index 100% rename from docs/versioned_docs/version-3.4/92-development/08-translations.md rename to docs/versioned_docs/version-3.7/92-development/08-translations.md diff --git a/docs/versioned_docs/version-3.4/92-development/09-openapi.md b/docs/versioned_docs/version-3.7/92-development/09-openapi.md similarity index 100% rename from docs/versioned_docs/version-3.4/92-development/09-openapi.md rename to docs/versioned_docs/version-3.7/92-development/09-openapi.md diff --git a/docs/versioned_docs/version-3.4/92-development/09-testing.md b/docs/versioned_docs/version-3.7/92-development/09-testing.md similarity index 100% rename from docs/versioned_docs/version-3.4/92-development/09-testing.md rename to docs/versioned_docs/version-3.7/92-development/09-testing.md diff --git a/docs/versioned_docs/version-3.4/92-development/_category_.yaml b/docs/versioned_docs/version-3.7/92-development/_category_.yaml similarity index 100% rename from docs/versioned_docs/version-3.4/92-development/_category_.yaml rename to docs/versioned_docs/version-3.7/92-development/_category_.yaml diff --git a/docs/versioned_docs/version-3.4/92-development/ui-proxy.svg b/docs/versioned_docs/version-3.7/92-development/ui-proxy.svg similarity index 100% rename from docs/versioned_docs/version-3.4/92-development/ui-proxy.svg rename to docs/versioned_docs/version-3.7/92-development/ui-proxy.svg diff --git a/docs/versioned_docs/version-3.4/92-development/vscode-debug.png b/docs/versioned_docs/version-3.7/92-development/vscode-debug.png similarity index 100% rename from docs/versioned_docs/version-3.4/92-development/vscode-debug.png rename to docs/versioned_docs/version-3.7/92-development/vscode-debug.png diff --git a/docs/versioned_docs/version-3.4/92-development/vscode-run-test.png b/docs/versioned_docs/version-3.7/92-development/vscode-run-test.png similarity index 100% rename from docs/versioned_docs/version-3.4/92-development/vscode-run-test.png rename to docs/versioned_docs/version-3.7/92-development/vscode-run-test.png diff --git a/docs/versioned_docs/version-3.4/92-development/woodpecker-architecture.png b/docs/versioned_docs/version-3.7/92-development/woodpecker-architecture.png similarity index 100% rename from docs/versioned_docs/version-3.4/92-development/woodpecker-architecture.png rename to docs/versioned_docs/version-3.7/92-development/woodpecker-architecture.png diff --git a/docs/versioned_sidebars/version-3.4-sidebars.json b/docs/versioned_sidebars/version-3.4-sidebars.json deleted file mode 100644 index caea0c03b..000000000 --- a/docs/versioned_sidebars/version-3.4-sidebars.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "tutorialSidebar": [ - { - "type": "autogenerated", - "dirName": "." - } - ] -} diff --git a/docs/versioned_sidebars/version-3.3-sidebars.json b/docs/versioned_sidebars/version-3.7-sidebars.json similarity index 100% rename from docs/versioned_sidebars/version-3.3-sidebars.json rename to docs/versioned_sidebars/version-3.7-sidebars.json diff --git a/docs/versions.json b/docs/versions.json index 95968b364..1a0871888 100644 --- a/docs/versions.json +++ b/docs/versions.json @@ -1,6 +1,6 @@ [ + "3.7", "3.6", "3.5", - "3.4", "2.8" ]