Files
K3S/addons/jenkins/role/defaults/main.yml
Sergey Antropoff 1080e6a792 feat: расширен список Jenkins plugins — Vault, RBAC, уведомления, quality
Добавлены плагины по категориям:
- Секреты: hashicorp-vault-plugin, kubernetes-credentials
- Права: role-strategy, ldap
- VCS: bitbucket
- Build tools: maven-plugin, gradle, nodejs, ansible
- Quality: sonar, warnings-ng, jacoco, cobertura, htmlpublisher
- Artifacts: nexus-artifact-uploader, artifactory, publish-over-ssh
- Уведомления: email-ext, slack, telegram-notifications, mattermost
- Pipeline: pipeline-utility-steps, job-dsl, copyartifact, build-name-setter,
  throttle-concurrents, parameterized-trigger, docker-plugin

JCasC: при addon_vault: true автоматически настраивает hashicorpVault URL
Добавлена секция jenkins_vault_url в defaults
2026-04-25 18:53:46 +03:00

124 lines
9.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
jenkins_version: "" # "" = автоматически последняя версия чарта
jenkins_namespace: "jenkins"
jenkins_chart_repo: "https://charts.jenkins.io"
# Администратор
jenkins_admin_user: "admin"
# Пароль задаётся в vault.yml: vault_jenkins_admin_password
jenkins_admin_password: "{{ vault_jenkins_admin_password | default('changeme-jenkins') }}"
# ── Plugins ───────────────────────────────────────────────────────────────────
jenkins_plugins:
# ── Core / Pipeline ─────────────────────────────────────────────────────────
- kubernetes # динамические агенты в k8s подах
- workflow-aggregator # Pipeline (Scripted + Declarative)
- pipeline-stage-view # визуализация стадий Pipeline
- pipeline-utility-steps # readFile/writeFile/zip/tar/findFiles в Pipeline
- job-dsl # создание jobs ч<><D187>рез Groovy DSL (JobDSL)
- configuration-as-code # JCasC — конфиг Jenkins как код (YAML)
# ── Source Control ───────────────────────────────────────────────────────────
- git # Git SCM
- github # GitHub webhooks, Pull Request builder
- gitlab-plugin # GitLab MR integration, webhooks
- gitea-plugin # Gitea webhooks, Pull Request
- bitbucket # Bitbucket webhooks и SCM
- ssh-agent # SSH ключи в Pipeline шагах
# ── Секреты и Credentials ─────────────────────────────────────────────────
- credentials-binding # переменные окружения из Jenkins Credentials
- hashicorp-vault-plugin # HashiCorp Vault — чтение секретов в Pipeline
- kubernetes-credentials # ServiceAccount токены из k8s в Credentials
# ── Права доступа ────────────────────────────────────────────────────────────
- matrix-auth # ролевая матрица прав (per-user/per-job)
- role-strategy # RBAC с глобальными и project-level ролями
- ldap # LDAP / Active Directory авторизация
# ── Docker и контейнеры ───────────────────────────────────────────────────
- docker-workflow # docker.build/push/run в Pipeline
- docker-plugin # Docker Cloud — агенты в Docker-контейнерах
# ── Build Tools ──────────────────────────────────────────────────────────────
- maven-plugin # Maven проекты (mvn goals в Pipeline)
- gradle # Gradle wrapper поддержка
- nodejs # NodeJS installations, npm/yarn в Pipeline
- ansible # Ansible playbook шаги в Pipeline
# ── Code Quality ─────────────────────────────────────────────────────────────
- junit # публикация JUnit XML отчётов
- htmlpublisher # публикация HTML отчётов (coverage, docs)
- sonar # SonarQube/SonarCloud интеграция
- warnings-ng # статический анализ (checkstyle, spotbugs, pylint и др.)
- jacoco # JaCoCo code coverage отчёты
- cobertura # Cobertura XML coverage (Python, Ruby)
# ── Артефакты и хранилища ────────────────────────────────────────────────────
- nexus-artifact-uploader # публикация артефактов в Nexus Repository
- artifactory # JFrog Artifactory интеграция
- publish-over-ssh # деплой файлов по SSH
# ── Уведомления ──────────────────────────────────────────────────────────────
- email-ext # расширенные email уведомления (шаблоны, триггеры)
- slack # уведомления в Slack каналы
- telegram-notifications # уведомления в Telegram
- mattermost # уведомления в Mattermost
# ── Pipeline утилиты ─────────────────────────────────────────────────────────
- ws-cleanup # очистка workspace после сборки
- copyartifact # копирование а<><D0B0>тефактов между jobs
- build-name-setter # динамическое имя сборки (#42 → v1.2.3-abc1234)
- throttle-concurrents # ограничение параллельных сборок
- build-timeout # таймаут сборки (abort зависших jobs)
- parameterized-trigger # запуск downstream jobs с параметрами
# ── UI и логи ─────────────────────────────────────────────────────────────────
- blueocean # современный Pipeline UI
- ansicolor # цветной вывод ANSI в консоли
- timestamper # временные метки в логах сборки
# ── HashiCorp Vault ───────────────────────────────────────────────────────────
# При addon_vault: true — JCasC автоматически настраивает Vault URL в Jenkins.
# Создай AppRole Credentials вручную после установки:
# Jenkins → Manage Credentials → Add → Vault App Role Credential
# id: vault-approle, role_id + secret_id из Vault
# В Pipeline: withVault(configuration: [...], vaultSecrets: [...]) { ... }
jenkins_vault_url: "http://vault.vault.svc.cluster.local:8200"
# ── Ingress ───────────────────────────────────────────────────────────────────
jenkins_ingress_enabled: true
jenkins_ingress_host: "jenkins.example.com"
jenkins_ingress_class: "{{ ingress_nginx_class_name | default('nginx') }}"
jenkins_ingress_tls: true
jenkins_ingress_cert_issuer: "{{ cert_manager_default_issuer_name | default('letsencrypt-prod') }}"
# ── Хранилище (Jenkins Home) ──────────────────────────────────────────────────
jenkins_storage_size: "20Gi"
jenkins_storage_class: ""
# ── Kubernetes агенты ─────────────────────────────────────────────────────────
# Dynamic Pod agents — Jenkins создаёт Pod для каждой сборки и удаляет после
jenkins_agent_enabled: true
jenkins_agent_default_image: "jenkins/inbound-agent:latest"
# ── Метрики ───────────────────────────────────────────────────────────────────
jenkins_metrics_enabled: true # Prometheus metrics plugin (port 8080/prometheus)
# ── Ресурсы ───────────────────────────────────────────────────────────────────
jenkins_resources:
requests:
cpu: 200m
memory: 512Mi
limits:
cpu: 2000m
memory: 4Gi
jenkins_agent_resources:
requests:
cpu: 200m
memory: 256Mi
limits:
cpu: 1000m
memory: 1Gi