Commit Graph

19 Commits

Author SHA1 Message Date
Jose Diaz-Gonzalez
cf15fb139e Merge remote-tracking branch 'origin/master' into parallel-bash-reports
# Conflicts:
#	go.work
2026-07-07 10:38:57 -04:00
Jose Diaz-Gonzalez
3fee5b881a feat: port git :report subcommand to golang
The bash :report implementation for the git plugin is replaced with a compiled golang binary. Property, computed and global keys are collected in parallel, while the sha and last-updated-at keys still shell out to git and stat the deploy branch ref so their values are unchanged. The non-report git helpers such as fn-git-cmd and the computed deploy-branch and keep-git-dir getters remain in place for the build pipeline.
2026-07-07 07:02:38 -04:00
Jose Diaz-Gonzalez
6e5afb84a9 feat: port certs :report subcommand to golang
The bash :report implementation for the certs plugin is replaced with a compiled golang binary. The certificate inspection getters run openssl and reproduce the existing field extraction, so the ssl report keys are unchanged, while collection now happens in parallel and json is marshalled directly. The now-unused fn-ssl-* display helpers are dropped, and fn-certs-set and fn-certs-remove remain for certs:add and certs:remove.
2026-07-07 06:56:51 -04:00
Jose Diaz-Gonzalez
8d0c36bad6 feat: port checks and domains :report subcommands to golang
The bash :report implementations for the checks and domains plugins are replaced with a compiled golang binary that collects report keys in parallel and marshals json directly. The domains global report header now matches the shared renderer used by every other golang report, and its bats assertion is updated accordingly.
2026-07-07 06:43:31 -04:00
Jose Diaz-Gonzalez
5faabea3d4 feat: port vhost proxy :report subcommands to golang
The bash :report implementations for the caddy, haproxy, openresty, and traefik proxy plugins are replaced with a compiled golang binary that collects report keys in parallel and marshals json directly. The traefik dns-provider values keep their masking behaviour, remaining hidden in the default stdout report while surfacing for --format json or an explicit flag query. These four plugins previously had no unit tests, so a bats suite covering the report matrix is added for each.
2026-07-07 06:29:01 -04:00
Jose Diaz-Gonzalez
f9db9583a1 feat: port builder :report subcommands to golang
The bash :report implementations for the dockerfile, herokuish, lambda, nixpacks, pack, and railpack builders are replaced with a compiled golang binary that collects report keys in parallel and marshals json directly, avoiding the per-key subshell and jq forks that made the bash reports slow. The subcommands/report and root report trigger become symlinks to the compiled binary, while the non-report bash helpers each plugin still relies on are left in place.
2026-07-07 06:11:13 -04:00
Jose Diaz-Gonzalez
9c819cfebc feat: add --format json support to plugin:list
Adds a `--format json` flag to `plugin:list` whose output includes each plugin's install source - for git-based third-party plugins, the git remote URL, the checked-out commit, and the followed branch - so the set of installed plugins can be reconstructed elsewhere.

Closes #8798.
2026-07-07 05:17:40 -04:00
Jose Diaz-Gonzalez
4e87d1f447 feat: add storage entry and attachment types
Introduces the Entry and Attachment types that the storage plugin will use as the source of truth for named storage volumes, replacing the colon-delimited mount strings stored under docker-options. Entries persist as JSON under config/storage/entries and validate against scheduler-specific rules; attachments persist via the property list and capture how an app uses an entry. The legacy migration name synthesizer is also added so existing colon-form mounts can converge on a deterministic legacy- entry name. Existing storage commands are unchanged in this commit.
2026-04-29 14:36:47 -04:00
Jose Diaz-Gonzalez
cef1e7aff5 chore: bump go version to 1.26.2 and run go mod tidy 2026-04-26 09:57:35 -04:00
Jose Diaz-Gonzalez
8892da1a7f chore: bump go modules and run go mod tidy 2025-12-12 05:59:05 -05:00
Jose Diaz-Gonzalez
a1749d26e0 chore: bump go version to 1.25.1 and run go mod tidy 2025-09-10 22:46:09 -04:00
Jose Diaz-Gonzalez
b0c2912453 fix: use newer qson to add support for escaped = (equals) signs
Equal signs should be escaped - %3D - in order to be used in values.
2025-08-12 20:15:27 -04:00
Jose Diaz-Gonzalez
93f12c59e6 feat: update golang to 1.24 2025-07-08 21:14:33 -04:00
Jose Diaz-Gonzalez
675c285dff fix: respect GO* environment variables when building to ensure CGO is disabled
Without this, building Dokku on a newer operating system will result in binaries that do not work on older systems. The environment variables were only being set when building in docker, which has not been used in the release workflow for a while.
2024-09-23 02:54:48 -04:00
Jose Diaz-Gonzalez
8524ee3a3a chore: update go version to latest 1.23 patch 2024-08-25 00:23:50 -04:00
Jose Diaz-Gonzalez
6fb03eda4e feat: implement most of deployments
The big feature missing from deployments today is healthchecks, which require extra parsing of the app.json format since the healthchecks there aren't immediately serializable to kubernetes deployment healthchecks.

Other smaller missing functionality from the existing OSS kubernetes scheduler are:

- The ability to set custom pod annotations
- The ability to set custom deployment annotations
- The ability to mount volumes

Exposing these pieces of functionality will come at a later date, if at all.
2024-01-23 03:00:27 -05:00
Jose Diaz-Gonzalez
b1a7032e9f fix: correct format of go version in go.work file 2024-01-17 01:40:32 -05:00
Jose Diaz-Gonzalez
066dc29549 fix: drop missing plugin from go.work file 2024-01-17 01:22:25 -05:00
Jose Diaz-Gonzalez
e4d0b2ca22 feat: use go.work for development purposes
This makes it so we don't have to fake download dependencies for development, allowing for a better experience in your local editor.
2024-01-17 01:21:22 -05:00