Skip to content

Commit 14db1d8

Browse files
authored
Merge 46a7a07 into 7642fad
2 parents 7642fad + 46a7a07 commit 14db1d8

27 files changed

+1914
-658
lines changed

.github/workflows/helm.yml

Lines changed: 9 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,12 @@
11
name: Build and Release Helm Chart
22
on:
3-
pull_request:
4-
branches:
5-
- 'release-*'
6-
types:
7-
# action should run when the pull request is closed
8-
# (regardless of whether it was merged or just closed)
9-
- closed
10-
# Make sure the action runs every time new commits are
11-
# pushed to the pull request's branch
12-
- synchronize
13-
3+
push:
4+
tags:
5+
- '[0-9]+.[0-9]+.[0-9]+' # 1.2.3 (exact match) - release candidates are excluded
6+
147
jobs:
158
helm:
169
runs-on: ubuntu-latest
17-
if: github.event.pull_request.merged == true
1810
steps:
1911
- name: Set IMAGE_NAME
2012
run: |
@@ -23,20 +15,20 @@ jobs:
2315
# Checkout code
2416
# https://github.com/actions/checkout
2517
- name: Checkout code
26-
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
18+
uses: actions/[email protected]
2719

2820
# Extract metadata (tags, labels) to use in Helm chart
2921
# https://github.com/docker/metadata-action
3022
- name: Extract Docker metadata
3123
id: meta
32-
uses: docker/metadata-action@96383f45573cb7f253c731d3b3ab81c87ef81934 # v5.0.0
24+
uses: docker/[email protected]
3325
with:
3426
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
3527

3628
# Set version from DOCKER_METADATA_OUTPUT_VERSION as environment variable
3729
- name: Set Version
3830
run: |
39-
echo "VERSION=${DOCKER_METADATA_OUTPUT_VERSION:8}.0" >> $GITHUB_ENV # Eventually will build this into Keyfactor bootstrap
31+
echo "VERSION=${{ github.ref_name }}" >> $GITHUB_ENV # Eventually will build this into Keyfactor bootstrap
4032
4133
# Change version and appVersion in Chart.yaml to the tag in the closed PR
4234
- name: Update Helm App/Chart Version
@@ -48,7 +40,7 @@ jobs:
4840
# Setup Helm
4941
# https://github.com/Azure/setup-helm
5042
- name: Install Helm
51-
uses: azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # v3.5
43+
uses: azure/[email protected]
5244
with:
5345
token: ${{ secrets.GITHUB_TOKEN }}
5446

@@ -61,7 +53,7 @@ jobs:
6153
# Build and release Helm chart to GitHub Pages
6254
# https://github.com/helm/chart-releaser-action
6355
- name: Run chart-releaser
64-
uses: helm/chart-releaser-action@be16258da8010256c6e82849661221415f031968 # v1.5.0
56+
uses: helm/[email protected]
6557
env:
6658
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
6759
with:

.github/workflows/keyfactor-bootstrap-workflow.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ jobs:
1414
build:
1515
name: Build and Lint
1616
runs-on: ubuntu-latest
17-
timeout-minutes: 5
17+
timeout-minutes: 8
1818
steps:
19-
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
20-
- uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
19+
- uses: actions/checkout@v4
20+
- uses: actions/setup-go@v4.2.1
2121
with:
2222
go-version-file: 'go.mod'
2323
cache: true
@@ -35,9 +35,9 @@ jobs:
3535
timeout-minutes: 5
3636
steps:
3737
- name: Checkout
38-
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0
38+
uses: actions/checkout@v4
3939
- name: Set up Go 1.x
40-
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
40+
uses: actions/setup-go@v4.2.1
4141
with:
4242
go-version-file: 'go.mod'
4343
cache: true

.gitignore

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,8 @@ bin
1919
# Helm
2020
*.tgz
2121

22-
.DS_Store
22+
.DS_Store
23+
24+
**/.env
25+
**/.env.*
26+
!**/.env.example

CHANGELOG.md

Lines changed: 43 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,40 @@
1-
# v1.0.4
2-
1+
# v2.2.0
32
## Features
4-
* feat(signer): Signer recognizes `metadata.command-issuer.keyfactor.com/<metadata-field-name>: <metadata-value>` annotations on the CertificateRequest resource and uses them to populate certificate metadata in Command.
5-
* feat(release): Container build and release now uses GitHub Actions.
3+
- Added support for enrolling CSRs with [Enrollment Patterns](https://software.keyfactor.com/Core-OnPrem/Current/Content/ReferenceGuide/Enrollment-Patterns.htm), a new feature introduced in Keyfactor Command 25.1. [Release notes](https://software.keyfactor.com/Core-OnPrem/Current/Content/ReleaseNotes/Release2511.htm)
4+
- Usage of `CertificateTemplate` is still supported, but if using Keyfactor Command 25.1 and above, it is recommended to start using Enrollment Patterns in your issuer specification. You may use `EnrollmentPatternId` or `EnrollmentPatternName` in your specification.
5+
- When using ambient credentials, some relevant token claims (subject, issuer, object ID, etc.) are logged for easier debugging and setup for security roles and identity providers.
6+
7+
## Chores
8+
- Updated documentation for using ambient credentials with Azure Kuberentes Services.
9+
- Removed documentation for using ambient credentials with Google Kubernetes Engine. As of writing, Google is not a supported identity provider in Keyfactor Command.
10+
- Migrated from using [keyfactor-go-client](https://github.com/Keyfactor/keyfactor-go-client) to [keyfactor-go-client-sdk](https://github.com/keyfactor/keyfactor-go-client-sdk).
611

712
## Fixes
8-
* fix(helm): CRDs now correspond to correct values for the `command-issuer`.
9-
* fix(helm): Signer Helm Chart now includes a `secureMetrics` value to enable/disable sidecar RBAC container for further protection of the `/metrics` endpoint.
10-
* fix(signer): Signer now returns CA chain bytes instead of appending to the leaf certificate.
11-
* fix(role): Removed permissions for `configmaps` resource types for the `leader-election-role` role.
13+
- Fix the Helm chart releaser job to not run into issues with overlapping Helm chart versions.
1214

13-
# v1.0.5
15+
# v2.1.1
1416

15-
## Features
16-
* feat(controller): Implement Kubernetes `client-go` REST client for Secret/ConfigMap retrieval to bypass `controller-runtime` caching system. This enables the reconciler to retrieve Secret and ConfigMap resources at the namespace scope with only namespace-level permissions.
17+
## Fixes
18+
- Update Helm chart deployment template to resolve Docker image metadata issue.
19+
20+
## Chores
21+
- Update documentation for more clear instructions on deploying workloads to Azure Kubernetes Service and Google Kubernetes Engine, as well as permissions needed on Command Security Roles.
22+
23+
# v2.1.0
1724

1825
## Fixes
19-
* fix(helm): Add configuration flag to configure chart to either grant cluster-scoped or namespace-scoped access to Secret and ConfigMap API
20-
* fix(controller): Add logic to read secret from reconciler namespace or Issuer namespace depending on Helm configuration.
26+
- Updated library golang.org/x/crypto to version v0.33.0 to address authorization bypass vulnerability (https://github.com/advisories/GHSA-v778-237x-gjrc)
27+
- Bug fix for Google ambient credentials
28+
29+
# v2.0.2
30+
31+
## Fixes
32+
- Bug fix in Helm chart release action
33+
34+
# v2.0.1
35+
36+
## Fixes
37+
- Change Helm release trigger from `v*` to `release-*` to support Keyfactor Bootstrap Workflow
2138

2239
# v2.0.0
2340

@@ -33,26 +50,23 @@
3350
- Refactor unit tests to use fake Command API instead of requiring live Command server.
3451
- Write e2e integration test.
3552

36-
# v2.0.1
37-
38-
## Fixes
39-
- Change Helm release trigger from `v*` to `release-*` to support Keyfactor Bootstrap Workflow
53+
# v1.0.5
4054

41-
# v2.0.2
55+
## Features
56+
* feat(controller): Implement Kubernetes `client-go` REST client for Secret/ConfigMap retrieval to bypass `controller-runtime` caching system. This enables the reconciler to retrieve Secret and ConfigMap resources at the namespace scope with only namespace-level permissions.
4257

4358
## Fixes
44-
- Bug fix in Helm chart release action
45-
46-
# v2.1.0
59+
* fix(helm): Add configuration flag to configure chart to either grant cluster-scoped or namespace-scoped access to Secret and ConfigMap API
60+
* fix(controller): Add logic to read secret from reconciler namespace or Issuer namespace depending on Helm configuration.
4761

48-
## Fixes
49-
- Updated library golang.org/x/crypto to version v0.33.0 to address authorization bypass vulnerability (https://github.com/advisories/GHSA-v778-237x-gjrc)
50-
- Bug fix for Google ambient credentials
62+
# v1.0.4
5163

52-
# v2.1.1
64+
## Features
65+
* feat(signer): Signer recognizes `metadata.command-issuer.keyfactor.com/<metadata-field-name>: <metadata-value>` annotations on the CertificateRequest resource and uses them to populate certificate metadata in Command.
66+
* feat(release): Container build and release now uses GitHub Actions.
5367

5468
## Fixes
55-
- Update Helm chart deployment template to resolve Docker image metadata issue.
56-
57-
## Chores
58-
- Update documentation for more clear instructions on deploying workloads to Azure Kubernetes Service and Google Kubernetes Engine, as well as permissions needed on Command Security Roles.
69+
* fix(helm): CRDs now correspond to correct values for the `command-issuer`.
70+
* fix(helm): Signer Helm Chart now includes a `secureMetrics` value to enable/disable sidecar RBAC container for further protection of the `/metrics` endpoint.
71+
* fix(signer): Signer now returns CA chain bytes instead of appending to the leaf certificate.
72+
* fix(role): Removed permissions for `configmaps` resource types for the `leader-election-role` role.

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Build the manager binary
2-
FROM golang:1.23.4 AS builder
2+
FROM golang:1.24 AS builder
33
ARG TARGETOS
44
ARG TARGETARCH
55

0 commit comments

Comments
 (0)