Commit Graph

12 Commits

Author SHA1 Message Date
GraceSolutions 51bf819c37 Request-InfisicalCertificate + PKI lifecycle, MAML help for all 39 cmdlets, chain-store routing fix
Cmdlets added: Request-InfisicalCertificate, Get-InfisicalCertificate, Get-InfisicalCertificates. Request supports BySubscriber/ByCa parameter sets, BouncyCastle CSR generation (RSA/ECDSA/Ed25519), local-key generation, -Install/-InstallChain (chain certs routed to Root vs CertificateAuthority by self-signed status), idempotency reuse with -AllowRenewal/-RenewalThresholdDays, local chain reconstruction with -LocalChainOnly opt-out, Infisical bundle fallback when local stores are incomplete, and private-key protection modes (Exportable/LocalOnly/NonExportable/Ephemeral) via -PrivateKeyProtection plus -PersistKey/-MachineKey/-PrivateKeyPath.

Install-InfisicalCertificate fix: chain certs were previously dumped into CertificateAuthority unconditionally. They are now routed by Subject==Issuer (self-signed -> Root, otherwise -> CertificateAuthority), matching Request-InfisicalCertificate. Routing centralized in InfisicalCertificateRequestHelpers.GetChainCertificateTargetStore and a new InstallChain(IEnumerable<X509Certificate2>,...) overload.

Help: authored Module/PSInfisicalAPI/en-US/PSInfisicalAPI.dll-Help.xml covering all 39 cmdlets (synopsis, description, notes, two examples per cmdlet: one-liner + OrderedDictionary splat with preceding Get- resolvers for IDs/slugs).

Build pipeline: build.ps1 stages the help XML into bin/<culture>/ next to the DLL during publish (hard-fails if missing or has zero <command:command> entries). Test-ModuleImports now enumerates every exported cmdlet via Get-Command, cross-checks against expected names, and asserts non-empty synopsis (rejecting auto-generated cmdlet-name fallback), non-empty description, and at least one example with a non-empty <dev:code> block.

Tests: 230/230 passing (up from 190).
2026-06-04 14:26:40 -04:00
GraceSolutions 1511dc4411 M10 PKI: add 6 cmdlets (Get-/Search-/ConvertTo-/Install-/Uninstall-/Export-InfisicalCertificate), BouncyCastle-backed PemCertificateBuilder, formatting/type metadata for PKI models, and cert-manager <-> pki route alias fallback via InvokeWithCandidateFallback. Primary CA paths now /api/v1/cert-manager/ca/internal[/{caId}]; legacy /api/v1/pki/* retained as fallback. 190/190 tests passing. 2026-06-03 21:24:09 -04:00
GraceSolutions e0a6ef02df M9: bulk + duplicate + connection inheritance
- Bulk parameter sets on New-/Update-/Remove-InfisicalSecret via v3/secrets/batch/raw.
- Copy-InfisicalSecret cmdlet wrapping v4/secrets/duplicate.
- InfisicalCmdletBase.Resolve{ProjectId,Environment,SecretPath,ApiVersion,OrganizationId} with verbose inheritance logging.
- All resource cmdlets refactored to use the resolution helpers.
- InfisicalBulkSecretConverter for flexible Hashtable -> DTO mapping.
- 22 new unit tests covering registry, DTOs, converter, and inheritance helpers. Total: 161 passing.
2026-06-03 19:59:11 -04:00
GraceSolutions 3d93fb1173 M6: Secrets mutation - New/Update/Remove cmdlets + client methods + DTO tests 2026-06-03 17:30:29 -04:00
GraceSolutions 84ece43d29 M5: Tags CRUD - model, DTOs, mapper, client, 5 cmdlets + tests 2026-06-03 17:27:49 -04:00
GraceSolutions 5316144933 M4: Folders CRUD - model, DTOs, mapper, client, 5 cmdlets + tests 2026-06-03 17:25:46 -04:00
GraceSolutions 6eab0713b5 M3: Environments CRUD - model, DTOs, mapper, client, 5 cmdlets + tests 2026-06-03 17:23:11 -04:00
GraceSolutions 0ebacddb2c M2: Projects CRUD - model, DTOs, mapper, client, 5 cmdlets + tests 2026-06-03 17:21:02 -04:00
GraceSolutions 7e5209190a Fix Infisical v4 query params, convert flags to switches, fix changelog regex
- InfisicalSecretsClient: use projectId / includeImports (camelCase) per Infisical v4 OpenAPI
- Get-InfisicalSecrets / Get-InfisicalSecret: change [bool] flag parameters to [switch]
- DesignSpec.md: updated 14.3 / 14.4 examples to match new switch syntax
- build.ps1: anchor Update-Changelog regex to the literal '## Unreleased' line and limit replacement to 1 to stop exponential duplication of carried-forward markers
- Manifest bumped to 2026.06.03.0032 (commit c866760105)
2026-06-02 20:33:12 -04:00
GraceSolutions fa65c18bc1 Strengthen import validation (manifest + help) and harden Gitea workflow 2026-06-02 13:25:18 -04:00
GraceSolutions 5801b4774a Rebrand to Grace Solutions; add README, about_ help, Gitea CI/CD, track Module bin 2026-06-02 12:49:39 -04:00
GraceSolutions 430e3a00c9 Implement PSInfisicalAPI module per design spec with env-var auto-discovery 2026-06-02 12:46:34 -04:00