139 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
5e72bfabad Merge pull request #6283 from dokku/remove-deprecated-proxy-code
Remove deprecated proxy-ports functions and and plugin subcommands
2023-10-16 16:38:30 -04:00
Jose Diaz-Gonzalez
1adbcf7e2d docs: document future removal of deprecated CHECKS file format
This will be removed in the future in favor of defining healthchecks in the app.json file.
2023-10-16 00:21:16 -04:00
Jose Diaz-Gonzalez
126a3ed509 chore: remove deprecated proxy-ports functions and and plugin subcommands
These were deprecated in 0.31.0 in favor of the ports plugin.
2023-10-16 00:18:39 -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
a433508fb1 chore: deprecate the builder-specific pre-build-* triggers in favor of a global pre-build trigger
The pre-build trigger takes a `BUILDER_TYPE` parameter, allowing folks to perform specific actions as needed.
2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
b19b409dd6 chore: deprecate the builder-specific post-build-* triggers in favor of a global post-build trigger
The pre-build trigger takes a `BUILDER_TYPE` parameter, allowing folks to perform specific actions as needed.
2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
cdd5698db9 chore: deprecate the builder-specific pre-release-* triggers in favor of a global pre-release-builder trigger
The pre-release-builder trigger takes a `BUILDER_TYPE` parameter, allowing folks to perform specific actions as needed.
2023-10-15 20:25:09 -04:00
Jose Diaz-Gonzalez
4a43eeaaa8 docs: add a migration guide for 0.32.x 2023-10-15 20:25:08 -04:00
Jose Diaz-Gonzalez
5dd78e2b86 docs: update markdownlint rules for better formatting 2023-08-19 13:46:42 -04:00
Jose Diaz-Gonzalez
1ee0fc7dc5 docs: remove extra newline 2023-08-09 13:53:14 -04:00
Jose Diaz-Gonzalez
24d94576a9 feat: make heroku-22/jammy the default stack for cnb/herokuish builds 2023-08-09 10:11:33 -04:00
Jose Diaz-Gonzalez
5b738f50c3 docs: deprecated ARM as a build target
AMD64 and ARM64 continue to be supported, but ARM in CI is not currently supported and doesn't get local testing either, so deprecating it now and removing it in the future makes most sense for the project.
2023-08-07 01:37:18 -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
f8ccf52079 refactor: only use detected port mapping if override is not specified
Previously, we would always set the port mapping during a dockerfile build, making it difficult for users to override mappings. We also only _sometimes_ updated the detected port mapping, further confusing issues when users were migrating from Dockerfile to Buildpacks for builds.

Now, we always detect the port mapping during the build process, and only use that detected port mapping if an override is not specified. This greatly simplifies the experience around port mapping, as now a user can create an app, set a port mapping, and that first deploy will respect the port mapping without an additional deploy.

The builder always has the best context for what the app should be listening on, and thus we can always specify a "default" port mapping at this stage. Users can override this map as desired later.

This change also results in the removal of a ton of internal code that is now centralized in the ports plugin.

Closes #4067
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
f842869c3d refactor: move the proxy port map from config to property
Also remove all direct references to DOKKU_PROXY_PORT_MAP from outside of ports.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
48d5820b8c refactor: deprecate proxy-configure-ports plugin trigger in favor of ports-configure
This also rewrites the logic to be in golang, which will make it easier to refactor portions of it to use the property system going forward.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
192f7cf768 refactor: move code for fetching an available port to the ports plugin
Also translate the code to golang.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
121e4737a8 refactor: move code that fetches raw tcp ports for dockerfile deploys to ports plugin 2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
fb9d77878d refactor: move CHECKS file extraction to the beginning of the deploy
This makes deploys faster for any that are built from source as the image artifact isn't involved in those cases while also unifying how the file is handled.

Refs #2760
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
b8680f7de7 fix: automatically clear the git source-image property when changing deployment methodologies
This ensures users don't have issues with cached state in regards to files pulled from the repo/image.

Also add missing docs for deploy-source-set trigger.

Closes #5963
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
9bd6e17903 docs: update migration guide to point out other important changes 2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
1d0d050596 feat: mount the vector data directory instead of the vector file
This allows users to provide extra configuration files for Vector, such as when using the GCP Operations log sink.

Closes #4971
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
64f0f2674d refactor: move all port management code to standalone ports plugin
This change makes interacting with port mappings more clear - folks might previously set the port mapping to the proxy type or vice-versa.

The existing proxy:ports* commands still exist but will show a deprecation warning for a single minor release.
2023-08-05 10:58:57 -04:00
Jose Diaz-Gonzalez
40b20e0c08 refactor: move herokuish app cache from the filesystem into a docker volume
This simplifies cache referencing and also paves the way for removing more from the app git directory.

Refs #1558
2023-08-05 10:35:54 -04:00
AJ Jordan
17f3bc17d9 Fix typo 2023-04-19 20:25:05 -04:00
josegonzalez
ca444af7d1 docs: add a note about required upgrade to 0.29.x
We introduced a method of migrating from DOKKU_SCALE to app.json in 0.25.x. This was removed in 0.30.x, so users need to ensure they either set their own scale manually _or_ upgrade. The upgrade is probably the safest bet.
2023-02-20 16:08:31 -05:00
josegonzalez
992b27fcf9 docs: add note about ubuntu 18.04 being deprecated
This was an omission by error in the 0.30.x release notes.
2023-02-17 22:11:09 -05:00
Jose Diaz-Gonzalez
09eb0b2c8f refactor: move app.json extraction up to core-post-extract 2023-02-14 03:08:02 -05:00
Jose Diaz-Gonzalez
f84a650849 chore: remove deprecated nginx commands 2023-02-12 13:20:45 -05:00
Jose Diaz-Gonzalez
954b2d9d34 chore: remove deprecated proxy functions 2023-02-12 13:20:24 -05:00
Jose Diaz-Gonzalez
59fde3a317 chore: remove deprecated nginx commands 2023-02-12 13:12:47 -05:00
Jose Diaz-Gonzalez
577aafb683 chore: remove deprecated git functions 2023-02-12 13:09:20 -05:00
Jose Diaz-Gonzalez
e628e21879 chore: remove deprecated --rm-container and--rm global flags 2023-02-12 13:09:00 -05:00
Jose Diaz-Gonzalez
d27c8f09d1 chore: remove deprecated common functions 2023-02-12 13:08:45 -05:00
Jose Diaz-Gonzalez
7f2a66df88 chore: remove deprecated app functions
These were deprecated in 0.20.0 and are unused in Dokku's official codebases.
2023-02-12 13:02:23 -05:00
Jose Diaz-Gonzalez
237aae9eec feat: first pass at haproxy plugin implementation 2023-02-11 06:08:56 -05:00
josegonzalez
503ac7e11b docs: update removal notice in 0.3.0 for logs:failed 2023-01-16 01:34:33 -05:00
Jose Diaz-Gonzalez
a5fa3725e6 chore: remove deprecated builder-specific post-release hooks
This option was deprecated in Dokku 0.25.0.
2023-01-16 01:25:41 -05:00
Jose Diaz-Gonzalez
a2444b453d chore: remove deprecated --detach flag
This option was deprecated in Dokku 0.25.0.
2023-01-16 01:19:39 -05:00
Jose Diaz-Gonzalez
5dcc1cb13c refactor: remove support for DOKKU_SCALE file
It has been replaced by the 'formations' key within the 'app.json' file format.
2023-01-15 23:53:03 -05:00
Jose Diaz-Gonzalez
ca1ab188fe chore: drop SPDY
This hasn't been supported by browsers in quite a while and nginx will set a warning as of Ubuntu 20.04 when the header is referenced.
2022-12-29 01:59:54 -05:00
Jose Diaz-Gonzalez
c3c6e2174a fix: keep track of the source image when building an app via git:from-image
This change fixes issues with ps:rebuild not working as expected - essentially ignoring files in the repo - as well as adds tests.

Closes #5518
2022-12-18 17:57:24 -05:00
Jose Diaz-Gonzalez
edd6e476b3 refactor: simplify how url generation works
The URLS file is no longer necessary as urls are now generated directly from the app VHOST file.

This also moves all the url generation logic to the domains plugin.
2022-12-02 02:19:59 -05:00
Jose Diaz-Gonzalez
9eab17af11 refactor: setup app domains in the post-create hook
This is more consistent with app setup, at the cost of making it so developers must disable domains manually afterwards.
2022-12-01 22:39:38 -05:00
Jose Diaz-Gonzalez
a8bc8044e4 feat: switch to systemctl for interacting with the nginx init process 2022-11-29 01:38:36 -05:00
Jose Diaz-Gonzalez
6fed37b408 refactor: rename pre-restore trigger to scheduler-pre-restore
This better reflects what the trigger does, and allows us to use the pre-restore trigger at the beginning of the ps:restore command.
2022-11-29 01:38:36 -05:00
Jose Diaz-Gonzalez
fe4d80a82b refactor: cleanup zero'd out processes when a Procfile omitting those process types is set
This change also moves the referenced Procfile out to a host path once on deploy vs potentially several times, which should speed up deploys a small amount and simplify reasoning about the file.

Closes #5112
2022-11-25 14:50:35 -05:00
Jose Diaz-Gonzalez
17814d4847 refactor: only extract the nginx.conf.sigil from the source code and not an app path
The previous method was a bit more difficult for users to interact with as they needed to ensure the file was at a certain path in the built image. This change divorces the file from the built artifact, better aligning the nginx.conf.sigil handling with the rest of Dokku's monorepo support.

A side effect of this is now building proxy configurations does not require access to the built image.

Closes #5207
2022-11-23 19:32:53 -05:00
Jose Diaz-Gonzalez
f5c3b5dc34 refactor: move DOKKU_WAIT_TO_RETIRE to a checks property
This centralizes the property and removes one more dokku-specific property from the app environment variables.

Closes #5049
2022-11-22 20:27:43 -05:00
Jose Diaz-Gonzalez
ddae4f71da refactor: switch from base64-encoding to base36-encoding of cron task IDs
This allows the IDs to be used as DNS labels, meaning they can be used as is for external scheduler task names.

Closes #4903
2022-11-09 22:22:37 -05:00