Commit Graph

3585 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
a1790d674c fix: use correct variable 2024-03-13 07:48:01 -04:00
Jose Diaz-Gonzalez
50958fc448 refactor: remove git:unlock command
This is no longer necessary with improvements elsewhere in Dokku.
2024-03-13 06:24:30 -04:00
Jose Diaz-Gonzalez
4bd64dfd7b Merge pull request #6704 from dokku/k3s-default-nginx
Switch the default k3s routing layer from traefik to nginx
2024-03-13 05:39:26 -04:00
Jose Diaz-Gonzalez
10468ce47d fix: ensure we cleanup the data directory on app deletion
Also use a variable for the clone root dir.
2024-03-13 05:37:06 -04:00
Jose Diaz-Gonzalez
55461f0149 feat: switch the default k3s routing layer from traefik to nginx
The ingress-nginx ingress implementation is the standard ingress in the Kubernetes community, and it doesn't make sense for us to stray from that just to utilize the k3s default.

In the future, we might drop k3s, but this works well for now.
2024-03-13 04:50:18 -04:00
Jose Diaz-Gonzalez
eb9a75496c Merge pull request #6703 from dokku/logrotate-perms
Use copytruncate in logrotate commands
2024-03-13 01:52:20 -04:00
Jose Diaz-Gonzalez
76dd78e441 chore: run shfmt 2024-03-13 01:51:16 -04:00
Jose Diaz-Gonzalez
87a008c86b Merge pull request #6632 from dokku/remove-disable-chown
Simplify file ownership in the container by setting the process ownership during the build process
2024-03-13 01:44:39 -04:00
Jose Diaz-Gonzalez
64cc239d5b fix: use copytruncate in logrotate commands
While using create is more correct, logs in Dokku are considered ephemeral, and thus shouldn't be considered subject to the more comprehensive log retention standards one might require out of a logging system.

By switching to copytruncate, we can ensure that logs mounted from within containers do not have that matched the old settings (closes #6633) and cases where the log file is written by a user other than the one specified in the old logrotate settings (closes #4000).
2024-03-12 23:49:49 -04:00
Jose Diaz-Gonzalez
c8afdb553d Merge pull request #6700 from dokku/traefik-remove-priority
Remove traefik priority functionality
2024-03-12 23:29:49 -04:00
Jose Diaz-Gonzalez
681dc93ad9 feat: disable setuidgid as the app is already running as the correct user 2024-03-12 22:27:42 -04:00
Jose Diaz-Gonzalez
dd26850854 chore: double-quote 2024-03-12 22:27:42 -04:00
Jose Diaz-Gonzalez
68d05b230d refactor: simplify file ownership in the container by setting the process ownership during the build process
Rather than require a heavy chown operation across various paths, just chown the files already in the built image during the release process. This ensures we can skip not-only the chown process during the container start that herokuish injects, but also the one that Dokku runs which modifies mounted container paths as well during the pre-deploy.

Note that users will need to ensure any mounted volumes don't have permissions reset by other processes or containers won't be able to access them.
2024-03-12 22:27:39 -04:00
Jose Diaz-Gonzalez
0d6bde2eff Merge pull request #6156 from dokku/migrate-lock-path
Migrate the app deploy lock to the data directory
2024-03-12 22:24:55 -04:00
Jose Diaz-Gonzalez
b9d3390289 Merge pull request #6650 from bastianh/expose_by_default
Do not expose all containers via traefik by default
2024-03-12 22:24:20 -04:00
Jose Diaz-Gonzalez
d2b167d6ad Merge pull request #6681 from dokku/k3s-ingress-per-domain
Migrate to single ingress per app/domain combination
2024-03-12 22:22:45 -04:00
Jose Diaz-Gonzalez
ee08b8c0fd chore: remove traefik priority functionality
Setting a priority appears to cause minor outages in certain cases, so we should just avoid setting it on behalf of users and allow them to set this directly.
2024-03-12 22:21:16 -04:00
Jose Diaz-Gonzalez
1bc63001db Merge pull request #6698 from dokku/k3s-upgrade-ingress
Upgrade ingress-nginx
2024-03-12 22:08:34 -04:00
Jose Diaz-Gonzalez
aff6ab8902 chore: upgrade ingress-nginx 2024-03-12 21:07:19 -04:00
Jose Diaz-Gonzalez
455c59a4b7 Merge pull request #6588 from ipp-net/feature/add-latest-tag
add extra tags to every image dokku push when push-extra-tags are set
2024-03-12 20:52:18 -04:00
Jose Diaz-Gonzalez
eb1f842254 Merge pull request #6680 from dokku/k3s-wait-timeout
Wait until helm charts are installed before marking a deploy as failed or completed
2024-03-12 20:40:59 -04:00
dependabot[bot]
d9297f2534 chore(deps): bump timberio/vector in /plugins/logs
Bumps timberio/vector from 0.36.0-debian to 0.36.1-debian.

---
updated-dependencies:
- dependency-name: timberio/vector
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-12 13:16:13 +00:00
Jose Diaz-Gonzalez
c840fc5f9e feat: wait until helm charts are installed before marking a deploy as failed or completed
This ensures applications are actually up vs giving a false sense of security to users about the state of their applications.
2024-03-12 08:39:22 -04:00
Jose Diaz-Gonzalez
77d9594c09 fix: use annotation to check for ingress method 2024-03-12 07:57:20 -04:00
Jose Diaz-Gonzalez
ac2ea7597e fix: use correct variable name 2024-03-12 06:11:28 -04:00
Jose Diaz-Gonzalez
d68eacced4 fix: do not attempt to install both k3s and traefik 2024-03-12 06:08:05 -04:00
Jose Diaz-Gonzalez
d4b484a33a fix: replace existing port-map ingress objects with domain ingress objects
Domains cannot be reused across ingress objects, and port maps are a function of a domain, so the inversion here makes most sense (at the cost of some downtime when migrating.
2024-03-12 03:55:40 -04:00
Jose Diaz-Gonzalez
92139a0cd3 Merge pull request #6685 from dokku/dependabot/go_modules/plugins/scheduler-k3s/github.com/go-jose/go-jose/v3-3.0.3
chore(deps): bump github.com/go-jose/go-jose/v3 from 3.0.1 to 3.0.3 in /plugins/scheduler-k3s
2024-03-11 23:29:09 -04:00
Jose Diaz-Gonzalez
0e1c3d5fc0 Merge pull request #6687 from dokku/k3s-cluster-autoscaling
Correct issue where ClusterTriggerAuthentication objects were filtered based on prefix
2024-03-11 23:29:01 -04:00
Jose Diaz-Gonzalez
0134cd98d0 fix: correct issue where ClusterTriggerAuthentication objects were filtered based on prefix
The prefix no longer matters since they are global to the cluster.
2024-03-08 05:23:58 -05:00
Jose Diaz-Gonzalez
8f5a834cf0 fix: validate input for the autoscaling-auth:set command 2024-03-08 05:17:49 -05:00
dependabot[bot]
e6a4bf81a1 chore(deps): bump github.com/go-jose/go-jose/v3
Bumps [github.com/go-jose/go-jose/v3](https://github.com/go-jose/go-jose) from 3.0.1 to 3.0.3.
- [Release notes](https://github.com/go-jose/go-jose/releases)
- [Changelog](https://github.com/go-jose/go-jose/blob/v3.0.3/CHANGELOG.md)
- [Commits](https://github.com/go-jose/go-jose/compare/v3.0.1...v3.0.3)

---
updated-dependencies:
- dependency-name: github.com/go-jose/go-jose/v3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-07 23:04:01 +00:00
Jose Diaz-Gonzalez
4e92e33395 chore: run shfmt 2024-03-06 19:54:52 -05:00
Jose Diaz-Gonzalez
87bde84115 fix: handle case where most builders didn't detect amd64 images on arm64
Images would build but then fail to be tagged, causing deployment problems on arm64 architectures for a small number of images.

Also fix a minor issue in the nixpacks builder that caused any pre-release-builder triggers that consumed the image to get an empty string instead.
2024-03-06 19:02:08 -05:00
Jose Diaz-Gonzalez
caaf19f5a3 Merge pull request #6677 from dokku/wrap-missing-helm-chart
Handle case where keda isn't installed properly
2024-03-06 18:43:26 -05:00
Jose Diaz-Gonzalez
f2892208c1 fix: handle case where keda isn't installed properly
If keda is not installed, warn the user that it isn't installed and ignore the rest.

Ignoring the error here is fine as it gives the user context but doesn't block a deploy.
2024-03-06 17:55:45 -05:00
Jose Diaz-Gonzalez
38ca3eac1c chore: drop extra logging call from app-json plugin 2024-03-06 17:44:22 -05:00
Dokku Bot
1eeaa781a0 Release 0.33.8
# History

## 0.33.8

Install/update via the bootstrap script:

```shell
wget -NP . https://dokku.com/install/v0.33.8/bootstrap.sh
sudo DOKKU_TAG=v0.33.8 bash bootstrap.sh
```

### Bug Fixes

- #6675: @josegonzalez Remove the need for executing crontab as root
- #6660: @josegonzalez Handle case where systemctl isn't in /usr/bin
- #6659: @josegonzalez Add missing cron:set command
- #6658: @josegonzalez Execute go get/build with mod in readonly mode
- #6642: @josegonzalez Use correct annotations key for the ingress chart
- #6631: @josegonzalez Correctly use cache volume for herokuish builds
- #6629: @josegonzalez Use smaller reference to image pull secrets in secret naming
- #6628: @josegonzalez Ensure non-web processes do not attempt to perform web logic in k3s templates
- #6623: @josegonzalez Do not allow reusing the same scheme:host-port mappings when setting ports
- #6624: @taraszka Install jq in vagrant vm
- #6614: @josegonzalez Correct issue where --force-tty was not properly supported by run:detached calls

### New Features

- #6673: @josegonzalez Add image version as label to built images
- #6640: @josegonzalez Add initial support for injecting keda addons
- #6662: @josegonzalez Allow limiting letsencrypt to certain domains when using openresty as a proxy
- #6643: @josegonzalez Add ability to add extra labels
- #6639: @josegonzalez Add support for setting underscores-in-headers for nginx, openresty, and k3s
- #6634: @josegonzalez feat: install keda addon in k3s cluster
- #6616: @josegonzalez Ensure referenced images get updated by dependabot
- #6613: @josegonzalez Add a helper binary to deploy a test app for local development

### Refactors

- #6644: @josegonzalez Only apply the cluster issuers helm chart when setting letsencrypt properties
- #6641: @josegonzalez Rename image pull secrets to standardize on secret naming pattern
- #6626: @josegonzalez Copy code into initial base image via docker build

### Documentation

- #6656: @holamendi Fix typo in builder management docs
- #6652: @Calyhre Added dokku-mdns to list of community plugins
- #6649: @undercontr Added detach flag to Docker installation documentation

### Dependencies

- #6671: @josegonzalez Update dokku dependencies
- #6672: @dependabot[bot] chore(deps): bump golang from 1.22.0 to 1.22.1 in /tests/apps/go-fail-predeploy
- #6670: @dependabot[bot] chore(deps): bump google.golang.org/grpc from 1.62.0 to 1.62.1 in /tests/apps/gogrpc
- #6669: @dependabot[bot] chore(deps): bump google.golang.org/protobuf from 1.32.0 to 1.33.0 in /tests/apps/gogrpc
- #6668: @dependabot[bot] chore(deps): bump golang from 1.22.0 to 1.22.1 in /tests/apps/zombies-dockerfile-tini
- #6667: @dependabot[bot] chore(deps): bump golang from 1.22.0 to 1.22.1 in /tests/apps/gogrpc
- #6664: @dependabot[bot] chore(deps): bump golang from 1.22.0 to 1.22.1 in /tests/apps/go-fail-postdeploy
- #6666: @dependabot[bot] chore(deps): bump pyparsing from 3.1.1 to 3.1.2 in /docs/_build
- #6665: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.12 to 9.5.13 in /docs/_build
- #6663: @dependabot[bot] chore(deps): bump golang from 1.22.0 to 1.22.1 in /tests/apps/zombies-dockerfile-no-tini
- #6661: @josegonzalez Bump go modules
- #6654: @dependabot[bot] chore(deps): bump pymdown-extensions from 10.7 to 10.7.1 in /docs/_build
- #6653: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.20.0 to 0.21.0 in /plugins/common
- #6651: @dependabot[bot] chore(deps): bump python-dateutil from 2.9.0 to 2.9.0.post0 in /docs/_build
- #6648: @dependabot[bot] chore(deps): bump python-dateutil from 2.8.2 to 2.9.0 in /docs/_build
- #6645: @dependabot[bot] chore(deps): bump rack from 2.2.8 to 2.2.8.1 in /tests/apps/ruby
- #6646: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.11 to 9.5.12 in /docs/_build
- #6638: @josegonzalez chore: bump go modules
- #6635: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 42.0.4 to 42.0.5
- #6636: @dependabot[bot] chore(deps): bump timberio/vector from 0.36.X-debian to 0.36.0-debian in /plugins/logs
- #6637: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.19.0 to 0.20.0 in /plugins/common
- #6619: @dependabot[bot] chore(deps): bump traefik from v2.10 to 2.11 in /plugins/traefik-vhosts
- #6622: @josegonzalez chore(deps): bump timberio/vector from 0.35.X-debian to 0.36.X-debian in /plugins/logs
- #6618: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.10 to 9.5.11 in /docs/_build
- #6621: @dependabot[bot] chore(deps): bump byjg/easy-haproxy from 4.3.0 to 4.4.0 in /plugins/haproxy-vhosts
- #6610: @dependabot[bot] chore(deps): bump helm.sh/helm/v3 from 3.14.1 to 3.14.2 in /plugins/scheduler-k3s
2024-03-06 16:40:18 +00:00
Jose Diaz-Gonzalez
08cf35aa36 fix: remove the need for executing crontab as root
This was done by design previously - to fix an issue with RHEL not allowing running crontab as the current user - but is no longer necessary with the removal of non-Debian platform support.
2024-03-06 09:36:48 -05:00
Jose Diaz-Gonzalez
342f636bf9 Merge pull request #6640 from dokku/k3s-keda-addon 2024-03-06 05:39:28 -05:00
Jose Diaz-Gonzalez
2986b95945 Merge pull request #6662 from dokku/openresty-domain-limit
Allow limiting letsencrypt to certain domains when using openresty as a proxy
2024-03-06 05:14:31 -05:00
Jose Diaz-Gonzalez
7c58bbf792 feat: setup cluster trigger authentication objects 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
6b74cd1d6b feat: implement autoscaling-auth:report 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
5b0bc0b132 fix: ensure the trigger type is properly set when handling global autoscaling auth objects 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
ba7a4d85b6 chore: document k3s autoscaling 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
9bba7843c1 fix: add labels subcommand to scheduler-k3s documentation 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
25ad302ed2 refactor: use enum to represent authentication type 2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
75eeb99a42 fix: pin to older version of godotenv
The newer version is pulled by something in k3s and somehow is - probably through workspace magic - pulled into the config plugin tests. We pin to the older version since parsing changed at some point, which will cause issues for users.

A future update should move this to the latest version and cause a BC break, but for now lets pin as expected.
2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
c0f01c58d6 feat: add initial support for interacting with ClusterTriggerAuthentication objects
These will be provisioned to the keda namespace and referenced by Triggers if they exist (as a fallback to app-specific values).
2024-03-06 03:39:11 -05:00
Jose Diaz-Gonzalez
94125ce787 chore: make secrets optional 2024-03-06 03:39:11 -05:00