Skip to content

Merge 2.5.0 to main#62

Merged
indrora merged 1 commit into
mainfrom
release-2.5
Jan 22, 2026
Merged

Merge 2.5.0 to main#62
indrora merged 1 commit into
mainfrom
release-2.5

Conversation

@indrora
Copy link
Copy Markdown
Member

@indrora indrora commented Jan 22, 2026

Merge release-2.5 to main - Automated PR

2.5.0: CA Bundle with ConfigMap + GKE Ambient Credentials Documentation
Copilot AI review requested due to automatic review settings January 22, 2026 23:05
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR merges the 2.5.0 release branch to main, introducing new features for CA bundle configuration flexibility and ambient credential improvements.

Changes:

  • Added support for ConfigMap-based CA trust bundles alongside existing Secret-based configuration
  • Introduced caBundleKey specification to select specific keys from CA bundle resources
  • Added Azure credential timeout and Google Kubernetes Engine (GKE) workload identity documentation

Reviewed changes

Copilot reviewed 24 out of 25 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
internal/controller/issuer_controller_test.go Added comprehensive test coverage for new CA bundle configuration options
internal/controller/issuer_controller.go Implemented ConfigMap support and key selection for CA bundles
internal/command/client.go Added timeout for Azure ambient credential token retrieval
e2e/run_tests.sh Extended E2E tests to validate CA bundle Secret/ConfigMap functionality
e2e/README.md Updated requirements and documented CA certificate configuration
e2e/.gitignore Added certs directory to gitignore for CA certificate storage
e2e/.env.example Added DISABLE_CA_CHECK environment variable
docsource/content.md Updated documentation for new CA bundle specifications
docs/ca-bundle/README.md New comprehensive CA bundle documentation including trust-manager integration
docs/ambient-providers/google.md New documentation for GKE workload identity configuration
deploy/charts/command-cert-manager-issuer/values.yaml Added ConfigMap access configuration and environment variable support
deploy/charts/command-cert-manager-issuer/templates/* Updated RBAC and deployment templates for ConfigMap access
deploy/charts/command-cert-manager-issuer/templates/crds/* Updated CRD schemas with new CA bundle fields
config/crd/bases/* Updated base CRD definitions with new specifications
cmd/main.go Added ConfigMap access flag and cache configuration
api/v1alpha1/issuer_types.go Added CaBundleConfigMapName and CaBundleKey fields to IssuerSpec
README.md Updated root documentation with new CA bundle references
Makefile Updated E2E test command
CHANGELOG.md Added v2.5.0 release notes

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread e2e/run_tests.sh
echo "🔎 Checking certificate request status..."

if [[ ! $(kubectl wait --for=condition=Ready certificaterequest/$CR_CR_NAME -n $ISSUER_NAMESPACE --timeout=30s) ]]; then
if [[ ! $(kubectl wait --for=condition=Ready certificaterequest/$CR_CR_NAME -n $ISSUER_NAMESPACE --timeout=70s) ]]; then
Copy link

Copilot AI Jan 22, 2026

Choose a reason for hiding this comment

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

The timeout value increased from 30s to 70s without explanation. Consider documenting why this specific timeout value was chosen (possibly related to the 10s Azure timeout added in client.go plus additional buffer), or extract it as a configurable constant.

Copilot uses AI. Check for mistakes.
@indrora indrora merged commit 3340f53 into main Jan 22, 2026
47 of 48 checks passed
indrora added a commit that referenced this pull request Apr 9, 2026
* feat: release 2.5.0 (#62)

2.5.0: CA Bundle with ConfigMap + GKE Ambient Credentials Documentation

Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>

* feat: add client caching to reduce OAuth token requests

Previously, every certificate request reconciliation created a new Command
API client, which meant a new OAuth token was fetched for each request.
For customers with OAuth provider quotas, this caused rate limiting issues.

This change introduces a ClientCache that:
- Caches Command API clients by configuration hash
- Reuses cached clients across reconciliations for the same issuer
- Allows the underlying oauth2 library's token caching to work as intended
- Is thread-safe for concurrent reconciliations

The cache key is a SHA-256 hash of all configuration fields that affect
the client connection (hostname, API path, credentials, scopes, etc.),
ensuring different issuers get different clients while the same issuer
reuses its client.

Fixes: OAuth token re-authentication on every request

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore(scripts): update scripting usability

* feat: update keyfactor-auth-client-go to v1.3.1

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: remove test short circuit

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Revert "Potential fix for pull request finding"

This reverts commit 19bc19b.

* chore: cleanup

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: break build & test into its own workflow

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* fix: remove lint from CI

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore(docs): update CHANGELOG

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

---------

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Morgan Gangwere <470584+indrora@users.noreply.github.com>
Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
indrora added a commit that referenced this pull request Apr 22, 2026
* feat: release 2.5.0

2.5.0: CA Bundle with ConfigMap + GKE Ambient Credentials Documentation

* release: 2.5.1

* feat: release 2.5.0 (#62)

2.5.0: CA Bundle with ConfigMap + GKE Ambient Credentials Documentation

Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>

* feat: add client caching to reduce OAuth token requests

Previously, every certificate request reconciliation created a new Command
API client, which meant a new OAuth token was fetched for each request.
For customers with OAuth provider quotas, this caused rate limiting issues.

This change introduces a ClientCache that:
- Caches Command API clients by configuration hash
- Reuses cached clients across reconciliations for the same issuer
- Allows the underlying oauth2 library's token caching to work as intended
- Is thread-safe for concurrent reconciliations

The cache key is a SHA-256 hash of all configuration fields that affect
the client connection (hostname, API path, credentials, scopes, etc.),
ensuring different issuers get different clients while the same issuer
reuses its client.

Fixes: OAuth token re-authentication on every request

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore(scripts): update scripting usability

* feat: update keyfactor-auth-client-go to v1.3.1

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: remove test short circuit

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Revert "Potential fix for pull request finding"

This reverts commit 19bc19b.

* chore: cleanup

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: break build & test into its own workflow

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* fix: remove lint from CI

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore(docs): update CHANGELOG

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

---------

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Morgan Gangwere <470584+indrora@users.noreply.github.com>
Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>
Co-authored-by: spb <1661003+spbsoluble@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
indrora added a commit that referenced this pull request Apr 30, 2026
* feat: release 2.5.0

2.5.0: CA Bundle with ConfigMap + GKE Ambient Credentials Documentation

* release: 2.5.1

* feat: release 2.5.0 (#62)

2.5.0: CA Bundle with ConfigMap + GKE Ambient Credentials Documentation

Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>

* feat: add client caching to reduce OAuth token requests

Previously, every certificate request reconciliation created a new Command
API client, which meant a new OAuth token was fetched for each request.
For customers with OAuth provider quotas, this caused rate limiting issues.

This change introduces a ClientCache that:
- Caches Command API clients by configuration hash
- Reuses cached clients across reconciliations for the same issuer
- Allows the underlying oauth2 library's token caching to work as intended
- Is thread-safe for concurrent reconciliations

The cache key is a SHA-256 hash of all configuration fields that affect
the client connection (hostname, API path, credentials, scopes, etc.),
ensuring different issuers get different clients while the same issuer
reuses its client.

Fixes: OAuth token re-authentication on every request

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore(scripts): update scripting usability

* feat: update keyfactor-auth-client-go to v1.3.1

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: remove test short circuit

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Revert "Potential fix for pull request finding"

This reverts commit 19bc19b.

* chore: cleanup

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: break build & test into its own workflow

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* fix: remove lint from CI

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore(docs): update CHANGELOG

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

---------

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Morgan Gangwere <470584+indrora@users.noreply.github.com>
Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Add missing namespace specification + address linting issues (#66)

* fix: log errors from Enrollment API call

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* fix: add missing namespaces, add linting to catch issues

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* feat: add linting

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: address lint issues

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: update CHANGELOG

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: apply copilot feedback

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* feat: fix typo

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* feat: copilot suggestions

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

---------

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

---------

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>
Co-authored-by: spb <1661003+spbsoluble@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
indrora added a commit that referenced this pull request May 21, 2026
* feat: release 2.5.0 (#62)

2.5.0: CA Bundle with ConfigMap + GKE Ambient Credentials Documentation

Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>

* Merge 2.5.1 to main (#65)

* feat: release 2.5.0

2.5.0: CA Bundle with ConfigMap + GKE Ambient Credentials Documentation

* release: 2.5.1

* feat: release 2.5.0 (#62)

2.5.0: CA Bundle with ConfigMap + GKE Ambient Credentials Documentation

Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>

* feat: add client caching to reduce OAuth token requests

Previously, every certificate request reconciliation created a new Command
API client, which meant a new OAuth token was fetched for each request.
For customers with OAuth provider quotas, this caused rate limiting issues.

This change introduces a ClientCache that:
- Caches Command API clients by configuration hash
- Reuses cached clients across reconciliations for the same issuer
- Allows the underlying oauth2 library's token caching to work as intended
- Is thread-safe for concurrent reconciliations

The cache key is a SHA-256 hash of all configuration fields that affect
the client connection (hostname, API path, credentials, scopes, etc.),
ensuring different issuers get different clients while the same issuer
reuses its client.

Fixes: OAuth token re-authentication on every request

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore(scripts): update scripting usability

* feat: update keyfactor-auth-client-go to v1.3.1

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: remove test short circuit

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Revert "Potential fix for pull request finding"

This reverts commit 19bc19b.

* chore: cleanup

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: break build & test into its own workflow

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* fix: remove lint from CI

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore(docs): update CHANGELOG

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

---------

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Morgan Gangwere <470584+indrora@users.noreply.github.com>
Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>
Co-authored-by: spb <1661003+spbsoluble@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Merge 2.5.2 to main (#67)

* feat: release 2.5.0

2.5.0: CA Bundle with ConfigMap + GKE Ambient Credentials Documentation

* release: 2.5.1

* feat: release 2.5.0 (#62)

2.5.0: CA Bundle with ConfigMap + GKE Ambient Credentials Documentation

Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>

* feat: add client caching to reduce OAuth token requests

Previously, every certificate request reconciliation created a new Command
API client, which meant a new OAuth token was fetched for each request.
For customers with OAuth provider quotas, this caused rate limiting issues.

This change introduces a ClientCache that:
- Caches Command API clients by configuration hash
- Reuses cached clients across reconciliations for the same issuer
- Allows the underlying oauth2 library's token caching to work as intended
- Is thread-safe for concurrent reconciliations

The cache key is a SHA-256 hash of all configuration fields that affect
the client connection (hostname, API path, credentials, scopes, etc.),
ensuring different issuers get different clients while the same issuer
reuses its client.

Fixes: OAuth token re-authentication on every request

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore(scripts): update scripting usability

* feat: update keyfactor-auth-client-go to v1.3.1

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: remove test short circuit

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Revert "Potential fix for pull request finding"

This reverts commit 19bc19b.

* chore: cleanup

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: break build & test into its own workflow

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* fix: remove lint from CI

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore(docs): update CHANGELOG

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

---------

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Morgan Gangwere <470584+indrora@users.noreply.github.com>
Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Add missing namespace specification + address linting issues (#66)

* fix: log errors from Enrollment API call

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* fix: add missing namespaces, add linting to catch issues

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* feat: add linting

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: address lint issues

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: update CHANGELOG

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: apply copilot feedback

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* feat: fix typo

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* feat: copilot suggestions

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

---------

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

---------

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>
Co-authored-by: spb <1661003+spbsoluble@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* chore(deps): patch vulnerable dependencies

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* fix(tests): fix test failures caused by merge conflict resolution issue

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore(docs): update CHANGELOG

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore(ci): update trigger for dependency review

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore(ci): address copilot feedback

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

---------

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Morgan Gangwere <470584+indrora@users.noreply.github.com>
Co-authored-by: spb <1661003+spbsoluble@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
indrora added a commit that referenced this pull request May 26, 2026
* feat: release 2.5.0

2.5.0: CA Bundle with ConfigMap + GKE Ambient Credentials Documentation

* release: 2.5.1

* feat: release 2.5.0 (#62)

2.5.0: CA Bundle with ConfigMap + GKE Ambient Credentials Documentation

Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>

* feat: add client caching to reduce OAuth token requests

Previously, every certificate request reconciliation created a new Command
API client, which meant a new OAuth token was fetched for each request.
For customers with OAuth provider quotas, this caused rate limiting issues.

This change introduces a ClientCache that:
- Caches Command API clients by configuration hash
- Reuses cached clients across reconciliations for the same issuer
- Allows the underlying oauth2 library's token caching to work as intended
- Is thread-safe for concurrent reconciliations

The cache key is a SHA-256 hash of all configuration fields that affect
the client connection (hostname, API path, credentials, scopes, etc.),
ensuring different issuers get different clients while the same issuer
reuses its client.

Fixes: OAuth token re-authentication on every request

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore(scripts): update scripting usability

* feat: update keyfactor-auth-client-go to v1.3.1

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: remove test short circuit

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Revert "Potential fix for pull request finding"

This reverts commit 19bc19b.

* chore: cleanup

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: break build & test into its own workflow

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* fix: remove lint from CI

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore(docs): update CHANGELOG

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

---------

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Morgan Gangwere <470584+indrora@users.noreply.github.com>
Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Add missing namespace specification + address linting issues (#66)

* fix: log errors from Enrollment API call

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* fix: add missing namespaces, add linting to catch issues

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* feat: add linting

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: address lint issues

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: update CHANGELOG

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: apply copilot feedback

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* feat: fix typo

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* feat: copilot suggestions

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

---------

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* v2.5.3: Patch vulnerable dependencies (#68)

* feat: release 2.5.0 (#62)

2.5.0: CA Bundle with ConfigMap + GKE Ambient Credentials Documentation

Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>

* Merge 2.5.1 to main (#65)

* feat: release 2.5.0

2.5.0: CA Bundle with ConfigMap + GKE Ambient Credentials Documentation

* release: 2.5.1

* feat: release 2.5.0 (#62)

2.5.0: CA Bundle with ConfigMap + GKE Ambient Credentials Documentation

Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>

* feat: add client caching to reduce OAuth token requests

Previously, every certificate request reconciliation created a new Command
API client, which meant a new OAuth token was fetched for each request.
For customers with OAuth provider quotas, this caused rate limiting issues.

This change introduces a ClientCache that:
- Caches Command API clients by configuration hash
- Reuses cached clients across reconciliations for the same issuer
- Allows the underlying oauth2 library's token caching to work as intended
- Is thread-safe for concurrent reconciliations

The cache key is a SHA-256 hash of all configuration fields that affect
the client connection (hostname, API path, credentials, scopes, etc.),
ensuring different issuers get different clients while the same issuer
reuses its client.

Fixes: OAuth token re-authentication on every request

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore(scripts): update scripting usability

* feat: update keyfactor-auth-client-go to v1.3.1

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: remove test short circuit

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Revert "Potential fix for pull request finding"

This reverts commit 19bc19b.

* chore: cleanup

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: break build & test into its own workflow

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* fix: remove lint from CI

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore(docs): update CHANGELOG

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

---------

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Morgan Gangwere <470584+indrora@users.noreply.github.com>
Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>
Co-authored-by: spb <1661003+spbsoluble@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Merge 2.5.2 to main (#67)

* feat: release 2.5.0

2.5.0: CA Bundle with ConfigMap + GKE Ambient Credentials Documentation

* release: 2.5.1

* feat: release 2.5.0 (#62)

2.5.0: CA Bundle with ConfigMap + GKE Ambient Credentials Documentation

Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>

* feat: add client caching to reduce OAuth token requests

Previously, every certificate request reconciliation created a new Command
API client, which meant a new OAuth token was fetched for each request.
For customers with OAuth provider quotas, this caused rate limiting issues.

This change introduces a ClientCache that:
- Caches Command API clients by configuration hash
- Reuses cached clients across reconciliations for the same issuer
- Allows the underlying oauth2 library's token caching to work as intended
- Is thread-safe for concurrent reconciliations

The cache key is a SHA-256 hash of all configuration fields that affect
the client connection (hostname, API path, credentials, scopes, etc.),
ensuring different issuers get different clients while the same issuer
reuses its client.

Fixes: OAuth token re-authentication on every request

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore(scripts): update scripting usability

* feat: update keyfactor-auth-client-go to v1.3.1

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: remove test short circuit

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Revert "Potential fix for pull request finding"

This reverts commit 19bc19b.

* chore: cleanup

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: break build & test into its own workflow

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* fix: remove lint from CI

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore(docs): update CHANGELOG

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

---------

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Morgan Gangwere <470584+indrora@users.noreply.github.com>
Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Add missing namespace specification + address linting issues (#66)

* fix: log errors from Enrollment API call

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* fix: add missing namespaces, add linting to catch issues

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* feat: add linting

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: address lint issues

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: update CHANGELOG

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore: apply copilot feedback

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* feat: fix typo

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* feat: copilot suggestions

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

---------

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

---------

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>
Co-authored-by: spb <1661003+spbsoluble@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* chore(deps): patch vulnerable dependencies

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* fix(tests): fix test failures caused by merge conflict resolution issue

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore(docs): update CHANGELOG

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore(ci): update trigger for dependency review

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

* chore(ci): address copilot feedback

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>

---------

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Morgan Gangwere <470584+indrora@users.noreply.github.com>
Co-authored-by: spb <1661003+spbsoluble@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Signed-off-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Matthew H. Irby <irby@users.noreply.github.com>
Co-authored-by: spb <1661003+spbsoluble@users.noreply.github.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: Matthew H. Irby <matt.irby@keyfactor.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
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