Commit Graph

515 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
d5d2826773 chore: update herokuish 2024-03-28 18:23:41 -04:00
Jose Diaz-Gonzalez
4a1a2a326a feat: migrate away from transitional packages
Several of the packages being installed were actually transitional packages, that is, the package itself is either a complete no-op (since the package is already installed), or else the package only exists to depend on another package of a new name (to support people who are running older operating systems).

For the former, we can drop the dependency entirely, and for the latter we should use the new package name directly.
2024-03-26 17:19:41 -04:00
Jose Diaz-Gonzalez
ff18061987 fix: correctly prepend argument to passed ssh args 2024-03-13 22:43:49 -04:00
Jose Diaz-Gonzalez
e43927a69e tests: add a test for argument handling 2024-03-13 22:21:05 -04:00
Jose Diaz-Gonzalez
5148600ea0 chore: remove systemd reverse dependency by dropping software-properties-common
Through some random machinations, software-properties-common now has a dependency on systemd. This breaks the built docker image as plugins will think systemd is available, so `dokku plugin:install --core` will reference that over sv.

Since we don't manage ppas in Dokku anymore - the only use was for an nginx ppa so we could use a newer Nginx - this can be safely removed.

Also remove some other stuff related to systemd that aren't required anymore.
2024-03-06 10:59:42 -05:00
Jose Diaz-Gonzalez
2bc79032cf Merge pull request #6671 from dokku/update-deps
Update dokku dependencies
2024-03-06 09:46:15 -05:00
Jose Diaz-Gonzalez
d5168088b8 feat: add image version as label to built images 2024-03-06 09:09:20 -05:00
Jose Diaz-Gonzalez
e1575b599f chore: update dokku dependencies 2024-03-06 09:02:15 -05:00
Jose Diaz-Gonzalez
a5a05c2c44 chore: update procfile-util dependency
Also run formatting against the file.
2024-02-11 22:01:20 -05:00
Jose Diaz-Gonzalez
28532a56a9 tests: fix issue where CI cannot install docker-buildx-plugin 2024-02-05 14:59:20 -05:00
Jose Diaz-Gonzalez
0c83356542 refactor: move docs rewrite into mkdocs hooks
This will ensure `mkdocs build` does not rewrite content, making contribution easier.
2024-01-30 06:53:14 -05:00
Jose Diaz-Gonzalez
cf0623407c docs: add support for badge shortcodes in documentation
This will allow us to add little icons to various parts of the docs to denote when something is for a particular scheduler only.
2024-01-29 12:43:38 -05:00
Jose Diaz-Gonzalez
8961a1efd2 fix: correct key in dependency file to fix docker-container-healthchecker installs on local arm64 servers 2023-10-27 23:04:25 -04:00
Jose Diaz-Gonzalez
30b8a25ced feat: upgrade golang to 1.21 2023-10-16 01:10:02 -04:00
Jose Diaz-Gonzalez
f33d7f129b feat: warn when incorrect interface/port in use for web processes
Users that misconfigure their process's listening interface or port will now see an additional healthcheck warning for web deploys. While only a single port is checked, this ensures that users at least have some context as to why their app isn't responding as expected.

Closes #4798
2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
76a979e139 chore: remove ARM support
Building/testing for ARM does not happen often - the only runtime environment is Raspberry PI, which supports ARM64 - and complicates support for a ton of features. Aside from that, CI runs are much longer for ARM Dokku images, often reaching 15-20 minutes or just timing out completely.

Rather than support an architecture that doesn't have much usage by maintainers and has a lot of maintenance burden, we're removing the platform.
2023-10-15 20:25:09 -04:00
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