āϏā§āύāĻžāĻāĻžāĻāĻĒ āύā§āĻā§āϏāĻžāϏ āĻšāϞ āĻāĻāĻāĻŋ āϏāĻŽāύā§āĻŦāĻŋāϤ āĻĒā§āϞā§āϝāĻžāĻāĻĢāϰā§āĻŽ āϝāĻžāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āĻĄā§āĻā§āϞāĻĒāĻžāϰāϰāĻž āĻāĻžāĻāĻž (āĻŽā§āϝāĻžāĻā§āύ) āύāĻŋāϰā§āĻāϰāϤāĻž, āĻĄāĻāĻžāϰ, āĻĒāĻžāĻāĻĨāύ, āϰā§āĻŦāĻŋ, āĻāύāĻĒāĻŋāĻāĻŽ, āĻŦā§āϝāĻŧāĻžāϰ āĻāĻŽā§āĻ, RPM āĻĒā§āϝāĻžāĻā§āĻ, gitlfs, Apt, Go, Nuget āĻĒā§āϰāĻā§āϏāĻŋ, āϏāĻā§āĻāϝāĻŧ āĻāĻŦāĻ āĻĒāϰāĻŋāĻāĻžāϞāύāĻž āĻāϰāϤ⧠āĻĒāĻžāϰ⧠āĻāĻŦāĻ āϤāĻžāĻĻā§āϰ āϏāĻĢā§āĻāĻāϝāĻŧā§āϝāĻžāϰ āύāĻŋāϰāĻžāĻĒāϤā§āϤāĻž āĻŦāĻŋāϤāϰāĻŖ āĻāϰāϤ⧠āĻĒāĻžāϰā§āĨ¤
āĻā§āύ āĻāĻĒāύāĻŋ Sonatype āύā§āĻā§āϏāĻžāϏ āĻĒā§āϰāϝāĻŧā§āĻāύ?
- āĻŦā§āϝāĻā§āϤāĻŋāĻāϤ āύāĻŋāĻĻāϰā§āĻļāύ āϏāĻāϰāĻā§āώāĻŖā§āϰ āĻāύā§āϝ;
- āĻāύā§āĻāĻžāϰāύā§āĻ āĻĨā§āĻā§ āĻĄāĻžāĻāύāϞā§āĻĄ āĻāϰāĻž āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ āĻā§āϝāĻžāĻļ āĻāϰāĻžāϰ āĻāύā§āϝ;
āĻŽā§āϞāĻŋāĻ āϏā§āύāĻžāĻāĻžāĻāĻĒ āύā§āĻā§āϏāĻžāϏ āĻĒā§āϝāĻžāĻā§āĻā§ āϏāĻŽāϰā§āĻĨāĻŋāϤ āĻļāĻŋāϞā§āĻĒāĻāϰā§āĻŽ:
- āĻāĻžāĻāĻž, āĻŽāĻžāĻā§āύ (āĻāĻžāϰ)
- āĻĄāĻāĻļā§āϰāĻŽāĻŋāĻ
- āĻĒāĻžāĻāĻĨāύ (āĻĒāĻŋāĻĒ)
- āϰā§āĻŦāĻŋ (āϰāϤā§āύ)
- NPM
- āĻŦā§āϰ
- āĻāϝāĻŧāĻžāĻŽ (āĻāϰāĻĒāĻŋāĻāĻŽ)
- gitlfs
- āĻāĻžāĻāĻāĻž
- Apt (āĻĻā§āĻŦ)
- Go
- āύāĻžāĻā§āĻ
āϏāĻŽā§āĻĒā§āϰāĻĻāĻžāϝāĻŧ āϏāĻŽāϰā§āĻĨāĻŋāϤ āĻļāĻŋāϞā§āĻĒāĻāϰā§āĻŽ:
- āϏā§āϰāĻāĻžāϰ
- āĻā§āύāĻžāύ
- āϏāĻŋāĻĒāĻŋāĻāĻāύ
- āĻāĻāϞāĻĒāĻŋāĻ
- āĻšāĻžāϞ
- P2
- R
āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϏā§āύāĻžāĻāĻžāĻāĻĒ āύā§āĻā§āϏāĻžāϏ āĻāύāϏā§āĻāϞ āĻāϰāĻž āĻšāĻā§āĻā§
āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧāϤāĻž
- āĻāύā§āĻāĻžāϰāύā§āĻā§ āĻāϤā§āϤāϰāϝā§āĻā§āϝ āĻŦā§āϝāĻŦāĻšāĻžāϰ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻĒāĻĄāĻŧā§āύāĨ¤
- āĻāϤā§āϤāϰāϝā§āĻā§āϝ āĻāύāϏā§āĻāϞ āĻāϰā§āύ
pip install ansibleāĻāϝāĻŧāĻžāϰā§āĻāϏā§āĻā§āĻļāύ⧠āϝā§āĻāĻžāύ⧠āĻĒā§āϞā§āĻŦā§āĻ āĻāϞā§āĨ¤ - āĻāύāϏā§āĻāϞ āĻāϰā§āύ āĻāϝāĻŧāĻžāϰā§āĻāϏā§āĻā§āĻļāύ⧠āϝā§āĻāĻžāύ⧠āĻĒā§āϞā§āĻŦā§āĻ āĻāϞā§āĨ¤
- āĻāύāϏā§āĻāϞ āĻāϰā§āύ āĻāϝāĻŧāĻžāϰā§āĻāϏā§āĻā§āĻļāύ⧠āϝā§āĻāĻžāύ⧠āĻĒā§āϞā§āĻŦā§āĻ āĻāϞā§āĨ¤
- āĻāĻ āĻā§āĻŽāĻŋāĻāĻžāĻāĻŋ āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ CentOS 7, Ubuntu āĻā§āύāĻŋāϝāĻŧāĻžāϞ (16.04) āĻāĻŦāĻ āĻŦāĻžāϝāĻŧā§āύāĻŋāĻ (18.04), Debian āĻā§āϏāĻŋ āĻāĻŦāĻ āϏā§āĻā§āϰā§āĻ
jmespathāϞāĻžāĻāĻŦā§āϰā§āϰāĻŋāĻāĻŋ āĻ āĻŦāĻļā§āϝāĻ āĻāϝāĻŧāĻžāϰā§āĻāϏā§āĻā§āĻļāύ⧠āĻāύāϏā§āĻāϞ āĻāϰāϤ⧠āĻšāĻŦā§ āϝā§āĻāĻžāύ⧠āĻĒā§āϞā§āĻŦā§āĻ āĻāϞāĻā§āĨ¤ āϏā§āĻĨāĻžāĻĒāύ āĻāϰāĻž:sudo pip install -r requirements.txt- āĻĒā§āϞā§āĻŦā§āĻ āĻĢāĻžāĻāϞāĻāĻŋ (āύā§āĻā§āϰ āĻāĻĻāĻžāĻšāϰāĻŖ) nexus.yml āĻĢāĻžāĻāϞ⧠āϏāĻāϰāĻā§āώāĻŖ āĻāϰā§āύ
- āύā§āĻā§āϏāĻžāϏ āĻāύāϏā§āĻāϞā§āĻļāύ āĻāĻžāϞāĻžāύ
ansible-playbook -i host nexus.yml
Maven (java), Docker, Python, Ruby, NPM, Bower, RPM āĻāĻŦāĻ gitlfs āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞā§āϰ āϏāĻžāĻĨā§ LDAP āĻāĻžāĻĄāĻŧāĻž āύā§āĻā§āϏāĻžāϏ āĻāύāϏā§āĻāϞ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāϤā§āϤāϰāϝā§āĻā§āϝ-āĻĒā§āϞā§āĻŦā§āĻ āĻāĻĻāĻžāĻšāϰāĻŖāĨ¤
---
- name: Nexus
hosts: nexus
become: yes
vars:
nexus_timezone: 'Asia/Omsk'
nexus_admin_password: "admin123"
nexus_public_hostname: 'apatsev-nexus-playbook'
httpd_setup_enable: false
nexus_privileges:
- name: all-repos-read
description: 'Read & Browse access to all repos'
repository: '*'
actions:
- read
- browse
- name: company-project-deploy
description: 'Deployments to company-project'
repository: company-project
actions:
- add
- edit
nexus_roles:
- id: Developpers # maps to the LDAP group
name: developers
description: All developers
privileges:
- nx-search-read
- all-repos-read
- company-project-deploy
roles: []
nexus_local_users:
- username: jenkins # used as key to update
first_name: Jenkins
last_name: CI
email: support@company.com
password: "s3cr3t"
roles:
- Developpers # role ID here
nexus_blobstores:
- name: company-artifacts
path: /var/nexus/blobs/company-artifacts
nexus_scheduled_tasks:
- name: compact-blobstore
cron: '0 0 22 * * ?'
typeId: blobstore.compact
taskProperties:
blobstoreName: 'company-artifacts'
nexus_repos_maven_proxy:
- name: central
remote_url: 'https://repo1.maven.org/maven2/'
layout_policy: permissive
- name: jboss
remote_url: 'https://repository.jboss.org/nexus/content/groups/public-jboss/'
- name: vaadin-addons
remote_url: 'https://maven.vaadin.com/vaadin-addons/'
- name: jaspersoft
remote_url: 'https://jaspersoft.artifactoryonline.com/jaspersoft/jaspersoft-repo/'
version_policy: mixed
nexus_repos_maven_hosted:
- name: company-project
version_policy: mixed
write_policy: allow
blob_store: company-artifacts
nexus_repos_maven_group:
- name: public
member_repos:
- central
- jboss
- vaadin-addons
- jaspersoft
# Yum. Change nexus_config_yum to true for create yum repository
nexus_config_yum: true
nexus_repos_yum_hosted:
- name: private_yum_centos_7
repodata_depth: 1
nexus_repos_yum_proxy:
- name: epel_centos_7_x86_64
remote_url: http://download.fedoraproject.org/pub/epel/7/x86_64
maximum_component_age: -1
maximum_metadata_age: -1
negative_cache_ttl: 60
- name: centos-7-os-x86_64
remote_url: http://mirror.centos.org/centos/7/os/x86_64/
maximum_component_age: -1
maximum_metadata_age: -1
negative_cache_ttl: 60
nexus_repos_yum_group:
- name: yum_all
member_repos:
- private_yum_centos_7
- epel_centos_7_x86_64
# NPM. Change nexus_config_npm to true for create npm repository
nexus_config_npm: true
nexus_repos_npm_hosted: []
nexus_repos_npm_group:
- name: npm-public
member_repos:
- npm-registry
nexus_repos_npm_proxy:
- name: npm-registry
remote_url: https://registry.npmjs.org/
negative_cache_enabled: false
# Docker. Change nexus_config_docker to true for create docker repository
nexus_config_docker: true
nexus_repos_docker_hosted:
- name: docker-hosted
http_port: "{{ nexus_docker_hosted_port }}"
v1_enabled: True
nexus_repos_docker_proxy:
- name: docker-proxy
http_port: "{{ nexus_docker_proxy_port }}"
v1_enabled: True
index_type: "HUB"
remote_url: "https://registry-1.docker.io"
use_nexus_certificates_to_access_index: false
maximum_component_age: 1440
maximum_metadata_age: 1440
negative_cache_enabled: true
negative_cache_ttl: 1440
nexus_repos_docker_group:
- name: docker-group
http_port: "{{ nexus_docker_group_port }}"
v1_enabled: True
member_repos:
- docker-hosted
- docker-proxy
# Bower. Change nexus_config_bower to true for create bower repository
nexus_config_bower: true
nexus_repos_bower_hosted:
- name: bower-hosted
nexus_repos_bower_proxy:
- name: bower-proxy
index_type: "proxy"
remote_url: "https://registry.bower.io"
use_nexus_certificates_to_access_index: false
maximum_component_age: 1440
maximum_metadata_age: 1440
negative_cache_enabled: true
negative_cache_ttl: 1440
nexus_repos_bower_group:
- name: bower-group
member_repos:
- bower-hosted
- bower-proxy
# Pypi. Change nexus_config_pypi to true for create pypi repository
nexus_config_pypi: true
nexus_repos_pypi_hosted:
- name: pypi-hosted
nexus_repos_pypi_proxy:
- name: pypi-proxy
index_type: "proxy"
remote_url: "https://pypi.org/"
use_nexus_certificates_to_access_index: false
maximum_component_age: 1440
maximum_metadata_age: 1440
negative_cache_enabled: true
negative_cache_ttl: 1440
nexus_repos_pypi_group:
- name: pypi-group
member_repos:
- pypi-hosted
- pypi-proxy
# rubygems. Change nexus_config_rubygems to true for create rubygems repository
nexus_config_rubygems: true
nexus_repos_rubygems_hosted:
- name: rubygems-hosted
nexus_repos_rubygems_proxy:
- name: rubygems-proxy
index_type: "proxy"
remote_url: "https://rubygems.org"
use_nexus_certificates_to_access_index: false
maximum_component_age: 1440
maximum_metadata_age: 1440
negative_cache_enabled: true
negative_cache_ttl: 1440
nexus_repos_rubygems_group:
- name: rubygems-group
member_repos:
- rubygems-hosted
- rubygems-proxy
# gitlfs. Change nexus_config_gitlfs to true for create gitlfs repository
nexus_config_gitlfs: true
nexus_repos_gitlfs_hosted:
- name: gitlfs-hosted
roles:
- { role: geerlingguy.java }
# Debian/Ubuntu only
# - { role: geerlingguy.apache, apache_create_vhosts: no, apache_mods_enabled: ["proxy_http.load", "headers.load"], apache_remove_default_vhost: true, tags: ["geerlingguy.apache"] }
# RedHat/CentOS only
- { role: geerlingguy.apache, apache_create_vhosts: no, apache_remove_default_vhost: true, tags: ["geerlingguy.apache"] }
- { role: ansible-thoteam.nexus3-oss, tags: ['ansible-thoteam.nexus3-oss'] }āϏā§āĻā§āϰāĻŋāύāĻļāĻ:


āĻĒāϰāĻŋāĻŦāϰā§āϤāύāĻļā§āϞ āĻā§āĻŽāĻŋāĻāĻž
āĻā§āĻŽāĻŋāĻāĻž āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ
āĻĄāĻŋāĻĢāϞā§āĻ āĻŽāĻžāύ āϏāĻš āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ (āĻĻā§āĻā§āύ default/main.yml):
āϏāĻžāϧāĻžāϰāĻŖ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ
nexus_version: ''
nexus_timezone: 'UTC'āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§, āĻā§āĻŽāĻŋāĻāĻž āύā§āĻā§āϏāĻžāϏā§āϰ āϏāϰā§āĻŦāĻļā§āώ āĻāĻĒāϞāĻŦā§āϧ āϏāĻāϏā§āĻāϰāĻŖ āĻāύāϏā§āĻāϞ āĻāϰāĻŦā§ā§ˇ āĻāĻĒāύāĻŋ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰ⧠āϏāĻāϏā§āĻāϰāĻŖāĻāĻŋ āĻ āĻŋāĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ nexus_version. āĻāĻĒāϞāĻŦā§āϧ āϏāĻāϏā§āĻāϰāĻŖ āĻĻā§āĻā§āύ .
āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻāĻāĻāĻŋ āύāϤā§āύ āϏāĻāϏā§āĻāϰāĻŖā§ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰā§āύ, āĻā§āĻŽāĻŋāĻāĻžāĻāĻŋ āĻāĻĒāύāĻžāϰ Nexus āĻāύāϏā§āĻāϞā§āĻļāύ āĻāĻĒāĻĄā§āĻ āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰāĻŦā§ā§ˇ
āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āύā§āĻā§āϏāĻžāϏā§āϰ āϏāĻžāĻŽā§āĻĒā§āϰāϤāĻŋāĻ āϏāĻāϏā§āĻāϰāĻŖā§āϰ āĻā§āϝāĻŧā§ āĻĒā§āϰāĻžāύ⧠āϏāĻāϏā§āĻāϰāĻŖ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ, āϤāĻžāĻšāϞ⧠āĻāĻĒāύāĻžāϰ āύāĻŋāĻļā§āĻāĻŋāϤ āĻšāĻāϝāĻŧāĻž āĻāĻāĻŋāϤ āϝ⧠āĻāĻĒāύāĻŋ āĻāύāϏā§āĻāϞ āĻāϰāĻž āϰāĻŋāϞāĻŋāĻā§ āĻāĻĒāϞāĻŦā§āϧ āύāϝāĻŧ āĻāĻŽāύ āĻŦā§āĻļāĻŋāώā§āĻā§āϝāĻā§āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻā§āύ āύāĻž (āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, 3.8.0-āĻāϰ āĻŦā§āĻļāĻŋ āύā§āĻā§āϏāĻžāϏā§āϰ āĻāύā§āϝ āĻšā§āϏā§āĻāĻŋāĻ yum āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞ āĻāĻĒāϞāĻŦā§āϧ, git lfs repo 3.3.0 āĻāϰ āĻŦā§āĻļāĻŋ āύā§āĻā§āϏāĻžāϏā§āϰ āĻāύā§āϝ āĻāϤā§āϝāĻžāĻĻāĻŋ)
nexus timezone āĻāĻāĻŋ āĻāĻžāĻāĻž āĻāĻžāĻāĻŽ āĻā§āύā§āϰ āύāĻžāĻŽ, āϝāĻž nexus_scheduled āĻāĻžāĻā§āϰ āĻāύā§āϝ āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻā§āϰā§āύ āĻāĻā§āϏāĻĒā§āϰā§āĻļāύāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āĻāĻāϤā§āϰ⧠āĻāĻžāϰā§āϝāĻāϰ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤
āύā§āĻā§āϏāĻžāϏ āĻĒā§āϰā§āĻ āĻāĻŦāĻ āĻĒā§āϰāϏāĻā§āĻ āĻĒāĻĨ
nexus_default_port: 8081
nexus_default_context_path: '/'āĻāĻžāĻāĻž āϏāĻāϝā§āĻ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻžāϰ āĻĒā§āϰā§āĻ āĻāĻŦāĻ āĻĒā§āϰāϏāĻā§āĻ āĻĒāĻĨāĨ¤ nexus_default_context_path āĻāĻāĻŋ āϏā§āĻ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻāĻāĻŋ āĻĢāϰā§āϝāĻŧāĻžāϰā§āĻĄ āϏā§āϞā§āϝāĻžāĻļ āĻĨāĻžāĻāϤ⧠āĻšāĻŦā§, āϝā§āĻŽāύ: nexus_default_context_path: '/nexus/'.
āύā§āĻā§āϏāĻžāϏ āĻāĻāϏ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻāĻŦāĻ āĻā§āϰā§āĻĒ
nexus_os_group: 'nexus'
nexus_os_user: 'nexus'Nexus āĻĢāĻžāĻāϞā§āϰ āĻŽāĻžāϞāĻŋāĻ āĻāĻŦāĻ āĻĒāϰāĻŋāώā§āĻŦāĻž āĻāĻžāϞāĻžāύā§āϰ āĻāύā§āϝ āĻŦā§āϝāĻŦāĻšā§āϤ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻāĻŦāĻ āĻā§āώā§āĻ ā§ āĻāĻāĻāĻŋ āĻ āύā§āĻĒāϏā§āĻĨāĻŋāϤ āĻĨāĻžāĻāϞ⧠āĻā§āĻŽāĻŋāĻāĻž āĻĻā§āĻŦāĻžāϰāĻž āϤā§āϰāĻŋ āĻāϰāĻž āĻšāĻŦā§āĨ¤
nexus_os_user_home_dir: '/home/nexus'āύā§āĻā§āϏāĻžāϏ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āĻāύā§āϝ āĻĄāĻŋāĻĢāϞā§āĻ āĻšā§āĻŽ āĻĄāĻŋāϰā§āĻā§āĻāϰāĻŋ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻžāϰ āĻ āύā§āĻŽāϤāĻŋ āĻĻāĻŋāύ
āύā§āĻā§āϏāĻžāϏ āĻāύāϏā§āĻā§āϝāĻžāύā§āϏ āĻĄāĻŋāϰā§āĻā§āĻāϰāĻŋ
nexus_installation_dir: '/opt'
nexus_data_dir: '/var/nexus'
nexus_tmp_dir: "{{ (ansible_os_family == 'RedHat') | ternary('/var/nexus-tmp', '/tmp/nexus') }}"āύā§āĻā§āϏāĻžāϏ āĻā§āϝāĻžāĻāĻžāϞāĻāĨ¤
nexus_installation_dirāĻāύāϏā§āĻāϞ āĻāϰāĻž āĻāĻā§āϏāĻŋāĻāĻŋāĻāĻā§āĻŦāϞ āĻĢāĻžāĻāϞ āϰāϝāĻŧā§āĻā§nexus_data_dirāϏāĻŽāϏā§āϤ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ, āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞ āĻāĻŦāĻ āĻĄāĻžāĻāύāϞā§āĻĄ āĻāϰāĻž āĻļāĻŋāϞā§āĻĒāĻāϰā§āĻŽ āϰāϝāĻŧā§āĻā§āĨ¤ āĻāĻžāϏā§āĻāĻŽ āĻŦā§āϞāĻŦāϏā§āĻā§āϰ āĻĒāĻžāĻĨnexus_data_dirāĻāĻžāϏā§āĻāĻŽāĻžāĻāĻ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§, āύā§āĻā§ āĻĻā§āĻā§āύnexus_blobstores.nexus_tmp_dirāϏāĻŽāϏā§āϤ āĻ āϏā§āĻĨāĻžāϝāĻŧā§ āĻĢāĻžāĻāϞ āϰāϝāĻŧā§āĻā§āĨ¤ redhat-āĻāϰ āĻāύā§āϝ āĻĄāĻŋāĻĢāϞā§āĻ āĻĒāĻžāĻĨ āĻĨā§āĻā§ āϏāϰāĻžāύ⧠āĻšāϝāĻŧā§āĻā§/tmpāϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ āĻĒāϰāĻŋāϏā§āĻāĻžāϰ āĻĒāĻĻā§āϧāϤāĻŋāϰ āϏāĻžāĻĨā§ āϏāĻŽā§āĻāĻžāĻŦā§āϝ āϏāĻŽāϏā§āϝāĻžāĻā§āϞāĻŋ āĻāĻžāĻāĻŋāϝāĻŧā§ āĻāĻ āϤā§āĨ¤ āĻĻā§āĻā§āύ #168āĨ¤
Nexus JVM āĻŽā§āĻŽāϰāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāĻž āĻšāĻā§āĻā§
nexus_min_heap_size: "1200M"
nexus_max_heap_size: "{{ nexus_min_heap_size }}"
nexus_max_direct_memory: "2G"āĻāĻā§āϞāĻŋ āύā§āĻā§āϏāĻžāϏā§āϰ āĻāύā§āϝ āĻĄāĻŋāĻĢāϞā§āĻ āϏā§āĻāĻŋāĻāϏ⧎ āĻāĻ āĻŽāĻžāύ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻŦā§āύ āύāĻž āĻĻāϝāĻŧāĻž āĻāϰ⧠āϝāĻĻāĻŋ āύāĻž āĻĒāĻĄāĻŧā§ āĻĨāĻžāĻā§āύ āĻāĻŦāĻ āϤāĻžāϰāĻž āĻāĻŋ āĻāϰāĻā§ āĻŦā§āĻāϤ⧠āĻĒāĻžāϰ⧠āύāĻžāĨ¤
āĻĻā§āĻŦāĻŋāϤā§āϝāĻŧ āϏāϤāϰā§āĻāϤāĻž āĻšāĻŋāϏāĻžāĻŦā§, āĻāĻāĻžāύ⧠āĻāĻĒāϰā§āϰ āύāĻĨāĻŋ āĻĨā§āĻā§ āĻāĻāĻāĻŋ āĻāĻĻā§āϧā§āϤāĻŋ āĻĻā§āĻāϝāĻŧāĻž āĻšāϞ:
āĻāϰā§āĻŽāĻā§āώāĻŽāϤāĻž āĻāύā§āύāϤ āĻāϰāĻžāϰ āĻĒā§āϰāϝāĻŧāĻžāϏ⧠āĻĒā§āϰāϏā§āϤāĻžāĻŦāĻŋāϤ āĻŽāĻžāύāĻā§āϞāĻŋāϰ āĻŦāĻžāĻāϰ⧠JVM āĻšāĻŋāĻĒ āĻŽā§āĻŽāϰāĻŋ āĻŦāĻžāĻĄāĻŧāĻžāύā§āϰ āϏā§āĻĒāĻžāϰāĻŋāĻļ āĻāϰāĻž āĻšāϝāĻŧ āύāĻžāĨ¤ āĻāĻāĻŋ āĻāϏāϞ⧠āĻŦāĻŋāĻĒāϰā§āϤ āĻĒā§āϰāĻāĻžāĻŦ āĻĢā§āϞāϤ⧠āĻĒāĻžāϰā§, āϝāĻžāϰ āĻĢāϞ⧠āĻ āĻĒāĻžāϰā§āĻāĻŋāĻ āϏāĻŋāϏā§āĻā§āĻŽā§āϰ āĻāύā§āϝ āĻ āĻĒā§āϰāϝāĻŧā§āĻāύā§āϝāĻŧ āĻāĻžāĻ āĻšāϤ⧠āĻĒāĻžāϰā§āĨ¤
āĻĒā§āϰāĻļāĻžāϏāĻā§āϰ āĻĒāĻžāϏāĻāϝāĻŧāĻžāϰā§āĻĄ
nexus_admin_password: 'changeme'āϏā§āĻāĻāĻĒā§āϰ āĻāύā§āϝ "āĻ ā§āϝāĻžāĻĄāĻŽāĻŋāύ" āĻ ā§āϝāĻžāĻāĻžāĻāύā§āĻā§āϰ āĻĒāĻžāϏāĻāϝāĻŧāĻžāϰā§āĻĄāĨ¤ āĻāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻĒā§āϰāĻĨāĻŽ āĻĄāĻŋāĻĢāϞā§āĻ āĻāύāϏā§āĻāϞā§āĻļāύ⧠āĻāĻžāĻ āĻāϰā§. āĻ āύā§āĻā§āϰāĻš āĻāϰ⧠āĻĻā§āĻā§āύ [āĻĒā§āϰāĻĨāĻŽ āĻāύāϏā§āĻāϞā§āĻļāύā§āϰ āĻĒāϰ⧠āĻ ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĒāĻžāϏāĻāϝāĻŧāĻžāϰā§āĻĄ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰā§āύ](# āĻĒāϰāĻŋāĻŦāϰā§āϤāύ-āĻ ā§āϝāĻžāĻĄāĻŽāĻŋāύ-āĻĒāĻžāϏāĻāϝāĻŧāĻžāϰā§āĻĄ-āĻāĻĢāĻāĻžāϰ-āĻĒā§āϰāĻĨāĻŽ-āĻāύāϏā§āĻāϞ) āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ āĻĒāϰ⧠āĻāĻāĻāĻŋ āĻā§āĻŽāĻŋāĻāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āĻāĻāĻŋ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāϤ⧠āĻāĻžāύāĨ¤
āĻĒā§āϞā§āĻŦā§āĻā§ āϏā§āĻĒāώā§āĻ āĻĒāĻžāĻ ā§āϝ⧠āĻāĻĒāύāĻžāϰ āĻĒāĻžāϏāĻāϝāĻŧāĻžāϰā§āĻĄ āϏāĻāϰāĻā§āώāĻŖ āύāĻž āĻāϰāĻžāϰ āĻāύā§āϝ, āϤāĻŦā§ [āĻ ā§āϝāĻžāύāϏāĻŋāĻŦāϞ-āĻāϞā§āĻ āĻāύāĻā§āϰāĻŋāĻĒāĻļāύ] āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻāĻŋ āĻĻā§āĻĸāĻŧāĻāĻžāĻŦā§ āϏā§āĻĒāĻžāϰāĻŋāĻļ āĻāϰāĻž āĻšāϝāĻŧ () (āĻšāϝāĻŧ āĻāύāϞāĻžāĻāύ āĻŦāĻž āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻĢāĻžāĻāϞ⧠āϞā§āĻĄ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āϝā§āĻŽāύ āĻ āύā§āϤāϰā§āĻā§āĻā§āϤ_āĻāĻžāϰāϏ)
āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§ āĻŦā§āύāĻžāĻŽā§ āĻ ā§āϝāĻžāĻā§āϏā§āϏ
nexus_anonymous_access: falseāĻŦā§āύāĻžāĻŽā§ āĻ ā§āϝāĻžāĻā§āϏā§āϏ āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§ āĻ āĻā§āώāĻŽ āĻāϰāĻž āĻšāϝāĻŧ. āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāϰ⧠āĻĒāĻĄāĻŧā§āύ .
āϏāϰā§āĻŦāĻāύā§āύ āĻšā§āϏā§āĻāύāĻžāĻŽ
nexus_public_hostname: 'nexus.vm'
nexus_public_scheme: httpsāϏāĻŽā§āĻĒā§āϰā§āĻŖāϰā§āĻĒā§ āϝā§āĻā§āϝāϤāĻžāϏāĻŽā§āĻĒāύā§āύ āĻĄā§āĻŽā§āύ āύāĻžāĻŽ āĻāĻŦāĻ āϏā§āĻāĻŋāĻŽ (https āĻŦāĻž http) āϝāĻžāϰ āĻ āϧā§āύ⧠Nexus āĻĻā§āώā§āĻāĻžāύā§āϤāĻāĻŋ āϤāĻžāϰ āĻā§āϞāĻžāϝāĻŧā§āύā§āĻāĻĻā§āϰ āĻāύā§āϝ āĻāĻĒāϞāĻŦā§āϧ āĻšāĻŦā§ā§ˇ
āĻāĻ āĻā§āĻŽāĻŋāĻāĻžāϰ āĻāύā§āϝ API āĻ ā§āϝāĻžāĻā§āϏā§āϏ
nexus_api_hostname: localhost
nexus_api_scheme: http
nexus_api_validate_certs: "{{ nexus_api_scheme == 'https' }}"
nexus_api_context_path: "{{ nexus_default_context_path }}"
nexus_api_port: "{{ nexus_default_port }}"āĻāĻ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞāĻā§āϞāĻŋ āύāĻŋāϝāĻŧāύā§āϤā§āϰāĻŖ āĻāϰ⧠āĻāĻŋāĻāĻžāĻŦā§ āĻā§āĻŽāĻŋāĻāĻžāĻāĻŋ āĻŦāĻŋāϧāĻžāύā§āϰ āĻāύā§āϝ Nexus API-āĻāϰ āϏāĻžāĻĨā§ āϏāĻāϝā§āĻ āĻāϰā§ā§ˇ
āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻāύā§āύāϤ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻĻā§āϰ āĻāύā§āϝāĨ¤ āĻāĻĒāύāĻŋ āϏāĻŽā§āĻāĻŦāϤ āĻāĻ āĻĄāĻŋāĻĢāϞā§āĻ āϏā§āĻāĻŋāĻāϏ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāϤ⧠āĻāĻžāύ āύāĻž
āĻāĻāĻāĻŋ āĻŦāĻŋāĻĒāϰā§āϤ āĻĒā§āϰāĻā§āϏāĻŋ āϏā§āĻ āĻāĻĒ āĻāϰāĻž āĻšāĻā§āĻā§ā§ˇ
httpd_setup_enable: false
httpd_server_name: "{{ nexus_public_hostname }}"
httpd_default_admin_email: "admin@example.com"
httpd_ssl_certificate_file: 'files/nexus.vm.crt'
httpd_ssl_certificate_key_file: 'files/nexus.vm.key'
# httpd_ssl_certificate_chain_file: "{{ httpd_ssl_certificate_file }}"
httpd_copy_ssl_files: trueāĻāύāϏā§āĻāϞ āĻāϰā§āύ .
āĻāĻāĻŋ āĻāϰāĻžāϰ āĻāύā§āϝ āĻāĻĒāύāĻžāĻā§ httpd āĻāύāϏā§āĻāϞ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻĻā§āϰāώā§āĻāĻŦā§āϝ: āĻāĻāύ āĻāύā§āϝ httpd_setup_enable āĻŽāĻžāύ āϏā§āĻ āĻāϰā§āύtrue, āύā§āĻā§āϏāĻžāϏ āĻĒāϰāĻŋāĻāĻŋāϤāĻŋ 127.0.0.1:8081, āĻāĻāĻāĻžāĻŦā§ āύāĻž āĻŦāĻžāĻšā§āϝāĻŋāĻ IP āĻ āĻŋāĻāĻžāύāĻž āĻĨā§āĻā§ HTTP āĻĒā§āϰā§āĻ 8081 āĻāϰ āĻŽāĻžāϧā§āϝāĻŽā§ āϏāϰāĻžāϏāϰāĻŋ āĻ
ā§āϝāĻžāĻā§āϏā§āϏāϝā§āĻā§āϝāĨ¤
āĻŦā§āϝāĻŦāĻšā§āϤ āĻĄāĻŋāĻĢāϞā§āĻ āĻšā§āϏā§āĻāύāĻžāĻŽ āĻšāϞ nexus_public_hostname. āĻā§āύ⧠āĻāĻžāϰāĻŖā§ āĻŦāĻŋāĻāĻŋāύā§āύ āύāĻžāĻŽā§āϰ āĻĒā§āϰāϝāĻŧā§āĻāύ āĻšāϞ⧠āϏā§āĻ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ httpd_server_name āĻāĻāĻāĻŋ āĻāĻŋāύā§āύ āĻ
āϰā§āĻĨ āϏāĻšāĨ¤
ĐĄ httpd_copy_ssl_files: true (āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§) āĻāĻĒāϰā§āϰ āĻļāĻāϏāĻžāĻĒāϤā§āϰāĻā§āϞāĻŋ āĻāĻĒāύāĻžāϰ āĻĒā§āϞā§āĻŦā§āĻ āĻĄāĻŋāϰā§āĻā§āĻāϰāĻŋāϤ⧠āĻĨāĻžāĻāĻž āĻāĻāĻŋāϤ āĻāĻŦāĻ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻ
āύā§āϞāĻŋāĻĒāĻŋ āĻāϰāĻž āĻšāĻŦā§ āĻāĻŦāĻ āĻ
ā§āϝāĻžāĻĒāĻžāĻāĻŋāϤ⧠āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāĻž āĻšāĻŦā§āĨ¤
āĻāĻĒāύāĻŋ āϏāĻžāϰā§āĻāĻžāϰ⧠āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āϏāĻžāϰā§āĻāĻŋāĻĢāĻŋāĻā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻāĻžāύ, āĻāύāϏā§āĻāϞ āĻāϰā§āύ httpd_copy_ssl_files: false āĻāĻŦāĻ āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ āĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āύ:
# These specifies to the vhost where to find on the remote server file
# system the certificate files.
httpd_ssl_cert_file_location: "/etc/pki/tls/certs/wildcard.vm.crt"
httpd_ssl_cert_key_location: "/etc/pki/tls/private/wildcard.vm.key"
# httpd_ssl_cert_chain_file_location: "{{ httpd_ssl_cert_file_location }}"httpd_ssl_cert_chain_file_location āĻāĻā§āĻāĻŋāĻ āĻāĻŦāĻ āϝāĻĻāĻŋ āĻāĻĒāύāĻŋ āĻā§āĻāύ āĻĢāĻžāĻāϞāĻāĻŋ āĻāĻžāϏā§āĻāĻŽāĻžāĻāĻ āĻāϰāϤ⧠āύāĻž āĻāĻžāύ āϤāĻŦā§ āϏā§āĻ āύāĻž āĻāϰ⧠āϰā§āĻā§ āĻĻā§āĻāϝāĻŧāĻž āĻāĻāĻŋāϤ
httpd_default_admin_email: "admin@example.com"āĻĄāĻŋāĻĢāϞā§āĻ āĻ ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻāĻŽā§āϞ āĻ āĻŋāĻāĻžāύāĻž āϏā§āĻ āĻāϰā§āύ
LDAP āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ
LDAP āϏāĻāϝā§āĻ āĻāĻŦāĻ āύāĻŋāϰāĻžāĻĒāϤā§āϤāĻž āĻā§āώā§āϤā§āϰ āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§ āĻ āĻā§āώāĻŽ āĻāϰāĻž āĻšāϝāĻŧ
nexus_ldap_realm: false
ldap_connections: [], āĻĒā§āϰāϤāĻŋāĻāĻŋ āĻāĻĒāĻžāĻĻāĻžāύ āĻāĻ āĻŽāϤ āĻĻā§āĻāĻžāϝāĻŧ:
nexus_ldap_realm: true
ldap_connections:
- ldap_name: 'My Company LDAP' # used as a key to update the ldap config
ldap_protocol: 'ldaps' # ldap or ldaps
ldap_hostname: 'ldap.mycompany.com'
ldap_port: 636
ldap_use_trust_store: false # Wether or not to use certs in the nexus trust store
ldap_search_base: 'dc=mycompany,dc=net'
ldap_auth: 'none' # or simple
ldap_auth_username: 'username' # if auth = simple
ldap_auth_password: 'password' # if auth = simple
ldap_user_base_dn: 'ou=users'
ldap_user_filter: '(cn=*)' # (optional)
ldap_user_object_class: 'inetOrgPerson'
ldap_user_id_attribute: 'uid'
ldap_user_real_name_attribute: 'cn'
ldap_user_email_attribute: 'mail'
ldap_user_subtree: false
ldap_map_groups_as_roles: false
ldap_group_base_dn: 'ou=groups'
ldap_group_object_class: 'posixGroup'
ldap_group_id_attribute: 'cn'
ldap_group_member_attribute: 'memberUid'
ldap_group_member_format: '${username}'
ldap_group_subtree: falseāĻŦā§āύāĻžāĻŽā§ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖā§āϰ āĻāύā§āϝ LDAP āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύā§āϰ āĻāĻĻāĻžāĻšāϰāĻŖ (āĻŦā§āύāĻžāĻŽā§ āĻŦāĻžāĻāύā§āĻĄāĻŋāĻ), āĻāĻāĻŋāĻ āĻāĻāĻāĻŋ "āύā§āϝā§āύāϤāĻŽ" āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ:
nexus_ldap_realm: true
ldap_connection:
- ldap_name: 'Simplest LDAP config'
ldap_protocol: 'ldaps'
ldap_hostname: 'annuaire.mycompany.com'
ldap_search_base: 'dc=mycompany,dc=net'
ldap_port: 636
ldap_use_trust_store: false
ldap_user_id_attribute: 'uid'
ldap_user_real_name_attribute: 'cn'
ldap_user_email_attribute: 'mail'
ldap_user_object_class: 'inetOrgPerson'āϏāĻžāϧāĻžāϰāĻŖ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖā§āϰ āĻāύā§āϝ LDAP āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύā§āϰ āĻāĻĻāĻžāĻšāϰāĻŖ (DSA āĻ ā§āϝāĻžāĻāĻžāĻāύā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§):
nexus_ldap_realm: true
ldap_connections:
- ldap_name: 'LDAP config with DSA'
ldap_protocol: 'ldaps'
ldap_hostname: 'annuaire.mycompany.com'
ldap_port: 636
ldap_use_trust_store: false
ldap_auth: 'simple'
ldap_auth_username: 'cn=mynexus,ou=dsa,dc=mycompany,dc=net'
ldap_auth_password: "{{ vault_ldap_dsa_password }}" # better keep passwords in an ansible vault
ldap_search_base: 'dc=mycompany,dc=net'
ldap_user_base_dn: 'ou=users'
ldap_user_object_class: 'inetOrgPerson'
ldap_user_id_attribute: 'uid'
ldap_user_real_name_attribute: 'cn'
ldap_user_email_attribute: 'mail'
ldap_user_subtree: falseāϏāĻžāϧāĻžāϰāĻŖ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖā§āϰ āĻāύā§āϝ āĻāĻĻāĻžāĻšāϰāĻŖ LDAP āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ (DSA āĻ ā§āϝāĻžāĻāĻžāĻāύā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§) + āĻā§āĻŽāĻŋāĻāĻž āĻšāĻŋāϏāĻžāĻŦā§ āĻŽā§āϝāĻžāĻĒ āĻāϰāĻž āĻā§āϰā§āĻĒ:
nexus_ldap_realm: true
ldap_connections
- ldap_name: 'LDAP config with DSA'
ldap_protocol: 'ldaps'
ldap_hostname: 'annuaire.mycompany.com'
ldap_port: 636
ldap_use_trust_store: false
ldap_auth: 'simple'
ldap_auth_username: 'cn=mynexus,ou=dsa,dc=mycompany,dc=net'
ldap_auth_password: "{{ vault_ldap_dsa_password }}" # better keep passwords in an ansible vault
ldap_search_base: 'dc=mycompany,dc=net'
ldap_user_base_dn: 'ou=users'
ldap_user_object_class: 'inetOrgPerson'
ldap_user_id_attribute: 'uid'
ldap_user_real_name_attribute: 'cn'
ldap_user_email_attribute: 'mail'
ldap_map_groups_as_roles: true
ldap_group_base_dn: 'ou=groups'
ldap_group_object_class: 'groupOfNames'
ldap_group_id_attribute: 'cn'
ldap_group_member_attribute: 'member'
ldap_group_member_format: 'uid=${username},ou=users,dc=mycompany,dc=net'
ldap_group_subtree: falseāϏāĻžāϧāĻžāϰāĻŖ āĻĒā§āϰāĻŽāĻžāĻŖā§āĻāϰāĻŖā§āϰ āĻāύā§āϝ LDAP āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύā§āϰ āĻāĻĻāĻžāĻšāϰāĻŖ (DSA āĻ ā§āϝāĻžāĻāĻžāĻāύā§āĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§) + āĻā§āϰā§āĻĒāĻā§āϞāĻŋāĻā§ āĻā§āĻŽāĻŋāĻāĻž āĻšāĻŋāϏāĻžāĻŦā§ āĻāϤāĻŋāĻļā§āϞāĻāĻžāĻŦā§ āĻŽā§āϝāĻžāĻĒ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§:
nexus_ldap_realm: true
ldap_connections:
- ldap_name: 'LDAP config with DSA'
ldap_protocol: 'ldaps'
ldap_hostname: 'annuaire.mycompany.com'
ldap_port: 636
ldap_use_trust_store: false
ldap_auth: 'simple'
ldap_auth_username: 'cn=mynexus,ou=dsa,dc=mycompany,dc=net'
ldap_auth_password: "{{ vault_ldap_dsa_password }}" # better keep passwords in an ansible vault
ldap_search_base: 'dc=mycompany,dc=net'
ldap_user_base_dn: 'ou=users'
ldap_user_object_class: 'inetOrgPerson'
ldap_user_id_attribute: 'uid'
ldap_user_real_name_attribute: 'cn'
ldap_user_email_attribute: 'mail'
ldap_map_groups_as_roles: true
ldap_map_groups_as_roles_type: 'dynamic'
ldap_user_memberof_attribute: 'memberOf'āĻŦāĻŋāĻļā§āώāĻžāϧāĻŋāĻāĻžāϰ
nexus_privileges:
- name: all-repos-read # used as key to update a privilege
# type: <one of application, repository-admin, repository-content-selector, repository-view, script or wildcard>
description: 'Read & Browse access to all repos'
repository: '*'
actions: # can be add, browse, create, delete, edit, read or * (all)
- read
- browse
# pattern: pattern
# domain: domain
# script_name: nameāϤāĻžāϞāĻŋāĻāĻž āϏā§āĻāĻŋāĻāϏā§āϰ āĻāύā§āϝāĨ¤ āĻŦāĻŋāĻļā§āώāĻžāϧāĻŋāĻāĻžāϰ āĻĒā§āϰāĻāĻžāϰā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰ⧠āĻā§āύ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞ āϏā§āĻ āĻāϰāĻž āĻĻāϰāĻāĻžāϰ āϤāĻž āĻĒāϰā§āĻā§āώāĻž āĻāϰāϤ⧠āĻĄāĻā§āĻŽā§āύā§āĻā§āĻļāύ āĻāĻŦāĻ GUI āĻĻā§āĻā§āύāĨ¤
āĻāĻ āĻāĻĒāĻžāĻĻāĻžāύāĻā§āϞāĻŋ āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻĄāĻŋāĻĢāϞā§āĻ āĻŽāĻžāύāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āĻŽāĻŋāϞāĻŋāϤ āĻšāϝāĻŧ:
_nexus_privilege_defaults:
type: repository-view
format: maven2
actions:
- readāĻā§āĻŽāĻŋāĻāĻž (āύā§āĻā§āϏāĻžāϏ āĻāϰ āĻāĻŋāϤāϰ⧠āĻāϰ āĻŽāĻžāύā§)
nexus_roles:
- id: Developpers # can map to a LDAP group id, also used as a key to update a role
name: developers
description: All developers
privileges:
- nx-search-read
- all-repos-read
roles: [] # references to other role namesāϤāĻžāϞāĻŋāĻāĻž āϏā§āĻāĻŋāĻāϏā§āϰ āĻāύā§āϝāĨ¤
āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻĻā§āϰ
nexus_local_users: []
# - username: jenkins # used as key to update
# state: present # default value if ommited, use 'absent' to remove user
# first_name: Jenkins
# last_name: CI
# email: support@company.com
# password: "s3cr3t"
# roles:
# - developers # role IDāύā§āĻā§āϏāĻžāϏ⧠āϤā§āϰāĻŋ āĻāϰāĻžāϰ āĻāύā§āϝ āϏā§āĻĨāĻžāύā§āϝāĻŧ (āύāύ-āĻāϞāĻĄāĻŋāĻāĻĒāĻŋ) āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§/āĻ ā§āϝāĻžāĻāĻžāĻāύā§āĻ āϤāĻžāϞāĻŋāĻāĻžāĨ¤
Nexus-āĻ āϤā§āϰāĻŋ āĻāϰāϤ⧠āϏā§āĻĨāĻžāύā§āϝāĻŧ (āύāύ-LDAP) āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§/āĻ ā§āϝāĻžāĻāĻžāĻāύā§āĻā§āϰ āϤāĻžāϞāĻŋāĻāĻžāĨ¤
nexus_ldap_users: []
# - username: j.doe
# state: present
# roles:
# - "nx-admin"āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§/āĻā§āĻŽāĻŋāĻāĻžāϰ Ldap āĻŽā§āϝāĻžāĻĒāĻŋāĻāĨ¤ āĻ
āĻŦāϏā§āĻĨāĻž absent āĻāĻāĻāĻŋ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āĻĨā§āĻā§ āĻā§āĻŽāĻŋāĻāĻž āĻŽā§āĻā§ āĻĢā§āϞāĻŦā§ āϝāĻĻāĻŋ āĻāĻāĻāĻŋ āĻāϤāĻŋāĻŽāϧā§āϝ⧠āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āĻĨāĻžāĻā§āĨ¤
Ldap āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āĻĻā§āϰ āĻŽā§āĻā§ āĻĢā§āϞāĻž āĻšāϝāĻŧ āύāĻž. āĻāĻāĻāĻŋ āĻ
āϏā§āϤāĻŋāϤā§āĻŦāĻšā§āύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰ āĻāύā§āϝ āĻāĻāĻāĻŋ āĻā§āĻŽāĻŋāĻāĻž āϏā§āĻ āĻāϰāĻžāϰ āĻā§āώā§āĻāĻž āĻāϰāϞ⧠āĻāĻāĻāĻŋ āϤā§āϰā§āĻāĻŋ āĻĻā§āĻāĻž āĻĻā§āĻŦā§ā§ˇ
āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠āύāĻŋāϰā§āĻŦāĻžāĻāĻ
nexus_content_selectors:
- name: docker-login
description: Selector for docker login privilege
search_expression: format=="docker" and path=~"/v2/"āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠āύāĻŋāϰā§āĻŦāĻžāĻāĻ āϏāĻŽā§āĻĒāϰā§āĻā§ āĻāϰāĻ āϤāĻĨā§āϝā§āϰ āĻāύā§āϝ, āĻĻā§āĻā§āύ .
āĻŦāĻŋāώāϝāĻŧāĻŦāϏā§āϤ⧠āύāĻŋāϰā§āĻŦāĻžāĻāĻ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤā§, āĻāϰ āϏāĻžāĻĨā§ āĻāĻāĻāĻŋ āύāϤā§āύ āĻŦāĻŋāĻļā§āώāĻžāϧāĻŋāĻāĻžāϰ āϝā§āĻ āĻāϰā§āύ type: repository-content-selector āĻāĻŦāĻ āĻĒā§āϰāĻžāϏāĻā§āĻāĻŋāĻcontentSelector
- name: docker-login-privilege
type: repository-content-selector
contentSelector: docker-login
description: 'Login to Docker registry'
repository: '*'
actions:
- read
- browseāĻŦā§āϞāĻŦāϏā§āĻā§āϰ āĻāĻŦāĻ āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞ
nexus_delete_default_repos: falseāĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ āĻĄāĻŋāĻĢāϞā§āĻ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻāύāϏā§āĻāϞ āĻāϰāĻžāϰ āύā§āĻā§āϏāĻžāϏ āĻĨā§āĻā§ āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞāĻā§āϞāĻŋ āĻŽā§āĻā§āύāĨ¤ āĻāĻ āĻĒāĻĻāĻā§āώā§āĻĒāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻĒā§āϰāĻĨāĻŽāĻŦāĻžāϰ āĻāύāϏā§āĻāϞ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻžāϰā§āϝāĻāϰ āĻāϰāĻž āĻšāϝāĻŧ (āϝāĻāύ nexus_data_dir āĻāĻžāϞāĻŋ āϏāύāĻžāĻā§āϤ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§)āĨ¤
Nexus-āĻāϰ āĻāύā§āϝ āĻĄāĻŋāĻĢāϞā§āĻ āĻĄāĻŋāĻĢāϞā§āĻ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻĨā§āĻā§ āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞāĻā§āϞāĻŋ āϏāϰāĻžāύ⧠āĻšāĻā§āĻā§āĨ¤ āĻāĻ āĻĒāĻĻāĻā§āώā§āĻĒāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻĒā§āϰāĻĨāĻŽ āĻāύāϏā§āĻāϞā§āĻļāύā§āϰ āϏāĻŽāϝāĻŧ āϏāĻā§āĻāĻžāϞāĻŋāϤ āĻšāϝāĻŧ (āϝāĻāύ nexus_data_dir āĻāĻžāϞāĻŋ)āĨ¤
nexus_delete_default_blobstore: falseāύā§āĻā§āϏāĻžāϏ āĻāύāϏā§āĻāϞ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ āĻĄāĻŋāĻĢāϞā§āĻ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻĨā§āĻā§ āĻĄāĻŋāĻĢāϞā§āĻ āĻŦā§āϞāĻŦāϏā§āĻā§āϰ āĻŽā§āĻā§āύāĨ¤ āĻāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āϝāĻĻāĻŋ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰ⧠nexus_delete_default_repos: true āĻāĻŦāĻ āϏāĻŽāϏā§āϤ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāĻž āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞā§āϰ (āύā§āĻā§ āĻĻā§āĻā§āύ) āĻāĻāĻāĻŋ āϏā§āϏā§āĻĒāώā§āĻ āĻāĻā§ blob_store: custom. āĻāĻ āĻĒāĻĻāĻā§āώā§āĻĒāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻĒā§āϰāĻĨāĻŽāĻŦāĻžāϰ āĻāύāϏā§āĻāϞ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻžāϰā§āϝāĻāϰ āĻāϰāĻž āĻšāϝāĻŧ (āϝāĻāύ nexus_data_dir āĻāĻžāϞāĻŋ āϏāύāĻžāĻā§āϤ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§)āĨ¤
āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻĨā§āĻā§ āĻŦā§āϞāĻŦ āϏā§āĻā§āϰā§āĻ (āĻŦāĻžāĻāύāĻžāϰ⧠āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ) āĻ
āĻĒāϏāĻžāϰāĻŖ āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§ āĻ
āĻā§āώāĻŽ āĻāϰāĻž āĻšāϝāĻŧāĨ¤ āĻŦā§āϞāĻŦ āϏā§āĻā§āϰā§āĻ (āĻŦāĻžāĻāύāĻžāϰ⧠āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ) āĻ
āĻĒāϏāĻžāϰāĻŖ āĻāϰāϤā§, āĻŦāύā§āϧ āĻāϰā§āύ nexus_delete_default_repos: true. āĻāĻ āĻĒāĻĻāĻā§āώā§āĻĒāĻāĻŋ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āĻĒā§āϰāĻĨāĻŽ āĻāύāϏā§āĻāϞā§āĻļāύā§āϰ āϏāĻŽāϝāĻŧ āϏāĻā§āĻāĻžāϞāĻŋāϤ āĻšāϝāĻŧ (āϝāĻāύ nexus_data_dir āĻāĻžāϞāĻŋ)āĨ¤
nexus_blobstores: []
# example blobstore item :
# - name: separate-storage
# type: file
# path: /mnt/custom/path
# - name: s3-blobstore
# type: S3
# config:
# bucket: s3-blobstore
# accessKeyId: "{{ VAULT_ENCRYPTED_KEY_ID }}"
# secretAccessKey: "{{ VAULT_ENCRYPTED_ACCESS_KEY }}"āϤā§āϰ⧠āĻāϰāϤā§. āĻāĻāĻāĻŋ āĻŦā§āϞāĻŦāϏā§āĻā§āϰ āĻĒāĻžāĻĨ āĻāĻŦāĻ āĻāĻāĻāĻŋ āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞ āĻŦā§āϞāĻŦāϏā§āĻā§āϰ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ āϤā§āϰāĻŋāϰ āĻĒāϰ⧠āĻāĻĒāĻĄā§āĻ āĻāϰāĻž āϝāĻžāĻŦā§ āύāĻž (āĻāĻāĻžāύ⧠āϝā§āĻā§āύ āĻāĻĒāĻĄā§āĻ āĻĒā§āύāĻāĻĒā§āϰāĻāĻŋāĻļāύāĻŋāĻ āĻ āĻāĻĒā§āĻā§āώāĻž āĻāϰāĻž āĻšāĻŦā§)āĨ¤
S3 āĻ āĻŦā§āϞāĻŦāϏā§āĻā§āϰ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāĻž āĻāĻāĻāĻŋ āϏā§āĻŦāĻŋāϧāĻž āĻšāĻŋāϏāĻžāĻŦā§ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ āĻāĻŦāĻ āĻāĻŽāϰāĻž āĻā§āϰā§āϝāĻžāĻāĻŋāϏ⧠āϝ⧠āϏā§āĻŦāϝāĻŧāĻāĻā§āϰāĻŋāϝāĻŧ āĻĒāϰā§āĻā§āώāĻž āĻāĻžāϞāĻžāĻ āϤāĻžāϰ āĻ āĻāĻļ āύāϝāĻŧāĨ¤ āĻ āύā§āĻā§āϰāĻš āĻāϰ⧠āĻŽāύ⧠āϰāĻžāĻāĻŦā§āύ āϝ⧠S3 āĻ āϏāĻā§āĻāϝāĻŧ āĻāϰāĻž āĻļā§āϧā§āĻŽāĻžāϤā§āϰ AWS-āĻ āϏā§āĻĨāĻžāĻĒāύ āĻāϰāĻž āĻāĻĻāĻžāĻšāϰāĻŖā§āϰ āĻāύā§āϝ āϏā§āĻĒāĻžāϰāĻŋāĻļ āĻāϰāĻž āĻšāϝāĻŧāĨ¤
āϏā§āώā§āĻāĻŋ . āϏā§āĻā§āϰā§āĻ āĻĒāĻžāĻĨ āĻāĻŦāĻ āϏā§āĻā§āϰā§āĻ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋ āĻĒā§āϰāĻžāĻĨāĻŽāĻŋāĻ āϤā§āϰāĻŋāϰ āĻĒāϰ⧠āĻāĻĒāĻĄā§āĻ āĻāϰāĻž āϝāĻžāĻŦā§ āύāĻž (āĻāĻŦāĻžāϰ āĻāύāϏā§āĻāϞ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻāĻāĻžāύ⧠āϝ⧠āĻā§āύ⧠āĻāĻĒāĻĄā§āĻ āĻāĻĒā§āĻā§āώāĻž āĻāϰāĻž āĻšāĻŦā§)āĨ¤
S3 āϤ⧠āĻŦā§āϞāĻŦ āϏā§āĻā§āϰā§āĻ āϏā§āĻ āĻāĻĒ āĻāϰāĻž āĻāĻāĻāĻŋ āϏā§āĻŦāĻŋāϧāĻž āĻšāĻŋāϏāĻžāĻŦā§ āĻĒā§āϰāĻĻāĻžāύ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§ā§ˇ āĻĻāϝāĻŧāĻž āĻāϰ⧠āĻŽāύ⧠āϰāĻžāĻāĻŦā§āύ āϝ⧠S3 āϏā§āĻā§āϰā§āĻ āĻļā§āϧā§āĻŽāĻžāϤā§āϰ AWS-āĻ āϏā§āĻĨāĻžāĻĒāύ āĻāϰāĻž āĻāĻĻāĻžāĻšāϰāĻŖā§āϰ āĻāύā§āϝ āϏā§āĻĒāĻžāϰāĻŋāĻļ āĻāϰāĻž āĻšāϝāĻŧāĨ¤
nexus_repos_maven_proxy:
- name: central
remote_url: 'https://repo1.maven.org/maven2/'
layout_policy: permissive
# maximum_component_age: -1
# maximum_metadata_age: 1440
# negative_cache_enabled: true
# negative_cache_ttl: 1440
- name: jboss
remote_url: 'https://repository.jboss.org/nexus/content/groups/public-jboss/'
# maximum_component_age: -1
# maximum_metadata_age: 1440
# negative_cache_enabled: true
# negative_cache_ttl: 1440
# example with a login/password :
# - name: secret-remote-repo
# remote_url: 'https://company.com/repo/secure/private/go/away'
# remote_username: 'username'
# remote_password: 'secret'
# # maximum_component_age: -1
# # maximum_metadata_age: 1440
# # negative_cache_enabled: true
# # negative_cache_ttl: 1440āĻāĻĒāϰ⧠āĻāĻāĻāĻŋ āĻāĻĻāĻžāĻšāϰāĻŖ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻāĻā§ āĻŽāĻžāĻā§āύ
nexus_repos_maven_hosted:
- name: private-release
version_policy: release
write_policy: allow_once # one of "allow", "allow_once" or "deny"āĻŽā§āϝāĻžāĻā§āύ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ. āύā§āϤāĻŋāĻŦāĻžāĻāĻ āĻā§āϝāĻžāĻļā§ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻāĻā§āĻāĻŋāĻ āĻāĻŦāĻ āϝāĻĻāĻŋ āĻŦāĻžāĻĻ āĻĻā§āĻāϝāĻŧāĻž āĻšāϝāĻŧ āϤāĻŦā§ āĻāĻĒāϰā§āϰ āĻŽāĻžāύāĻā§āϞāĻŋāϤ⧠āĻĄāĻŋāĻĢāϞā§āĻ āĻšāĻŦā§āĨ¤
āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻŽāĻžāĻā§āύāĨ¤ āύā§āϤāĻŋāĻŦāĻžāĻāĻ āĻā§āϝāĻžāĻļā§ āĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ (-1) āĻāĻā§āĻāĻŋāĻ āĻāĻŦāĻ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āύāĻž āĻĨāĻžāĻāϞ⧠āĻāĻĒāϰā§āϰ āĻŽāĻžāύāĻā§āϞāĻŋāϤ⧠āĻĄāĻŋāĻĢāϞā§āĻ āĻšāĻŦā§āĨ¤
nexus_repos_maven_group:
- name: public
member_repos:
- central
- jbossāĻāύāĻĢāĻŋāĻāĻžāϰā§āĻļāύ āĻŽāĻžāĻā§āύ
āϤāĻŋāύāĻāĻŋ āϰāĻŋāĻĒā§āĻāĻŋāĻāϰāĻŋ āĻĒā§āϰāĻāĻžāϰ āύāĻŋāĻŽā§āύāϞāĻŋāĻāĻŋāϤ āĻĄāĻŋāĻĢāϞā§āĻ āĻŽāĻžāύāĻā§āϞāĻŋāϰ āϏāĻžāĻĨā§ āĻŽāĻŋāϞāĻŋāϤ āĻšāϝāĻŧ:
_nexus_repos_maven_defaults:
blob_store: default # Note : cannot be updated once the repo has been created
strict_content_validation: true
version_policy: release # release, snapshot or mixed
layout_policy: strict # strict or permissive
write_policy: allow_once # one of "allow", "allow_once" or "deny"
maximum_component_age: -1 # Nexus gui default. For proxies only
maximum_metadata_age: 1440 # Nexus gui default. For proxies only
negative_cache_enabled: true # Nexus gui default. For proxies only
negative_cache_ttl: 1440 # Nexus gui default. For proxies onlyDocker, Pypi, Raw, Rubygems, Bower, NPM, Git-LFS āĻāĻŦāĻ yum āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞā§āϰ āϧāϰāύ:
āĻĻā§āĻ defaults/main.yml āĻāĻ āĻŦāĻŋāĻāϞā§āĻĒāĻā§āϞāĻŋāϰ āĻāύā§āϝ:
Docker, Pypi, Raw, Rubygems, Bower, NPM, Git-LFS āĻāĻŦāĻ yum āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞāĻā§āϞāĻŋ āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§ āĻ
āĻā§āώāĻŽ āĻāϰāĻž āĻšāϝāĻŧā§āĻā§:
āĻĻā§āĻ defaults/main.yml āĻāĻ āĻŦāĻŋāĻāϞā§āĻĒāĻā§āϞāĻŋāϰ āĻāύā§āϝ:
nexus_config_pypi: false
nexus_config_docker: false
nexus_config_raw: false
nexus_config_rubygems: false
nexus_config_bower: false
nexus_config_npm: false
nexus_config_gitlfs: false
nexus_config_yum: falseāĻ āύā§āĻā§āϰāĻš āĻāϰ⧠āĻŽāύ⧠āϰāĻžāĻāĻŦā§āύ āϝ⧠āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻŽā§āϝāĻžāĻā§āύ āĻŦā§āϝāϤā§āϤ āĻ āύā§āϝ āϧāϰāύā§āϰ āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāϤ⧠āĻāĻžāύ āϤāĻŦā§ āĻāĻĒāύāĻžāĻā§ āĻāĻŋāĻā§ āύāĻŋāϰāĻžāĻĒāϤā§āϤāĻž āϏā§āϝā§āĻ āϏāĻā§āϰāĻŋāϝāĻŧ āĻāϰāϤ⧠āĻšāĻŦā§āĨ¤ āĻāĻāĻŋ āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§ āĻŽāĻŋāĻĨā§āϝāĻž
nexus_nuget_api_key_realm: false
nexus_npm_bearer_token_realm: false
nexus_docker_bearer_token_realm: false # required for docker anonymous accessāϰāĻŋāĻŽā§āĻ āĻāĻāĻāĻžāϰ āϰāĻŋāϝāĻŧā§āϞāĻŽ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āĻ āϏāĻā§āώāĻŽ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§
nexus_rut_auth_realm: trueāĻāĻŦāĻ āĻļāĻŋāϰā§āύāĻžāĻŽ āϏāĻāĻā§āĻāĻžāϝāĻŧāĻŋāϤ āĻāϰ⧠āĻāĻžāϏā§āĻāĻŽāĻžāĻāĻ āĻāϰāĻž āϝā§āϤ⧠āĻĒāĻžāϰā§
nexus_rut_auth_header: "CUSTOM_HEADER"āĻĒāϰāĻŋāĻāϞā§āĻĒāύāĻžāĻŽāĻžāĻĢāĻŋāĻ āĻāĻžāĻ
nexus_scheduled_tasks: []
# # Example task to compact blobstore :
# - name: compact-docker-blobstore
# cron: '0 0 22 * * ?'
# typeId: blobstore.compact
# task_alert_email: alerts@example.org # optional
# taskProperties:
# blobstoreName: {{ nexus_blob_names.docker.blob }} # all task attributes are stored as strings by nexus internally
# # Example task to purge maven snapshots
# - name: Purge-maven-snapshots
# cron: '0 50 23 * * ?'
# typeId: repository.maven.remove-snapshots
# task_alert_email: alerts@example.org # optional
# taskProperties:
# repositoryName: "*" # * for all repos. Change to a repository name if you only want a specific one
# minimumRetained: "2"
# snapshotRetentionDays: "2"
# gracePeriodInDays: "2"
# booleanTaskProperties:
# removeIfReleased: true
# # Example task to purge unused docker manifest and images
# - name: Purge unused docker manifests and images
# cron: '0 55 23 * * ?'
# typeId: "repository.docker.gc"
# task_alert_email: alerts@example.org # optional
# taskProperties:
# repositoryName: "*" # * for all repos. Change to a repository name if you only want a specific one
# # Example task to purge incomplete docker uploads
# - name: Purge incomplete docker uploads
# cron: '0 0 0 * * ?'
# typeId: "repository.docker.upload-purge"
# task_alert_email: alerts@example.org # optional
# taskProperties:
# age: "24" āϏā§āĻāĻŋāĻāϏā§āϰ āĻāύā§āϝāĨ¤ typeId āĻāĻŦāĻ āĻāĻžāϏā§āĻ āύāĻŋāϰā§āĻĻāĻŋāώā§āĻtaskProperties/booleanTaskProperties āĻāĻĒāύāĻŋ āĻšāϝāĻŧ āĻ
āύā§āĻŽāĻžāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ:
- āĻāĻžāĻāĻž āĻāĻžāĻāĻĒ āĻ
āύā§āĻā§āϰāĻŽ āĻĨā§āĻā§
org.sonatype.nexus.scheduling.TaskDescriptorSupport - āĻāĻĒāύāĻžāϰ āĻŦā§āϰāĻžāĻāĻāĻžāϰ⧠HTML āĻāĻžāϏā§āĻ āϤā§āϰāĻŋāϰ āĻĢāϰā§āĻŽ āĻĒāϰā§āĻā§āώāĻž āĻāϰāĻž āĻšāĻā§āĻā§
- āĻŽā§āϝāĻžāύā§āϝāĻŧāĻžāϞāĻŋ āĻāĻāĻāĻŋ āĻāĻžāϏā§āĻ āϏā§āĻ āĻāĻĒ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻŦā§āϰāĻžāĻāĻāĻžāϰ⧠AJAX āĻ āύā§āϰā§āϧāĻā§āϞāĻŋ āĻĻā§āĻāĻž āĻĨā§āĻā§āĨ¤
āĻāĻžāϏā§āĻā§āϰ āĻŦā§āĻļāĻŋāώā§āĻā§āϝāĻā§āϞāĻŋāĻā§ āϤāĻžāĻĻā§āϰ āĻĒā§āϰāĻāĻžāϰā§āϰ āĻāĻĒāϰ āύāĻŋāϰā§āĻāϰ āĻāϰ⧠āϏāĻ āĻŋāĻ yaml āĻŦā§āϞāĻā§ āĻā§āώāĻŖāĻž āĻāϰāϤ⧠āĻšāĻŦā§:
taskPropertiesāϏāĻŽāϏā§āϤ āϏā§āĻā§āϰāĻŋāĻ āĻŦā§āĻļāĻŋāώā§āĻā§āϝā§āϰ āĻāύā§āϝ (āϝā§āĻŽāύ āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞā§āϰ āύāĻžāĻŽ, āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞā§āϰ āύāĻžāĻŽ, āϏāĻŽāϝāĻŧāĻāĻžāϞ...)āĨ¤booleanTaskPropertiesāϏāĻŽāϏā§āϤ āϞāĻāĻŋāĻā§āϝāĻžāϞ āĻŦā§āĻļāĻŋāώā§āĻā§āϝā§āϰ āĻāύā§āϝ (āĻ āϰā§āĻĨāĻžā§ āύā§āĻā§āϏāĻžāϏ āϤā§āϰāĻŋāϰ āĻāĻžāϏā§āĻā§āϰ GUI-āϤ⧠āĻĒā§āϰāϧāĻžāύāϤ āĻā§āĻāĻŦāĻā§āϏ)āĨ¤
āĻŦā§āϝāĻžāĻāĻāĻĒ
nexus_backup_configure: false
nexus_backup_cron: '0 0 21 * * ?' # See cron expressions definition in nexus create task gui
nexus_backup_dir: '/var/nexus-backup'
nexus_restore_log: '{{ nexus_backup_dir }}/nexus-restore.log'
nexus_backup_rotate: false
nexus_backup_rotate_first: false
nexus_backup_keep_rotations: 4 # Keep 4 backup rotation by default (current + last 3)āĻāĻĒāύāĻŋ āϏā§āϝā§āĻāĻ āύāĻž āĻāϰāĻž āĻĒāϰā§āϝāύā§āϤ āĻŦā§āϝāĻžāĻāĻāĻĒ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāĻž āĻšāĻŦā§ āύāĻž nexus_backup_configure в true.
āĻāĻ āĻā§āώā§āϤā§āϰā§, āύāĻŋāϰā§āϧāĻžāϰāĻŋāϤ āϏā§āĻā§āϰāĻŋāĻĒā§āĻ āĻāĻžāϏā§āĻ āύā§āĻā§āϏāĻžāϏ⧠āĻāĻžāϞāĻžāύā§āϰ āĻāύā§āϝ āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāĻž āĻšāĻŦā§
āύāĻŋāϰā§āĻĻāĻŋāώā§āĻ āĻŦā§āϝāĻŦāϧāĻžāύ⧠nexus_backup_cron (āĻĒā§āϰāϤāĻŋāĻĻāĻŋāύ āĻĄāĻŋāĻĢāϞā§āĻ 21:00)āĨ¤
āĻŦāĻŋāϏā§āϤāĻžāϰāĻŋāϤ āĻāĻžāύāĻžāϰ āĻāύā§āϝ [āĻāĻ āĻāĻžāĻā§āϰ āĻāύā§āϝ āĻā§āϰā§āĻāĻŋ āĻā§āĻŽāĻĒā§āϞā§āĻ](templates/backup.groovy.j2) āĻĻā§āĻā§āύāĨ¤
āĻāĻ āύāĻŋāϰā§āϧāĻžāϰāĻŋāϤ āĻāĻžāĻāĻāĻŋ āĻ
āύā§āϝāĻĻā§āϰ āĻĨā§āĻā§ āϏā§āĻŦāĻžāϧā§āύ nexus_scheduled_tasksāϝāĻž āĻāĻĒāύāĻŋ
āĻāĻĒāύāĻžāϰ āĻĒā§āϞā§āĻŦā§āĻā§ āĻā§āώāĻŖāĻž āĻāϰā§āύāĨ¤
āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻŦā§āϝāĻžāĻāĻāĻĒāĻā§āϞāĻŋ āĻā§āϰāĻžāϤā§/āĻŽā§āĻāϤ⧠āĻāĻžāύ āϤāĻŦā§ āĻāύāϏā§āĻāϞ āĻāϰā§āύ nexus_backup_rotate: true āĻāĻŦāĻ āĻāĻĒāύāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰ⧠āϏāĻāϰāĻā§āώāĻŖ āĻāϰāϤ⧠āĻāĻžāύ āĻŦā§āϝāĻžāĻāĻāĻĒ āϏāĻāĻā§āϝāĻž āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰā§āύ nexus_backup_keep_rotations (āĻĄāĻŋāĻĢāϞā§āĻ 4)āĨ¤
āĻā§āϰā§āĻŖāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ, āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻŦā§āϝāĻžāĻāĻāĻĒ āĻĒā§āϰāĻā§āϰāĻŋāϝāĻŧāĻž āĻāϞāĻžāĻāĻžāϞā§āύ āĻ
āϤāĻŋāϰāĻŋāĻā§āϤ āĻĄāĻŋāϏā§āĻ āϏā§āĻĨāĻžāύ āϏāĻāϰāĻā§āώāĻŖ āĻāϰāϤ⧠āĻāĻžāύ,
āĻāĻĒāύāĻŋ āĻāύāϏā§āĻāϞ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύ nexus_backup_rotate_first: true. āĻāĻāĻŋ āĻŦā§āϝāĻžāĻāĻāĻĒā§āϰ āĻāĻā§ āĻĒā§āϰāĻžāĻ-āĻā§āϰā§āĻŖāύ/āĻŽā§āĻāĻž āĻāύāĻĢāĻŋāĻāĻžāϰ āĻāϰāĻŦā§āĨ¤ āĻĄāĻŋāĻĢāϞā§āĻāϰā§āĻĒā§, āĻŦā§āϝāĻžāĻāĻāĻĒ āϤā§āϰāĻŋ āĻšāĻāϝāĻŧāĻžāϰ āĻĒāϰ⧠āĻā§āϰā§āĻŖāύ āĻāĻā§āĨ¤ āĻĻāϝāĻŧāĻž āĻāϰ⧠āύā§āĻ āĻāϰā§āύ āϝ⧠āĻāĻ āĻā§āώā§āϤā§āϰ⧠āĻĒā§āϰāĻžāύ⧠āĻŦā§āϝāĻžāĻāĻāĻĒāĻā§āϞāĻŋ
āĻŦāϰā§āϤāĻŽāĻžāύ āĻŦā§āϝāĻžāĻāĻāĻĒ āϤā§āϰāĻŋ āĻšāĻāϝāĻŧāĻžāϰ āĻāĻā§ āĻŽā§āĻā§ āĻĢā§āϞāĻž āĻšāĻŦā§āĨ¤
āĻĒā§āύāϰā§āĻĻā§āϧāĻžāϰā§āϰ āĻĒāĻĻā§āϧāϤāĻŋ
āĻĒā§āϝāĻžāϰāĻžāĻŽāĻŋāĻāĻžāϰ āϏāĻš āĻĒā§āϞā§āĻŦā§āĻ āĻāĻžāϞāĻžāύ -e nexus_restore_point=<YYYY-MM-dd-HH-mm-ss>
(āĻāĻĻāĻžāĻšāϰāĻŖāϏā§āĻŦāϰā§āĻĒ, 2017-12-17-21-00-00 17 āĻĄāĻŋāϏā§āĻŽā§āĻŦāϰ, 2017 āĻāϰ āĻāύā§āϝ 21:00 āĻ
āύā§āĻā§āϏāĻžāϏ āϏāϰāĻžāύ⧠āĻšāĻā§āĻā§
āϏāϤāϰā§āĻāϤāĻž: āĻāĻāĻŋ āĻāĻĒāύāĻžāϰ āĻŦāϰā§āϤāĻŽāĻžāύ āĻĄā§āĻāĻž āϏāĻŽā§āĻĒā§āϰā§āĻŖāϰā§āĻĒā§ āĻŽā§āĻā§ āĻĢā§āϞāĻŦā§āĨ¤ āĻĒā§āϰāϝāĻŧā§āĻāύ⧠āĻāĻā§ āĻŦā§āϝāĻžāĻāĻāĻĒ āĻāϰāϤ⧠āĻā§āϞāĻŦā§āύ āύāĻž
āĻāĻāĻāĻŋ āĻĒāϰāĻŋāĻŦāϰā§āϤāύāĻļā§āϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ nexus_purgeāϝāĻĻāĻŋ āĻāĻĒāύāĻžāĻā§ āϏā§āĻā§āϰā§āϝāĻžāĻ āĻĨā§āĻā§ āĻĒā§āύāϰāĻžāϝāĻŧ āĻāĻžāϞ⧠āĻāϰāϤ⧠āĻšāϝāĻŧ āĻāĻŦāĻ āϏāĻŽāϏā§āϤ āĻĄā§āĻāĻž āϏāϰāĻŋāϝāĻŧā§ āύā§āĻā§āϏāĻžāϏ āĻāύāϏā§āĻā§āϝāĻžāύā§āϏ āĻĒā§āύāϰāĻžāϝāĻŧ āĻāύāϏā§āĻāϞ āĻāϰāϤ⧠āĻšāϝāĻŧāĨ¤
ansible-playbook -i your/inventory.ini your_nexus_playbook.yml -e nexus_purge=trueāĻĒā§āϰāĻĨāĻŽ āĻāύāϏā§āĻāϞā§āĻļāύā§āϰ āĻĒāϰ⧠āĻĒā§āϰāĻļāĻžāϏāĻā§āϰ āĻĒāĻžāϏāĻāϝāĻŧāĻžāϰā§āĻĄ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰā§āύ
nexus_default_admin_password: 'admin123'āĻāĻāĻŋ āĻāĻĒāύāĻžāϰ āĻĒā§āϞā§āĻŦā§āĻā§ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāĻž āĻāĻāĻŋāϤ āύāϝāĻŧ. āĻāĻ āĻā§āϰāĻŋāϝāĻŧā§āĻŦāϞāĻāĻŋ āĻĒā§āϰāĻĨāĻŽ āĻāύāϏā§āĻāϞ āĻāϰāĻžāϰ āϏāĻŽāϝāĻŧ āĻĄāĻŋāĻĢāϞā§āĻ āύā§āĻā§āϏāĻžāϏ āĻ
ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĒāĻžāϏāĻāϝāĻŧāĻžāϰā§āĻĄ āĻĻāĻŋāϝāĻŧā§ āϤā§āϰāĻŋ āĻāϰāĻž āĻšāϝāĻŧ āĻāĻŦāĻ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰ⧠āϝ⧠āĻāĻŽāϰāĻž āĻ
ā§āϝāĻžāĻĄāĻŽāĻŋāύ āĻĒāĻžāϏāĻāϝāĻŧāĻžāϰā§āĻĄ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŋ nexus_admin_password.
āĻāĻĒāύāĻŋ āϝāĻĻāĻŋ āĻĒā§āϰāĻĨāĻŽ āĻāύāϏā§āĻāϞā§āĻļāύā§āϰ āĻĒāϰ⧠āĻĒā§āϰāĻļāĻžāϏāĻā§āϰ āĻĒāĻžāϏāĻāϝāĻŧāĻžāϰā§āĻĄ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāϤ⧠āĻāĻžāύ āϤāĻŦā§ āĻāĻĒāύāĻŋ āĻ
āϏā§āĻĨāĻžāϝāĻŧā§āĻāĻžāĻŦā§ āĻāĻāĻŋāĻā§ āĻāĻŽāĻžāύā§āĻĄ āϞāĻžāĻāύ āĻĨā§āĻā§ āĻĒā§āϰāĻžāύ⧠āĻĒāĻžāϏāĻāϝāĻŧāĻžāϰā§āĻĄā§ āĻĒāϰāĻŋāĻŦāϰā§āϤāύ āĻāϰāϤ⧠āĻĒāĻžāϰā§āύāĨ¤ āĻĒāϰāĻŋāĻŦāϰā§āϤāύā§āϰ āĻĒāϰ nexus_admin_password āĻāĻĒāύāĻžāϰ āĻĒā§āϞā§āĻŦā§āĻā§ āĻāĻĒāύāĻŋ āĻāĻžāϞāĻžāϤ⧠āĻĒāĻžāϰā§āύ:
ansible-playbook -i your/inventory.ini your_playbook.yml -e nexus_default_admin_password=oldPasswordāύā§āĻā§āϏāĻžāϏ āϏā§āύāĻžāĻāĻžāĻāĻĒā§ āĻā§āϞāĻŋāĻā§āϰāĻžāĻŽ āĻā§āϝāĻžāύā§āϞ:
āĻļā§āϧā§āĻŽāĻžāϤā§āϰ āύāĻŋāĻŦāύā§āϧāĻŋāϤ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰā§āϰāĻž āĻāϰāĻŋāĻĒā§ āĻ āĻāĻļāĻā§āϰāĻšāĻŖ āĻāϰāϤ⧠āĻĒāĻžāϰāĻŦā§āύāĨ¤ āĻāϰā§āύāĨ¤
āĻāĻĒāύāĻŋ āĻāĻŋ āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻ āϏāĻāĻā§āϰāĻšāϏā§āĻĨāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻāϰā§āύ?
āϏā§āύāĻžāĻāĻžāĻāĻĒ āύā§āĻā§āϏāĻžāϏ āĻŦāĻŋāύāĻžāĻŽā§āϞā§āϝā§
āϏā§āύāĻžāĻāĻžāĻāĻĒ āύā§āĻā§āϏāĻžāϏ āĻ āϰā§āĻĨāĻĒā§āϰāĻĻāĻžāύ āĻāϰā§āĻā§
āĻāϰā§āĻāĻŋāĻĢā§āϝāĻžāĻā§āĻāϰāĻŋ āĻŦāĻŋāύāĻžāĻŽā§āϞā§āϝā§
āĻā§āϤā§āϰāĻŋāĻŽ āĻ āϰā§āĻĨ āĻĒā§āϰāĻĻāĻžāύ
āĻāĻļā§āϰāϝāĻŧ
āϏāĻā§āĻāĻž
9 āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻā§āĻ āĻĻāĻŋāϝāĻŧā§āĻā§āύāĨ¤ 3 āĻāύ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻāĻžāϰ⧠āĻŦāĻŋāϰāϤ āĻāĻŋāϞā§āύāĨ¤
āĻāϤā§āϏ: www.habr.com
