В настоящее время мы установите Traefik с помощью Helm, как описано в документации от его графика в https://github.com/traefik/traefik-helm-chart. Этот
... chart bootstraps Traefik version 2 as a Kubernetes ingress controller, using Custom Resources IngressRoute: https://docs.traefik.io/providers/kubernetes-crd/
Мы делаем все это прямо внутри нашего рабочего процесса GitHub Actions предоставление.yml:
- name: Install Traefik via Helm
run: |
echo "--- Install Traefik via Helm (which is already installed in GitHub Actions environment https://github.com/actions/virtual-environments)
helm repo add traefik https://helm.traefik.io/traefik
helm repo update
helm upgrade -i traefik traefik/traefik
Вместо helm install traefik traefik/traefik
мы используем helm upgrade -i traefik traefik/traefik
, чтобы предотвратить ошибку Error: INSTALLATION FAILED: cannot re-use a name that is still in use
(см. https://stackoverflow.com/a/70465191/4964553).
Но теперь мы хотим интегрировать нашу установку с Renovate. Ремонт поддерживает руль, но у нас самих нет файла values.yaml
или диаграммы Helm — мы используем только их для установки Traefik. Итак, как мы можем закрепить версию Traefik и сделать этот репозиторий управляемым с помощью Renovate?
Только использования --version
(как описано в этом, поэтому ответьте) нам недостаточно, поскольку Renovate нуждается в файле зависимостей для просмотра.
Но есть другой способ, чтобы использовать простой Chart.yaml
, чтобы закрепить нашу версию и иметь управляемый файл для Renovate (вот Chart.yaml
из примера проекта на GitHub):
apiVersion: v2
type: application
name: traefik
version: 0.0.0 # unused
appVersion: 0.0.0 # unused
dependencies:
- name: traefik
repository: https://helm.traefik.io/traefik
version: 10.19.4
Теперь с командами (.
означает, что Chart.yaml
находится в том же каталоге, где мы запускаем наши команды):
helm dependency update .
helm upgrade -i traefik .
Теперь мы можем установить Traefik в режиме Renovate.
В следующий раз, когда будет выпущена новая версия диаграммы Traefik helm, Renovate должен продолжить свою работу: