Skip to content

Commit c56d858

Browse files
authored
Merge 66b6a97 into 8392e61
2 parents 8392e61 + 66b6a97 commit c56d858

14 files changed

+309
-27
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
v4.0.0
2+
- Added ability to run post job commands for Management-Add and ODKG jobs.
3+
14
v3.0.0
25
- Added support for post quantum ML-DSA certificates for store types RFPEM, RFJKS, RFPkcs12, and RFDER
36
- Added support for On Device Key Generation (ODKG)

README.md

Lines changed: 86 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -284,6 +284,7 @@ the Keyfactor Command Portal
284284
| IncludePortInSPN | Include Port in SPN for WinRM | Internally set the -IncludePortInSPN option when creating the remote PowerShell connection. Needed for some Kerberos configurations. | Bool | False | 🔲 Unchecked |
285285
| SSHPort | SSH Port | Integer value representing the port that should be used when connecting to Linux servers over SSH. Overrides SSHPort [config.json](#post-installation) setting. | String | | 🔲 Unchecked |
286286
| UseShellCommands | Use Shell Commands | 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) | Bool | True | 🔲 Unchecked |
287+
| PostJobApplicationRestart | Post Job Application Restart | Select the command to be run after a Management Add or ODKG job executes. Leave unselected if no command is desired. | MultipleChoice | Apache Tomcat Restart,Jetty Restart | 🔲 Unchecked |
287288

288289
The Custom Fields tab should look like this:
289290

@@ -359,6 +360,13 @@ the Keyfactor Command Portal
359360

360361

361362

363+
###### Post Job Application Restart
364+
Select the command to be run after a Management Add or ODKG job executes. Leave unselected if no command is desired.
365+
366+
![RFJKS Custom Field - PostJobApplicationRestart](docsource/images/RFJKS-custom-field-PostJobApplicationRestart-dialog.png)
367+
368+
369+
362370

363371

364372
</details>
@@ -479,6 +487,7 @@ the Keyfactor Command Portal
479487
| IncludePortInSPN | Include Port in SPN for WinRM | Internally set the -IncludePortInSPN option when creating the remote PowerShell connection. Needed for some Kerberos configurations. | Bool | False | 🔲 Unchecked |
480488
| SSHPort | SSH Port | Integer value representing the port that should be used when connecting to Linux servers over SSH. Overrides SSHPort [config.json](#post-installation) setting. | String | | 🔲 Unchecked |
481489
| UseShellCommands | Use Shell Commands | 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) | Bool | True | 🔲 Unchecked |
490+
| PostJobApplicationRestart | Post Job Application Restart | Select the command to be run after a Management Add or ODKG job executes. Leave unselected if no command is desired. | MultipleChoice | Apache HTTPD Restart,NGNIX Restart,HAProxy Restart,Envoy Proxy Restart | 🔲 Unchecked |
482491

483492
The Custom Fields tab should look like this:
484493

@@ -582,6 +591,13 @@ the Keyfactor Command Portal
582591

583592

584593

594+
###### Post Job Application Restart
595+
Select the command to be run after a Management Add or ODKG job executes. Leave unselected if no command is desired.
596+
597+
![RFPEM Custom Field - PostJobApplicationRestart](docsource/images/RFPEM-custom-field-PostJobApplicationRestart-dialog.png)
598+
599+
600+
585601

586602

587603
</details>
@@ -1405,7 +1421,39 @@ The Remote File Orchestrator Extension uses a JSON configuration file. It is loc
14051421
"DefaultLinuxPermissionsOnStoreCreation": "600",
14061422
"DefaultOwnerOnStoreCreation": "",
14071423
"SSHPort": "",
1408-
"UseShellCommands": "Y"
1424+
"UseShellCommands": "Y",
1425+
"PostJobCommands": [
1426+
{
1427+
"Name": "Apache Tomcat Restart",
1428+
"Environment": "Linux",
1429+
"Command": "sudo systemctl restart tomcat"
1430+
},
1431+
{
1432+
"Name": "Apache HTTPD Restart",
1433+
"Environment": "Linux",
1434+
"Command": "sudo systemctl restart httpd"
1435+
},
1436+
{
1437+
"Name": "NGNIX Restart",
1438+
"Environment": "Linux",
1439+
"Command": "sudo systemctl restart nginx"
1440+
},
1441+
{
1442+
"Name": "HAProxy Restart",
1443+
"Environment": "Linux",
1444+
"Command": "sudo systemctl restart haproxy"
1445+
},
1446+
{
1447+
"Name": "Envoy Proxy Restart",
1448+
"Environment": "Linux",
1449+
"Command": "sudo systemctl restart envoy"
1450+
},
1451+
{
1452+
"Name": "Jetty Restart",
1453+
"Environment": "Linux",
1454+
"Command": "sudo systemctl restart jetty"
1455+
}
1456+
]
14091457
}
14101458
```
14111459

@@ -1419,7 +1467,8 @@ The Remote File Orchestrator Extension uses a JSON configuration file. It is loc
14191467
| `DefaultLinuxPermissionsOnStoreCreation` | `600` | Any 3-digit value from 000-777 | Linux file permissions set on new certificate stores. If blank, permissions from the parent folder will be used. Only applicable for Linux hosted certificate stores. |
14201468
| `DefaultOwnerOnStoreCreation` | | Any valid user id | Sets the owner for newly created certificate stores. Can include group with format `ownerId:groupId`. If blank, the owner of the parent folder will be used. Only applicable for Linux hosted certificate stores. |
14211469
| `SSHPort` | | Any valid integer representing a port | The port that SSH is listening on. Default is 22. Only applicable for Linux hosted certificate stores. |
1422-
| `UseShellCommands` | `Y` | `Y/N` | 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) |
1470+
| `UseShellCommands` | `Y` | `Y/N` | 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). |
1471+
| `PostJobCommands` | | See JSON above | JSON values representing post processing commands for Management-Add and ODKG job. For a detailed explanation of this optional setting, please refer to [Post Job Command Execution](#post-job-command-execution). |
14231472

14241473

14251474
## Defining Certificate Stores
@@ -1460,6 +1509,7 @@ The Remote File Universal Orchestrator extension implements 6 Certificate Store
14601509
| IncludePortInSPN | Internally set the -IncludePortInSPN option when creating the remote PowerShell connection. Needed for some Kerberos configurations. |
14611510
| SSHPort | Integer value representing the port that should be used when connecting to Linux servers over SSH. Overrides SSHPort [config.json](#post-installation) setting. |
14621511
| UseShellCommands | 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) |
1512+
| PostJobApplicationRestart | Select the command to be run after a Management Add or ODKG job executes. Leave unselected if no command is desired. |
14631513

14641514
</details>
14651515

@@ -1495,6 +1545,7 @@ The Remote File Universal Orchestrator extension implements 6 Certificate Store
14951545
| Properties.IncludePortInSPN | Internally set the -IncludePortInSPN option when creating the remote PowerShell connection. Needed for some Kerberos configurations. |
14961546
| Properties.SSHPort | Integer value representing the port that should be used when connecting to Linux servers over SSH. Overrides SSHPort [config.json](#post-installation) setting. |
14971547
| Properties.UseShellCommands | 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) |
1548+
| Properties.PostJobApplicationRestart | Select the command to be run after a Management Add or ODKG job executes. Leave unselected if no command is desired. |
14981549

14991550
3. **Import the CSV file to create the certificate stores**
15001551

@@ -1565,6 +1616,7 @@ Please refer to the **Universal Orchestrator (remote)** usage section ([PAM prov
15651616
| IncludePortInSPN | Internally set the -IncludePortInSPN option when creating the remote PowerShell connection. Needed for some Kerberos configurations. |
15661617
| SSHPort | Integer value representing the port that should be used when connecting to Linux servers over SSH. Overrides SSHPort [config.json](#post-installation) setting. |
15671618
| UseShellCommands | 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) |
1619+
| PostJobApplicationRestart | Select the command to be run after a Management Add or ODKG job executes. Leave unselected if no command is desired. |
15681620

15691621
</details>
15701622

@@ -1604,6 +1656,7 @@ Please refer to the **Universal Orchestrator (remote)** usage section ([PAM prov
16041656
| Properties.IncludePortInSPN | Internally set the -IncludePortInSPN option when creating the remote PowerShell connection. Needed for some Kerberos configurations. |
16051657
| Properties.SSHPort | Integer value representing the port that should be used when connecting to Linux servers over SSH. Overrides SSHPort [config.json](#post-installation) setting. |
16061658
| Properties.UseShellCommands | 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) |
1659+
| Properties.PostJobApplicationRestart | Select the command to be run after a Management Add or ODKG job executes. Leave unselected if no command is desired. |
16071660

16081661
3. **Import the CSV file to create the certificate stores**
16091662

@@ -2121,6 +2174,36 @@ will still be executed when Use Shell Commands is set to Y.
21212174
Commands = 'N' will have no effect. Shell commands will continue to be used because there will be no SSH connection
21222175
available from which to execute SFTP commands.
21232176

2177+
## Post Job Command Execution
2178+
2179+
Beginning in Release 4.0 of the RemoteFile Orchestrator Extension, you can designate a single command to be run after Management-Add
2180+
and ODKG jobs. The typical (although not necessarily only) use case for this functionality would be to restart a process or service
2181+
after a certificate has been added or renewed/replaced in a certificate store so that the new certificate will be loaded into the
2182+
consuming process/service.
2183+
2184+
Steps to Implement:
2185+
1. Install RemoteFile Orchestrator Extension version 4.0 or later.
2186+
2. On the Universal Orchestrator server where RemoteFile is installed, modify the [config.json PostJobCommands section](#post-installation) to add/modify a post job command. The format of this section is an array of JSON objects containing:
2187+
* `Name` - The name of the command. Value must match what is entered for one of the `Multiple Choice Options` for the Custom Field created in Step 3.
2188+
* `Environment` - Linux or Windows. The certificate store server environment this command is valid for.
2189+
* `Command` - This is the actual command that will be run after a Management-Add or ODKG job if selected for the certificate store being managed.
2190+
3. Add a new (or edit the existing) Custom Field to the store type (RFJKS, RFPEM, etc) you wish to allow post Management-Add and ODKG job commands to be run commands after:
2191+
* Name = `PostJobApplicationRestart` (name and case must be exact)
2192+
* Display Name = your preference
2193+
* Type = `MultipleChoice`
2194+
* Multiple Choice Options = Comma delimited list of command name values. Each should match an entry in the config.json PostJobCommands as mentioned in Step 2. PLEASE NOTE: if you are on a Keyfactor Command release prior to 25.2, you will need to enter a leading "," (comma) in the Multiple Choice Options to have a default blank option (no command run) when creating your certificate store(s). For 25.2 or later, the comma is not needed, and a blank option will automatically be the default.
2195+
* Depends On = unchecked
2196+
* Required = unchecked
2197+
4. Restart the Universal Orchestrator
2198+
5. Create or modify a Keyfactor Command Certificate Store of the type modified in Step 3. You should see a dropdown list with a label matching the Display Name you entered in Step 3. The options in the dropdown should match the Multiple Choice Options you entered in Step 3 and each should match an entry in the config.json from Step 2. Select a value and save the store. For all successful Management-Add and ODKG jobs run for this store, the command entered in the config.json corresponding to the dropdown selection should be run over the SSH/WinRM connection used to process the job.
2199+
2200+
When a Management-Add or ODKG job is run for a Keyfactor Command Certificate Store that has a Post Job Command selected in the dropdown, the associated `Command` in the config.json will be run after job completeion as long as the Management-Add/ODKG job completes successfully.
2201+
2202+
Release 4.0 of the RemoteFile Orchestrator extension comes delivered with a config.json file containing an initial PostJobCommands section. You may keep these settings as is or modify based on the steps above. The integration-manifest.json file delivered with this integration contains the mappings of store types to these commands if you choose to use `kfutil` to create your RemoteFile store types.
2203+
2204+
[!IMPORTANT]
2205+
**PLEASE NOTE: The commands entered for Post Job Commands are the responsibility of the user. Keyfactor does not provide support for any issues arising from the use of these Post Job Commands INCLUDING those delivered with this release.**
2206+
21242207
## Developer Notes
21252208

21262209
The Remote File Orchestrator Extension is designed to be highly extensible, enabling its use with various file-based
@@ -2165,4 +2248,4 @@ Apache License 2.0, see [LICENSE](LICENSE).
21652248
21662249
## Related Integrations
21672250
2168-
See all [Keyfactor Universal Orchestrator extensions](https://github.com/orgs/Keyfactor/repositories?q=orchestrator).
2251+
See all [Keyfactor Universal Orchestrator extensions](https://github.com/orgs/Keyfactor/repositories?q=orchestrator).

0 commit comments

Comments
 (0)