Skip to content

Merge 2.0.1 to main - #18

Merged
indrora merged 2 commits into
mainfrom
release-2.0
Sep 30, 2026
Merged

indrora merged 2 commits into
mainfrom
release-2.0

Conversation

@indrora

@indrora indrora commented Sep 30, 2026

Copy link
Copy Markdown
Member

Merge release-2.0 to main - Automated PR

bhillkeyfactor and others added 2 commits July 30, 2026 09:53
* ADO 84076: Apply template parameter defaults when Command omits them

Enrollment against a template that was added but never saved arrives with the
plugin's declared template parameters absent from ProductParameters, because
Command does not populate a template's parameter collection with the annotation
defaults until the template is saved. Previously this failed enrollment
(ValidityPeriod/ValidityUnits threw ArgumentException; RenewalDays returned a
failure result), matching the "given key was not present in the dictionary"
class of bug reported in 81803.

Add RequestManager.ResolveTemplateParameter, which returns the value supplied by
Command or falls back to the DefaultValue declared in
GetTemplateParameterAnnotations(). Use it for ValidityPeriod, ValidityUnits, and
RenewalDays so enrollment succeeds against an unsaved template using the same
defaults the annotations advertise. Only a parameter with neither a supplied
value nor a declared default remains an error.

* Target 26.2 gateway framework and align IAnyCAPlugin to 3.3.0

Update gateway_framework to 26.2 in integration-manifest.json and bump
Keyfactor.AnyGateway.IAnyCAPlugin from 3.0.0 to 3.3.0, matching the versions
used by the cscglobal and sslstore plugins on the 26.2 framework.

* Update generated docs

* Upgrade starter workflow to starter.yml@v5

Bump the Keyfactor bootstrap workflow from starter.yml@v3 to @v5, matching the
cscglobal and sslstore plugins. Adds the Command connection inputs
(command_token_url, command_hostname, command_base_api_path) and the entra /
command client secrets required by v5, and drops the obsolete
APPROVE_README_PUSH secret.

* docs: auto-generate README and documentation [skip ci]

* Add unit test project with coverage for RequestManager

Add HydrantCAProxy.Tests (xUnit) and wire it into the solution. Covers the
ADO 84076 template-parameter-default fix (ResolveTemplateParameter and its
wiring through GetEnrollmentRequest) plus the previously untested RequestManager
surface: revocation-reason mapping (including reason 0), status mapping,
renewal/enrollment request building, SAN construction, certificate list
requests, and enrollment result mapping. 38 tests.

---------

Co-authored-by: Keyfactor <keyfactor@keyfactor.github.io>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings September 30, 2026 23:27

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟢 Approval recommended

The functional changes are coherent and tested, with only minor documentation corrections noted.

Review effort: Balanced
Findings: 2 Low severity

Open (2)
What changed in this PR

Updates the plugin for Gateway 26.2 and improves enrollment reliability.

Changes:

  • Applies annotation defaults for missing template parameters.
  • Correctly decodes Base64 certificates during renewal.
  • Adds tests and updates framework, workflow, and installation metadata.
File Description
README.md Updates compatibility and .NET 10 installation guidance.
integration-manifest.json Targets Gateway framework 26.2.
HydrantIdCAProxy.sln Adds the test project and build configurations.
HydrantCAProxy/​RequestManager.cs Adds template-parameter default resolution.
HydrantCAProxy/​HydrantIdCAPlugin.csproj Upgrades the AnyCA plugin dependency.
HydrantCAProxy/​HydrantIdCAPlugin.cs Fixes certificate decoding and renewal defaults.
HydrantCAProxy.Tests/​RequestManagerTests.cs Adds request-manager coverage.
HydrantCAProxy.Tests/​HydrantCAProxy.Tests.csproj Defines the xUnit test project.
.github/​workflows/​keyfactor-starter-workflow.yml Upgrades the reusable workflow and credentials.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

}

[Theory]
[InlineData(2u)] // certificateHold — not supported
Comment thread README.md
2. ### Template (Product) Configuration

Each certificate template (policy) discovered from HydrantId requires configuration for enrollment:
Each certificate template (policy) discovered from HydrantId requires configuration for enrollment:
@indrora
indrora merged commit 42a4b3f into main Sep 30, 2026
27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants