āĻ•ā§‹āĻĄ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ°ā§‹āĻš āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ…āĻŦāĻ•āĻžāĻ āĻžāĻŽā§‹ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ Nexus Sonatype āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻāĻŦāĻ‚ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž

āĻ¸ā§‹āĻ¨āĻžāĻŸāĻžāĻ‡āĻĒ āĻ¨ā§‡āĻ•ā§āĻ¸āĻžāĻ¸ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¨ā§āĻŦāĻŋāĻ¤ āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽ āĻ¯āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻ°āĻž āĻœāĻžāĻ­āĻž (āĻŽā§āĻ¯āĻžāĻ­ā§‡āĻ¨) āĻ¨āĻŋāĻ°ā§āĻ­āĻ°āĻ¤āĻž, āĻĄāĻ•āĻžāĻ°, āĻĒāĻžāĻ‡āĻĨāĻ¨, āĻ°ā§āĻŦāĻŋ, āĻāĻ¨āĻĒāĻŋāĻāĻŽ, āĻŦā§‹āĻ¯āĻŧāĻžāĻ° āĻ‡āĻŽā§‡āĻœ, RPM āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœ, gitlfs, Apt, Go, Nuget āĻĒā§āĻ°āĻ•ā§āĻ¸āĻŋ, āĻ¸āĻžā§āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ•ā§‡āĻ¨ āĻ†āĻĒāĻ¨āĻŋ Sonatype āĻ¨ā§‡āĻ•ā§āĻ¸āĻžāĻ¸ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨?

  • āĻŦā§āĻ¯āĻ•ā§āĻ¤āĻŋāĻ—āĻ¤ āĻ¨āĻŋāĻĻāĻ°ā§āĻļāĻ¨ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯;
  • āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻĨā§‡āĻ•ā§‡ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ†āĻ°ā§āĻŸāĻŋāĻĢā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ•ā§āĻ¯āĻžāĻļ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯;

āĻŽā§ŒāĻ˛āĻŋāĻ• āĻ¸ā§‹āĻ¨āĻžāĻŸāĻžāĻ‡āĻĒ āĻ¨ā§‡āĻ•ā§āĻ¸āĻžāĻ¸ āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻœā§‡ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻļāĻŋāĻ˛ā§āĻĒāĻ•āĻ°ā§āĻŽ:

  • āĻœāĻžāĻ­āĻž, āĻŽāĻžāĻ­ā§‡āĻ¨ (āĻœāĻžāĻ°)
  • āĻĄāĻ•āĻļā§āĻ°āĻŽāĻŋāĻ•
  • āĻĒāĻžāĻ‡āĻĨāĻ¨ (āĻĒāĻŋāĻĒ)
  • āĻ°ā§āĻŦāĻŋ (āĻ°āĻ¤ā§āĻ¨)
  • NPM
  • āĻŦā§‹āĻ°
  • āĻ‡āĻ¯āĻŧāĻžāĻŽ (āĻ†āĻ°āĻĒāĻŋāĻāĻŽ)
  • gitlfs
  • āĻ•āĻžāĻāĻšāĻž
  • Apt (āĻĻā§‡āĻŦ)
  • Go
  • āĻ¨āĻžāĻ—ā§‡āĻŸ

āĻ¸āĻŽā§āĻĒā§āĻ°āĻĻāĻžāĻ¯āĻŧ āĻ¸āĻŽāĻ°ā§āĻĨāĻŋāĻ¤ āĻļāĻŋāĻ˛ā§āĻĒāĻ•āĻ°ā§āĻŽ:

  • āĻ¸ā§āĻ°āĻ•āĻžāĻ°
  • āĻ•ā§‹āĻ¨āĻžāĻ¨
  • āĻ¸āĻŋāĻĒāĻŋāĻāĻāĻ¨
  • āĻ‡āĻāĻ˛āĻĒāĻŋāĻ
  • āĻšāĻžāĻ˛
  • P2
  • R

āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸ā§‹āĻ¨āĻžāĻŸāĻžāĻ‡āĻĒ āĻ¨ā§‡āĻ•ā§āĻ¸āĻžāĻ¸ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡ https://github.com/ansible-ThoTeam/nexus3-oss

āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž

  • āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻ¯ā§‹āĻ—ā§āĻ¯ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻĒāĻĄāĻŧā§āĻ¨āĨ¤
  • āĻ‰āĻ¤ā§āĻ¤āĻ°āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§āĻ¨ pip install ansible āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻ¸ā§āĻŸā§‡āĻļāĻ¨ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ˛ā§‡āĻŦā§āĻ• āĻšāĻ˛ā§‡āĨ¤
  • āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§āĻ¨ geerlingguy.java āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻ¸ā§āĻŸā§‡āĻļāĻ¨ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ˛ā§‡āĻŦā§āĻ• āĻšāĻ˛ā§‡āĨ¤
  • āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§āĻ¨ geerlingguy.apache āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•āĻ¸ā§āĻŸā§‡āĻļāĻ¨ā§‡ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĒā§āĻ˛ā§‡āĻŦā§āĻ• āĻšāĻ˛ā§‡āĨ¤
  • āĻāĻ‡ āĻ­ā§‚āĻŽāĻŋāĻ•āĻžāĻŸāĻŋ CentOS 7, āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ āĻœā§‡āĻ¨āĻŋāĻ¯āĻŧāĻžāĻ˛ (16.04) āĻāĻŦāĻ‚ āĻŦāĻžāĻ¯āĻŧā§‹āĻ¨āĻŋāĻ• (18.04), āĻĄā§‡āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨ āĻœā§‡āĻ¸āĻŋ āĻāĻŦāĻ‚ āĻ¸ā§āĻŸā§āĻ°ā§‡āĻšā§‡ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡
  • 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: [email protected]
        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'] }

āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻ¨āĻļāĻŸ:

āĻ•ā§‹āĻĄ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ°ā§‹āĻš āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ…āĻŦāĻ•āĻžāĻ āĻžāĻŽā§‹ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ Nexus Sonatype āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻāĻŦāĻ‚ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž

āĻ•ā§‹āĻĄ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ°ā§‹āĻš āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ…āĻŦāĻ•āĻžāĻ āĻžāĻŽā§‹ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ Nexus Sonatype āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻāĻŦāĻ‚ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž

āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨āĻļā§€āĻ˛ āĻ­ā§‚āĻŽāĻŋāĻ•āĻž

āĻ­ā§‚āĻŽāĻŋāĻ•āĻž āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛

āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻŽāĻžāĻ¨ āĻ¸āĻš āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ (āĻĻā§‡āĻ–ā§āĻ¨ default/main.yml):

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛

    nexus_version: ''
    nexus_timezone: 'UTC'

āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡, āĻ­ā§‚āĻŽāĻŋāĻ•āĻž āĻ¨ā§‡āĻ•ā§āĻ¸āĻžāĻ¸ā§‡āĻ° āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻŦā§‡ā§ˇ āĻ†āĻĒāĻ¨āĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖāĻŸāĻŋ āĻ āĻŋāĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ nexus_version. āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻĻā§‡āĻ–ā§āĻ¨ https://www.sonatype.com/download-oss-sonatype.

āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§‡āĻ¨, āĻ­ā§‚āĻŽāĻŋāĻ•āĻžāĻŸāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ° 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'

āĻ¸ā§‡āĻŸāĻ†āĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ "āĻ…ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨" āĻ…ā§āĻ¯āĻžāĻ•āĻžāĻ‰āĻ¨ā§āĻŸā§‡āĻ° āĻĒāĻžāĻ¸āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄāĨ¤ āĻāĻŸāĻŋ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡. āĻ…āĻ¨ā§āĻ—ā§āĻ°āĻš āĻ•āĻ°ā§‡ āĻĻā§‡āĻ–ā§āĻ¨ [āĻĒā§āĻ°āĻĨāĻŽ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ā§‡āĻ° āĻĒāĻ°ā§‡ āĻ…ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨ āĻĒāĻžāĻ¸āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°ā§āĻ¨](# āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨-āĻ…ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨-āĻĒāĻžāĻ¸āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ-āĻ†āĻĢāĻŸāĻžāĻ°-āĻĒā§āĻ°āĻĨāĻŽ-āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛) āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻĒāĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ­ā§‚āĻŽāĻŋāĻ•āĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻŸāĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨āĨ¤

āĻĒā§āĻ˛ā§‡āĻŦā§āĻ•ā§‡ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻĒāĻžāĻ ā§āĻ¯ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻĒāĻžāĻ¸āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻĄ āĻ¸āĻ‚āĻ°āĻ•ā§āĻˇāĻŖ āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ¤āĻŦā§‡ [āĻ…ā§āĻ¯āĻžāĻ¨āĻ¸āĻŋāĻŦāĻ˛-āĻ­āĻ˛ā§āĻŸ āĻāĻ¨āĻ•ā§āĻ°āĻŋāĻĒāĻļāĻ¨] āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻĻā§ƒāĻĸāĻŧāĻ­āĻžāĻŦā§‡ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ (https://docs.ansible.com/ansible/latest/user_guide/vault.html) (āĻšāĻ¯āĻŧ āĻ‡āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻŦāĻž āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻĢāĻžāĻ‡āĻ˛ā§‡ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¯ā§‡āĻŽāĻ¨ āĻ…āĻ¨ā§āĻ¤āĻ°ā§āĻ­ā§āĻ•ā§āĻ¤_āĻ­āĻžāĻ°āĻ¸)

āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻŦā§‡āĻ¨āĻžāĻŽā§€ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸

    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: "[email protected]"
    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

āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§āĻ¨ SSL āĻ°āĻŋāĻ­āĻžāĻ°ā§āĻ¸ āĻĒā§āĻ°āĻ•ā§āĻ¸āĻŋ.
āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ 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: "[email protected]"

āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ…ā§āĻ¯āĻžāĻĄāĻŽāĻŋāĻ¨ āĻ‡āĻŽā§‡āĻ˛ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ¸ā§‡āĻŸ āĻ•āĻ°ā§āĻ¨

LDAP āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡āĻļāĻ¨

LDAP āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻāĻŦāĻ‚ āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ

    nexus_ldap_realm: false
    ldap_connections: []

LDAP āĻ¸āĻ‚āĻ¯ā§‹āĻ—, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻāĻ‡ āĻŽāĻ¤ āĻĻā§‡āĻ–āĻžāĻ¯āĻŧ:

    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: [email protected]
      #   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 only

Docker, 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: [email protected]  # 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: [email protected]  # 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: [email protected]  # 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: [email protected]  # 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

āĻ¨ā§‡āĻ•ā§āĻ¸āĻžāĻ¸ āĻ¸ā§‹āĻ¨āĻžāĻŸāĻžāĻ‡āĻĒā§‡ āĻŸā§‡āĻ˛āĻŋāĻ—ā§āĻ°āĻžāĻŽ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛: https://t.me/ru_nexus_sonatype

āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻŋāĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻœāĻ°āĻŋāĻĒā§‡ āĻ…āĻ‚āĻļāĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĻ¨āĨ¤ āĻ¸āĻžāĻ‡āĻ¨ āĻ‡āĻ¨ āĻ•āĻ°ā§āĻ¨āĻ•āĻ°ā§āĻ¨āĨ¤

āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻŋ āĻ†āĻ°ā§āĻŸāĻŋāĻĢā§āĻ¯āĻžāĻ•ā§āĻŸ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ¨?

  • āĻ¸ā§‹āĻ¨āĻžāĻŸāĻžāĻ‡āĻĒ āĻ¨ā§‡āĻ•ā§āĻ¸āĻžāĻ¸ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡

  • āĻ¸ā§‹āĻ¨āĻžāĻŸāĻžāĻ‡āĻĒ āĻ¨ā§‡āĻ•ā§āĻ¸āĻžāĻ¸ āĻ…āĻ°ā§āĻĨāĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĻ›ā§‡

  • āĻ†āĻ°ā§āĻŸāĻŋāĻĢā§āĻ¯āĻžāĻ•ā§āĻŸāĻ°āĻŋ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡

  • āĻ•ā§ƒāĻ¤ā§āĻ°āĻŋāĻŽ āĻ…āĻ°ā§āĻĨ āĻĒā§āĻ°āĻĻāĻžāĻ¨

  • āĻ†āĻļā§āĻ°āĻ¯āĻŧ

  • āĻ¸āĻœā§āĻœāĻž

9 āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻ­ā§‹āĻŸ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĻ¨āĨ¤ 3 āĻœāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€ āĻŦāĻŋāĻ°āĻ¤ āĻ›āĻŋāĻ˛ā§‡āĻ¨āĨ¤

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨