Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix includes and requisites #87

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

rhansen
Copy link

@rhansen rhansen commented Jul 23, 2022

PR progress checklist (to be filled in by reviewers)

  • Changes to documentation are appropriate (or tick if not required)
  • Changes to tests are appropriate (or tick if not required)
  • Reviews completed

What type of PR is this?

Primary type

  • [build] Changes related to the build system
  • [chore] Changes to the build process or auxiliary tools and libraries such as documentation generation
  • [ci] Changes to the continuous integration configuration
  • [feat] A new feature
  • [fix] A bug fix
  • [perf] A code change that improves performance
  • [refactor] A code change that neither fixes a bug nor adds a feature
  • [revert] A change used to revert a previous commit
  • [style] Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc.)

Secondary type

  • [docs] Documentation changes
  • [test] Adding missing or correcting existing tests

Does this PR introduce a BREAKING CHANGE?

No.

Related issues and/or pull requests

None.

Describe the changes you're proposing

This PR fixes a few problems with requisites:

  • If letsencrypt.install_method != 'package', the create-initial-cert-*-* state did not have a dependency (direct or indirect) on the certbot utility, causing failure on a fresh system.

  • The letsencrypt-config state was missing a dependency on letsencrypt-config-directory.

  • The requisites for the cron job state are unnecessary when removing the cron job.

  • Applying the letsencrypt.domains state would trigger errors due to missing includes:

    $ salt domain.example.com state.apply letsencrypt.domains
    ...
    ----------
              ID: create-initial-cert-domain.example.com-domain.example.com
        Function: cmd.run
            Name: /usr/bin/certbot certonly \
      --quiet \
      --non-interactive \
      --authenticator nginx \
      --installer nginx \
      --cert-name domain.example.com \
      -d domain.example.com
    
          Result: False
         Comment: The following requisites were not found:
                                     require:
                                         pkg: letsencrypt-client
                                         file: letsencrypt-config
         Started: 20:28:25.859877
        Duration: 0.018 ms
         Changes:
    ----------
              ID: letsencrypt-crontab-domain.example.com-domain.example.com
        Function: cron.absent
            Name: /usr/bin/certbot renew domain.example.com
          Result: False
         Comment: The following requisites were not found:
                                     require:
                                         pkg: letsencrypt-client
         Started: 20:28:25.863317
        Duration: 0.006 ms
         Changes:
    ...
    

Pillar / config required to test the proposed changes

Debug log showing how the proposed changes work

Documentation checklist

  • Updated the README (e.g. Available states).
  • Updated pillar.example.

Testing checklist

  • Included in Kitchen (i.e. under state_top).
  • Covered by new/existing tests (e.g. InSpec, Serverspec, etc.).
  • Updated the relevant test pillar.

Additional context

@rhansen rhansen requested a review from javierbertoli as a code owner July 23, 2022 21:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant