Skip to content

Commit 2e2811f

Browse files
authored
Merge fd8665b into 6a435ae
2 parents 6a435ae + fd8665b commit 2e2811f

File tree

5 files changed

+325
-60
lines changed

5 files changed

+325
-60
lines changed

.github/workflows/update-stores.yml

Lines changed: 21 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,15 @@ jobs:
2828
run: |
2929
echo "TARGET_REPO_BRANCH=${{ github.event.client_payload.targetRef }}" | tee -a $GITHUB_ENV
3030
echo "KFUTIL_ARG=${{ github.event.client_payload.targetRepo }}" | tee -a $GITHUB_ENV
31+
- name: Set Branch Name based on targetRef
32+
id: set-branch-name
33+
run: |
34+
if [ "${{ env.TARGET_REPO_BRANCH }}" == "main" ]; then
35+
echo "BRANCH_NAME=${{ env.KFUTIL_ARG }}_${{ env.TARGET_REPO_BRANCH }}" | tee -a $GITHUB_ENV
36+
else
37+
echo "BRANCH_NAME=${{ env.KFUTIL_ARG }}" | tee -a $GITHUB_ENV
38+
fi
39+
3140
- name: Check Open PRs for Existing Branch
3241
id: check-branch
3342
uses: actions/github-script@v7
@@ -41,8 +50,8 @@ jobs:
4150
repo,
4251
state: "open"
4352
});
44-
// Filter out ones matching the KFUTIL_ARG from payload (repository_dispatch) or input (workflow_dispatch)
45-
const filteredData = pulls.data.filter(item => item.head.ref === '${{ env.KFUTIL_ARG }}'); // Look for an existing branch with the orchestrator repo name
53+
// Filter out ones matching our branch naming convention
54+
const filteredData = pulls.data.filter(item => item.head.ref === '${{ env.BRANCH_NAME }}');
4655
const isBranch = (filteredData.length > 0)
4756
if (isBranch) {
4857
const {
@@ -54,9 +63,9 @@ jobs:
5463
} else {
5564
core.setOutput('PR_BRANCH', 'create') // No branch, create one
5665
}
57-
console.log(`Branch exists?`)
58-
console.log(filteredData.length > 0)
59-
console.log(`targetRepo: ${{env.KFUTIL_ARG}}`)
66+
console.log(`Branch exists? ${filteredData.length > 0}`)
67+
console.log(`Branch name: ${{env.BRANCH_NAME}}`)
68+
6069
- name: set env.PR_BRANCH value for jobs
6170
run: |
6271
echo "PR_BRANCH=${{steps.check-branch.outputs.PR_BRANCH}}" | tee -a $GITHUB_ENV
@@ -72,7 +81,7 @@ jobs:
7281
cmd
7382
path: './merge-folder/'
7483
token: ${{ secrets.V2BUILDTOKEN }}
75-
ref: '${{env.KFUTIL_ARG}}'
84+
ref: '${{env.BRANCH_NAME}}'
7685

7786
# If the branch does not exist, first check out the main branch from kfutil.
7887
- name: Check out main
@@ -160,13 +169,13 @@ jobs:
160169
GITHUB_TOKEN: ${{ secrets.SDK_SYNC_PAT }}
161170
with:
162171
add: |
163-
store_types.json
172+
store_types.json
164173
./cmd/store_types.json --force
165174
message: Update store_types.json for ${{env.KFUTIL_ARG}}:${{env.TARGET_REPO_BRANCH}}
166175
author_name: Keyfactor
167176
author_email: [email protected]
168177
cwd: './merge-folder/'
169-
new_branch: ${{env.KFUTIL_ARG}}
178+
new_branch: ${{env.BRANCH_NAME}}
170179

171180
- name: Add and Commit to existing branch
172181
if: ${{ env.UPDATE_FILE == 'T' && env.PR_BRANCH == 'commit' }}
@@ -187,18 +196,14 @@ jobs:
187196
uses: actions/github-script@v7
188197
with:
189198
script: |
190-
console.log(`Created ${{env.KFUTIL_ARG}} `)
191-
console.log("Commit to ${{env.KFUTIL_ARG}} for PR")
199+
console.log(`Created ${{env.BRANCH_NAME}} `)
200+
console.log("Commit to ${{env.BRANCH_NAME}} for PR")
192201
const owner = context.repo.owner;
193202
const repo = context.repo.repo;
194-
195-
// Get the current branch name that the workflow is running on
196-
const baseBranch = context.payload.ref ?
203+
const baseBranch = context.payload.ref ?
197204
context.payload.ref.replace('refs/heads/', '') : 'main';
198-
199205
console.log(`Base branch for PR: ${baseBranch}`);
200-
201-
const newBranch = '${{env.KFUTIL_ARG}}';
206+
const newBranch = '${{env.BRANCH_NAME}}';
202207
const response = await github.rest.pulls.create({
203208
owner,
204209
repo,
@@ -208,5 +213,3 @@ jobs:
208213
body: 'The cert store update from ${{env.KFUTIL_ARG}}:${{env.TARGET_REPO_BRANCH}} needs to be verified and merged if correct.',
209214
});
210215
console.log(`Pull request created: ${{env.KFUTIL_ARG}}:${{env.TARGET_REPO_BRANCH}} : ${response.data.html_url}`);
211-
env:
212-
GITHUB_TOKEN: ${{ secrets.V2BUILDTOKEN }}

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
# v1.8.5
2+
3+
## Chores
4+
5+
- `store-types`: Rename `BIPCamera` to `BoschIPCamera` store-type.
6+
- `store-types`: Add `AxisIPCamera` store-type.
7+
- `store-types`: Update internal definitions to latest from Keyfactor GitHub repos.
8+
9+
# v1.8.4
10+
11+
## Chores
12+
13+
- `store-types`: Update internal definitions to latest from Keyfactor GitHub repos.
14+
115
# v1.8.3
216

317
## Chores

cmd/store_types.json

Lines changed: 144 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,19 @@
1717
"OnRemove": false,
1818
"OnReenrollment": false
1919
}
20+
},
21+
{
22+
"Name": "PreserveExistingTags",
23+
"DisplayName": "Preserve Existing Tags",
24+
"Description": "If true, this will perform a union of any tags provided with enrollment with the tags on the existing cert with the same alias and apply the result to the new certificate.",
25+
"Type": "Bool",
26+
"DefaultValue": "False",
27+
"RequiredWhen": {
28+
"HasPrivateKey": false,
29+
"OnAdd": false,
30+
"OnRemove": false,
31+
"OnReenrollment": false
32+
}
2033
}
2134
],
2235
"JobProperties": [],
@@ -957,7 +970,7 @@
957970
"PowerShell": false,
958971
"BlueprintAllowed": false,
959972
"CustomAliasAllowed": "Forbidden",
960-
"ClientMachineDescription": "The Client Machine field is the Akamai REST API URL. This should be equal to the the \"host\" value from the API credentials file.",
973+
"ClientMachineDescription": "The Client Machine field is the Akamai REST API URL. This should be equal to the \"host\" value from the API credentials file.",
961974
"StorePathDescription": "The Akamai network the certificate will be managed from. Value can be either \"Production\" or \"Staging\"."
962975
},
963976
{
@@ -1064,6 +1077,77 @@
10641077
"BlueprintAllowed": false,
10651078
"CustomAliasAllowed": "Required"
10661079
},
1080+
{
1081+
"Name": "Axis IP Camera",
1082+
"ShortName": "AxisIPCamera",
1083+
"Capability": "AxisIPCamera",
1084+
"ServerRequired": true,
1085+
"BlueprintAllowed": false,
1086+
"PowerShell": false,
1087+
"CustomAliasAllowed": "Required",
1088+
"PrivateKeyAllowed": "Forbidden",
1089+
"SupportedOperations": {
1090+
"Add": true,
1091+
"Create": false,
1092+
"Discovery": false,
1093+
"Enrollment": true,
1094+
"Remove": true
1095+
},
1096+
"PasswordOptions": {
1097+
"EntrySupported": false,
1098+
"StoreRequired": false,
1099+
"Style": "Default"
1100+
},
1101+
"Properties": [
1102+
{
1103+
"Name": "ServerUsername",
1104+
"DisplayName": "Server Username",
1105+
"Type": "Secret",
1106+
"DependsOn": "",
1107+
"DefaultValue": "",
1108+
"Required": true,
1109+
"Description": "Enter the username of the configured \"service\" user on the camera"
1110+
},
1111+
{
1112+
"Name": "ServerPassword",
1113+
"DisplayName": "Server Password",
1114+
"Type": "Secret",
1115+
"DependsOn": "",
1116+
"DefaultValue": "",
1117+
"Required": true,
1118+
"Description": "Enter the password of the configured \"service\" user on the camera"
1119+
},
1120+
{
1121+
"Name": "ServerUseSsl",
1122+
"DisplayName": "Use SSL",
1123+
"Type": "Bool",
1124+
"DependsOn": "",
1125+
"DefaultValue": "true",
1126+
"Required": true,
1127+
"Description": "Select True or False depending on if SSL (HTTPS) should be used to communicate with the camera. This should always be \"True\""
1128+
}
1129+
],
1130+
"EntryParameters": [
1131+
{
1132+
"Name": "CertUsage",
1133+
"DisplayName": "Certificate Usage",
1134+
"Type": "MultipleChoice",
1135+
"RequiredWhen": {
1136+
"HasPrivateKey": false,
1137+
"OnAdd": true,
1138+
"OnRemove": false,
1139+
"OnReenrollment": true
1140+
},
1141+
"Options": "HTTPS,IEEE802.X,MQTT,Trust,Other",
1142+
"Description": "The Certificate Usage to assign to the cert after enrollment. Can be left 'Other' to be assigned later."
1143+
}
1144+
],
1145+
"ClientMachineDescription": "The IP address of the Camera. Sample is \"192.167.231.174:44444\". Include the port if necessary.",
1146+
"StorePathDescription": "Enter the Serial Number of the camera e.g. `0b7c3d2f9e8a`",
1147+
"StorePathType": "",
1148+
"StorePathValue": "",
1149+
"JobProperties": []
1150+
},
10671151
{
10681152
"Name": "Azure App Registration (Application)",
10691153
"ShortName": "AzureApp",
@@ -1390,8 +1474,8 @@
13901474
},
13911475
{
13921476
"Name": "Bosch IP Camera",
1393-
"ShortName": "BIPCamera",
1394-
"Capability": "BIPCamera",
1477+
"ShortName": "BoschIPCamera",
1478+
"Capability": "BoschIPCamera",
13951479
"PrivateKeyAllowed": "Optional",
13961480
"ServerRequired": true,
13971481
"PowerShell": false,
@@ -3133,7 +3217,7 @@
31333217
"DependsOn": "",
31343218
"DefaultValue": "",
31353219
"Options": "",
3136-
"Description": "Name of the Windows cryptographic provider to use during reenrollment jobs when generating and storing the private keys. If not specified, defaults to 'Microsoft Strong Cryptographic Provider'. This value would typically be specified when leveraging a Hardware Security Module (HSM). The specified cryptographic provider must be available on the target server being managed. The list of installed cryptographic providers can be obtained by running 'certutil -csplist' on the target Server."
3220+
"Description": "Name of the Windows cryptographic service provider to use when generating and storing private keys. For more information, refer to the section 'Using Crypto Service Providers'"
31373221
},
31383222
{
31393223
"Name": "SAN",
@@ -4055,6 +4139,15 @@
40554139
"Type": "String",
40564140
"DefaultValue": "",
40574141
"Description": "Integer value representing the port that should be used when connecting to Linux servers over SSH. Overrides SSHPort [config.json](#post-installation) setting."
4142+
},
4143+
{
4144+
"Name": "UseShellCommands",
4145+
"DisplayName": "Use Shell Commands",
4146+
"Required": false,
4147+
"DependsOn": "",
4148+
"Type": "Bool",
4149+
"DefaultValue": "True",
4150+
"Description": "Recommended to be set to the default value of 'Y'. For a detailed explanation of this setting, please refer to [Use Shell Commands Setting](#use-shell-commands-setting)"
40584151
}
40594152
],
40604153
"EntryParameters": [],
@@ -4169,6 +4262,15 @@
41694262
"Type": "String",
41704263
"DefaultValue": "",
41714264
"Description": "Integer value representing the port that should be used when connecting to Linux servers over SSH. Overrides SSHPort [config.json](#post-installation) setting."
4265+
},
4266+
{
4267+
"Name": "UseShellCommands",
4268+
"DisplayName": "Use Shell Commands",
4269+
"Required": false,
4270+
"DependsOn": "",
4271+
"Type": "Bool",
4272+
"DefaultValue": "True",
4273+
"Description": "Recommended to be set to the default value of 'Y'. For a detailed explanation of this setting, please refer to [Use Shell Commands Setting](#use-shell-commands-setting)"
41724274
}
41734275
],
41744276
"EntryParameters": [],
@@ -4283,6 +4385,15 @@
42834385
"Type": "String",
42844386
"DefaultValue": "",
42854387
"Description": "Integer value representing the port that should be used when connecting to Linux servers over SSH. Overrides SSHPort [config.json](#post-installation) setting."
4388+
},
4389+
{
4390+
"Name": "UseShellCommands",
4391+
"DisplayName": "Use Shell Commands",
4392+
"Required": false,
4393+
"DependsOn": "",
4394+
"Type": "Bool",
4395+
"DefaultValue": "True",
4396+
"Description": "Recommended to be set to the default value of 'Y'. For a detailed explanation of this setting, please refer to [Use Shell Commands Setting](#use-shell-commands-setting)"
42864397
}
42874398
],
42884399
"EntryParameters": [],
@@ -4406,6 +4517,15 @@
44064517
"Type": "String",
44074518
"DefaultValue": "",
44084519
"Description": "Integer value representing the port that should be used when connecting to Linux servers over SSH. Overrides SSHPort [config.json](#post-installation) setting."
4520+
},
4521+
{
4522+
"Name": "UseShellCommands",
4523+
"DisplayName": "Use Shell Commands",
4524+
"Required": false,
4525+
"DependsOn": "",
4526+
"Type": "Bool",
4527+
"DefaultValue": "True",
4528+
"Description": "Recommended to be set to the default value of 'Y'. For a detailed explanation of this setting, please refer to [Use Shell Commands Setting](#use-shell-commands-setting)"
44094529
}
44104530
],
44114531
"EntryParameters": [],
@@ -4556,6 +4676,15 @@
45564676
"Type": "String",
45574677
"DefaultValue": "",
45584678
"Description": "Integer value representing the port that should be used when connecting to Linux servers over SSH. Overrides SSHPort [config.json](#post-installation) setting."
4679+
},
4680+
{
4681+
"Name": "UseShellCommands",
4682+
"DisplayName": "Use Shell Commands",
4683+
"Required": false,
4684+
"DependsOn": "",
4685+
"Type": "Bool",
4686+
"DefaultValue": "True",
4687+
"Description": "Recommended to be set to the default value of 'Y'. For a detailed explanation of this setting, please refer to [Use Shell Commands Setting](#use-shell-commands-setting)"
45594688
}
45604689
],
45614690
"EntryParameters": [],
@@ -4670,6 +4799,15 @@
46704799
"Type": "String",
46714800
"DefaultValue": "",
46724801
"Description": "Integer value representing the port that should be used when connecting to Linux servers over SSH. Overrides SSHPort [config.json](#post-installation) setting."
4802+
},
4803+
{
4804+
"Name": "UseShellCommands",
4805+
"DisplayName": "Use Shell Commands",
4806+
"Required": false,
4807+
"DependsOn": "",
4808+
"Type": "Bool",
4809+
"DefaultValue": "True",
4810+
"Description": "Recommended to be set to the default value of 'Y'. For a detailed explanation of this setting, please refer to [Use Shell Commands Setting](#use-shell-commands-setting)"
46734811
}
46744812
],
46754813
"EntryParameters": [],
@@ -5015,7 +5153,7 @@
50155153
"DependsOn": "",
50165154
"DefaultValue": "",
50175155
"Options": "",
5018-
"Description": "Name of the Windows cryptographic provider to use during reenrollment jobs when generating and storing the private keys. If not specified, defaults to 'Microsoft Strong Cryptographic Provider'. This value would typically be specified when leveraging a Hardware Security Module (HSM). The specified cryptographic provider must be available on the target server being managed. The list of installed cryptographic providers can be obtained by running 'certutil -csplist' on the target Server."
5156+
"Description": "Name of the Windows cryptographic service provider to use when generating and storing private keys. For more information, refer to the section 'Using Crypto Service Providers'"
50195157
},
50205158
{
50215159
"Name": "SAN",
@@ -5150,7 +5288,7 @@
51505288
"DependsOn": "",
51515289
"DefaultValue": "",
51525290
"Options": "",
5153-
"Description": "Optional string value specifying the name of the Windows cryptographic provider to use during reenrollment jobs when generating and storing private keys. Example: 'Microsoft Strong Cryptographic Provider'."
5291+
"Description": "Name of the Windows cryptographic service provider to use when generating and storing private keys. For more information, refer to the section 'Using Crypto Service Providers'"
51545292
},
51555293
{
51565294
"Name": "SAN",

pkg/version/version.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
package version
1616

1717
var (
18-
VERSION = "1.8.4"
19-
BUILD_DATE = "2025-09-10"
18+
VERSION = "1.8.5"
19+
BUILD_DATE = "2025-10-22"
2020
COMMIT = "HEAD"
2121
)

0 commit comments

Comments
 (0)