diff --git a/.github/stale.yml b/.github/stale.yml deleted file mode 100644 index 3e8d931..0000000 --- a/.github/stale.yml +++ /dev/null @@ -1,57 +0,0 @@ -# Configuration for probot-stale - https://github.com/probot/stale ---- -# Number of days of inactivity before an Issue or Pull Request becomes stale -daysUntilStale: 90 - -# Number of days of inactivity before an Issue or Pull Request with the stale label is closed. -# Set to false to disable. If disabled, issues still need to be closed manually, but will remain marked as stale. -daysUntilClose: 30 - -# Only issues or pull requests with all of these labels are check if stale. Defaults to `[]` (disabled) -onlyLabels: [] - -# Issues or Pull Requests with these labels will never be considered stale. Set to `[]` to disable -exemptLabels: - - bug - - pinned - - security - - planned - -# Set to true to ignore issues in a project (defaults to false) -exemptProjects: false - -# Set to true to ignore issues in a milestone (defaults to false) -exemptMilestones: false - -# Set to true to ignore issues with an assignee (defaults to false) -exemptAssignees: false - -# Label to use when marking as stale -staleLabel: stale - -# Limit the number of actions per hour, from 1-30. Default is 30 -limitPerRun: 30 - -pulls: - markComment: |- - This pull request has been marked 'stale' due to lack of recent activity. If there is no further activity, the PR will be closed in another 30 days. Thank you for your contribution! - - Please read [this blog post](https://www.jeffgeerling.com/blog/2020/enabling-stale-issue-bot-on-my-github-repositories) to see the reasons why I mark pull requests as stale. - - unmarkComment: >- - This pull request is no longer marked for closure. - - closeComment: >- - This pull request has been closed due to inactivity. If you feel this is in error, please reopen the pull request or file a new PR with the relevant details. - -issues: - markComment: |- - This issue has been marked 'stale' due to lack of recent activity. If there is no further activity, the issue will be closed in another 30 days. Thank you for your contribution! - - Please read [this blog post](https://www.jeffgeerling.com/blog/2020/enabling-stale-issue-bot-on-my-github-repositories) to see the reasons why I mark issues as stale. - - unmarkComment: >- - This issue is no longer marked for closure. - - closeComment: >- - This issue has been closed due to inactivity. If you feel this is in error, please reopen the issue or file a new issue with the relevant details. diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1a22d23..a243ffa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,6 +45,7 @@ jobs: - ubuntu2204 - ubuntu2004 - ubuntu1804 + - debian12 - debian11 - debian10 - fedora34 @@ -61,7 +62,7 @@ jobs: python-version: '3.x' - name: Install test dependencies. - run: pip3 install ansible molecule[docker] docker + run: pip3 install ansible molecule molecule-plugins[docker] docker - name: Run Molecule tests. run: molecule test diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml new file mode 100644 index 0000000..5a2fd42 --- /dev/null +++ b/.github/workflows/stale.yml @@ -0,0 +1,34 @@ +--- +name: Close inactive issues +'on': + schedule: + - cron: "55 6 * * 1" # semi-random time + +jobs: + close-issues: + runs-on: ubuntu-latest + permissions: + issues: write + pull-requests: write + steps: + - uses: actions/stale@v8 + with: + days-before-stale: 120 + days-before-close: 60 + exempt-issue-labels: bug,pinned,security,planned + exempt-pr-labels: bug,pinned,security,planned + stale-issue-label: "stale" + stale-pr-label: "stale" + stale-issue-message: | + This issue has been marked 'stale' due to lack of recent activity. If there is no further activity, the issue will be closed in another 30 days. Thank you for your contribution! + + Please read [this blog post](https://www.jeffgeerling.com/blog/2020/enabling-stale-issue-bot-on-my-github-repositories) to see the reasons why I mark issues as stale. + close-issue-message: | + This issue has been closed due to inactivity. If you feel this is in error, please reopen the issue or file a new issue with the relevant details. + stale-pr-message: | + This pr has been marked 'stale' due to lack of recent activity. If there is no further activity, the issue will be closed in another 30 days. Thank you for your contribution! + + Please read [this blog post](https://www.jeffgeerling.com/blog/2020/enabling-stale-issue-bot-on-my-github-repositories) to see the reasons why I mark issues as stale. + close-pr-message: | + This pr has been closed due to inactivity. If you feel this is in error, please reopen the issue or file a new issue with the relevant details. + repo-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.yamllint b/.yamllint index e6fc538..4dd9139 100644 --- a/.yamllint +++ b/.yamllint @@ -7,5 +7,4 @@ rules: level: warning ignore: | - .github/stale.yml - .travis.yml + .github/workflows/stale.yml diff --git a/README.md b/README.md index 2f23291..953b7dd 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,10 @@ Docker Compose Plugin installation options. These differ from the below in that Docker Compose installation options. + docker_add_repo: true + +Controls whether this role will add the official Docker repository. Set to `false` if you want to use the default docker packages for your system or manage the package repository on your own. + docker_repo_url: https://download.docker.com/linux The main Docker repo URL, common between Debian and RHEL systems. diff --git a/defaults/main.yml b/defaults/main.yml index 5c6167f..0122d14 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -26,6 +26,9 @@ docker_compose_arch: "{{ ansible_architecture }}" docker_compose_url: "https://github.com/docker/compose/releases/download/{{ docker_compose_version }}/docker-compose-linux-{{ docker_compose_arch }}" docker_compose_path: /usr/local/bin/docker-compose +# Enable repo setup +docker_add_repo: true + # Docker repo URL. docker_repo_url: https://download.docker.com/linux @@ -37,7 +40,8 @@ docker_apt_ansible_distribution: "{{ 'ubuntu' if ansible_distribution in ['Pop!_ docker_apt_arch: "{{ 'arm64' if ansible_architecture == 'aarch64' else 'amd64' }}" docker_apt_repository: "deb [arch={{ docker_apt_arch }}] {{ docker_repo_url }}/{{ docker_apt_ansible_distribution | lower }} {{ ansible_distribution_release }} {{ docker_apt_release_channel }}" docker_apt_ignore_key_error: true -docker_apt_gpg_key: "{{ docker_repo_url }}/{{ docker_apt_ansible_distribution | lower }}/gpg" +docker_apt_gpg_key: "{{ docker_repo_url }}/{{ ansible_distribution | lower }}/gpg" +docker_apt_gpg_key_checksum: "sha256:1500c1f56fa9e26b9b8f42452a553675796ade0807cdce11975eb98170b3a570" # Used only for RedHat/CentOS/Fedora. docker_yum_repo_url: "{{ docker_repo_url }}/{{ (ansible_distribution == 'Fedora') | ternary('fedora','centos') }}/docker-{{ docker_edition }}.repo" diff --git a/meta/main.yml b/meta/main.yml index edc5f8e..a492efe 100644 --- a/meta/main.yml +++ b/meta/main.yml @@ -7,12 +7,8 @@ galaxy_info: description: Docker for Linux. company: "Midwestern Mac, LLC" license: "license (BSD, MIT)" - min_ansible_version: 2.4 + min_ansible_version: 2.10 platforms: - - name: EL - versions: - - 7 - - 8 - name: Fedora versions: - all @@ -20,6 +16,7 @@ galaxy_info: versions: - buster - bullseye + - bookworm - name: Ubuntu versions: - bionic diff --git a/tasks/setup-Debian.yml b/tasks/setup-Debian.yml index 27ef57b..55c8e62 100644 --- a/tasks/setup-Debian.yml +++ b/tasks/setup-Debian.yml @@ -12,6 +12,7 @@ - apt-transport-https - ca-certificates state: present + when: docker_add_repo | bool - name: Ensure additional dependencies are installed (on Ubuntu < 20.04 and any other systems). apt: @@ -30,21 +31,24 @@ url: "{{ docker_apt_gpg_key }}" dest: /etc/apt/trusted.gpg.d/docker.asc mode: '0644' - force: true + force: false + checksum: "{{ docker_apt_gpg_key_checksum | default(omit) }}" register: add_repository_key ignore_errors: "{{ docker_apt_ignore_key_error }}" + when: docker_add_repo | bool - name: Ensure curl is present (on older systems without SNI). package: name=curl state=present - when: add_repository_key is failed + when: add_repository_key is failed and docker_add_repo | bool - name: Add Docker apt key (alternative for older systems without SNI). shell: > curl -sSL {{ docker_apt_gpg_key }} | apt-key add - - when: add_repository_key is failed + when: add_repository_key is failed and docker_add_repo | bool - name: Add Docker repository. apt_repository: repo: "{{ docker_apt_repository }}" state: present update_cache: true + when: docker_add_repo | bool diff --git a/tasks/setup-RedHat.yml b/tasks/setup-RedHat.yml index 676c9e5..ad337c4 100644 --- a/tasks/setup-RedHat.yml +++ b/tasks/setup-RedHat.yml @@ -11,6 +11,7 @@ rpm_key: key: "{{ docker_yum_gpg_key }}" state: present + when: docker_add_repo | bool - name: Add Docker repository. get_url: @@ -19,6 +20,7 @@ owner: root group: root mode: 0644 + when: docker_add_repo | bool - name: Configure Docker Nightly repo. ini_file: @@ -28,6 +30,7 @@ value: '{{ docker_yum_repo_enable_nightly }}' mode: 0644 no_extra_spaces: true + when: docker_add_repo | bool - name: Configure Docker Test repo. ini_file: @@ -37,6 +40,7 @@ value: '{{ docker_yum_repo_enable_test }}' mode: 0644 no_extra_spaces: true + when: docker_add_repo | bool - name: Configure containerd on RHEL 8. block: