feat(lfs): add built-in elastic-git-storage support with auto-install

First-class support for elastic-git-storage as a custom LFS transfer
agent. When lfsTransferAgent is set to "elastic-git-storage" (or
"elastic-git-storage@v1.0.0" for a specific version), the service
automatically finds or installs the agent from GitHub releases, then
configures it via git config.

Supports version pinning via @version suffix in the agent value,
eliminating the need for a separate version parameter. Platform and
architecture detection handles linux/darwin/windows on amd64/arm64.

37 unit tests covering detection, PATH lookup, installation, version
parsing, and configuration delegation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
frostebite
2026-03-05 08:46:22 +00:00
parent a0c79bd657
commit cf3478c8ec
3 changed files with 646 additions and 1 deletions
+3 -1
View File
@@ -320,7 +320,9 @@ inputs:
required: false
default: ''
description:
'Path to a custom Git LFS transfer agent executable (e.g. elastic-git-storage). When set, the agent is registered
'Custom Git LFS transfer agent. Set to "elastic-git-storage" for built-in support (auto-installs
from GitHub releases). Append @version for a specific release (e.g. "elastic-git-storage@v1.0.0").
Or provide a path to any custom transfer agent executable. When set, the agent is registered
via git config before LFS operations.'
lfsTransferAgentArgs:
required: false