* Use local copies of pebble certs as docker image contains outdated versions
* Update the preferred chain used in Staging
* Put test API keys in github secrets, add code to create/delete test domains to prevent misuse
* Simplify dns_add_acmedns
- Updated 6 Dockerfiles to use JSON array syntax for CMD
- Skip CNAME authoritative check if it fails
- Skip another authoritative check to fix flaky tests
Use the GitHub release data to decide if an upgrade is available.
Only download the release if a newer stable release is published.
Install the full release - including the DNS scripts (requires "make")
Don't check for upgrades when restarting.
Remove --keep logic - only 1 old version is kept, only if make isn't available.
Old versions are availablel from the repo; if you have local changes, --upgrade doesn't make sense.
Can upgrade (or downgrade) to any tagged release with --experimental vx.yy
Note that GitHub API requests are rate-limited; this shouldn't be an issue
unless getssl is run more than ~60 times/hr. If the limit is exceeded,
getssl will sleep until the limit is reset. The limit is per-IP address.
The tests have been modified to only check for updates in the tests that
verify the check for updates logic. This has the side effect of not
doing MANY pointless checks for updates in the tests...
This change will drop the history of the repository when cloning, which
will save bandwidth and disk space, speed up the clone and checkout
process during the test and Docker build process.