Add Gitea runner installer, proxy/SSO support, and release workflow

Scripts:
- Add scripts/Install-GiteaRunner.ps1: cross-platform installer for the
  Gitea act_runner daemon (systemd / launchd / Windows Service).
  - PowerShell 7+ runtime guard (works under irm | iex).
  - Explicit env var resolution (Process -> User -> Machine) for
    InstanceUrl and RegistrationToken with named candidates.
  - UTF-8 (no BOM) for every file write via [System.IO.File] APIs.
  - System proxy + DefaultNetworkCredentials on all web calls.
  - Optional -Labels; ServiceName/ServiceDisplayName split prevents
    systemd 'Invalid unit name' errors caused by whitespace.
  - config.yaml is always generated before the registration skip-check
    so upgrades produce a config the daemon can load.

Module:
- InfisicalHttpClient: enable UseDefaultCredentials and attach the
  system proxy with DefaultNetworkCredentials so requests work behind
  authenticated corporate proxies / SSO.
- ExportInfisicalSecretsCmdlet: make the UTF-8 (no BOM) case explicit
  in the encoding resolver.

CI/CD (.gitea/workflows/publish-psgallery.yml):
- Split into build -> release -> publish with hard `needs:` ordering
  so publish never runs unless build and release both succeed.
- Build job uploads Module/PSInfisicalAPI as an artifact.
- Release job downloads the artifact, reads the version from the
  manifest, zips the module, and creates a Gitea release tagged with
  the bare version. Release notes include version, full + short commit
  SHA, build timestamp, merged PR info, workflow run link, and any
  matching CHANGELOG.md section. Skips cleanly when the tag already
  exists.
- Publish job re-validates the downloaded manifest and runs
  Publish-Module against PSGallery using PSGALLERY_API_KEY.
This commit is contained in:
GraceSolutions
2026-06-02 15:48:54 -04:00
parent fa65c18bc1
commit eaffeedf12
7 changed files with 1332 additions and 15 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
@{
RootModule = 'PSInfisicalAPI.psm1'
ModuleVersion = '2026.06.02.1724'
ModuleVersion = '2026.06.02.1907'
GUID = 'b8a2f3d4-7c51-4d2f-9e6a-1f0c8b3d4e51'
Author = 'Grace Solutions'
CompanyName = 'Grace Solutions'
@@ -27,7 +27,7 @@
LicenseUri = 'https://www.gnu.org/licenses/agpl-3.0.html'
ProjectUri = 'https://prod.git.gracesolution.info/gsadmin/PSInfisicalAPI'
ReleaseNotes = 'See CHANGELOG.md in the project repository for release history.'
CommitHash = '5801b4774af5'
CommitHash = 'fa65c18bc171'
}
}
}
Binary file not shown.