25 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
cf84679133 fix: stop truncating existing files in common.TouchFile
`common.TouchFile` opened files with `O_TRUNC`, so the call from `common.SshTask.Execute` against `~/.ssh/known_hosts` emptied the dokku user's previously trusted host keys before `goph.DefaultKnownHosts()` read them. Running `scheduler-k3s:cluster:add` without `--insecure-allow-unknown-hosts` then failed with `knownhosts: key is unknown` and left a zero-byte `known_hosts`. The function now matches `touch(1)` semantics: create the file if missing, otherwise leave its contents intact.
2026-05-31 16:37:15 -04:00
Jose Diaz-Gonzalez
dc35a7876c fix: do not change permissions on config directory symlinks
When running in docker, the 'config' directory can be a symlink, which causes issues during plugin installation.

Refs #7308
2025-08-11 23:46:14 -04:00
Jose Diaz-Gonzalez
328aa3779c Merge pull request #7750 from dokku/0.36-release
Release 0.36.0
2025-07-23 22:02:58 -04:00
Jose Diaz-Gonzalez
577f46153f refactor: use helper go functions to handle extracting files from a repository
This standardizes the extraction code and makes it easier to reuse in future implementations of file extraction.

Additionally, this adds a way to extract folders from codebases.
2025-07-23 18:16:16 -04:00
largemouth
bc61d106e4 chore: fix struct name in comment
Signed-off-by: largemouth <largemouth@aliyun.com>
2025-06-17 18:11:21 +08:00
Jose Diaz-Gonzalez
44dd933638 refactor: remove all calls to common.NewShellCmd
At this point, the only usage of go-sh should be by plugin trigger calls.
2024-02-13 01:09:24 -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
06429a384e feat: install kubectx and kubens 2024-01-30 08:01:42 -05:00
Jose Diaz-Gonzalez
a277c5da1b refactor: allow setting more options when changing permissions on a file
Rather than hardcoding paths, just allow them to be options.
2024-01-30 07:31:02 -05:00
Jose Diaz-Gonzalez
b6425ab431 fix: ensure all copied files always have line endings converted to unix-style
Closes #6490
2024-01-24 23:54:10 -05:00
Jose Diaz-Gonzalez
59f74cbccf Merge pull request #6444 from dokku/write-to-slice-custom-mode
Allow setting a custom mode when writing a slice to a file
2024-01-18 20:53:58 -05:00
Jose Diaz-Gonzalez
8cc822eed0 fix: do not strip whitespace when displaying a file for debugging purposes 2024-01-18 19:13:44 -05:00
Jose Diaz-Gonzalez
fb73474675 refactor: allow setting a custom mode when writing a slice to a file 2024-01-18 19:11:53 -05:00
Eng Zer Jun
1d186a5a81 refactor(plugins): replace deprecated io/ioutil functions
The io/ioutil package has been deprecated as of Go 1.16 [1]. This commit
replaces the existing io/ioutil functions with their new definitions in
io and os packages.

[1]: https://golang.org/doc/go1.16#ioutil
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2023-12-22 01:59:22 +08:00
Jose Diaz-Gonzalez
55ca8e3d52 chore: drop debug calls 2022-11-25 14:50:35 -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
70fc35c317 chore: drop unsupported operating systems
We will no longer support CentOS, Fedora, and Opensuse as installation targets. These are not actively maintained by anyone with commit rights and occasionally cause issues for users as they are not tested during the release process.

Rather than have subpar support for an untested operating system, we're removing support for them completely. Users of these operating systems should take a look migration to the docker-based installation method, which will always be tested and supported by the project.

Additionally, drop support for Debian 9 as it is now EOL.
2022-08-07 18:36:30 -04:00
Jose Diaz-Gonzalez
0856b8d4af fix: correct the prefix check 2022-02-28 16:24:39 -05:00
Jose Diaz-Gonzalez
257baa1d46 refactor: run crontab under sudo to support rhel systems
RHEL blocks users from executing crontab as themselves Because Of Reasons so we need to use sudo instead.

Also refactors file writing to properly support writing the permissions on sudoers files going forward.

Closes #5020
2022-02-27 19:17:04 -05:00
Jose Diaz-Gonzalez
f558008574 fix: correct a few stickler errors 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
36dc98452d feat: add function for listing files within a directory by prefix 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
cf4a533f2f feat: add common.CatFile() 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
e0a70411dd fix: create the file if it does not exist 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
947b2d4db6 fix: add missing comment 2020-11-21 20:57:33 -05:00
Jose Diaz-Gonzalez
33d3722060 refactor: move common io-related functions into new file 2020-11-21 20:57:33 -05:00