Commit Graph

499 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
859b87fadd fix: remove more references to ubuntu bionic 2023-10-15 20:21:44 -04:00
Jose Diaz-Gonzalez
8a15779c8d fix: upgrade docker-container-healthchecker to include exists command 2023-10-15 00:47:07 -04:00
Jose Diaz-Gonzalez
934a6b5cd5 feat: manage Dokku system dependencies in a single file
This will allow us to more quickly update a dependency by adding support so that downstream repos can auto-push updates to the main repo when there is a release.
2023-10-14 03:49:25 -04:00
Jose Diaz-Gonzalez
89109a33b3 fix: correct package for container healthchecker when building digitalocean image 2023-08-19 19:06:42 -04:00
Jose Diaz-Gonzalez
3306f29c11 docs: handle new github admonitions and cleanup write-mkdocs script 2023-08-19 15:43:59 -04:00
Jose Diaz-Gonzalez
00d02121d9 fix: pull 100 results when fetching PRs per milestone 2023-08-13 22:00:39 -04:00
Jose Diaz-Gonzalez
8d25b931dd fix: correctly handle rebase when generating release notes for minor/major releases
With the integration branch where pull requests are merged prior to a release, we require a rebase every so often to ensure there aren't any issues upon merging to master. Unfortunately, this breaks the link between the original PR and the integration PR, thus causing changelog generation to fail as it depended upon those - now removed - merge request commits.

With this change, we introduce usage of milestones in order to track what is getting merged into a release. Milestones are only used for major/minor releases, and all others will fall back to the default git log method.
2023-08-08 23:07:02 -04:00
Jose Diaz-Gonzalez
26e9cc9b8c feat: add support for non-web healthchecks via app.json
This change converts existing CHECKS files into a healthchecks key that is understood by 'docker-container-healthchecker'. This tool supports a number of different types of container healthchecks - command, http, uptime - and can perform healthchecks against non-web processes.

The use of the old CHECKS file is now deprecated, and will be removed in the next minor version. Users can use the 'docker-container-healthchecker' to convert existing CHECKS files to the new format automatically.

Closes #2760
2023-08-06 17:23:13 -04:00
Jose Diaz-Gonzalez
ef25a9b0d8 refactor: standardize on shorthand for redirecting all output to /dev/null
The shorthand is more prevalent in this codebase, and is something that bash supports, so we should just use the same thing everywhere.

Note that we do not use shorthand redirect in Makefile as shell parsing is a bit different in Make and the shorthand redirect doesn't seem to be properly supported, causing CI errors.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
dac566e75e refactor: move all shellcheck disable definitions to .shellcheckrc file
This makes standard use of shellcheck work without needing to provide extra configuration anywhere.

Also remove use of inline 'shellcheck disable' calls that are already defined in the .shellcheckrc and don't need to be set inline.
2023-08-05 10:58:57 -04:00
Ré Schopmeijer
a537714375 Update to debian bookworm 2023-07-24 16:42:23 +02:00
Jose Diaz-Gonzalez
e7652fbae3 tests: split out image building into it's own job to speed up ci
Previously, we would build the dokku package and install it in the same step. While the package building was relatively quick, because of our multi-architecture support, we would end up spending a large amount of time waiting for arm/arm64 images to build.

This change splits those builds out, allowing unit tests to start much quicker and each platform to be tested in parallel.
2023-06-17 00:31:20 -04:00
Jose Diaz-Gonzalez
aa323f7439 docs: always overwrite bootstrap install file
Closes #5766
2023-05-13 14:24:04 -04:00
Jose Diaz-Gonzalez
ea89fb5810 feat: ignore release branches in changelog output
This change allows us to have an integration branch for each release that contains tested changes for each minor. Rather than have to block merging until a minor is ready for release - and subsequently have to deal with constant rebase issues - we will now have an integration branch per-release. This will be the target for minor-related changes - mostly new features, but also refactors and bc-breaks - while the trunk branch will stay safe for merging patch changes.

Note that we'll still need to rebase the integration branch every so often, but at least this allows us to avoid many long-running MRs.
2023-03-19 23:42:22 -04:00
Jose Diaz-Gonzalez
4b8ccfbf34 fix: implement checkTMP 2023-02-16 16:22:32 -05:00
Jose Diaz-Gonzalez
26a536bc9b feat: log the output of the do directory 2023-02-16 16:01:59 -05:00
Jose Diaz-Gonzalez
635f9c1bc5 chore: remove unused function 2023-02-16 15:49:37 -05:00
Jose Diaz-Gonzalez
47fddf1899 chore: remove extra cleanup line
Logs are already zero'd out
2023-02-16 15:49:16 -05:00
Jose Diaz-Gonzalez
7b1a2fa908 fix: add missing cleanup step 2023-02-16 15:49:02 -05:00
Jose Diaz-Gonzalez
1eada6a5e8 fix: purge log files and droplet-agent
This should fix a few of the warnings/errors shown during the image check process.
2023-02-16 15:32:55 -05:00
Jose Diaz-Gonzalez
f1152cd6b7 fix: validate the packer image 2023-02-16 15:10:49 -05:00
Jose Diaz-Gonzalez
55c3b73f35 feat: run image check at the end of the build 2023-02-16 15:10:43 -05:00
Jose Diaz-Gonzalez
1eda16d186 refactor: simplify provisioning 2023-02-16 15:08:49 -05:00
Jose Diaz-Gonzalez
b2fbefb6d3 refactor: remove use of format function 2023-02-16 15:07:58 -05:00
Jose Diaz-Gonzalez
11743afbf0 chore: drop ability to set a custom base image
We'll only ever test against the latest LTS.
2023-02-16 15:07:25 -05:00
Jose Diaz-Gonzalez
d40ee36348 feat: update all base packages 2023-02-16 15:07:03 -05:00
Jose Diaz-Gonzalez
c24e0d3888 feat: ensure we have a custom landing page for folks to view when going to their droplet ip/vhost 2023-02-16 15:00:37 -05:00
Jose Diaz-Gonzalez
360940f68e fix: use https urls 2023-02-16 14:53:58 -05:00
Jose Diaz-Gonzalez
4ce5ba6a75 refactor: unify cleanup script with the one used by the DO marketplace 2023-02-16 14:50:07 -05:00
Jose Diaz-Gonzalez
197bd0c864 feat: remove the default nginx site in built images
This is confusing for users and shouldn't really ever exist.
2023-02-16 14:49:13 -05:00
Jose Diaz-Gonzalez
ba06bac1b9 feat: enable exit on error 2023-02-16 14:48:43 -05:00
Jose Diaz-Gonzalez
9dc6d8e130 refactor: cleanup ufw rules
- use nginx ful rules
- limit ssh by default
- force enable ufw
- drop access to 2375 and 2376 (this allows passwordless docker access...)
2023-02-16 14:47:52 -05:00
Jose Diaz-Gonzalez
afe042de46 docs: cleanup motd
- standardize text with the sample marketplace app
- remove reference to web server (its unavailable in newer versions)
2023-02-16 14:46:39 -05:00
Jose Diaz-Gonzalez
358fb72baf fix: run build in nyc1
NYC1 is the only DC where the smallest size droplet is available.
2023-02-16 14:33:26 -05:00
Jose Diaz-Gonzalez
98d6a3b53e fix: run build on smallest image
This will allow anyone to use the resulting image, and not just those with at least 2GB of ram.
2023-02-16 14:32:30 -05:00
Jose Diaz-Gonzalez
ba56474f15 fix: correct position of post-provisioner block 2023-02-16 14:26:29 -05:00
Jose Diaz-Gonzalez
ec642788d3 fix: correct SC2004 2023-02-16 14:25:40 -05:00
Jose Diaz-Gonzalez
adf98b53f5 chore: run shfmt 2023-02-16 14:22:44 -05:00
Jose Diaz-Gonzalez
96c737eae4 refactor: update digitalocean image building to match what Digitalocean does
The scripts run/installed on the server are based on what was given to me by Digitalocean in 2019, so they may have diverged a bit since.
2023-02-16 14:19:10 -05:00
Jose Diaz-Gonzalez
9c7968d924 chore: run shfmt 2023-02-16 01:28:53 -05:00
Jose Diaz-Gonzalez
e8569f7054 feat: add new sections to release notes
- removals: things being removed in this release
- deprecations: things being deprecated in this release, for later removal
- dependencies: dependency updates (typically by dependabot)
2023-02-16 01:28:21 -05:00
Jose Diaz-Gonzalez
46ea507182 fix: use authenticated requests to the github api in order to generate changelogs for a release 2023-02-15 22:30:39 -05:00
Jose Diaz-Gonzalez
b5b50ace5e fix: install sudo 2023-02-14 01:16:42 -05:00
Jose Diaz-Gonzalez
8650977918 chore: drop already installed packages
These are installed in the base image.
2023-02-14 01:16:06 -05:00
Jose Diaz-Gonzalez
1a1590c299 fix: update build-base docker image to ensure we can build on all supported platforms without stalling
The image can now be built via:

    docker buildx build --platform linux/arm,linux/arm64,linux/amd64 --progress plain --push --tag dokku/build-base:latest --tag dokku/build-base:0.0.1 -f contrib/build-base.Dockerfile .
2023-02-14 01:14:10 -05:00
Jose Diaz-Gonzalez
fcb25e1842 chore: remove references to ubuntu 18.04 ahead of EOL
While we will still build for 18.04, we will now stop testing against it. Instead, we will test against 20.04, the next EOL release after 18.04.

Once Ubuntu 18.04 is EOL, any references to it will also be removed.

Note that 18.04 support was already deprecated in Dokku 0.28.0, so this change is just acknowledging that deprecation.
2023-01-16 01:39:59 -05:00
Jose Diaz-Gonzalez
a4136f4719 fix: correct tests and handle a few edge cases in remote command usage 2023-01-14 19:49:14 -05:00
Jose Diaz-Gonzalez
0653a2b0bf feat: add support for customizing the remote in use for all commands sent via the official client
Closes #5564
2023-01-14 17:53:33 -05:00
Jose Diaz-Gonzalez
124a7b7c63 feat: use short url for installation
This brings the installer to the dokku.com domain, from which we can point it wherever we want.
2023-01-12 23:56:29 -05:00
Jose Diaz-Gonzalez
8dfebad943 feat: add tutorials link to the docs 2022-12-05 05:53:10 -05:00