mirror of
https://gitea.com/gitea/helm-actions.git
synced 2026-04-11 04:00:41 +00:00
Compare commits
1 Commits
v0.0.5
...
check-rele
| Author | SHA1 | Date | |
|---|---|---|---|
| 1600658386 |
@ -8,12 +8,12 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
changelog:
|
changelog:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container: docker.io/thegeeklab/git-sv:2.0.11
|
container: docker.io/thegeeklab/git-sv:1.0.12
|
||||||
steps:
|
steps:
|
||||||
- name: install tools
|
- name: install tools
|
||||||
run: |
|
run: |
|
||||||
apk add -q --update --no-cache nodejs curl jq sed
|
apk add -q --update --no-cache nodejs curl jq sed
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- name: Generate upcoming changelog
|
- name: Generate upcoming changelog
|
||||||
|
|||||||
@ -11,9 +11,9 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
check-and-test:
|
check-and-test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container: commitlint/commitlint:20.5.1
|
container: commitlint/commitlint:19.7.1
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v4
|
||||||
- name: check PR title
|
- name: check PR title
|
||||||
run: |
|
run: |
|
||||||
echo "${{ gitea.event.pull_request.title }}" | commitlint --config .commitlintrc.json
|
echo "${{ gitea.event.pull_request.title }}" | commitlint --config .commitlintrc.json
|
||||||
|
|||||||
@ -1,82 +1,68 @@
|
|||||||
name: generate-chart
|
name: check-secrets
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
|
||||||
- "*"
|
|
||||||
|
|
||||||
env:
|
|
||||||
# renovate: datasource=docker depName=alpine/helm
|
|
||||||
HELM_VERSION: "4.1.3"
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
generate-chart-publish:
|
check-secrets:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: install Docker CLI
|
- name: Check all required secrets
|
||||||
uses: https://github.com/docker/setup-buildx-action@v4 # Gitea
|
|
||||||
#uses: docker/setup-buildx-action@v4 # Github / Act
|
|
||||||
|
|
||||||
- name: install Helm
|
|
||||||
uses: https://github.com/Azure/setup-helm@v5 # Gitea
|
|
||||||
#uses: Azure/setup-helm@v5 # Github / Act
|
|
||||||
with:
|
|
||||||
version: "${{ env.HELM_VERSION }}"
|
|
||||||
|
|
||||||
- name: install tools
|
|
||||||
run: |
|
run: |
|
||||||
apt update
|
echo "=== Checking availability of required secrets ==="
|
||||||
apt install -y curl ca-certificates curl gnupg python3 python3-pip apt-transport-https
|
|
||||||
pip install awscli --break-system-packages
|
|
||||||
|
|
||||||
- name: import GPG key
|
# List of all secrets used in the original workflow
|
||||||
id: import_gpg
|
SECRETS=(
|
||||||
uses: https://github.com/crazy-max/ghaction-import-gpg@v7 # Gitea
|
"GPGSIGN_KEY"
|
||||||
#uses: crazy-max/ghaction-import-gpg@v7 # Github / Act
|
"GPGSIGN_PASSPHRASE"
|
||||||
with:
|
"DOCKER_CHARTS_PASSWORD"
|
||||||
gpg_private_key: ${{ secrets.GPGSIGN_KEY }}
|
"DOCKER_CHARTS_USERNAME"
|
||||||
passphrase: ${{ secrets.GPGSIGN_PASSPHRASE }}
|
"AWS_KEY_ID"
|
||||||
fingerprint: CC64B1DB67ABBEECAB24B6455FC346329753F4B0
|
"AWS_SECRET_ACCESS_KEY"
|
||||||
|
"AWS_REGION"
|
||||||
|
"AWS_S3_BUCKET"
|
||||||
|
)
|
||||||
|
|
||||||
- name: log into Docker Hub
|
MISSING_SECRETS=()
|
||||||
uses: https://github.com/docker/login-action@v4 # Gitea
|
AVAILABLE_SECRETS=()
|
||||||
#uses: docker/login-action@v4 # Github / Act
|
|
||||||
with:
|
|
||||||
username: ${{ secrets.DOCKER_CHARTS_USERNAME }}
|
|
||||||
password: ${{ secrets.DOCKER_CHARTS_PASSWORD }}
|
|
||||||
|
|
||||||
# Using helm gpg plugin as 'helm package --sign' has issues with gpg2: https://github.com/helm/helm/issues/2843
|
for secret in "${SECRETS[@]}"; do
|
||||||
- name: package chart
|
# Check if secret is set (not empty)
|
||||||
run: |
|
if [ -z "${!secret:-}" ]; then
|
||||||
# Install Helm GPG plugin
|
echo "❌ Secret '$secret' is NOT available or empty"
|
||||||
helm plugin install https://github.com/technosophos/helm-gpg.git --verify=false
|
MISSING_SECRETS+=("$secret")
|
||||||
helm dependency build
|
else
|
||||||
helm package --version "${GITHUB_REF#refs/tags/v}" ./
|
echo "✅ Secret '$secret' is available"
|
||||||
|
AVAILABLE_SECRETS+=("$secret")
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
# Package the chart
|
echo ""
|
||||||
mkdir actions
|
echo "=== Summary ==="
|
||||||
mv actions*.tgz actions/
|
echo "Available secrets: ${#AVAILABLE_SECRETS[@]}"
|
||||||
curl -s -L -o actions/index.yaml https://dl.gitea.com/charts/index.yaml
|
echo "Missing secrets: ${#MISSING_SECRETS[@]}"
|
||||||
helm repo index actions/ --url https://dl.gitea.com/charts --merge actions/index.yaml
|
|
||||||
|
|
||||||
# Push to Docker Hub
|
if [ ${#MISSING_SECRETS[@]} -gt 0 ]; then
|
||||||
echo ${{ secrets.DOCKER_CHARTS_PASSWORD }} | helm registry login -u ${{ secrets.DOCKER_CHARTS_USERNAME }} registry-1.docker.io --password-stdin
|
echo ""
|
||||||
helm push actions/actions-${GITHUB_REF#refs/tags/v}.tgz oci://registry-1.docker.io/giteacharts
|
echo "Missing secrets:"
|
||||||
helm registry logout registry-1.docker.io
|
for secret in "${MISSING_SECRETS[@]}"; do
|
||||||
|
echo " - $secret"
|
||||||
|
done
|
||||||
|
echo ""
|
||||||
|
echo "❌ Some secrets are missing. Please configure them in repository settings."
|
||||||
|
exit 1
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
echo "✅ All required secrets are available!"
|
||||||
|
fi
|
||||||
env:
|
env:
|
||||||
TAR_OPTIONS: "--wildcards"
|
GPGSIGN_KEY: ${{ secrets.GPGSIGN_KEY }}
|
||||||
|
GPGSIGN_PASSPHRASE: ${{ secrets.GPGSIGN_PASSPHRASE }}
|
||||||
- name: aws credential configure
|
DOCKER_CHARTS_PASSWORD: ${{ secrets.DOCKER_CHARTS_PASSWORD }}
|
||||||
uses: https://github.com/aws-actions/configure-aws-credentials@v6 # Gitea
|
DOCKER_CHARTS_USERNAME: ${{ secrets.DOCKER_CHARTS_USERNAME }}
|
||||||
#uses: aws-actions/configure-aws-credentials@v6 # Github / Act
|
AWS_KEY_ID: ${{ secrets.AWS_KEY_ID }}
|
||||||
with:
|
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||||
aws-access-key-id: ${{ secrets.AWS_KEY_ID }}
|
AWS_REGION: ${{ secrets.AWS_REGION }}
|
||||||
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
AWS_S3_BUCKET: ${{ secrets.AWS_S3_BUCKET }}
|
||||||
aws-region: ${{ secrets.AWS_REGION }}
|
|
||||||
|
|
||||||
- name: copy files to S3 and clear cache
|
|
||||||
if: startsWith(github.ref, 'refs/tags/')
|
|
||||||
run: |
|
|
||||||
aws s3 sync actions/ s3://${{ secrets.AWS_S3_BUCKET}}/charts/
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
name: shellcheck
|
name: Lint Shell files
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
@ -9,6 +9,6 @@ jobs:
|
|||||||
shellcheck:
|
shellcheck:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v4.2.2
|
||||||
- run: apt update --yes && apt install --yes shellcheck
|
- run: apt update --yes && apt install --yes shellcheck
|
||||||
- run: find . -type f -name "*.sh" -exec shellcheck -a {} \;
|
- run: find . -type f -name "*.sh" -exec shellcheck -a {} \;
|
||||||
|
|||||||
@ -1,7 +1,6 @@
|
|||||||
name: check-and-test
|
name: check-and-test
|
||||||
|
|
||||||
"on":
|
on:
|
||||||
"workflow_dispatch":
|
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- "*"
|
- "*"
|
||||||
@ -11,32 +10,31 @@ name: check-and-test
|
|||||||
|
|
||||||
env:
|
env:
|
||||||
# renovate: datasource=github-releases depName=helm-unittest/helm-unittest
|
# renovate: datasource=github-releases depName=helm-unittest/helm-unittest
|
||||||
HELM_UNITTEST_VERSION: "v1.0.3"
|
HELM_UNITTEST_VERSION: "v0.7.2"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
check-and-test:
|
check-and-test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container: alpine/helm:4.1.3
|
container: alpine/helm:3.17.1
|
||||||
steps:
|
steps:
|
||||||
- name: install tools
|
- name: install tools
|
||||||
run: |
|
run: |
|
||||||
apk update
|
apk update
|
||||||
apk add --update bash make nodejs npm yamllint ncurses
|
apk add --update bash make nodejs npm yamllint ncurses
|
||||||
- name: Install pnpm
|
- name: Install pnpm
|
||||||
uses: pnpm/action-setup@v5
|
uses: pnpm/action-setup@v4
|
||||||
with:
|
with:
|
||||||
version: 10
|
version: 10
|
||||||
- uses: actions/checkout@v6
|
- uses: actions/checkout@v4
|
||||||
- name: install chart dependencies
|
- name: install chart dependencies
|
||||||
run: helm dependency build
|
run: helm dependency build
|
||||||
- name: lint
|
- name: lint
|
||||||
run: helm lint .
|
run: helm lint
|
||||||
- name: template
|
- name: template
|
||||||
run: helm template --debug gitea-actions .
|
run: helm template --debug gitea-actions .
|
||||||
- name: prepare unit test environment
|
- name: prepare unit test environment
|
||||||
run: |
|
run: |
|
||||||
helm plugin install --version ${{ env.HELM_UNITTEST_VERSION }} --verify=false \
|
helm plugin install --version ${{ env.HELM_UNITTEST_VERSION }} https://github.com/helm-unittest/helm-unittest
|
||||||
https://github.com/helm-unittest/helm-unittest.git # https://github.com/helm-unittest/helm-unittest?tab=readme-ov-file#install
|
|
||||||
git submodule update --init --recursive
|
git submodule update --init --recursive
|
||||||
- name: unit tests
|
- name: unit tests
|
||||||
env:
|
env:
|
||||||
@ -48,5 +46,4 @@ jobs:
|
|||||||
make readme
|
make readme
|
||||||
git diff --exit-code --name-only README.md
|
git diff --exit-code --name-only README.md
|
||||||
- name: yaml lint
|
- name: yaml lint
|
||||||
# uses: ibiqlik/action-yamllint@v3 # Github / Act
|
uses: https://github.com/ibiqlik/action-yamllint@v3
|
||||||
uses: https://github.com/ibiqlik/action-yamllint@v3 # Gitea
|
|
||||||
|
|||||||
1
.gitignore
vendored
1
.gitignore
vendored
@ -2,4 +2,3 @@ charts/
|
|||||||
node_modules/
|
node_modules/
|
||||||
.DS_Store
|
.DS_Store
|
||||||
unittests/*/__snapshot__/
|
unittests/*/__snapshot__/
|
||||||
*secret*.yaml
|
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
* @DaanSelen @volker.raschek @ChristopherHX
|
|
||||||
15
Chart.yaml
15
Chart.yaml
@ -13,18 +13,7 @@ keywords:
|
|||||||
sources:
|
sources:
|
||||||
- https://gitea.com/gitea/helm-actions
|
- https://gitea.com/gitea/helm-actions
|
||||||
- https://gitea.com/gitea/act
|
- https://gitea.com/gitea/act
|
||||||
|
# FIXME:
|
||||||
maintainers:
|
# maintainers:
|
||||||
# https://gitea.com/DaanSelen
|
|
||||||
- name: Daan Selen
|
|
||||||
email: dselen@nerthus.nl
|
|
||||||
|
|
||||||
# https://gitea.com/volker.raschek
|
|
||||||
- name: Markus Pesch
|
|
||||||
email: markus.pesch+apps@cryptic.systems
|
|
||||||
|
|
||||||
# https://gitea.com/ChristopherHX
|
|
||||||
- name: Christopher Homberger
|
|
||||||
email: christopher.homberger@web.de
|
|
||||||
|
|
||||||
dependencies: []
|
dependencies: []
|
||||||
|
|||||||
115
README.md
115
README.md
@ -6,50 +6,11 @@ The parameters which can be used to customize the deployment are described below
|
|||||||
|
|
||||||
If you want to propose a new feature or mechanism, submit an [issue here](https://gitea.com/gitea/helm-actions/issues).
|
If you want to propose a new feature or mechanism, submit an [issue here](https://gitea.com/gitea/helm-actions/issues).
|
||||||
|
|
||||||
## Quick-start
|
## Rootless Defaults
|
||||||
|
|
||||||
[Documentation](./docs/README.md)
|
If `.Values.image.rootless: true`, then the following will occur. In case you use `.Values.image.fullOverride`, check that this works in your image:
|
||||||
|
|
||||||
To get started, add the Helm repo, assuming you have not already:
|
- If `.Values.provisioning.enabled: true`, then uses the rootless Gitea image, must match helm-Gitea.
|
||||||
|
|
||||||
```sh
|
|
||||||
helm repo add gitea-charts https://dl.gitea.com/charts/
|
|
||||||
helm repo update
|
|
||||||
```
|
|
||||||
|
|
||||||
Then pull the values.yaml file and fill it accordingly.
|
|
||||||
|
|
||||||
```sh
|
|
||||||
helm show values gitea-charts/actions > values.yaml
|
|
||||||
```
|
|
||||||
|
|
||||||
Deploy with your values, make sure the path is correct:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
helm upgrade --install gitea-actions gitea-charts/actions -f values.yaml
|
|
||||||
```
|
|
||||||
|
|
||||||
You should be good to go!
|
|
||||||
|
|
||||||
### Runner Token Secret Template
|
|
||||||
|
|
||||||
For reference, a template for the secret is given below:
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
name: runner-secret
|
|
||||||
namespace: "my-gitea-namespace"
|
|
||||||
type: Opaque
|
|
||||||
stringData:
|
|
||||||
runner-token: "my-cool-runner-token-given-by-gitea"
|
|
||||||
```
|
|
||||||
|
|
||||||
### Rootless Options
|
|
||||||
|
|
||||||
If `.Values.statefulset.dind.rootless: true` is set, then the following will be required:
|
|
||||||
`.Values.statefulset.dind.tag` must be a rootless image such as: `29.3.1-dind-rootless`
|
|
||||||
|
|
||||||
## Parameters
|
## Parameters
|
||||||
|
|
||||||
@ -58,8 +19,9 @@ If `.Values.statefulset.dind.rootless: true` is set, then the following will be
|
|||||||
| Name | Description | Value |
|
| Name | Description | Value |
|
||||||
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
|
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
|
||||||
| `enabled` | Create an act runner StatefulSet. | `false` |
|
| `enabled` | Create an act runner StatefulSet. | `false` |
|
||||||
|
| `init.image.repository` | The image used for the init containers | `busybox` |
|
||||||
|
| `init.image.tag` | The image tag used for the init containers | `1.37.0` |
|
||||||
| `statefulset.replicas` | the amount of (replica) runner pods deployed | `1` |
|
| `statefulset.replicas` | the amount of (replica) runner pods deployed | `1` |
|
||||||
| `statefulset.timezone` | is the timezone that will be set in the act_runner image | `Etc/UTC` |
|
|
||||||
| `statefulset.annotations` | Act runner annotations | `{}` |
|
| `statefulset.annotations` | Act runner annotations | `{}` |
|
||||||
| `statefulset.labels` | Act runner labels | `{}` |
|
| `statefulset.labels` | Act runner labels | `{}` |
|
||||||
| `statefulset.resources` | Act runner resources | `{}` |
|
| `statefulset.resources` | Act runner resources | `{}` |
|
||||||
@ -67,69 +29,24 @@ If `.Values.statefulset.dind.rootless: true` is set, then the following will be
|
|||||||
| `statefulset.tolerations` | Tolerations for the statefulset | `[]` |
|
| `statefulset.tolerations` | Tolerations for the statefulset | `[]` |
|
||||||
| `statefulset.affinity` | Affinity for the statefulset | `{}` |
|
| `statefulset.affinity` | Affinity for the statefulset | `{}` |
|
||||||
| `statefulset.extraVolumes` | Extra volumes for the statefulset | `[]` |
|
| `statefulset.extraVolumes` | Extra volumes for the statefulset | `[]` |
|
||||||
| `statefulset.persistence.size` | Size for persistence to store act runner data | `1Gi` |
|
| `statefulset.actRunner.repository` | The Gitea act runner image | `gitea/act_runner` |
|
||||||
| `statefulset.securityContext` | Customize the SecurityContext | `{}` |
|
| `statefulset.actRunner.tag` | The Gitea act runner tag | `0.2.11` |
|
||||||
| `statefulset.serviceAccountName` | Customize the service account name | `""` |
|
|
||||||
| `statefulset.runtimeClassName` | Select a different RuntimeClass for pods | `""` |
|
|
||||||
| `statefulset.hostAliases` | Inject entries into the /etc/hosts file | `[]` |
|
|
||||||
| `statefulset.persistence.size` | Size for persistence to store act runner data | `1Gi` |
|
|
||||||
| `statefulset.actRunner.registry` | image registry, e.g. gcr.io,docker.io | `docker.gitea.com` |
|
|
||||||
| `statefulset.actRunner.repository` | The Gitea act runner image | `act_runner` |
|
|
||||||
| `statefulset.actRunner.tag` | The Gitea act runner tag | `0.3.1` |
|
|
||||||
| `statefulset.actRunner.digest` | Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest` | `""` |
|
|
||||||
| `statefulset.actRunner.pullPolicy` | The Gitea act runner pullPolicy | `IfNotPresent` |
|
| `statefulset.actRunner.pullPolicy` | The Gitea act runner pullPolicy | `IfNotPresent` |
|
||||||
| `statefulset.actRunner.fullOverride` | Completely overrides the image registry, path/image, tag and digest. | `""` |
|
|
||||||
| `statefulset.actRunner.extraVolumeMounts` | Allows mounting extra volumes in the act runner container | `[]` |
|
| `statefulset.actRunner.extraVolumeMounts` | Allows mounting extra volumes in the act runner container | `[]` |
|
||||||
| `statefulset.actRunner.extraEnvs` | Allows adding custom environment variables | `[]` |
|
|
||||||
| `statefulset.actRunner.flushCache` | whether to clear the .runner (cache) file by creating an extra init container, can slightly increase boot-up time | `false` |
|
|
||||||
| `statefulset.actRunner.config` | Act runner custom configuration. See [Act Runner documentation](https://docs.gitea.com/usage/actions/act-runner#configuration) for details. | `Too complex. See values.yaml` |
|
| `statefulset.actRunner.config` | Act runner custom configuration. See [Act Runner documentation](https://docs.gitea.com/usage/actions/act-runner#configuration) for details. | `Too complex. See values.yaml` |
|
||||||
| `statefulset.dind.rootless` | a simple flag to let helm know we are dealing with a rootless dind container | `false` |
|
|
||||||
| `statefulset.dind.uid` | a field to set the running user id for the rootless dind container, so it knows where to look for the socket | `""` |
|
|
||||||
| `statefulset.dind.registry` | image registry, e.g. gcr.io,docker.io | `docker.io` |
|
|
||||||
| `statefulset.dind.repository` | The Docker-in-Docker image | `docker` |
|
| `statefulset.dind.repository` | The Docker-in-Docker image | `docker` |
|
||||||
| `statefulset.dind.tag` | The Docker-in-Docker image tag | `29.4.0-dind` |
|
| `statefulset.dind.tag` | The Docker-in-Docker image tag | `25.0.2-dind` |
|
||||||
| `statefulset.dind.digest` | Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest` | `""` |
|
|
||||||
| `statefulset.dind.fullOverride` | Completely overrides the image registry, path/image, tag and digest. | `""` |
|
|
||||||
| `statefulset.dind.pullPolicy` | The Docker-in-Docker pullPolicy | `IfNotPresent` |
|
| `statefulset.dind.pullPolicy` | The Docker-in-Docker pullPolicy | `IfNotPresent` |
|
||||||
| `statefulset.dind.extraVolumeMounts` | Allows mounting extra volumes in the Docker-in-Docker container | `[]` |
|
| `statefulset.dind.extraVolumeMounts` | Allows mounting extra volumes in the Docker-in-Docker container | `[]` |
|
||||||
| `statefulset.dind.extraEnvs` | Allows adding custom environment variables, such as `DOCKER_IPTABLES_LEGACY` | `[]` |
|
| `statefulset.dind.extraEnvs` | Allows adding custom environment variables, such as `DOCKER_IPTABLES_LEGACY` | `[]` |
|
||||||
| `statefulset.dind.extraArgs` | Allows adding custom arguments to the Docker Daemon | `[]` |
|
| `statefulset.persistence.size` | Size for persistence to store act runner data | `1Gi` |
|
||||||
|
| `existingSecret` | Secret that contains the token | `""` |
|
||||||
### Gitea Actions Init
|
| `existingSecretKey` | Secret key | `""` |
|
||||||
|
| `giteaRootURL` | URL the act_runner registers and connect with | `""` |
|
||||||
| Name | Description | Value |
|
|
||||||
| ------------------------- | ---------------------------------------------------------------------------------------------------------- | -------------- |
|
|
||||||
| `init.image.registry` | image registry, e.g. gcr.io,docker.io | `""` |
|
|
||||||
| `init.image.repository` | The init image | `busybox` |
|
|
||||||
| `init.image.tag` | the init image tag | `1.37.0` |
|
|
||||||
| `init.image.digest` | Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest` | `""` |
|
|
||||||
| `init.image.pullPolicy` | The init image pullPolicy | `IfNotPresent` |
|
|
||||||
| `init.image.fullOverride` | Completely overrides the image registry, path/image, tag and digest. | `""` |
|
|
||||||
|
|
||||||
### Runner Token Secret Configuration
|
|
||||||
|
|
||||||
| Name | Description | Value |
|
|
||||||
| ------------------- | ------------------------------ | ----- |
|
|
||||||
| `existingSecret` | Secret that contains the token | `""` |
|
|
||||||
| `existingSecretKey` | Secret key | `""` |
|
|
||||||
|
|
||||||
### Gitea URL Setting
|
|
||||||
|
|
||||||
| Name | Description | Value |
|
|
||||||
| -------------- | --------------------------------------------- | ----- |
|
|
||||||
| `giteaRootURL` | URL the act_runner registers and connect with | `""` |
|
|
||||||
|
|
||||||
### Extra Init Containers
|
|
||||||
|
|
||||||
| Name | Description | Value |
|
|
||||||
| ------------------------- | ----------------------------------------------------------------------------------------------- | ----- |
|
|
||||||
| `preExtraInitContainers` | Additional init containers to run in the pod before Gitea-actions runs it owns init containers. | `[]` |
|
|
||||||
| `postExtraInitContainers` | Additional init containers to run in the pod after Gitea-actions runs it owns init containers. | `[]` |
|
|
||||||
|
|
||||||
### Global
|
### Global
|
||||||
|
|
||||||
| Name | Description | Value |
|
| Name | Description | Value |
|
||||||
| ------------------------- | ---------------------------------- | ----- |
|
| ---------------------- | ------------------------------ | ----- |
|
||||||
| `global.imageRegistry` | global image registry override | `""` |
|
| `global.imageRegistry` | global image registry override | `""` |
|
||||||
| `global.imagePullSecrets` | global image registry pull secrets | `[]` |
|
| `global.storageClass` | global storage class override | `""` |
|
||||||
| `global.storageClass` | global storage class override | `""` |
|
|
||||||
|
|||||||
@ -1,3 +0,0 @@
|
|||||||
# Gitea Actions Helm Chart Docs
|
|
||||||
|
|
||||||
- [Share dind with job container](share-dind-with-job-container.md)
|
|
||||||
@ -26,6 +26,8 @@ In this case, you can use either the Web UI to generate the token or run a shell
|
|||||||
the command `gitea actions generate-runner-token`. After generating the token, you must create a secret and use it via:
|
the command `gitea actions generate-runner-token`. After generating the token, you must create a secret and use it via:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
|
provisioning:
|
||||||
|
enabled: false
|
||||||
existingSecret: "secret-name"
|
existingSecret: "secret-name"
|
||||||
existingSecretKey: "secret-key"
|
existingSecretKey: "secret-key"
|
||||||
```
|
```
|
||||||
|
|||||||
@ -1,30 +0,0 @@
|
|||||||
# Share dind with job container
|
|
||||||
|
|
||||||
You can weaken isolation and allow jobs to call docker commands.
|
|
||||||
|
|
||||||
## Limitations
|
|
||||||
|
|
||||||
-
|
|
||||||
|
|
||||||
## Example Values
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
config: |
|
|
||||||
log:
|
|
||||||
level: debug
|
|
||||||
cache:
|
|
||||||
enabled: false
|
|
||||||
container:
|
|
||||||
require_docker: true
|
|
||||||
docker_timeout: 300s
|
|
||||||
|
|
||||||
## Specify an existing token secret
|
|
||||||
##
|
|
||||||
existingSecret: "runner-token2"
|
|
||||||
existingSecretKey: "token"
|
|
||||||
|
|
||||||
## Specify the root URL of the Gitea instance
|
|
||||||
giteaRootURL: "http://192.168.1.2:3000"
|
|
||||||
```
|
|
||||||
|
|
||||||
Now you can run docker commands inside your jobs.
|
|
||||||
@ -14,6 +14,6 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@bitnami/readme-generator-for-helm": "^2.7.0",
|
"@bitnami/readme-generator-for-helm": "^2.7.0",
|
||||||
"markdownlint-cli": "^0.48.0"
|
"markdownlint-cli": "^0.44.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
528
pnpm-lock.yaml
generated
528
pnpm-lock.yaml
generated
@ -10,22 +10,30 @@ importers:
|
|||||||
devDependencies:
|
devDependencies:
|
||||||
'@bitnami/readme-generator-for-helm':
|
'@bitnami/readme-generator-for-helm':
|
||||||
specifier: ^2.7.0
|
specifier: ^2.7.0
|
||||||
version: 2.7.2
|
version: 2.7.0
|
||||||
markdownlint-cli:
|
markdownlint-cli:
|
||||||
specifier: ^0.48.0
|
specifier: ^0.44.0
|
||||||
version: 0.48.0
|
version: 0.44.0
|
||||||
|
|
||||||
packages:
|
packages:
|
||||||
|
|
||||||
'@bitnami/readme-generator-for-helm@2.7.2':
|
'@bitnami/readme-generator-for-helm@2.7.0':
|
||||||
resolution: {integrity: sha512-7eXyJzxQTQj2ajpHlIhadciCCYWOqN8ieaweU25bStHOZowQ2c2CQyjO/bX4gxIf73LoRKxHhEYgLTllJY9SIw==}
|
resolution: {integrity: sha512-fVxExmcuJ9NZb9ZE9OW3+lG8pUlXJAJdaO8UukV3A7WzYu4qOTr03MXPH9Gt5e/6mo3x4WYI/cXBksKfS0qn3w==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
'@types/debug@4.1.13':
|
'@isaacs/cliui@8.0.2':
|
||||||
resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==}
|
resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
'@types/katex@0.16.8':
|
'@pkgjs/parseargs@0.11.0':
|
||||||
resolution: {integrity: sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==}
|
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
|
||||||
|
engines: {node: '>=14'}
|
||||||
|
|
||||||
|
'@types/debug@4.1.12':
|
||||||
|
resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
|
||||||
|
|
||||||
|
'@types/katex@0.16.7':
|
||||||
|
resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==}
|
||||||
|
|
||||||
'@types/ms@2.1.0':
|
'@types/ms@2.1.0':
|
||||||
resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
|
resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
|
||||||
@ -33,8 +41,20 @@ packages:
|
|||||||
'@types/unist@2.0.11':
|
'@types/unist@2.0.11':
|
||||||
resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
|
resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
|
||||||
|
|
||||||
ansi-regex@6.2.2:
|
ansi-regex@5.0.1:
|
||||||
resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
|
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
|
ansi-regex@6.1.0:
|
||||||
|
resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
|
ansi-styles@4.3.0:
|
||||||
|
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
|
ansi-styles@6.2.1:
|
||||||
|
resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
argparse@2.0.1:
|
argparse@2.0.1:
|
||||||
@ -43,16 +63,11 @@ packages:
|
|||||||
balanced-match@1.0.2:
|
balanced-match@1.0.2:
|
||||||
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
|
||||||
|
|
||||||
balanced-match@4.0.4:
|
brace-expansion@1.1.11:
|
||||||
resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==}
|
resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
|
||||||
engines: {node: 18 || 20 || >=22}
|
|
||||||
|
|
||||||
brace-expansion@1.1.13:
|
brace-expansion@2.0.1:
|
||||||
resolution: {integrity: sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==}
|
resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
|
||||||
|
|
||||||
brace-expansion@5.0.5:
|
|
||||||
resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==}
|
|
||||||
engines: {node: 18 || 20 || >=22}
|
|
||||||
|
|
||||||
character-entities-legacy@3.0.0:
|
character-entities-legacy@3.0.0:
|
||||||
resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
|
resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
|
||||||
@ -63,14 +78,17 @@ packages:
|
|||||||
character-reference-invalid@2.0.1:
|
character-reference-invalid@2.0.1:
|
||||||
resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
|
resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
|
||||||
|
|
||||||
|
color-convert@2.0.1:
|
||||||
|
resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
|
||||||
|
engines: {node: '>=7.0.0'}
|
||||||
|
|
||||||
|
color-name@1.1.4:
|
||||||
|
resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
|
||||||
|
|
||||||
commander@13.1.0:
|
commander@13.1.0:
|
||||||
resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==}
|
resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==}
|
||||||
engines: {node: '>=18'}
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
commander@14.0.3:
|
|
||||||
resolution: {integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==}
|
|
||||||
engines: {node: '>=20'}
|
|
||||||
|
|
||||||
commander@6.2.1:
|
commander@6.2.1:
|
||||||
resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==}
|
resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
@ -82,8 +100,12 @@ packages:
|
|||||||
concat-map@0.0.1:
|
concat-map@0.0.1:
|
||||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
||||||
|
|
||||||
debug@4.4.3:
|
cross-spawn@7.0.6:
|
||||||
resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
|
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
|
||||||
|
engines: {node: '>= 8'}
|
||||||
|
|
||||||
|
debug@4.4.0:
|
||||||
|
resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
|
||||||
engines: {node: '>=6.0'}
|
engines: {node: '>=6.0'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
supports-color: '*'
|
supports-color: '*'
|
||||||
@ -91,8 +113,8 @@ packages:
|
|||||||
supports-color:
|
supports-color:
|
||||||
optional: true
|
optional: true
|
||||||
|
|
||||||
decode-named-character-reference@1.3.0:
|
decode-named-character-reference@1.1.0:
|
||||||
resolution: {integrity: sha512-GtpQYB283KrPp6nRw50q3U9/VfOutZOe103qlN7BPP6Ad27xYnOIWv4lPzo8HCAL+mMZofJ9KEy30fq6MfaK6Q==}
|
resolution: {integrity: sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==}
|
||||||
|
|
||||||
deep-extend@0.6.0:
|
deep-extend@0.6.0:
|
||||||
resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
|
resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==}
|
||||||
@ -109,32 +131,36 @@ packages:
|
|||||||
resolution: {integrity: sha512-xHF8EP4XH/Ba9fvAF2LDd5O3IITVolerVV6xvkxoM8zlGEiCUrggpAnHyOoKJKCrhvPcGATFAUwIujj7bRG5UA==}
|
resolution: {integrity: sha512-xHF8EP4XH/Ba9fvAF2LDd5O3IITVolerVV6xvkxoM8zlGEiCUrggpAnHyOoKJKCrhvPcGATFAUwIujj7bRG5UA==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
eastasianwidth@0.2.0:
|
||||||
|
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
|
||||||
|
|
||||||
|
emoji-regex@8.0.0:
|
||||||
|
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
|
||||||
|
|
||||||
|
emoji-regex@9.2.2:
|
||||||
|
resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
|
||||||
|
|
||||||
entities@4.5.0:
|
entities@4.5.0:
|
||||||
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
|
resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
|
||||||
engines: {node: '>=0.12'}
|
engines: {node: '>=0.12'}
|
||||||
|
|
||||||
fdir@6.5.0:
|
foreground-child@3.3.1:
|
||||||
resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
|
resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
|
||||||
engines: {node: '>=12.0.0'}
|
engines: {node: '>=14'}
|
||||||
peerDependencies:
|
|
||||||
picomatch: ^3 || ^4
|
|
||||||
peerDependenciesMeta:
|
|
||||||
picomatch:
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
fs.realpath@1.0.0:
|
fs.realpath@1.0.0:
|
||||||
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
|
||||||
|
|
||||||
get-east-asian-width@1.5.0:
|
glob@10.4.5:
|
||||||
resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==}
|
resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
|
||||||
engines: {node: '>=18'}
|
hasBin: true
|
||||||
|
|
||||||
glob@7.2.3:
|
glob@7.2.3:
|
||||||
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
|
||||||
deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me
|
deprecated: Glob versions prior to v9 are no longer supported
|
||||||
|
|
||||||
ignore@7.0.5:
|
ignore@7.0.3:
|
||||||
resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
|
resolution: {integrity: sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==}
|
||||||
engines: {node: '>= 4'}
|
engines: {node: '>= 4'}
|
||||||
|
|
||||||
inflight@1.0.6:
|
inflight@1.0.6:
|
||||||
@ -157,11 +183,21 @@ packages:
|
|||||||
is-decimal@2.0.1:
|
is-decimal@2.0.1:
|
||||||
resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
|
resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
|
||||||
|
|
||||||
|
is-fullwidth-code-point@3.0.0:
|
||||||
|
resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
is-hexadecimal@2.0.1:
|
is-hexadecimal@2.0.1:
|
||||||
resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
|
resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
|
||||||
|
|
||||||
js-yaml@4.1.1:
|
isexe@2.0.0:
|
||||||
resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
|
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
|
||||||
|
|
||||||
|
jackspeak@3.4.3:
|
||||||
|
resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
|
||||||
|
|
||||||
|
js-yaml@4.1.0:
|
||||||
|
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
jsonc-parser@3.3.1:
|
jsonc-parser@3.3.1:
|
||||||
@ -171,40 +207,43 @@ packages:
|
|||||||
resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
|
resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
katex@0.16.45:
|
katex@0.16.21:
|
||||||
resolution: {integrity: sha512-pQpZbdBu7wCTmQUh7ufPmLr0pFoObnGUoL/yhtwJDgmmQpbkg/0HSVti25Fu4rmd1oCR6NGWe9vqTWuWv3GcNA==}
|
resolution: {integrity: sha512-XvqR7FgOHtWupfMiigNzmh+MgUVmDGU2kXZm899ZkPfcuoPuFxyHmXsgATDpFZDAXCI8tvinaVcDo8PIIJSo4A==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
linkify-it@5.0.0:
|
linkify-it@5.0.0:
|
||||||
resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
|
resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
|
||||||
|
|
||||||
lodash@4.18.1:
|
lodash@4.17.21:
|
||||||
resolution: {integrity: sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==}
|
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
|
||||||
|
|
||||||
markdown-it@14.1.1:
|
lru-cache@10.4.3:
|
||||||
resolution: {integrity: sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==}
|
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
|
||||||
|
|
||||||
|
markdown-it@14.1.0:
|
||||||
|
resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
markdown-table@2.0.0:
|
markdown-table@2.0.0:
|
||||||
resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==}
|
resolution: {integrity: sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==}
|
||||||
|
|
||||||
markdownlint-cli@0.48.0:
|
markdownlint-cli@0.44.0:
|
||||||
resolution: {integrity: sha512-NkZQNu2E0Q5qLEEHwWj674eYISTLD4jMHkBzDobujXd1kv+yCxi8jOaD/rZoQNW1FBBMMGQpuW5So8B51N/e0A==}
|
resolution: {integrity: sha512-ZJTAONlvF9NkrIBltCdW15DxN9UTbPiKMEqAh2EU2gwIFlrCMavyCEPPO121cqfYOrLUJWW8/XKWongstmmTeQ==}
|
||||||
engines: {node: '>=20'}
|
engines: {node: '>=18'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
markdownlint@0.40.0:
|
markdownlint@0.37.4:
|
||||||
resolution: {integrity: sha512-UKybllYNheWac61Ia7T6fzuQNDZimFIpCg2w6hHjgV1Qu0w1TV0LlSgryUGzM0bkKQCBhy2FDhEELB73Kb0kAg==}
|
resolution: {integrity: sha512-u00joA/syf3VhWh6/ybVFkib5Zpj2e5KB/cfCei8fkSRuums6nyisTWGqjTWIOFoFwuXoTBQQiqlB4qFKp8ncQ==}
|
||||||
engines: {node: '>=20'}
|
engines: {node: '>=18'}
|
||||||
|
|
||||||
mdurl@2.0.0:
|
mdurl@2.0.0:
|
||||||
resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
|
resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
|
||||||
|
|
||||||
micromark-core-commonmark@2.0.3:
|
micromark-core-commonmark@2.0.2:
|
||||||
resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}
|
resolution: {integrity: sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==}
|
||||||
|
|
||||||
micromark-extension-directive@4.0.0:
|
micromark-extension-directive@3.0.2:
|
||||||
resolution: {integrity: sha512-/C2nqVmXXmiseSSuCdItCMho7ybwwop6RrrRPk0KbOHW21JKoCldC+8rFOaundDoRBUWBnJJcxeA/Kvi34WQXg==}
|
resolution: {integrity: sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==}
|
||||||
|
|
||||||
micromark-extension-gfm-autolink-literal@2.1.0:
|
micromark-extension-gfm-autolink-literal@2.1.0:
|
||||||
resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==}
|
resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==}
|
||||||
@ -212,8 +251,8 @@ packages:
|
|||||||
micromark-extension-gfm-footnote@2.1.0:
|
micromark-extension-gfm-footnote@2.1.0:
|
||||||
resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==}
|
resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==}
|
||||||
|
|
||||||
micromark-extension-gfm-table@2.1.1:
|
micromark-extension-gfm-table@2.1.0:
|
||||||
resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==}
|
resolution: {integrity: sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==}
|
||||||
|
|
||||||
micromark-extension-math@3.1.0:
|
micromark-extension-math@3.1.0:
|
||||||
resolution: {integrity: sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==}
|
resolution: {integrity: sha512-lvEqd+fHjATVs+2v/8kg9i5Q0AP2k85H0WUOwpIVvUML8BapsMvh1XAogmQjOCsLpoKRCVQqEkQBB3NhVBcsOg==}
|
||||||
@ -269,28 +308,35 @@ packages:
|
|||||||
micromark-util-symbol@2.0.1:
|
micromark-util-symbol@2.0.1:
|
||||||
resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
|
resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
|
||||||
|
|
||||||
micromark-util-types@2.0.2:
|
micromark-util-types@2.0.1:
|
||||||
resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==}
|
resolution: {integrity: sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==}
|
||||||
|
|
||||||
micromark@4.0.2:
|
micromark@4.0.1:
|
||||||
resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==}
|
resolution: {integrity: sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==}
|
||||||
|
|
||||||
minimatch@10.2.5:
|
minimatch@3.1.2:
|
||||||
resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==}
|
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
|
||||||
engines: {node: 18 || 20 || >=22}
|
|
||||||
|
|
||||||
minimatch@3.1.5:
|
minimatch@9.0.5:
|
||||||
resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==}
|
resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
|
||||||
|
engines: {node: '>=16 || 14 >=14.17'}
|
||||||
|
|
||||||
minimist@1.2.8:
|
minimist@1.2.8:
|
||||||
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
|
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
|
||||||
|
|
||||||
|
minipass@7.1.2:
|
||||||
|
resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
|
||||||
|
engines: {node: '>=16 || 14 >=14.17'}
|
||||||
|
|
||||||
ms@2.1.3:
|
ms@2.1.3:
|
||||||
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
|
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
|
||||||
|
|
||||||
once@1.4.0:
|
once@1.4.0:
|
||||||
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
|
||||||
|
|
||||||
|
package-json-from-dist@1.0.1:
|
||||||
|
resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
|
||||||
|
|
||||||
parse-entities@4.0.2:
|
parse-entities@4.0.2:
|
||||||
resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
|
resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
|
||||||
|
|
||||||
@ -298,9 +344,13 @@ packages:
|
|||||||
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
|
||||||
engines: {node: '>=0.10.0'}
|
engines: {node: '>=0.10.0'}
|
||||||
|
|
||||||
picomatch@4.0.4:
|
path-key@3.1.1:
|
||||||
resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==}
|
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
|
path-scurry@1.11.1:
|
||||||
|
resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
|
||||||
|
engines: {node: '>=16 || 14 >=14.18'}
|
||||||
|
|
||||||
punycode.js@2.3.1:
|
punycode.js@2.3.1:
|
||||||
resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==}
|
resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==}
|
||||||
@ -314,73 +364,120 @@ packages:
|
|||||||
resolution: {integrity: sha512-CcfE+mYiTcKEzg0IqS08+efdnH0oJ3zV0wSUFBNrMHMuxCtXvBCLzCJHatwuXDcu/RlhjTziTo/a1ruQik6/Yg==}
|
resolution: {integrity: sha512-CcfE+mYiTcKEzg0IqS08+efdnH0oJ3zV0wSUFBNrMHMuxCtXvBCLzCJHatwuXDcu/RlhjTziTo/a1ruQik6/Yg==}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
smol-toml@1.6.1:
|
shebang-command@2.0.0:
|
||||||
resolution: {integrity: sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==}
|
resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
|
shebang-regex@3.0.0:
|
||||||
|
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
|
signal-exit@4.1.0:
|
||||||
|
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
|
||||||
|
engines: {node: '>=14'}
|
||||||
|
|
||||||
|
smol-toml@1.3.1:
|
||||||
|
resolution: {integrity: sha512-tEYNll18pPKHroYSmLLrksq233j021G0giwW7P3D24jC54pQ5W5BXMsQ/Mvw1OJCmEYDgY+lrzT+3nNUtoNfXQ==}
|
||||||
engines: {node: '>= 18'}
|
engines: {node: '>= 18'}
|
||||||
|
|
||||||
string-width@8.1.0:
|
string-width@4.2.3:
|
||||||
resolution: {integrity: sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==}
|
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
|
||||||
engines: {node: '>=20'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
strip-ansi@7.2.0:
|
string-width@5.1.2:
|
||||||
resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==}
|
resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
|
strip-ansi@6.0.1:
|
||||||
|
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
|
||||||
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
|
strip-ansi@7.1.0:
|
||||||
|
resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
|
||||||
engines: {node: '>=12'}
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
strip-json-comments@3.1.1:
|
strip-json-comments@3.1.1:
|
||||||
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
|
resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
|
||||||
engines: {node: '>=8'}
|
engines: {node: '>=8'}
|
||||||
|
|
||||||
tinyglobby@0.2.16:
|
|
||||||
resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==}
|
|
||||||
engines: {node: '>=12.0.0'}
|
|
||||||
|
|
||||||
uc.micro@2.1.0:
|
uc.micro@2.1.0:
|
||||||
resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
|
resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
|
||||||
|
|
||||||
|
which@2.0.2:
|
||||||
|
resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
|
||||||
|
engines: {node: '>= 8'}
|
||||||
|
hasBin: true
|
||||||
|
|
||||||
|
wrap-ansi@7.0.0:
|
||||||
|
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
|
||||||
|
engines: {node: '>=10'}
|
||||||
|
|
||||||
|
wrap-ansi@8.1.0:
|
||||||
|
resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
|
||||||
|
engines: {node: '>=12'}
|
||||||
|
|
||||||
wrappy@1.0.2:
|
wrappy@1.0.2:
|
||||||
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
|
||||||
|
|
||||||
yaml@2.8.3:
|
yaml@2.7.0:
|
||||||
resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==}
|
resolution: {integrity: sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==}
|
||||||
engines: {node: '>= 14.6'}
|
engines: {node: '>= 14'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
snapshots:
|
snapshots:
|
||||||
|
|
||||||
'@bitnami/readme-generator-for-helm@2.7.2':
|
'@bitnami/readme-generator-for-helm@2.7.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
commander: 13.1.0
|
commander: 13.1.0
|
||||||
dot-object: 2.1.5
|
dot-object: 2.1.5
|
||||||
lodash: 4.18.1
|
lodash: 4.17.21
|
||||||
markdown-table: 2.0.0
|
markdown-table: 2.0.0
|
||||||
yaml: 2.8.3
|
yaml: 2.7.0
|
||||||
|
|
||||||
'@types/debug@4.1.13':
|
'@isaacs/cliui@8.0.2':
|
||||||
|
dependencies:
|
||||||
|
string-width: 5.1.2
|
||||||
|
string-width-cjs: string-width@4.2.3
|
||||||
|
strip-ansi: 7.1.0
|
||||||
|
strip-ansi-cjs: strip-ansi@6.0.1
|
||||||
|
wrap-ansi: 8.1.0
|
||||||
|
wrap-ansi-cjs: wrap-ansi@7.0.0
|
||||||
|
|
||||||
|
'@pkgjs/parseargs@0.11.0':
|
||||||
|
optional: true
|
||||||
|
|
||||||
|
'@types/debug@4.1.12':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/ms': 2.1.0
|
'@types/ms': 2.1.0
|
||||||
|
|
||||||
'@types/katex@0.16.8': {}
|
'@types/katex@0.16.7': {}
|
||||||
|
|
||||||
'@types/ms@2.1.0': {}
|
'@types/ms@2.1.0': {}
|
||||||
|
|
||||||
'@types/unist@2.0.11': {}
|
'@types/unist@2.0.11': {}
|
||||||
|
|
||||||
ansi-regex@6.2.2: {}
|
ansi-regex@5.0.1: {}
|
||||||
|
|
||||||
|
ansi-regex@6.1.0: {}
|
||||||
|
|
||||||
|
ansi-styles@4.3.0:
|
||||||
|
dependencies:
|
||||||
|
color-convert: 2.0.1
|
||||||
|
|
||||||
|
ansi-styles@6.2.1: {}
|
||||||
|
|
||||||
argparse@2.0.1: {}
|
argparse@2.0.1: {}
|
||||||
|
|
||||||
balanced-match@1.0.2: {}
|
balanced-match@1.0.2: {}
|
||||||
|
|
||||||
balanced-match@4.0.4: {}
|
brace-expansion@1.1.11:
|
||||||
|
|
||||||
brace-expansion@1.1.13:
|
|
||||||
dependencies:
|
dependencies:
|
||||||
balanced-match: 1.0.2
|
balanced-match: 1.0.2
|
||||||
concat-map: 0.0.1
|
concat-map: 0.0.1
|
||||||
|
|
||||||
brace-expansion@5.0.5:
|
brace-expansion@2.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
balanced-match: 4.0.4
|
balanced-match: 1.0.2
|
||||||
|
|
||||||
character-entities-legacy@3.0.0: {}
|
character-entities-legacy@3.0.0: {}
|
||||||
|
|
||||||
@ -388,9 +485,13 @@ snapshots:
|
|||||||
|
|
||||||
character-reference-invalid@2.0.1: {}
|
character-reference-invalid@2.0.1: {}
|
||||||
|
|
||||||
commander@13.1.0: {}
|
color-convert@2.0.1:
|
||||||
|
dependencies:
|
||||||
|
color-name: 1.1.4
|
||||||
|
|
||||||
commander@14.0.3: {}
|
color-name@1.1.4: {}
|
||||||
|
|
||||||
|
commander@13.1.0: {}
|
||||||
|
|
||||||
commander@6.2.1: {}
|
commander@6.2.1: {}
|
||||||
|
|
||||||
@ -398,11 +499,17 @@ snapshots:
|
|||||||
|
|
||||||
concat-map@0.0.1: {}
|
concat-map@0.0.1: {}
|
||||||
|
|
||||||
debug@4.4.3:
|
cross-spawn@7.0.6:
|
||||||
|
dependencies:
|
||||||
|
path-key: 3.1.1
|
||||||
|
shebang-command: 2.0.0
|
||||||
|
which: 2.0.2
|
||||||
|
|
||||||
|
debug@4.4.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
ms: 2.1.3
|
ms: 2.1.3
|
||||||
|
|
||||||
decode-named-character-reference@1.3.0:
|
decode-named-character-reference@1.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
character-entities: 2.0.2
|
character-entities: 2.0.2
|
||||||
|
|
||||||
@ -419,26 +526,40 @@ snapshots:
|
|||||||
commander: 6.2.1
|
commander: 6.2.1
|
||||||
glob: 7.2.3
|
glob: 7.2.3
|
||||||
|
|
||||||
|
eastasianwidth@0.2.0: {}
|
||||||
|
|
||||||
|
emoji-regex@8.0.0: {}
|
||||||
|
|
||||||
|
emoji-regex@9.2.2: {}
|
||||||
|
|
||||||
entities@4.5.0: {}
|
entities@4.5.0: {}
|
||||||
|
|
||||||
fdir@6.5.0(picomatch@4.0.4):
|
foreground-child@3.3.1:
|
||||||
optionalDependencies:
|
dependencies:
|
||||||
picomatch: 4.0.4
|
cross-spawn: 7.0.6
|
||||||
|
signal-exit: 4.1.0
|
||||||
|
|
||||||
fs.realpath@1.0.0: {}
|
fs.realpath@1.0.0: {}
|
||||||
|
|
||||||
get-east-asian-width@1.5.0: {}
|
glob@10.4.5:
|
||||||
|
dependencies:
|
||||||
|
foreground-child: 3.3.1
|
||||||
|
jackspeak: 3.4.3
|
||||||
|
minimatch: 9.0.5
|
||||||
|
minipass: 7.1.2
|
||||||
|
package-json-from-dist: 1.0.1
|
||||||
|
path-scurry: 1.11.1
|
||||||
|
|
||||||
glob@7.2.3:
|
glob@7.2.3:
|
||||||
dependencies:
|
dependencies:
|
||||||
fs.realpath: 1.0.0
|
fs.realpath: 1.0.0
|
||||||
inflight: 1.0.6
|
inflight: 1.0.6
|
||||||
inherits: 2.0.4
|
inherits: 2.0.4
|
||||||
minimatch: 3.1.5
|
minimatch: 3.1.2
|
||||||
once: 1.4.0
|
once: 1.4.0
|
||||||
path-is-absolute: 1.0.1
|
path-is-absolute: 1.0.1
|
||||||
|
|
||||||
ignore@7.0.5: {}
|
ignore@7.0.3: {}
|
||||||
|
|
||||||
inflight@1.0.6:
|
inflight@1.0.6:
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -458,9 +579,19 @@ snapshots:
|
|||||||
|
|
||||||
is-decimal@2.0.1: {}
|
is-decimal@2.0.1: {}
|
||||||
|
|
||||||
|
is-fullwidth-code-point@3.0.0: {}
|
||||||
|
|
||||||
is-hexadecimal@2.0.1: {}
|
is-hexadecimal@2.0.1: {}
|
||||||
|
|
||||||
js-yaml@4.1.1:
|
isexe@2.0.0: {}
|
||||||
|
|
||||||
|
jackspeak@3.4.3:
|
||||||
|
dependencies:
|
||||||
|
'@isaacs/cliui': 8.0.2
|
||||||
|
optionalDependencies:
|
||||||
|
'@pkgjs/parseargs': 0.11.0
|
||||||
|
|
||||||
|
js-yaml@4.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
argparse: 2.0.1
|
argparse: 2.0.1
|
||||||
|
|
||||||
@ -468,7 +599,7 @@ snapshots:
|
|||||||
|
|
||||||
jsonpointer@5.0.1: {}
|
jsonpointer@5.0.1: {}
|
||||||
|
|
||||||
katex@0.16.45:
|
katex@0.16.21:
|
||||||
dependencies:
|
dependencies:
|
||||||
commander: 8.3.0
|
commander: 8.3.0
|
||||||
|
|
||||||
@ -476,9 +607,11 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
uc.micro: 2.1.0
|
uc.micro: 2.1.0
|
||||||
|
|
||||||
lodash@4.18.1: {}
|
lodash@4.17.21: {}
|
||||||
|
|
||||||
markdown-it@14.1.1:
|
lru-cache@10.4.3: {}
|
||||||
|
|
||||||
|
markdown-it@14.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
argparse: 2.0.1
|
argparse: 2.0.1
|
||||||
entities: 4.5.0
|
entities: 4.5.0
|
||||||
@ -491,42 +624,40 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
repeat-string: 1.6.1
|
repeat-string: 1.6.1
|
||||||
|
|
||||||
markdownlint-cli@0.48.0:
|
markdownlint-cli@0.44.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
commander: 14.0.3
|
commander: 13.1.0
|
||||||
deep-extend: 0.6.0
|
glob: 10.4.5
|
||||||
ignore: 7.0.5
|
ignore: 7.0.3
|
||||||
js-yaml: 4.1.1
|
js-yaml: 4.1.0
|
||||||
jsonc-parser: 3.3.1
|
jsonc-parser: 3.3.1
|
||||||
jsonpointer: 5.0.1
|
jsonpointer: 5.0.1
|
||||||
markdown-it: 14.1.1
|
markdownlint: 0.37.4
|
||||||
markdownlint: 0.40.0
|
minimatch: 9.0.5
|
||||||
minimatch: 10.2.5
|
|
||||||
run-con: 1.3.2
|
run-con: 1.3.2
|
||||||
smol-toml: 1.6.1
|
smol-toml: 1.3.1
|
||||||
tinyglobby: 0.2.16
|
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
markdownlint@0.40.0:
|
markdownlint@0.37.4:
|
||||||
dependencies:
|
dependencies:
|
||||||
micromark: 4.0.2
|
markdown-it: 14.1.0
|
||||||
micromark-core-commonmark: 2.0.3
|
micromark: 4.0.1
|
||||||
micromark-extension-directive: 4.0.0
|
micromark-core-commonmark: 2.0.2
|
||||||
|
micromark-extension-directive: 3.0.2
|
||||||
micromark-extension-gfm-autolink-literal: 2.1.0
|
micromark-extension-gfm-autolink-literal: 2.1.0
|
||||||
micromark-extension-gfm-footnote: 2.1.0
|
micromark-extension-gfm-footnote: 2.1.0
|
||||||
micromark-extension-gfm-table: 2.1.1
|
micromark-extension-gfm-table: 2.1.0
|
||||||
micromark-extension-math: 3.1.0
|
micromark-extension-math: 3.1.0
|
||||||
micromark-util-types: 2.0.2
|
micromark-util-types: 2.0.1
|
||||||
string-width: 8.1.0
|
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
mdurl@2.0.0: {}
|
mdurl@2.0.0: {}
|
||||||
|
|
||||||
micromark-core-commonmark@2.0.3:
|
micromark-core-commonmark@2.0.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
decode-named-character-reference: 1.3.0
|
decode-named-character-reference: 1.1.0
|
||||||
devlop: 1.1.0
|
devlop: 1.1.0
|
||||||
micromark-factory-destination: 2.0.1
|
micromark-factory-destination: 2.0.1
|
||||||
micromark-factory-label: 2.0.1
|
micromark-factory-label: 2.0.1
|
||||||
@ -541,16 +672,16 @@ snapshots:
|
|||||||
micromark-util-resolve-all: 2.0.1
|
micromark-util-resolve-all: 2.0.1
|
||||||
micromark-util-subtokenize: 2.1.0
|
micromark-util-subtokenize: 2.1.0
|
||||||
micromark-util-symbol: 2.0.1
|
micromark-util-symbol: 2.0.1
|
||||||
micromark-util-types: 2.0.2
|
micromark-util-types: 2.0.1
|
||||||
|
|
||||||
micromark-extension-directive@4.0.0:
|
micromark-extension-directive@3.0.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
devlop: 1.1.0
|
devlop: 1.1.0
|
||||||
micromark-factory-space: 2.0.1
|
micromark-factory-space: 2.0.1
|
||||||
micromark-factory-whitespace: 2.0.1
|
micromark-factory-whitespace: 2.0.1
|
||||||
micromark-util-character: 2.1.1
|
micromark-util-character: 2.1.1
|
||||||
micromark-util-symbol: 2.0.1
|
micromark-util-symbol: 2.0.1
|
||||||
micromark-util-types: 2.0.2
|
micromark-util-types: 2.0.1
|
||||||
parse-entities: 4.0.2
|
parse-entities: 4.0.2
|
||||||
|
|
||||||
micromark-extension-gfm-autolink-literal@2.1.0:
|
micromark-extension-gfm-autolink-literal@2.1.0:
|
||||||
@ -558,73 +689,73 @@ snapshots:
|
|||||||
micromark-util-character: 2.1.1
|
micromark-util-character: 2.1.1
|
||||||
micromark-util-sanitize-uri: 2.0.1
|
micromark-util-sanitize-uri: 2.0.1
|
||||||
micromark-util-symbol: 2.0.1
|
micromark-util-symbol: 2.0.1
|
||||||
micromark-util-types: 2.0.2
|
micromark-util-types: 2.0.1
|
||||||
|
|
||||||
micromark-extension-gfm-footnote@2.1.0:
|
micromark-extension-gfm-footnote@2.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
devlop: 1.1.0
|
devlop: 1.1.0
|
||||||
micromark-core-commonmark: 2.0.3
|
micromark-core-commonmark: 2.0.2
|
||||||
micromark-factory-space: 2.0.1
|
micromark-factory-space: 2.0.1
|
||||||
micromark-util-character: 2.1.1
|
micromark-util-character: 2.1.1
|
||||||
micromark-util-normalize-identifier: 2.0.1
|
micromark-util-normalize-identifier: 2.0.1
|
||||||
micromark-util-sanitize-uri: 2.0.1
|
micromark-util-sanitize-uri: 2.0.1
|
||||||
micromark-util-symbol: 2.0.1
|
micromark-util-symbol: 2.0.1
|
||||||
micromark-util-types: 2.0.2
|
micromark-util-types: 2.0.1
|
||||||
|
|
||||||
micromark-extension-gfm-table@2.1.1:
|
micromark-extension-gfm-table@2.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
devlop: 1.1.0
|
devlop: 1.1.0
|
||||||
micromark-factory-space: 2.0.1
|
micromark-factory-space: 2.0.1
|
||||||
micromark-util-character: 2.1.1
|
micromark-util-character: 2.1.1
|
||||||
micromark-util-symbol: 2.0.1
|
micromark-util-symbol: 2.0.1
|
||||||
micromark-util-types: 2.0.2
|
micromark-util-types: 2.0.1
|
||||||
|
|
||||||
micromark-extension-math@3.1.0:
|
micromark-extension-math@3.1.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/katex': 0.16.8
|
'@types/katex': 0.16.7
|
||||||
devlop: 1.1.0
|
devlop: 1.1.0
|
||||||
katex: 0.16.45
|
katex: 0.16.21
|
||||||
micromark-factory-space: 2.0.1
|
micromark-factory-space: 2.0.1
|
||||||
micromark-util-character: 2.1.1
|
micromark-util-character: 2.1.1
|
||||||
micromark-util-symbol: 2.0.1
|
micromark-util-symbol: 2.0.1
|
||||||
micromark-util-types: 2.0.2
|
micromark-util-types: 2.0.1
|
||||||
|
|
||||||
micromark-factory-destination@2.0.1:
|
micromark-factory-destination@2.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
micromark-util-character: 2.1.1
|
micromark-util-character: 2.1.1
|
||||||
micromark-util-symbol: 2.0.1
|
micromark-util-symbol: 2.0.1
|
||||||
micromark-util-types: 2.0.2
|
micromark-util-types: 2.0.1
|
||||||
|
|
||||||
micromark-factory-label@2.0.1:
|
micromark-factory-label@2.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
devlop: 1.1.0
|
devlop: 1.1.0
|
||||||
micromark-util-character: 2.1.1
|
micromark-util-character: 2.1.1
|
||||||
micromark-util-symbol: 2.0.1
|
micromark-util-symbol: 2.0.1
|
||||||
micromark-util-types: 2.0.2
|
micromark-util-types: 2.0.1
|
||||||
|
|
||||||
micromark-factory-space@2.0.1:
|
micromark-factory-space@2.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
micromark-util-character: 2.1.1
|
micromark-util-character: 2.1.1
|
||||||
micromark-util-types: 2.0.2
|
micromark-util-types: 2.0.1
|
||||||
|
|
||||||
micromark-factory-title@2.0.1:
|
micromark-factory-title@2.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
micromark-factory-space: 2.0.1
|
micromark-factory-space: 2.0.1
|
||||||
micromark-util-character: 2.1.1
|
micromark-util-character: 2.1.1
|
||||||
micromark-util-symbol: 2.0.1
|
micromark-util-symbol: 2.0.1
|
||||||
micromark-util-types: 2.0.2
|
micromark-util-types: 2.0.1
|
||||||
|
|
||||||
micromark-factory-whitespace@2.0.1:
|
micromark-factory-whitespace@2.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
micromark-factory-space: 2.0.1
|
micromark-factory-space: 2.0.1
|
||||||
micromark-util-character: 2.1.1
|
micromark-util-character: 2.1.1
|
||||||
micromark-util-symbol: 2.0.1
|
micromark-util-symbol: 2.0.1
|
||||||
micromark-util-types: 2.0.2
|
micromark-util-types: 2.0.1
|
||||||
|
|
||||||
micromark-util-character@2.1.1:
|
micromark-util-character@2.1.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
micromark-util-symbol: 2.0.1
|
micromark-util-symbol: 2.0.1
|
||||||
micromark-util-types: 2.0.2
|
micromark-util-types: 2.0.1
|
||||||
|
|
||||||
micromark-util-chunked@2.0.1:
|
micromark-util-chunked@2.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -634,12 +765,12 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
micromark-util-character: 2.1.1
|
micromark-util-character: 2.1.1
|
||||||
micromark-util-symbol: 2.0.1
|
micromark-util-symbol: 2.0.1
|
||||||
micromark-util-types: 2.0.2
|
micromark-util-types: 2.0.1
|
||||||
|
|
||||||
micromark-util-combine-extensions@2.0.1:
|
micromark-util-combine-extensions@2.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
micromark-util-chunked: 2.0.1
|
micromark-util-chunked: 2.0.1
|
||||||
micromark-util-types: 2.0.2
|
micromark-util-types: 2.0.1
|
||||||
|
|
||||||
micromark-util-decode-numeric-character-reference@2.0.2:
|
micromark-util-decode-numeric-character-reference@2.0.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -655,7 +786,7 @@ snapshots:
|
|||||||
|
|
||||||
micromark-util-resolve-all@2.0.1:
|
micromark-util-resolve-all@2.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
micromark-util-types: 2.0.2
|
micromark-util-types: 2.0.1
|
||||||
|
|
||||||
micromark-util-sanitize-uri@2.0.1:
|
micromark-util-sanitize-uri@2.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -668,19 +799,19 @@ snapshots:
|
|||||||
devlop: 1.1.0
|
devlop: 1.1.0
|
||||||
micromark-util-chunked: 2.0.1
|
micromark-util-chunked: 2.0.1
|
||||||
micromark-util-symbol: 2.0.1
|
micromark-util-symbol: 2.0.1
|
||||||
micromark-util-types: 2.0.2
|
micromark-util-types: 2.0.1
|
||||||
|
|
||||||
micromark-util-symbol@2.0.1: {}
|
micromark-util-symbol@2.0.1: {}
|
||||||
|
|
||||||
micromark-util-types@2.0.2: {}
|
micromark-util-types@2.0.1: {}
|
||||||
|
|
||||||
micromark@4.0.2:
|
micromark@4.0.1:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/debug': 4.1.13
|
'@types/debug': 4.1.12
|
||||||
debug: 4.4.3
|
debug: 4.4.0
|
||||||
decode-named-character-reference: 1.3.0
|
decode-named-character-reference: 1.1.0
|
||||||
devlop: 1.1.0
|
devlop: 1.1.0
|
||||||
micromark-core-commonmark: 2.0.3
|
micromark-core-commonmark: 2.0.2
|
||||||
micromark-factory-space: 2.0.1
|
micromark-factory-space: 2.0.1
|
||||||
micromark-util-character: 2.1.1
|
micromark-util-character: 2.1.1
|
||||||
micromark-util-chunked: 2.0.1
|
micromark-util-chunked: 2.0.1
|
||||||
@ -692,39 +823,48 @@ snapshots:
|
|||||||
micromark-util-sanitize-uri: 2.0.1
|
micromark-util-sanitize-uri: 2.0.1
|
||||||
micromark-util-subtokenize: 2.1.0
|
micromark-util-subtokenize: 2.1.0
|
||||||
micromark-util-symbol: 2.0.1
|
micromark-util-symbol: 2.0.1
|
||||||
micromark-util-types: 2.0.2
|
micromark-util-types: 2.0.1
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
minimatch@10.2.5:
|
minimatch@3.1.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
brace-expansion: 5.0.5
|
brace-expansion: 1.1.11
|
||||||
|
|
||||||
minimatch@3.1.5:
|
minimatch@9.0.5:
|
||||||
dependencies:
|
dependencies:
|
||||||
brace-expansion: 1.1.13
|
brace-expansion: 2.0.1
|
||||||
|
|
||||||
minimist@1.2.8: {}
|
minimist@1.2.8: {}
|
||||||
|
|
||||||
|
minipass@7.1.2: {}
|
||||||
|
|
||||||
ms@2.1.3: {}
|
ms@2.1.3: {}
|
||||||
|
|
||||||
once@1.4.0:
|
once@1.4.0:
|
||||||
dependencies:
|
dependencies:
|
||||||
wrappy: 1.0.2
|
wrappy: 1.0.2
|
||||||
|
|
||||||
|
package-json-from-dist@1.0.1: {}
|
||||||
|
|
||||||
parse-entities@4.0.2:
|
parse-entities@4.0.2:
|
||||||
dependencies:
|
dependencies:
|
||||||
'@types/unist': 2.0.11
|
'@types/unist': 2.0.11
|
||||||
character-entities-legacy: 3.0.0
|
character-entities-legacy: 3.0.0
|
||||||
character-reference-invalid: 2.0.1
|
character-reference-invalid: 2.0.1
|
||||||
decode-named-character-reference: 1.3.0
|
decode-named-character-reference: 1.1.0
|
||||||
is-alphanumerical: 2.0.1
|
is-alphanumerical: 2.0.1
|
||||||
is-decimal: 2.0.1
|
is-decimal: 2.0.1
|
||||||
is-hexadecimal: 2.0.1
|
is-hexadecimal: 2.0.1
|
||||||
|
|
||||||
path-is-absolute@1.0.1: {}
|
path-is-absolute@1.0.1: {}
|
||||||
|
|
||||||
picomatch@4.0.4: {}
|
path-key@3.1.1: {}
|
||||||
|
|
||||||
|
path-scurry@1.11.1:
|
||||||
|
dependencies:
|
||||||
|
lru-cache: 10.4.3
|
||||||
|
minipass: 7.1.2
|
||||||
|
|
||||||
punycode.js@2.3.1: {}
|
punycode.js@2.3.1: {}
|
||||||
|
|
||||||
@ -737,26 +877,56 @@ snapshots:
|
|||||||
minimist: 1.2.8
|
minimist: 1.2.8
|
||||||
strip-json-comments: 3.1.1
|
strip-json-comments: 3.1.1
|
||||||
|
|
||||||
smol-toml@1.6.1: {}
|
shebang-command@2.0.0:
|
||||||
|
|
||||||
string-width@8.1.0:
|
|
||||||
dependencies:
|
dependencies:
|
||||||
get-east-asian-width: 1.5.0
|
shebang-regex: 3.0.0
|
||||||
strip-ansi: 7.2.0
|
|
||||||
|
|
||||||
strip-ansi@7.2.0:
|
shebang-regex@3.0.0: {}
|
||||||
|
|
||||||
|
signal-exit@4.1.0: {}
|
||||||
|
|
||||||
|
smol-toml@1.3.1: {}
|
||||||
|
|
||||||
|
string-width@4.2.3:
|
||||||
dependencies:
|
dependencies:
|
||||||
ansi-regex: 6.2.2
|
emoji-regex: 8.0.0
|
||||||
|
is-fullwidth-code-point: 3.0.0
|
||||||
|
strip-ansi: 6.0.1
|
||||||
|
|
||||||
|
string-width@5.1.2:
|
||||||
|
dependencies:
|
||||||
|
eastasianwidth: 0.2.0
|
||||||
|
emoji-regex: 9.2.2
|
||||||
|
strip-ansi: 7.1.0
|
||||||
|
|
||||||
|
strip-ansi@6.0.1:
|
||||||
|
dependencies:
|
||||||
|
ansi-regex: 5.0.1
|
||||||
|
|
||||||
|
strip-ansi@7.1.0:
|
||||||
|
dependencies:
|
||||||
|
ansi-regex: 6.1.0
|
||||||
|
|
||||||
strip-json-comments@3.1.1: {}
|
strip-json-comments@3.1.1: {}
|
||||||
|
|
||||||
tinyglobby@0.2.16:
|
|
||||||
dependencies:
|
|
||||||
fdir: 6.5.0(picomatch@4.0.4)
|
|
||||||
picomatch: 4.0.4
|
|
||||||
|
|
||||||
uc.micro@2.1.0: {}
|
uc.micro@2.1.0: {}
|
||||||
|
|
||||||
|
which@2.0.2:
|
||||||
|
dependencies:
|
||||||
|
isexe: 2.0.0
|
||||||
|
|
||||||
|
wrap-ansi@7.0.0:
|
||||||
|
dependencies:
|
||||||
|
ansi-styles: 4.3.0
|
||||||
|
string-width: 4.2.3
|
||||||
|
strip-ansi: 6.0.1
|
||||||
|
|
||||||
|
wrap-ansi@8.1.0:
|
||||||
|
dependencies:
|
||||||
|
ansi-styles: 6.2.1
|
||||||
|
string-width: 5.1.2
|
||||||
|
strip-ansi: 7.1.0
|
||||||
|
|
||||||
wrappy@1.0.2: {}
|
wrappy@1.0.2: {}
|
||||||
|
|
||||||
yaml@2.8.3: {}
|
yaml@2.7.0: {}
|
||||||
|
|||||||
@ -9,19 +9,19 @@
|
|||||||
labels: [
|
labels: [
|
||||||
'kind/dependency',
|
'kind/dependency',
|
||||||
],
|
],
|
||||||
digest: {
|
"digest": {
|
||||||
automerge: true,
|
"automerge": true
|
||||||
},
|
},
|
||||||
automergeStrategy: 'squash',
|
automergeStrategy: 'squash',
|
||||||
'git-submodules': {
|
'git-submodules': {
|
||||||
enabled: true,
|
'enabled': true
|
||||||
},
|
},
|
||||||
customManagers: [
|
customManagers: [
|
||||||
{
|
{
|
||||||
description: 'Gitea-version of https://docs.renovatebot.com/presets-regexManagers/#regexmanagersgithubactionsversions',
|
description: 'Gitea-version of https://docs.renovatebot.com/presets-regexManagers/#regexmanagersgithubactionsversions',
|
||||||
customType: 'regex',
|
customType: 'regex',
|
||||||
managerFilePatterns: [
|
fileMatch: [
|
||||||
'/.gitea/workflows/.+\\.ya?ml$/',
|
'.gitea/workflows/.+\\.ya?ml$',
|
||||||
],
|
],
|
||||||
matchStrings: [
|
matchStrings: [
|
||||||
'# renovate: datasource=(?<datasource>[a-z-.]+?) depName=(?<depName>[^\\s]+?)(?: (?:lookupName|packageName)=(?<packageName>[^\\s]+?))?(?: versioning=(?<versioning>[a-z-0-9]+?))?\\s+[A-Za-z0-9_]+?_VERSION\\s*:\\s*["\']?(?<currentValue>.+?)["\']?\\s',
|
'# renovate: datasource=(?<datasource>[a-z-.]+?) depName=(?<depName>[^\\s]+?)(?: (?:lookupName|packageName)=(?<packageName>[^\\s]+?))?(?: versioning=(?<versioning>[a-z-0-9]+?))?\\s+[A-Za-z0-9_]+?_VERSION\\s*:\\s*["\']?(?<currentValue>.+?)["\']?\\s',
|
||||||
@ -30,23 +30,13 @@
|
|||||||
{
|
{
|
||||||
description: 'Detect helm-unittest yaml schema file',
|
description: 'Detect helm-unittest yaml schema file',
|
||||||
customType: 'regex',
|
customType: 'regex',
|
||||||
managerFilePatterns: [
|
fileMatch: ['.vscode/settings\\.json$'],
|
||||||
'/.vscode/settings\\.json$/',
|
|
||||||
],
|
|
||||||
matchStrings: [
|
matchStrings: [
|
||||||
'https:\\/\\/raw\\.githubusercontent\\.com\\/(?<depName>[^\\s]+?)\\/(?<currentValue>v[0-9.]+?)\\/schema\\/helm-testsuite\\.json',
|
'https:\\/\\/raw\\.githubusercontent\\.com\\/(?<depName>[^\\s]+?)\\/(?<currentValue>v[0-9.]+?)\\/schema\\/helm-testsuite\\.json',
|
||||||
],
|
],
|
||||||
datasourceTemplate: 'github-releases',
|
datasourceTemplate: 'github-releases',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
lockFileMaintenance: {
|
|
||||||
"enabled": true,
|
|
||||||
"commitMessageAction": "update",
|
|
||||||
"commitMessageTopic": "lockfiles",
|
|
||||||
schedule: [
|
|
||||||
'at any time',
|
|
||||||
]
|
|
||||||
},
|
|
||||||
packageRules: [
|
packageRules: [
|
||||||
{
|
{
|
||||||
groupName: 'subcharts (minor & patch)',
|
groupName: 'subcharts (minor & patch)',
|
||||||
@ -59,17 +49,6 @@
|
|||||||
'digest',
|
'digest',
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
|
||||||
groupName: 'bats testing framework',
|
|
||||||
matchManagers: [
|
|
||||||
'git-submodules',
|
|
||||||
],
|
|
||||||
matchUpdateTypes: [
|
|
||||||
'minor',
|
|
||||||
'patch',
|
|
||||||
'digest',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
groupName: 'workflow dependencies (minor & patch)',
|
groupName: 'workflow dependencies (minor & patch)',
|
||||||
matchManagers: [
|
matchManagers: [
|
||||||
|
|||||||
@ -14,14 +14,14 @@ If release name contains chart name it will be used as a full name.
|
|||||||
*/}}
|
*/}}
|
||||||
{{- define "gitea.actions.fullname" -}}
|
{{- define "gitea.actions.fullname" -}}
|
||||||
{{- if .Values.fullnameOverride -}}
|
{{- if .Values.fullnameOverride -}}
|
||||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
|
||||||
{{- else -}}
|
{{- else -}}
|
||||||
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
{{- $name := default .Chart.Name .Values.nameOverride -}}
|
||||||
{{- if contains $name .Release.Name -}}
|
{{- if contains $name .Release.Name -}}
|
||||||
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
|
||||||
{{- else -}}
|
{{- else -}}
|
||||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
@ -36,7 +36,7 @@ Create a default worker name.
|
|||||||
Create chart name and version as used by the chart label.
|
Create chart name and version as used by the chart label.
|
||||||
*/}}
|
*/}}
|
||||||
{{- define "gitea.actions.chart" -}}
|
{{- define "gitea.actions.chart" -}}
|
||||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
{{/*
|
{{/*
|
||||||
@ -45,7 +45,7 @@ Storage Class
|
|||||||
{{- define "gitea.actions.persistence.storageClass" -}}
|
{{- define "gitea.actions.persistence.storageClass" -}}
|
||||||
{{- $storageClass := default (tpl ( default "" .Values.global.storageClass) .) }}
|
{{- $storageClass := default (tpl ( default "" .Values.global.storageClass) .) }}
|
||||||
{{- if $storageClass }}
|
{{- if $storageClass }}
|
||||||
storageClassName: {{ $storageClass | quote }}
|
storageClassName: {{ $storageClass | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
@ -84,48 +84,5 @@ app.kubernetes.io/instance: {{ .Release.Name }}
|
|||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
{{- define "gitea.actions.local_root_url" -}}
|
{{- define "gitea.actions.local_root_url" -}}
|
||||||
{{- tpl .Values.giteaRootURL . -}}
|
{{- .Values.giteaRootURL -}}
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Common create image implementation
|
|
||||||
*/}}
|
|
||||||
{{- define "gitea.actions.common.image" -}}
|
|
||||||
{{- $fullOverride := .image.fullOverride | default "" -}}
|
|
||||||
{{- $registry := .root.Values.global.imageRegistry | default .image.registry -}}
|
|
||||||
{{- $repository := .image.repository -}}
|
|
||||||
{{- $separator := ":" -}}
|
|
||||||
{{- $tag := .image.tag | default .root.Chart.AppVersion | toString -}}
|
|
||||||
{{- $digest := "" -}}
|
|
||||||
{{- if .image.digest }}
|
|
||||||
{{- $digest = (printf "@%s" (.image.digest | toString)) -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- if $fullOverride }}
|
|
||||||
{{- printf "%s" $fullOverride -}}
|
|
||||||
{{- else if $registry }}
|
|
||||||
{{- printf "%s/%s%s%s%s" $registry $repository $separator $tag $digest -}}
|
|
||||||
{{- else -}}
|
|
||||||
{{- printf "%s%s%s%s" $repository $separator $tag $digest -}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create image for the Gitea Actions Act Runner
|
|
||||||
*/}}
|
|
||||||
{{- define "gitea.actions.actRunner.image" -}}
|
|
||||||
{{ include "gitea.actions.common.image" (dict "root" . "image" .Values.statefulset.actRunner) }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create image for DinD
|
|
||||||
*/}}
|
|
||||||
{{- define "gitea.actions.dind.image" -}}
|
|
||||||
{{ include "gitea.actions.common.image" (dict "root" . "image" .Values.statefulset.dind) }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create image for Init
|
|
||||||
*/}}
|
|
||||||
{{- define "gitea.actions.init.image" -}}
|
|
||||||
{{ include "gitea.actions.common.image" (dict "root" . "image" .Values.init.image) }}
|
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|||||||
@ -10,10 +10,6 @@ metadata:
|
|||||||
data:
|
data:
|
||||||
config.yaml: |
|
config.yaml: |
|
||||||
{{- with .Values.statefulset.actRunner.config -}}
|
{{- with .Values.statefulset.actRunner.config -}}
|
||||||
{{- if kindIs "string" . -}}
|
{{ . | nindent 4}}
|
||||||
{{ . | nindent 4}}
|
|
||||||
{{- else -}}
|
|
||||||
{{ toYaml . | nindent 4}}
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@ -30,44 +30,9 @@ spec:
|
|||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
spec:
|
spec:
|
||||||
restartPolicy: Always
|
|
||||||
{{- if .Values.statefulset.serviceAccountName }}
|
|
||||||
serviceAccountName: {{ .Values.statefulset.serviceAccountName | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.statefulset.securityContext }}
|
|
||||||
securityContext:
|
|
||||||
{{- toYaml .Values.statefulset.securityContext | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.statefulset.runtimeClassName }}
|
|
||||||
runtimeClassName: {{ .Values.statefulset.runtimeClassName | quote }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.statefulset.hostAliases }}
|
|
||||||
hostAliases:
|
|
||||||
{{- toYaml .Values.statefulset.hostAliases | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
initContainers:
|
initContainers:
|
||||||
{{- if .Values.preExtraInitContainers }}
|
|
||||||
{{- toYaml .Values.preExtraInitContainers | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.statefulset.actRunner.flushCache }}
|
|
||||||
- name: cache-flusher
|
|
||||||
image: "{{ include "gitea.actions.init.image" . }}"
|
|
||||||
command:
|
|
||||||
- sh
|
|
||||||
- -c
|
|
||||||
- |
|
|
||||||
if [[ -f /data/.runner ]]; then
|
|
||||||
echo "Removing cache at /data/.runner"
|
|
||||||
rm -v /data/.runner
|
|
||||||
else
|
|
||||||
echo "No .runner file to remove"
|
|
||||||
fi
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /data
|
|
||||||
name: data-act-runner
|
|
||||||
{{- end }}
|
|
||||||
- name: init-gitea
|
- name: init-gitea
|
||||||
image: "{{ include "gitea.actions.init.image" . }}"
|
image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
|
||||||
command:
|
command:
|
||||||
- sh
|
- sh
|
||||||
- -c
|
- -c
|
||||||
@ -78,95 +43,63 @@ spec:
|
|||||||
echo "Trying again in 3 seconds..."
|
echo "Trying again in 3 seconds..."
|
||||||
done
|
done
|
||||||
echo "Gitea has been reached!"
|
echo "Gitea has been reached!"
|
||||||
- name: dind
|
|
||||||
image: "{{ include "gitea.actions.dind.image" . }}"
|
|
||||||
restartPolicy: Always
|
|
||||||
imagePullPolicy: {{ .Values.statefulset.dind.pullPolicy }}
|
|
||||||
{{- if .Values.statefulset.dind.extraEnvs }}
|
|
||||||
env:
|
|
||||||
{{- toYaml .Values.statefulset.dind.extraEnvs | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
securityContext:
|
|
||||||
privileged: true
|
|
||||||
{{- if .Values.statefulset.dind.extraArgs }}
|
|
||||||
args:
|
|
||||||
{{- toYaml .Values.statefulset.dind.extraArgs | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
startupProbe:
|
|
||||||
exec:
|
|
||||||
command:
|
|
||||||
- /usr/bin/test
|
|
||||||
- -S
|
|
||||||
{{- if .Values.statefulset.dind.rootless }}
|
|
||||||
- /run/user/{{ .Values.statefulset.dind.uid | default 1000 }}/docker.sock
|
|
||||||
{{- else }}
|
|
||||||
- /var/run/docker.sock
|
|
||||||
{{- end }}
|
|
||||||
livenessProbe:
|
|
||||||
exec:
|
|
||||||
command:
|
|
||||||
- /usr/bin/test
|
|
||||||
- -S
|
|
||||||
{{- if .Values.statefulset.dind.rootless }}
|
|
||||||
- /run/user/{{ .Values.statefulset.dind.uid | default 1000 }}/docker.sock
|
|
||||||
{{- else }}
|
|
||||||
- /var/run/docker.sock
|
|
||||||
{{- end }}
|
|
||||||
resources:
|
|
||||||
{{- toYaml .Values.statefulset.resources | nindent 12 }}
|
|
||||||
volumeMounts:
|
|
||||||
{{- if .Values.statefulset.dind.rootless }}
|
|
||||||
- mountPath: /run/user/{{ .Values.statefulset.dind.uid | default 1000 }}/
|
|
||||||
{{- else }}
|
|
||||||
- mountPath: /var/run/
|
|
||||||
{{- end }}
|
|
||||||
name: docker-socket
|
|
||||||
{{- with .Values.statefulset.dind.extraVolumeMounts }}
|
|
||||||
{{- toYaml . | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.postExtraInitContainers }}
|
|
||||||
{{- toYaml .Values.postExtraInitContainers | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
containers:
|
containers:
|
||||||
- name: act-runner
|
- name: act-runner
|
||||||
image: "{{ include "gitea.actions.actRunner.image" . }}"
|
image: "{{ .Values.statefulset.actRunner.repository }}:{{ .Values.statefulset.actRunner.tag }}"
|
||||||
imagePullPolicy: {{ .Values.statefulset.actRunner.pullPolicy }}
|
imagePullPolicy: {{ .Values.statefulset.actRunner.pullPolicy }}
|
||||||
workingDir: /data
|
workingDir: /data
|
||||||
env:
|
env:
|
||||||
|
- name: DOCKER_HOST
|
||||||
|
value: tcp://127.0.0.1:2376
|
||||||
|
- name: DOCKER_TLS_VERIFY
|
||||||
|
value: "1"
|
||||||
|
- name: DOCKER_CERT_PATH
|
||||||
|
value: /certs/server
|
||||||
- name: GITEA_RUNNER_REGISTRATION_TOKEN
|
- name: GITEA_RUNNER_REGISTRATION_TOKEN
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: "{{ (tpl .Values.existingSecret . ) | default $secretName }}"
|
name: "{{ .Values.existingSecret | default $secretName }}"
|
||||||
key: "{{ (tpl .Values.existingSecretKey . ) | default "token" }}"
|
key: "{{ .Values.existingSecretKey | default "token" }}"
|
||||||
- name: GITEA_INSTANCE_URL
|
- name: GITEA_INSTANCE_URL
|
||||||
value: {{ include "gitea.actions.local_root_url" . }}
|
value: {{ include "gitea.actions.local_root_url" . }}
|
||||||
- name: CONFIG_FILE
|
- name: CONFIG_FILE
|
||||||
value: /actrunner/config.yaml
|
value: /actrunner/config.yaml
|
||||||
- name: TZ
|
|
||||||
value: {{ .Values.statefulset.timezone | default "Etc/UTC" }}
|
|
||||||
{{- if .Values.statefulset.actRunner.extraEnvs }}
|
|
||||||
{{- toYaml .Values.statefulset.actRunner.extraEnvs | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
resources:
|
resources:
|
||||||
{{- toYaml .Values.statefulset.resources | nindent 12 }}
|
{{- toYaml .Values.statefulset.resources | nindent 12 }}
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- mountPath: /actrunner/config.yaml
|
- mountPath: /actrunner/config.yaml
|
||||||
name: act-runner-config
|
name: act-runner-config
|
||||||
subPath: config.yaml
|
subPath: config.yaml
|
||||||
- mountPath: /var/run/docker.sock
|
- mountPath: /certs/server
|
||||||
name: docker-socket
|
name: docker-certs
|
||||||
subPath: docker.sock
|
|
||||||
- mountPath: /data
|
- mountPath: /data
|
||||||
name: data-act-runner
|
name: data-act-runner
|
||||||
{{- with .Values.statefulset.actRunner.extraVolumeMounts }}
|
{{- with .Values.statefulset.actRunner.extraVolumeMounts }}
|
||||||
{{- toYaml . | nindent 12 }}
|
{{- toYaml . | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.global.imagePullSecrets }}
|
- name: dind
|
||||||
imagePullSecrets:
|
image: "{{ .Values.statefulset.dind.repository }}:{{ .Values.statefulset.dind.tag }}"
|
||||||
{{- range .Values.global.imagePullSecrets }}
|
imagePullPolicy: {{ .Values.statefulset.dind.pullPolicy }}
|
||||||
- name: {{ . }}
|
env:
|
||||||
{{- end }}
|
- name: DOCKER_HOST
|
||||||
{{- end }}
|
value: tcp://127.0.0.1:2376
|
||||||
|
- name: DOCKER_TLS_VERIFY
|
||||||
|
value: "1"
|
||||||
|
- name: DOCKER_CERT_PATH
|
||||||
|
value: /certs/server
|
||||||
|
{{- if .Values.statefulset.dind.extraEnvs }}
|
||||||
|
{{- toYaml .Values.statefulset.dind.extraEnvs | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
securityContext:
|
||||||
|
privileged: true
|
||||||
|
resources:
|
||||||
|
{{- toYaml .Values.statefulset.resources | nindent 12 }}
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /certs/server
|
||||||
|
name: docker-certs
|
||||||
|
{{- with .Values.statefulset.dind.extraVolumeMounts }}
|
||||||
|
{{- toYaml . | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
{{- range $key, $value := .Values.statefulset.nodeSelector }}
|
{{- range $key, $value := .Values.statefulset.nodeSelector }}
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
{{ $key }}: {{ $value | quote }}
|
{{ $key }}: {{ $value | quote }}
|
||||||
@ -183,7 +116,7 @@ spec:
|
|||||||
- name: act-runner-config
|
- name: act-runner-config
|
||||||
configMap:
|
configMap:
|
||||||
name: {{ include "gitea.actions.fullname" . }}-act-runner-config
|
name: {{ include "gitea.actions.fullname" . }}-act-runner-config
|
||||||
- name: docker-socket
|
- name: docker-certs
|
||||||
emptyDir: {}
|
emptyDir: {}
|
||||||
{{- with .Values.statefulset.extraVolumes }}
|
{{- with .Values.statefulset.extraVolumes }}
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
@ -193,9 +126,7 @@ spec:
|
|||||||
name: data-act-runner
|
name: data-act-runner
|
||||||
spec:
|
spec:
|
||||||
accessModes: [ "ReadWriteOnce" ]
|
accessModes: [ "ReadWriteOnce" ]
|
||||||
{{- if .Values.global.storageClass }}
|
{{- include "gitea.actions.persistence.storageClass" . | nindent 8 }}
|
||||||
{{- include "gitea.actions.persistence.storageClass" . | indent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
resources:
|
resources:
|
||||||
requests:
|
requests:
|
||||||
storage: {{ .Values.statefulset.persistence.size }}
|
storage: {{ .Values.statefulset.persistence.size }}
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
suite: actions template | consistency checks
|
suite: actions template | consistency checks
|
||||||
release:
|
release:
|
||||||
name: gitea-actions-unittests
|
name: gitea-unittests
|
||||||
namespace: testing
|
namespace: testing
|
||||||
templates:
|
templates:
|
||||||
- templates/01-consistency-checks.yaml
|
- templates/01-consistency-checks.yaml
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
# yaml-language-server: $schema=https://raw.githubusercontent.com/helm-unittest/helm-unittest/main/schema/helm-testsuite.json
|
# yaml-language-server: $schema=https://raw.githubusercontent.com/helm-unittest/helm-unittest/main/schema/helm-testsuite.json
|
||||||
suite: actions template | config-act-runner
|
suite: actions template | config-act-runner
|
||||||
release:
|
release:
|
||||||
name: gitea-actions-unittests
|
name: gitea-unittests
|
||||||
namespace: testing
|
namespace: testing
|
||||||
templates:
|
templates:
|
||||||
- templates/config-act-runner.yaml
|
- templates/config-act-runner.yaml
|
||||||
@ -31,7 +31,7 @@ tests:
|
|||||||
- containsDocument:
|
- containsDocument:
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
name: gitea-actions-unittests-act-runner-config
|
name: gitea-unittests-actions-act-runner-config
|
||||||
- equal:
|
- equal:
|
||||||
path: data["config.yaml"]
|
path: data["config.yaml"]
|
||||||
value: |
|
value: |
|
||||||
@ -42,27 +42,3 @@ tests:
|
|||||||
runner:
|
runner:
|
||||||
labels:
|
labels:
|
||||||
- "ubuntu-latest"
|
- "ubuntu-latest"
|
||||||
- it: renders a ConfigMap with inline yaml
|
|
||||||
template: templates/config-act-runner.yaml
|
|
||||||
set:
|
|
||||||
enabled: true
|
|
||||||
statefulset:
|
|
||||||
actRunner:
|
|
||||||
config: |
|
|
||||||
container:
|
|
||||||
valid_volumes:
|
|
||||||
- /var/run/docker.sock
|
|
||||||
options: -v /var/run/docker.sock:/var/run/docker.sock
|
|
||||||
asserts:
|
|
||||||
- hasDocuments:
|
|
||||||
count: 1
|
|
||||||
- containsDocument:
|
|
||||||
kind: ConfigMap
|
|
||||||
apiVersion: v1
|
|
||||||
name: gitea-actions-unittests-act-runner-config
|
|
||||||
- matchRegex:
|
|
||||||
path: data["config.yaml"]
|
|
||||||
pattern: '(?m)^\s*options:\s*-v /var/run/docker.sock:/var/run/docker.sock\s*$'
|
|
||||||
- matchRegex:
|
|
||||||
path: data["config.yaml"]
|
|
||||||
pattern: '(?m)^\s*valid_volumes:\s*\n\s*-\s*/var/run/docker.sock\s*$'
|
|
||||||
|
|||||||
@ -1,88 +1,16 @@
|
|||||||
suite: actions template | statefulset
|
suite: actions template | statefulset
|
||||||
release:
|
release:
|
||||||
name: gitea-actions-unittests
|
name: gitea-unittests
|
||||||
namespace: testing
|
namespace: testing
|
||||||
templates:
|
templates:
|
||||||
- templates/statefulset.yaml
|
- templates/statefulset.yaml
|
||||||
- templates/config-act-runner.yaml
|
- templates/config-act-runner.yaml
|
||||||
tests:
|
tests:
|
||||||
#
|
|
||||||
## GENERIC
|
|
||||||
#
|
|
||||||
|
|
||||||
- it: doesn't renders a StatefulSet by default
|
- it: doesn't renders a StatefulSet by default
|
||||||
template: templates/statefulset.yaml
|
template: templates/statefulset.yaml
|
||||||
asserts:
|
asserts:
|
||||||
- hasDocuments:
|
- hasDocuments:
|
||||||
count: 0
|
count: 0
|
||||||
|
|
||||||
- it: renders a StatefulSet (that tracks changes of the runner configuration as annotation)
|
|
||||||
template: templates/statefulset.yaml
|
|
||||||
set:
|
|
||||||
image.tag: "1.22.3" # lock image tag to prevent test failures on future Gitea upgrades
|
|
||||||
enabled: true
|
|
||||||
asserts:
|
|
||||||
- hasDocuments:
|
|
||||||
count: 1
|
|
||||||
- containsDocument:
|
|
||||||
kind: StatefulSet
|
|
||||||
apiVersion: apps/v1
|
|
||||||
name: gitea-actions-unittests-act-runner
|
|
||||||
- equal:
|
|
||||||
path: spec.template.metadata.annotations["checksum/config"]
|
|
||||||
value: "368836e4e5d947f06f2d65c7cc3fc3ad050aaced506443f54a8ffc17bb11afd2"
|
|
||||||
|
|
||||||
- it: Has fsGroup in securityContext
|
|
||||||
template: templates/statefulset.yaml
|
|
||||||
set:
|
|
||||||
enabled: true
|
|
||||||
statefulset.securityContext:
|
|
||||||
fsGroup: 1000
|
|
||||||
asserts:
|
|
||||||
- hasDocuments:
|
|
||||||
count: 1
|
|
||||||
- containsDocument:
|
|
||||||
kind: StatefulSet
|
|
||||||
apiVersion: apps/v1
|
|
||||||
name: gitea-actions-unittests-act-runner
|
|
||||||
- equal:
|
|
||||||
path: spec.template.spec.securityContext["fsGroup"]
|
|
||||||
value: 1000
|
|
||||||
|
|
||||||
- it: Has fsGroupChangePolicy in securityContext
|
|
||||||
template: templates/statefulset.yaml
|
|
||||||
set:
|
|
||||||
enabled: true
|
|
||||||
statefulset.securityContext:
|
|
||||||
fsGroupChangePolicy: OnRootMismatch
|
|
||||||
asserts:
|
|
||||||
- hasDocuments:
|
|
||||||
count: 1
|
|
||||||
- containsDocument:
|
|
||||||
kind: StatefulSet
|
|
||||||
apiVersion: apps/v1
|
|
||||||
name: gitea-actions-unittests-act-runner
|
|
||||||
- equal:
|
|
||||||
path: spec.template.spec.securityContext["fsGroupChangePolicy"]
|
|
||||||
value: "OnRootMismatch"
|
|
||||||
|
|
||||||
- it: Has Always in securityContext
|
|
||||||
template: templates/statefulset.yaml
|
|
||||||
set:
|
|
||||||
enabled: true
|
|
||||||
statefulset.securityContext:
|
|
||||||
fsGroupChangePolicy: Always
|
|
||||||
asserts:
|
|
||||||
- hasDocuments:
|
|
||||||
count: 1
|
|
||||||
- containsDocument:
|
|
||||||
kind: StatefulSet
|
|
||||||
apiVersion: apps/v1
|
|
||||||
name: gitea-actions-unittests-act-runner
|
|
||||||
- equal:
|
|
||||||
path: spec.template.spec.securityContext["fsGroupChangePolicy"]
|
|
||||||
value: "Always"
|
|
||||||
|
|
||||||
- it: renders a StatefulSet (with given existingSecret/existingSecretKey)
|
- it: renders a StatefulSet (with given existingSecret/existingSecretKey)
|
||||||
template: templates/statefulset.yaml
|
template: templates/statefulset.yaml
|
||||||
set:
|
set:
|
||||||
@ -95,30 +23,69 @@ tests:
|
|||||||
- containsDocument:
|
- containsDocument:
|
||||||
kind: StatefulSet
|
kind: StatefulSet
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
name: gitea-actions-unittests-act-runner
|
name: gitea-unittests-actions-act-runner
|
||||||
- equal:
|
- equal:
|
||||||
path: spec.template.spec.containers[0].env[0]
|
path: spec.template.spec.containers[0].env[3]
|
||||||
value:
|
value:
|
||||||
name: GITEA_RUNNER_REGISTRATION_TOKEN
|
name: GITEA_RUNNER_REGISTRATION_TOKEN
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: "my-secret"
|
name: "my-secret"
|
||||||
key: "my-secret-key"
|
key: "my-secret-key"
|
||||||
|
- it: renders a StatefulSet (with secret reference defaults for enabled provisioning)
|
||||||
- it: renders a StatefulSet http (with correct GITEA_INSTANCE_URL env from giteaRootURL)
|
|
||||||
template: templates/statefulset.yaml
|
template: templates/statefulset.yaml
|
||||||
set:
|
set:
|
||||||
giteaRootURL: "http://git.example.com"
|
|
||||||
enabled: true
|
enabled: true
|
||||||
|
provisioning:
|
||||||
|
enabled: true
|
||||||
asserts:
|
asserts:
|
||||||
- hasDocuments:
|
- hasDocuments:
|
||||||
count: 1
|
count: 1
|
||||||
- containsDocument:
|
- containsDocument:
|
||||||
kind: StatefulSet
|
kind: StatefulSet
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
name: gitea-actions-unittests-act-runner
|
name: gitea-unittests-actions-act-runner
|
||||||
- equal:
|
- equal:
|
||||||
path: spec.template.spec.containers[0].env[1]
|
path: spec.template.spec.containers[0].env[3]
|
||||||
|
value:
|
||||||
|
name: GITEA_RUNNER_REGISTRATION_TOKEN
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: "gitea-unittests-actions-token"
|
||||||
|
key: "token"
|
||||||
|
- it: renders a StatefulSet (that tracks changes of the runner configuration as annotation)
|
||||||
|
template: templates/statefulset.yaml
|
||||||
|
set:
|
||||||
|
image.tag: "1.22.3" # lock image tag to prevent test failures on future Gitea upgrades
|
||||||
|
enabled: true
|
||||||
|
existingSecret: "my-secret"
|
||||||
|
existingSecretKey: "my-secret-key"
|
||||||
|
asserts:
|
||||||
|
- hasDocuments:
|
||||||
|
count: 1
|
||||||
|
- containsDocument:
|
||||||
|
kind: StatefulSet
|
||||||
|
apiVersion: apps/v1
|
||||||
|
name: gitea-unittests-actions-act-runner
|
||||||
|
- equal:
|
||||||
|
path: spec.template.metadata.annotations["checksum/config"]
|
||||||
|
value: "7566d9c60261bf8cbff6a6936fc7aead96cec540d8c793d142a5ad4664c56ba5"
|
||||||
|
- it: renders a StatefulSet http (with correct GITEA_INSTANCE_URL env from giteaRootURL)
|
||||||
|
template: templates/statefulset.yaml
|
||||||
|
set:
|
||||||
|
giteaRootURL: "http://git.example.com"
|
||||||
|
enabled: true
|
||||||
|
existingSecret: "my-secret"
|
||||||
|
existingSecretKey: "my-secret-key"
|
||||||
|
asserts:
|
||||||
|
- hasDocuments:
|
||||||
|
count: 1
|
||||||
|
- containsDocument:
|
||||||
|
kind: StatefulSet
|
||||||
|
apiVersion: apps/v1
|
||||||
|
name: gitea-unittests-actions-act-runner
|
||||||
|
- equal:
|
||||||
|
path: spec.template.spec.containers[0].env[4]
|
||||||
value:
|
value:
|
||||||
name: GITEA_INSTANCE_URL
|
name: GITEA_INSTANCE_URL
|
||||||
value: "http://git.example.com"
|
value: "http://git.example.com"
|
||||||
@ -131,21 +98,22 @@ tests:
|
|||||||
echo "Trying again in 3 seconds..."
|
echo "Trying again in 3 seconds..."
|
||||||
done
|
done
|
||||||
echo "Gitea has been reached!"
|
echo "Gitea has been reached!"
|
||||||
|
|
||||||
- it: renders a StatefulSet https (with correct GITEA_INSTANCE_URL env from giteaRootURL)
|
- it: renders a StatefulSet https (with correct GITEA_INSTANCE_URL env from giteaRootURL)
|
||||||
template: templates/statefulset.yaml
|
template: templates/statefulset.yaml
|
||||||
set:
|
set:
|
||||||
giteaRootURL: "https://git.example.com"
|
giteaRootURL: "https://git.example.com"
|
||||||
enabled: true
|
enabled: true
|
||||||
|
existingSecret: "my-secret"
|
||||||
|
existingSecretKey: "my-secret-key"
|
||||||
asserts:
|
asserts:
|
||||||
- hasDocuments:
|
- hasDocuments:
|
||||||
count: 1
|
count: 1
|
||||||
- containsDocument:
|
- containsDocument:
|
||||||
kind: StatefulSet
|
kind: StatefulSet
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
name: gitea-actions-unittests-act-runner
|
name: gitea-unittests-actions-act-runner
|
||||||
- equal:
|
- equal:
|
||||||
path: spec.template.spec.containers[0].env[1]
|
path: spec.template.spec.containers[0].env[4]
|
||||||
value:
|
value:
|
||||||
name: GITEA_INSTANCE_URL
|
name: GITEA_INSTANCE_URL
|
||||||
value: "https://git.example.com"
|
value: "https://git.example.com"
|
||||||
@ -158,21 +126,22 @@ tests:
|
|||||||
echo "Trying again in 3 seconds..."
|
echo "Trying again in 3 seconds..."
|
||||||
done
|
done
|
||||||
echo "Gitea has been reached!"
|
echo "Gitea has been reached!"
|
||||||
|
- it: renders a StatefulSet https (with correct GITEA_INSTANCE_URL env from giteaRootURL)
|
||||||
- it: renders a StatefulSet https with explicit port (with correct GITEA_INSTANCE_URL env from giteaRootURL)
|
|
||||||
template: templates/statefulset.yaml
|
template: templates/statefulset.yaml
|
||||||
set:
|
set:
|
||||||
giteaRootURL: "https://git.example.com:8443"
|
giteaRootURL: "https://git.example.com:8443"
|
||||||
enabled: true
|
enabled: true
|
||||||
|
existingSecret: "my-secret"
|
||||||
|
existingSecretKey: "my-secret-key"
|
||||||
asserts:
|
asserts:
|
||||||
- hasDocuments:
|
- hasDocuments:
|
||||||
count: 1
|
count: 1
|
||||||
- containsDocument:
|
- containsDocument:
|
||||||
kind: StatefulSet
|
kind: StatefulSet
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
name: gitea-actions-unittests-act-runner
|
name: gitea-unittests-actions-act-runner
|
||||||
- equal:
|
- equal:
|
||||||
path: spec.template.spec.containers[0].env[1]
|
path: spec.template.spec.containers[0].env[4]
|
||||||
value:
|
value:
|
||||||
name: GITEA_INSTANCE_URL
|
name: GITEA_INSTANCE_URL
|
||||||
value: "https://git.example.com:8443"
|
value: "https://git.example.com:8443"
|
||||||
@ -185,119 +154,21 @@ tests:
|
|||||||
echo "Trying again in 3 seconds..."
|
echo "Trying again in 3 seconds..."
|
||||||
done
|
done
|
||||||
echo "Gitea has been reached!"
|
echo "Gitea has been reached!"
|
||||||
|
- it: allows adding custom environment variables to the docker-in-docker container
|
||||||
- it: should render service account name correctly
|
|
||||||
template: templates/statefulset.yaml
|
template: templates/statefulset.yaml
|
||||||
set:
|
set:
|
||||||
enabled: true
|
enabled: true
|
||||||
statefulset:
|
statefulset:
|
||||||
serviceAccountName: "my-service-account"
|
dind:
|
||||||
asserts:
|
|
||||||
- hasDocuments:
|
|
||||||
count: 1
|
|
||||||
- equal:
|
|
||||||
path: spec.template.spec.serviceAccountName
|
|
||||||
value: "my-service-account"
|
|
||||||
|
|
||||||
- it: should render runtime class name correctly
|
|
||||||
template: templates/statefulset.yaml
|
|
||||||
set:
|
|
||||||
enabled: true
|
|
||||||
statefulset:
|
|
||||||
runtimeClassName: "my-runtime-class-name"
|
|
||||||
asserts:
|
|
||||||
- hasDocuments:
|
|
||||||
count: 1
|
|
||||||
- equal:
|
|
||||||
path: spec.template.spec.runtimeClassName
|
|
||||||
value: "my-runtime-class-name"
|
|
||||||
|
|
||||||
#
|
|
||||||
## ACT_RUNNER
|
|
||||||
#
|
|
||||||
|
|
||||||
- it: act-runner uses fullOverride
|
|
||||||
template: templates/statefulset.yaml
|
|
||||||
set:
|
|
||||||
enabled: true
|
|
||||||
statefulset.actRunner.fullOverride: test.io/act_runner:x.y.z
|
|
||||||
asserts:
|
|
||||||
- hasDocuments:
|
|
||||||
count: 1
|
|
||||||
- containsDocument:
|
|
||||||
kind: StatefulSet
|
|
||||||
apiVersion: apps/v1
|
|
||||||
name: gitea-actions-unittests-act-runner
|
|
||||||
- equal:
|
|
||||||
path: spec.template.spec.containers[0].image
|
|
||||||
value: test.io/act_runner:x.y.z
|
|
||||||
|
|
||||||
- it: act-runner uses digest
|
|
||||||
template: templates/statefulset.yaml
|
|
||||||
set:
|
|
||||||
enabled: true
|
|
||||||
statefulset.actRunner.tag: 0.3.1
|
|
||||||
statefulset.actRunner.digest: sha256:abcdef123456
|
|
||||||
asserts:
|
|
||||||
- hasDocuments:
|
|
||||||
count: 1
|
|
||||||
- containsDocument:
|
|
||||||
kind: StatefulSet
|
|
||||||
apiVersion: apps/v1
|
|
||||||
name: gitea-actions-unittests-act-runner
|
|
||||||
- equal:
|
|
||||||
path: spec.template.spec.containers[0].image
|
|
||||||
value: docker.gitea.com/act_runner:0.3.1@sha256:abcdef123456
|
|
||||||
|
|
||||||
- it: act-runner uses global.imageRegistry
|
|
||||||
template: templates/statefulset.yaml
|
|
||||||
set:
|
|
||||||
enabled: true
|
|
||||||
global.imageRegistry: test.io
|
|
||||||
statefulset.actRunner.tag: 0.3.1
|
|
||||||
asserts:
|
|
||||||
- hasDocuments:
|
|
||||||
count: 1
|
|
||||||
- containsDocument:
|
|
||||||
kind: StatefulSet
|
|
||||||
apiVersion: apps/v1
|
|
||||||
name: gitea-actions-unittests-act-runner
|
|
||||||
- equal:
|
|
||||||
path: spec.template.spec.containers[0].image
|
|
||||||
value: test.io/act_runner:0.3.1
|
|
||||||
|
|
||||||
- it: renders additional environment variables for act-runner container in StatefulSet
|
|
||||||
template: templates/statefulset.yaml
|
|
||||||
set:
|
|
||||||
enabled: true
|
|
||||||
statefulset:
|
|
||||||
actRunner:
|
|
||||||
extraEnvs:
|
extraEnvs:
|
||||||
- name: "CUSTOM_ENV"
|
- name: "CUSTOM_ENV_NAME"
|
||||||
value: "1"
|
value: "custom env value"
|
||||||
- name: "GITEA_RUNNER_NAME"
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
fieldPath: metadata.name
|
|
||||||
asserts:
|
asserts:
|
||||||
- hasDocuments:
|
|
||||||
count: 1
|
|
||||||
- containsDocument:
|
|
||||||
kind: StatefulSet
|
|
||||||
apiVersion: apps/v1
|
|
||||||
name: gitea-actions-unittests-act-runner
|
|
||||||
- equal:
|
- equal:
|
||||||
path: spec.template.spec.containers[0].env[4]
|
path: spec.template.spec.containers[1].env[3]
|
||||||
value:
|
value:
|
||||||
name: CUSTOM_ENV
|
name: "CUSTOM_ENV_NAME"
|
||||||
value: "1"
|
value: "custom env value"
|
||||||
- matchRegex:
|
|
||||||
path: spec.template.spec.containers[0].env[5].valueFrom.fieldRef.fieldPath
|
|
||||||
pattern: "metadata\\.name"
|
|
||||||
- matchRegex:
|
|
||||||
path: spec.template.spec.containers[0].env[5].name
|
|
||||||
pattern: "GITEA_RUNNER_NAME"
|
|
||||||
|
|
||||||
- it: should mount an extra volume in the act runner container
|
- it: should mount an extra volume in the act runner container
|
||||||
template: templates/statefulset.yaml
|
template: templates/statefulset.yaml
|
||||||
set:
|
set:
|
||||||
@ -316,67 +187,13 @@ tests:
|
|||||||
- containsDocument:
|
- containsDocument:
|
||||||
kind: StatefulSet
|
kind: StatefulSet
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
name: gitea-actions-unittests-act-runner
|
name: gitea-unittests-actions-act-runner
|
||||||
- contains:
|
- contains:
|
||||||
any: true
|
any: true
|
||||||
path: spec.template.spec.containers[0].volumeMounts
|
path: spec.template.spec.containers[0].volumeMounts
|
||||||
content:
|
content:
|
||||||
mountPath: /mnt
|
mountPath: /mnt
|
||||||
name: my-act-runner-volume
|
name: my-act-runner-volume
|
||||||
|
|
||||||
#
|
|
||||||
## DIND
|
|
||||||
#
|
|
||||||
|
|
||||||
- it: dind uses fullOverride
|
|
||||||
template: templates/statefulset.yaml
|
|
||||||
set:
|
|
||||||
enabled: true
|
|
||||||
statefulset.dind.fullOverride: test.io/dind:x.y.z
|
|
||||||
asserts:
|
|
||||||
- hasDocuments:
|
|
||||||
count: 1
|
|
||||||
- containsDocument:
|
|
||||||
kind: StatefulSet
|
|
||||||
apiVersion: apps/v1
|
|
||||||
name: gitea-actions-unittests-act-runner
|
|
||||||
- equal:
|
|
||||||
path: spec.template.spec.initContainers[1].image
|
|
||||||
value: test.io/dind:x.y.z
|
|
||||||
|
|
||||||
- it: dind uses global.imageRegistry
|
|
||||||
template: templates/statefulset.yaml
|
|
||||||
set:
|
|
||||||
enabled: true
|
|
||||||
global.imageRegistry: test.io
|
|
||||||
statefulset.dind.tag: 28.3.3-dind
|
|
||||||
asserts:
|
|
||||||
- hasDocuments:
|
|
||||||
count: 1
|
|
||||||
- containsDocument:
|
|
||||||
kind: StatefulSet
|
|
||||||
apiVersion: apps/v1
|
|
||||||
name: gitea-actions-unittests-act-runner
|
|
||||||
- equal:
|
|
||||||
path: spec.template.spec.initContainers[1].image
|
|
||||||
value: test.io/docker:28.3.3-dind
|
|
||||||
|
|
||||||
- it: allows adding custom environment variables to the docker-in-docker container
|
|
||||||
template: templates/statefulset.yaml
|
|
||||||
set:
|
|
||||||
enabled: true
|
|
||||||
statefulset:
|
|
||||||
dind:
|
|
||||||
extraEnvs:
|
|
||||||
- name: "CUSTOM_ENV_NAME"
|
|
||||||
value: "custom env value"
|
|
||||||
asserts:
|
|
||||||
- equal:
|
|
||||||
path: spec.template.spec.initContainers[1].env[0]
|
|
||||||
value:
|
|
||||||
name: "CUSTOM_ENV_NAME"
|
|
||||||
value: "custom env value"
|
|
||||||
|
|
||||||
- it: should mount an extra volume in the docker-in-docker container
|
- it: should mount an extra volume in the docker-in-docker container
|
||||||
template: templates/statefulset.yaml
|
template: templates/statefulset.yaml
|
||||||
set:
|
set:
|
||||||
@ -395,47 +212,10 @@ tests:
|
|||||||
- containsDocument:
|
- containsDocument:
|
||||||
kind: StatefulSet
|
kind: StatefulSet
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
name: gitea-actions-unittests-act-runner
|
name: gitea-unittests-actions-act-runner
|
||||||
- contains:
|
- contains:
|
||||||
any: true
|
any: true
|
||||||
path: spec.template.spec.initContainers[1].volumeMounts
|
path: spec.template.spec.containers[1].volumeMounts
|
||||||
content:
|
content:
|
||||||
mountPath: /mnt
|
mountPath: /mnt
|
||||||
name: my-dind-volume
|
name: my-dind-volume
|
||||||
|
|
||||||
#
|
|
||||||
## INIT
|
|
||||||
#
|
|
||||||
|
|
||||||
- it: init uses fullOverride
|
|
||||||
template: templates/statefulset.yaml
|
|
||||||
set:
|
|
||||||
enabled: true
|
|
||||||
init.image.fullOverride: test.io/busybox:x.y.z
|
|
||||||
asserts:
|
|
||||||
- hasDocuments:
|
|
||||||
count: 1
|
|
||||||
- containsDocument:
|
|
||||||
kind: StatefulSet
|
|
||||||
apiVersion: apps/v1
|
|
||||||
name: gitea-actions-unittests-act-runner
|
|
||||||
- equal:
|
|
||||||
path: spec.template.spec.initContainers[0].image
|
|
||||||
value: test.io/busybox:x.y.z
|
|
||||||
|
|
||||||
- it: init uses global.imageRegistry
|
|
||||||
template: templates/statefulset.yaml
|
|
||||||
set:
|
|
||||||
enabled: true
|
|
||||||
global.imageRegistry: test.io
|
|
||||||
init.image.tag: 1.37.0
|
|
||||||
asserts:
|
|
||||||
- hasDocuments:
|
|
||||||
count: 1
|
|
||||||
- containsDocument:
|
|
||||||
kind: StatefulSet
|
|
||||||
apiVersion: apps/v1
|
|
||||||
name: gitea-actions-unittests-act-runner
|
|
||||||
- equal:
|
|
||||||
path: spec.template.spec.initContainers[0].image
|
|
||||||
value: test.io/busybox:1.37.0
|
|
||||||
|
|||||||
113
values.yaml
113
values.yaml
@ -2,8 +2,9 @@
|
|||||||
## @section Gitea Actions
|
## @section Gitea Actions
|
||||||
#
|
#
|
||||||
## @param enabled Create an act runner StatefulSet.
|
## @param enabled Create an act runner StatefulSet.
|
||||||
|
## @param init.image.repository The image used for the init containers
|
||||||
|
## @param init.image.tag The image tag used for the init containers
|
||||||
## @param statefulset.replicas the amount of (replica) runner pods deployed
|
## @param statefulset.replicas the amount of (replica) runner pods deployed
|
||||||
## @param statefulset.timezone is the timezone that will be set in the act_runner image
|
|
||||||
## @param statefulset.annotations Act runner annotations
|
## @param statefulset.annotations Act runner annotations
|
||||||
## @param statefulset.labels Act runner labels
|
## @param statefulset.labels Act runner labels
|
||||||
## @param statefulset.resources Act runner resources
|
## @param statefulset.resources Act runner resources
|
||||||
@ -11,41 +12,23 @@
|
|||||||
## @param statefulset.tolerations Tolerations for the statefulset
|
## @param statefulset.tolerations Tolerations for the statefulset
|
||||||
## @param statefulset.affinity Affinity for the statefulset
|
## @param statefulset.affinity Affinity for the statefulset
|
||||||
## @param statefulset.extraVolumes Extra volumes for the statefulset
|
## @param statefulset.extraVolumes Extra volumes for the statefulset
|
||||||
## @param statefulset.persistence.size Size for persistence to store act runner data
|
|
||||||
## @param statefulset.securityContext Customize the SecurityContext
|
|
||||||
## @param statefulset.serviceAccountName Customize the service account name
|
|
||||||
## @param statefulset.runtimeClassName Select a different RuntimeClass for pods
|
|
||||||
## @param statefulset.hostAliases Inject entries into the /etc/hosts file
|
|
||||||
#
|
|
||||||
## @param statefulset.persistence.size Size for persistence to store act runner data
|
|
||||||
#
|
|
||||||
## @param statefulset.actRunner.registry image registry, e.g. gcr.io,docker.io
|
|
||||||
## @param statefulset.actRunner.repository The Gitea act runner image
|
## @param statefulset.actRunner.repository The Gitea act runner image
|
||||||
## @param statefulset.actRunner.tag The Gitea act runner tag
|
## @param statefulset.actRunner.tag The Gitea act runner tag
|
||||||
## @param statefulset.actRunner.digest Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest`
|
|
||||||
## @param statefulset.actRunner.pullPolicy The Gitea act runner pullPolicy
|
## @param statefulset.actRunner.pullPolicy The Gitea act runner pullPolicy
|
||||||
## @param statefulset.actRunner.fullOverride Completely overrides the image registry, path/image, tag and digest.
|
|
||||||
## @param statefulset.actRunner.extraVolumeMounts Allows mounting extra volumes in the act runner container
|
## @param statefulset.actRunner.extraVolumeMounts Allows mounting extra volumes in the act runner container
|
||||||
## @param statefulset.actRunner.extraEnvs Allows adding custom environment variables
|
|
||||||
## @param statefulset.actRunner.flushCache whether to clear the .runner (cache) file by creating an extra init container, can slightly increase boot-up time
|
|
||||||
## @param statefulset.actRunner.config [default: Too complex. See values.yaml] Act runner custom configuration. See [Act Runner documentation](https://docs.gitea.com/usage/actions/act-runner#configuration) for details.
|
## @param statefulset.actRunner.config [default: Too complex. See values.yaml] Act runner custom configuration. See [Act Runner documentation](https://docs.gitea.com/usage/actions/act-runner#configuration) for details.
|
||||||
#
|
|
||||||
## @param statefulset.dind.rootless [default: false] a simple flag to let helm know we are dealing with a rootless dind container
|
|
||||||
## @param statefulset.dind.uid a field to set the running user id for the rootless dind container, so it knows where to look for the socket
|
|
||||||
## @param statefulset.dind.registry image registry, e.g. gcr.io,docker.io
|
|
||||||
## @param statefulset.dind.repository The Docker-in-Docker image
|
## @param statefulset.dind.repository The Docker-in-Docker image
|
||||||
## @param statefulset.dind.tag The Docker-in-Docker image tag
|
## @param statefulset.dind.tag The Docker-in-Docker image tag
|
||||||
## @param statefulset.dind.digest Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest`
|
|
||||||
## @param statefulset.dind.fullOverride Completely overrides the image registry, path/image, tag and digest.
|
|
||||||
## @param statefulset.dind.pullPolicy The Docker-in-Docker pullPolicy
|
## @param statefulset.dind.pullPolicy The Docker-in-Docker pullPolicy
|
||||||
## @param statefulset.dind.extraVolumeMounts Allows mounting extra volumes in the Docker-in-Docker container
|
## @param statefulset.dind.extraVolumeMounts Allows mounting extra volumes in the Docker-in-Docker container
|
||||||
## @param statefulset.dind.extraEnvs Allows adding custom environment variables, such as `DOCKER_IPTABLES_LEGACY`
|
## @param statefulset.dind.extraEnvs Allows adding custom environment variables, such as `DOCKER_IPTABLES_LEGACY`
|
||||||
## @param statefulset.dind.extraArgs Allows adding custom arguments to the Docker Daemon
|
## @param statefulset.persistence.size Size for persistence to store act runner data
|
||||||
#
|
## @param existingSecret Secret that contains the token
|
||||||
|
## @param existingSecretKey Secret key
|
||||||
|
## @param giteaRootURL URL the act_runner registers and connect with
|
||||||
enabled: false
|
enabled: false
|
||||||
statefulset:
|
statefulset:
|
||||||
replicas: 1
|
replicas: 1
|
||||||
timezone: Etc/UTC
|
|
||||||
annotations: {}
|
annotations: {}
|
||||||
labels: {}
|
labels: {}
|
||||||
resources: {}
|
resources: {}
|
||||||
@ -53,57 +36,24 @@ statefulset:
|
|||||||
tolerations: []
|
tolerations: []
|
||||||
affinity: {}
|
affinity: {}
|
||||||
extraVolumes: []
|
extraVolumes: []
|
||||||
securityContext: {}
|
|
||||||
serviceAccountName: ""
|
|
||||||
runtimeClassName: ""
|
|
||||||
|
|
||||||
# Add /etc/hosts injections into the pods
|
|
||||||
hostAliases:
|
|
||||||
[]
|
|
||||||
# - ip: 8.8.8.8
|
|
||||||
# hostnames:
|
|
||||||
# - googel.com
|
|
||||||
# - googol.com
|
|
||||||
|
|
||||||
persistence:
|
|
||||||
size: 1Gi
|
|
||||||
|
|
||||||
actRunner:
|
actRunner:
|
||||||
registry: "docker.gitea.com"
|
repository: gitea/act_runner
|
||||||
repository: act_runner
|
tag: 0.2.11
|
||||||
tag: 0.3.1
|
|
||||||
digest: ""
|
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
fullOverride: ""
|
|
||||||
extraVolumeMounts: []
|
extraVolumeMounts: []
|
||||||
extraEnvs:
|
|
||||||
[]
|
|
||||||
# - name: "GITEA_RUNNER_NAME"
|
|
||||||
# valueFrom:
|
|
||||||
# fieldRef:
|
|
||||||
# fieldPath: metadata.name
|
|
||||||
|
|
||||||
# See full details: https://gitea.com/gitea/helm-actions/issues/73
|
|
||||||
flushCache: false
|
|
||||||
# See full example here: https://gitea.com/gitea/act_runner/src/branch/main/internal/pkg/config/config.example.yaml
|
# See full example here: https://gitea.com/gitea/act_runner/src/branch/main/internal/pkg/config/config.example.yaml
|
||||||
config: |
|
config: |
|
||||||
log:
|
log:
|
||||||
level: debug
|
level: debug
|
||||||
cache:
|
cache:
|
||||||
enabled: false
|
enabled: false
|
||||||
container:
|
|
||||||
require_docker: true
|
|
||||||
docker_timeout: 300s
|
|
||||||
|
|
||||||
dind:
|
dind:
|
||||||
rootless: false
|
|
||||||
uid: ""
|
|
||||||
registry: "docker.io"
|
|
||||||
repository: docker
|
repository: docker
|
||||||
tag: 29.4.0-dind
|
tag: 25.0.2-dind
|
||||||
digest: ""
|
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
fullOverride: ""
|
|
||||||
extraVolumeMounts: []
|
extraVolumeMounts: []
|
||||||
|
|
||||||
# If the container keeps crashing in your environment, you might have to add the `DOCKER_IPTABLES_LEGACY` environment variable.
|
# If the container keeps crashing in your environment, you might have to add the `DOCKER_IPTABLES_LEGACY` environment variable.
|
||||||
@ -113,62 +63,27 @@ statefulset:
|
|||||||
# - name: "DOCKER_IPTABLES_LEGACY"
|
# - name: "DOCKER_IPTABLES_LEGACY"
|
||||||
# value: "1"
|
# value: "1"
|
||||||
|
|
||||||
# Option to add extra arguments/commands to the container/pod:
|
persistence:
|
||||||
# [#22](https://gitea.com/gitea/helm-actions/issues/22) [k8s docs](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/)
|
size: 1Gi
|
||||||
extraArgs:
|
|
||||||
[]
|
|
||||||
# - --mtu=1400
|
|
||||||
|
|
||||||
## @section Gitea Actions Init
|
|
||||||
#
|
|
||||||
## @param init.image.registry image registry, e.g. gcr.io,docker.io
|
|
||||||
## @param init.image.repository The init image
|
|
||||||
## @param init.image.tag the init image tag
|
|
||||||
## @param init.image.digest Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest`
|
|
||||||
## @param init.image.pullPolicy The init image pullPolicy
|
|
||||||
## @param init.image.fullOverride Completely overrides the image registry, path/image, tag and digest.
|
|
||||||
init:
|
init:
|
||||||
image:
|
image:
|
||||||
registry: ""
|
|
||||||
repository: busybox
|
repository: busybox
|
||||||
# Overrides the image tag whose default is the chart appVersion.
|
# Overrides the image tag whose default is the chart appVersion.
|
||||||
tag: "1.37.0"
|
tag: "1.37.0"
|
||||||
digest: ""
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
fullOverride: ""
|
|
||||||
|
|
||||||
## @section Runner Token Secret Configuration
|
## Specify an existing token secret
|
||||||
#
|
##
|
||||||
## @param existingSecret Secret that contains the token
|
|
||||||
## @param existingSecretKey Secret key
|
|
||||||
existingSecret: ""
|
existingSecret: ""
|
||||||
existingSecretKey: ""
|
existingSecretKey: ""
|
||||||
|
|
||||||
## @section Gitea URL Setting
|
## Specify the root URL of the Gitea instance
|
||||||
#
|
|
||||||
## @param giteaRootURL URL the act_runner registers and connect with
|
|
||||||
giteaRootURL: ""
|
giteaRootURL: ""
|
||||||
|
|
||||||
## @section Extra Init Containers
|
|
||||||
#
|
|
||||||
## @param preExtraInitContainers Additional init containers to run in the pod before Gitea-actions runs it owns init containers.
|
|
||||||
## @param postExtraInitContainers Additional init containers to run in the pod after Gitea-actions runs it owns init containers.
|
|
||||||
preExtraInitContainers: []
|
|
||||||
# - name: pre-init-container
|
|
||||||
# image: docker.io/library/busybox
|
|
||||||
# command: [ /bin/sh, -c, 'echo "Hello world! I am a pre init container."' ]
|
|
||||||
|
|
||||||
postExtraInitContainers: []
|
|
||||||
# - name: post-init-container
|
|
||||||
# image: docker.io/library/busybox
|
|
||||||
# command: [ /bin/sh, -c, 'echo "Hello world! I am a post init container."' ]
|
|
||||||
|
|
||||||
## @section Global
|
## @section Global
|
||||||
#
|
#
|
||||||
## @param global.imageRegistry global image registry override
|
## @param global.imageRegistry global image registry override
|
||||||
## @param global.imagePullSecrets global image registry pull secrets
|
|
||||||
## @param global.storageClass global storage class override
|
## @param global.storageClass global storage class override
|
||||||
global:
|
global:
|
||||||
imageRegistry: ""
|
imageRegistry: ""
|
||||||
imagePullSecrets: []
|
|
||||||
storageClass: ""
|
storageClass: ""
|
||||||
|
|||||||
Reference in New Issue
Block a user