Commit Graph

151 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
72067fcfd2 feat: add ability for users to specify alternative kubeconfig and kubecontext
This will provide the possibility for users to talk to existing kubernetes clusters, thereby removing one of the biggest reasons for having the old scheduler-kubernetes plugin around.
2024-02-22 07:42:15 -05:00
Jose Diaz-Gonzalez
93323bd0ff feat: add ability to clear out default values
Also add some tests
2024-02-22 06:55:02 -05:00
Jose Diaz-Gonzalez
193b1d8103 fix: set lower cpu/memory requests 2024-02-21 18:31:46 -05:00
Jose Diaz-Gonzalez
14eb60160c fix: avoid setting empty cpu/memory requests 2024-02-21 18:30:48 -05:00
Jose Diaz-Gonzalez
05c48430c5 fix: correct issue where resource values were ignored 2024-02-21 18:13:47 -05:00
dependabot[bot]
5e03ad1dd0 chore(deps): bump helm.sh/helm/v3 in /plugins/scheduler-k3s
Bumps [helm.sh/helm/v3](https://github.com/helm/helm) from 3.13.3 to 3.14.1.
- [Release notes](https://github.com/helm/helm/releases)
- [Commits](https://github.com/helm/helm/compare/v3.13.3...v3.14.1)

---
updated-dependencies:
- dependency-name: helm.sh/helm/v3
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-15 15:39:56 +00:00
Jose Diaz-Gonzalez
0b145e01f0 fix: use correct label key for worker nodes 2024-02-14 21:52:11 -05:00
Jose Diaz-Gonzalez
fe262a3a3c chore: remove extra trailing newline 2024-02-12 21:43:45 -05:00
Jose Diaz-Gonzalez
3c6cc68086 refactor: capture output by default
This is almost certainly the correct default for Dokku. While it's a BC break and might cause an increase in memory usage, the api is mostly internal and therefore this is safe to use.
2024-02-12 20:28:31 -05:00
Jose Diaz-Gonzalez
047a3c00f5 chore: remove default false values when calling CallExecCommand 2024-02-12 20:07:43 -05:00
Jose Diaz-Gonzalez
8a940c6e47 chore: remove all direct usage of go-sh outside of plugin trigger setup
The new way is to use CallExecCommand instead.
2024-02-12 19:29:16 -05:00
Dokku Bot
688ee518af Release 0.33.6
# History

## 0.33.6

Install/update via the bootstrap script:

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

### Bug Fixes

- #6589: @josegonzalez Use image pull secrets instead of registries.yaml to reference private repositories when deploying via k3s
- #6581: @josegonzalez Fix issues in tls handling when deploying via k3s
- #6582: @josegonzalez Correctly handle extra whitespace in scale file contents
- #6390: @renweibo Prefer systemctl over sv when both exist while restarting nginx
- #6579: @josegonzalez Ensure k3s can be installed with taints

### New Features

- #6585: @josegonzalez Add more context to errors in fetching cron entries
- #6583: @josegonzalez Add WithContext functions for all subprocess-related code

### Refactors

- #6584: @josegonzalez Use new CallExecCommand when checking to see how help is being called

### Dependencies

- #6586: @dependabot[bot] chore(deps): bump mvdan.cc/sh/v3 from 3.7.0 to 3.8.0 in /plugins/cron
- #6587: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.8 to 9.5.9 in /docs/_build
- #6381: @dependabot[bot] chore(deps): bump actions/upload-artifact from 3 to 4
- #6578: @josegonzalez Bump go modules

### Other

- #6576: @Tashows Allow creating a detached container with TTY enabled for attaching remote terminal
2024-02-12 22:56:50 +00:00
Jose Diaz-Gonzalez
1ae2df52f5 fix: use image pull secrets instead of registries.yaml to reference private repositories
While this will now more or less require a local docker login - which can be overridden by setting the image-pull-secrets property - this ensures every deploy has a valid context.

One annoying thing is that the secret is per-app vs global, meaning that if the secret must be rotated, all apps need to be redeployed. A future change can fix that by deploying a global secret, or if folks really desire, this can be done by setting the image-pull-secrets property on the app/globally.
2024-02-12 17:15:37 -05:00
Jose Diaz-Gonzalez
91151cf375 Merge pull request #6581 from dokku/tls-handling
Fix issues in tls handling when deploying via k3s
2024-02-12 16:38:39 -05:00
Jose Diaz-Gonzalez
3c5f95ff18 chore: update dependencies 2024-02-12 16:28:57 -05:00
Jose Diaz-Gonzalez
abbc13cb85 fix: ensure the ingress class is properly set for certificate usage
Without this, switching to nginx ingress fails as the cluster issuer isn't properly configured
2024-02-12 01:31:39 -05:00
Jose Diaz-Gonzalez
433eb26f3c feat: always skip the https ingress/ingress-route/deployment port entry if there is a corresponding http entry
Also inject the corresponding entries as necessary
2024-02-12 01:31:39 -05:00
Jose Diaz-Gonzalez
bfccf60a37 refactor: simplify tls handling by always redirecting 2024-02-12 01:31:39 -05:00
Jose Diaz-Gonzalez
50239b056c fix: use new CallExecCommand when checking to see how help is being called
This is part of ongoing work to remove usage of the depreated NewShellCmd.
2024-02-12 00:55:16 -05:00
Jose Diaz-Gonzalez
e452b9308f fix: ensure k3s can be installed with taints 2024-02-11 04:38:58 -05:00
Jose Diaz-Gonzalez
03b72ec684 chore: bump go modules 2024-02-11 02:49:00 -05:00
Dokku Bot
596d785fe4 Release 0.33.5
# History

## 0.33.5

Install/update via the bootstrap script:

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

### Bug Fixes

- #6574: @josegonzalez Correct indentation when configuring https on a k3s app

### Documentation

- #6575: @josegonzalez Remove reference to web ui from digitalocean install documentation

### Dependencies

- #6573: @dependabot[bot] chore(deps): bump golang from 1.21.6 to 1.22.0 in /tests/apps/go-fail-postdeploy
- #6569: @dependabot[bot] chore(deps): bump golang from 1.21.6 to 1.22.0 in /tests/apps/go-fail-predeploy
- #6570: @dependabot[bot] chore(deps): bump golang.org/x/crypto from 0.18.0 to 0.19.0 in /plugins/common
- #6571: @dependabot[bot] chore(deps): bump golang from 1.21.6 to 1.22.0 in /tests/apps/zombies-dockerfile-tini
- #6572: @dependabot[bot] chore(deps): bump python from 3.12.1-alpine to 3.12.2-alpine in /docs/_build
2024-02-09 20:02:30 +00:00
Jose Diaz-Gonzalez
af7e720d2a fix: correct indentation when configuring https on an app 2024-02-09 13:40:00 -05:00
Dokku Bot
ccf713c104 Release 0.33.4
# History

## 0.33.4

Install/update via the bootstrap script:

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

### Bug Fixes

- #6564: @josegonzalez Ignore link and volume flags for nixpacks builds
- #6563: @josegonzalez Wait until initial k3s node is ready before installing manifests
- #6561: @josegonzalez Index the process map to ensure the correct config is pulled
- #6560: @josegonzalez Skip app stop/delete when k3s is not installed
- #6559: @josegonzalez Check errors when writing properties
- #6556: @josegonzalez Respect the release namespace when creating resources for a k3s deploy

### New Features

- #6562: @josegonzalez Add support for specifying annotations on kubernetes resources
- #6555: @josegonzalez Add support for app-specific service accounts when deploying via k3s
- #6546: @josegonzalez Install kubectx and kubens helper binaries when setting up a k3s cluster

### Refactors

- #6558: @josegonzalez Use type-specific functions for writing contents to a file
- #6557: @josegonzalez Consolidate property fetching for nginx plugin into golang codebase
- #6536: @josegonzalez Manage vector container via compose

### Documentation

- #6545: @josegonzalez Migrate markdown doc rewriting into mkdocs hooks

### Tests

- #6554: @josegonzalez Fix issue where CI cannot install docker-buildx-plugin

### Dependencies

- #6568: @dependabot[bot] chore(deps): bump golang from 1.21.6 to 1.22.0 in /tests/apps/gogrpc
- #6567: @dependabot[bot] chore(deps): bump watchdog from 3.0.0 to 4.0.0 in /docs/_build
- #6566: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.7 to 9.5.8 in /docs/_build
- #6565: @dependabot[bot] chore(deps): bump golang from 1.21.6 to 1.22.0 in /tests/apps/zombies-dockerfile-no-tini
- #6551: @dependabot[bot] chore(deps): bump flask from 3.0.1 to 3.0.2 in /tests/apps/multi
- #6552: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.6 to 9.5.7 in /docs/_build
- #6553: @dependabot[bot] chore(deps): bump markupsafe from 2.1.4 to 2.1.5 in /docs/_build
- #6550: @dependabot[bot] chore(deps): bump flask from 3.0.1 to 3.0.2 in /tests/apps/python-flask
- #6548: @dependabot[bot] chore(deps): bump org.eclipse.jetty:jetty-servlet from 11.0.19 to 11.0.20 in /tests/apps/java

### Other

- #6547: @josegonzalez Add support for nginx as a k3s ingress implementation
2024-02-07 21:38:43 +00:00
Jose Diaz-Gonzalez
cd4f9db95b fix: use annotation instead of location snippet 2024-02-07 13:15:16 -05:00
Jose Diaz-Gonzalez
03ae424a27 fix: ensure map keys are unique 2024-02-07 00:01:57 -05:00
Jose Diaz-Gonzalez
e9986b5775 chore: unsort flags 2024-02-06 23:02:55 -05:00
Jose Diaz-Gonzalez
980979ef87 feat: properly handle nginx annotation merging 2024-02-06 22:48:22 -05:00
Jose Diaz-Gonzalez
7dbd9adc33 fix: set log mount dir to /var/log/nginx 2024-02-06 22:12:54 -05:00
Jose Diaz-Gonzalez
416a119904 feat: pull nginx properties as ingress annotations 2024-02-06 22:12:54 -05:00
Jose Diaz-Gonzalez
1af36b609d feat: add resource-specific annotations to ingress objects 2024-02-06 22:12:41 -05:00
Jose Diaz-Gonzalez
5674a29211 feat: add ability to use ingress-nginx for routing instead of traefik 2024-02-06 21:19:51 -05:00
Jose Diaz-Gonzalez
b35d6df67c feat: add support for displaying error logs 2024-02-06 21:19:14 -05:00
Jose Diaz-Gonzalez
81286a0673 feat: add ability to install nginx instead of traefik 2024-02-06 21:19:14 -05:00
Jose Diaz-Gonzalez
8711a1c801 fix: force set the kubectl path when running kubectl commands 2024-02-06 14:39:48 -05:00
Jose Diaz-Gonzalez
f5f583b12b feat: add support for specifying annotations
As the command contains a colon, it must be handled in the commands binary as opposed to subcommands.

Also include a simple bats test.
2024-02-06 13:54:53 -05:00
Jose Diaz-Gonzalez
408acbe14e feat: wait until initial k3s node is ready before installing manifests 2024-02-06 13:53:34 -05:00
Jose Diaz-Gonzalez
e08e1df026 Merge pull request #6561 from dokku/process-index
Index the process map to ensure the correct config is pulled
2024-02-06 05:16:56 -05:00
Jose Diaz-Gonzalez
d7ff8552d1 fix: index the process map to ensure the correct config is pulled
Without this change, certain generated process names - like those for a cron job - may be incorrectly handled when indexing the process map.
2024-02-06 04:41:14 -05:00
Jose Diaz-Gonzalez
96e79487b9 fix: skip app stop/delete when k3s is not installed 2024-02-06 04:38:04 -05:00
Jose Diaz-Gonzalez
5e1089973e refactor: use type-specific functions for writing contents to a file 2024-02-06 01:39:44 -05:00
Jose Diaz-Gonzalez
6625846ecc Merge pull request #6555 from dokku/service-account
Add support for app-specific service accounts when deploying via k3s
2024-02-05 17:18:20 -05:00
Jose Diaz-Gonzalez
238535be0c fix: respect the release namespace when creating resources for a k3s deploy 2024-02-05 16:50:00 -05:00
Jose Diaz-Gonzalez
d02c04c2a5 feat: add support for app-specific service accounts when deploying via k3s
Service accounts must still be bound to a role, but this ensures apps do not get access to the default service account.
2024-02-05 16:47:57 -05:00
Jose Diaz-Gonzalez
06429a384e feat: install kubectx and kubens 2024-01-30 08:01:42 -05:00
Dokku Bot
aff753ca67 Release 0.33.3
# History

## 0.33.3

Install/update via the bootstrap script:

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

### Bug Fixes

- #6542: @josegonzalez Drop -- when calling dokku run for cron-tab templating

### Documentation

- #6543: @josegonzalez Add support for badge shortcodes in documentation
2024-01-29 17:54:35 +00:00
Dokku Bot
2e66cee50f Release 0.33.2
# History

## 0.33.2

Install/update via the bootstrap script:

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

### Bug Fixes

- #6535: @josegonzalez Properly fetch default vector image if none is passed
- #6533: @josegonzalez Ensure all k3s traefik middleware resources are scoped to the process
- #6524: @josegonzalez Ensure all copied files always have line endings converted to unix-style

### New Features

- #6537: @josegonzalez Add the dokku logo as the chart icon
- #6527: @josegonzalez Upgrade vector image to 0.35.x
- #6534: @josegonzalez Allow specifying an ingress class via chart value

### Documentation

- #6530: @josegonzalez Fix indentation on letsencrypt sections for k3s scheduler docs

### Tests

- #6532: @josegonzalez Correct issues in tests for vector image log property

### Dependencies

- #6540: @dependabot[bot] chore(deps): bump mkdocs-material from 9.5.5 to 9.5.6 in /docs/_build
- #6538: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 42.0.1 to 42.0.2
- #6528: @dependabot[bot] chore(deps): bump tj-actions/changed-files from 42.0.0 to 42.0.1
- #6529: @dependabot[bot] chore(deps): bump google.golang.org/protobuf from 1.31.0 to 1.32.0 in /tests/apps/gogrpc

### Other

- #6526: @josegonzalez Allow setting the vector image as a global property
2024-01-29 14:20:48 +00:00
Jose Diaz-Gonzalez
029e1f5f48 feat: add the dokku logo as the chart icon 2024-01-26 06:55:46 -05:00
Jose Diaz-Gonzalez
f5182aa553 feat: allow specifying an ingress class via chart value
While Dokku currently only supports traefik, providing this setting will allow swapping out the ingress to another fairly easily.
2024-01-26 03:23:34 -05:00
Jose Diaz-Gonzalez
5b8e8b91e3 fix: ensure all k3s traefik middleware resources are scoped to the process
While we currently only create the middleware for the web process, scoping it by process will allow us to expand this in the future.
2024-01-26 01:38:29 -05:00