Skip to content

Commit 4b1329e

Browse files
committed
chore(docs): Translate doc structure for compatibility with doctool and upgrade bootstrap workflow
1 parent 56bc667 commit 4b1329e

File tree

6 files changed

+465
-173
lines changed

6 files changed

+465
-173
lines changed

.github/workflows/keyfactor-starter-workflow.yml renamed to .github/workflows/keyfactor-release-workflow.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Keyfactor Bootstrap Workflow
1+
name: Keyfactor Release Workflow
22

33
on:
44
workflow_dispatch:
@@ -11,9 +11,10 @@ on:
1111

1212
jobs:
1313
call-starter-workflow:
14-
uses: keyfactor/actions/.github/workflows/starter.yml@v2
14+
uses: keyfactor/actions/.github/workflows/starter.yml@v3
1515
secrets:
1616
token: ${{ secrets.V2BUILDTOKEN}}
1717
APPROVE_README_PUSH: ${{ secrets.APPROVE_README_PUSH}}
1818
gpg_key: ${{ secrets.KF_GPG_PRIVATE_KEY }}
1919
gpg_pass: ${{ secrets.KF_GPG_PASSPHRASE }}
20+

README.md

Lines changed: 110 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -1,154 +1,164 @@
1+
<h1 align="center" style="border-bottom: none">
2+
GCP Load Balancer Universal Orchestrator Extension
3+
</h1>
14

2-
# GCP Load Balancer
5+
<p align="center">
6+
<!-- Badges -->
7+
<img src="https://img.shields.io/badge/integration_status-production-3D1973?style=flat-square" alt="Integration Status: production" />
8+
<a href="https://github.com/Keyfactor/gcp-loadbalancer-orchestrator/releases"><img src="https://img.shields.io/github/v/release/Keyfactor/gcp-loadbalancer-orchestrator?style=flat-square" alt="Release" /></a>
9+
<img src="https://img.shields.io/github/issues/Keyfactor/gcp-loadbalancer-orchestrator?style=flat-square" alt="Issues" />
10+
<img src="https://img.shields.io/github/downloads/Keyfactor/gcp-loadbalancer-orchestrator/total?style=flat-square&label=downloads&color=28B905" alt="GitHub Downloads (all assets, all releases)" />
11+
</p>
312

4-
The Google Cloud Platform (GCP) Load Balancer Orchestrator allows for the management of Google Cloud Platform Load Balancer certificate stores. Inventory, Management-Add, and Management-Remove functions are supported. Also, re-binding to endpoints IS supported for certificate renewals (but NOT adding new certificates). The orchestrator uses the Google Cloud Compute Engine API (https://cloud.google.com/compute/docs/reference/rest/v1) to manage stores.
13+
<p align="center">
14+
<!-- TOC -->
15+
<a href="#support">
16+
<b>Support</b>
17+
</a>
18+
·
19+
<a href="#installation">
20+
<b>Installation</b>
21+
</a>
22+
·
23+
<a href="#license">
24+
<b>License</b>
25+
</a>
26+
·
27+
<a href="https://github.com/orgs/Keyfactor/repositories?q=orchestrator">
28+
<b>Related Integrations</b>
29+
</a>
30+
</p>
531

6-
#### Integration status: Production - Ready for use in production environments.
732

8-
## About the Keyfactor Universal Orchestrator Extension
33+
## Overview
934

10-
This repository contains a Universal Orchestrator Extension which is a plugin to the Keyfactor Universal Orchestrator. Within the Keyfactor Platform, Orchestrators are used to manage “certificate stores” &mdash; collections of certificates and roots of trust that are found within and used by various applications.
35+
The GCP Load Balancer Universal Orchestrator extension enables Keyfactor Command to manage SSL/TLS certificates within Google Cloud Platform (GCP) Load Balancers. GCP Load Balancers ensure that users can securely access applications using HTTPS by utilizing SSL/TLS certificates. These certificates need to be managed efficiently to ensure uninterrupted, secure connections.
1136

12-
The Universal Orchestrator is part of the Keyfactor software distribution and is available via the Keyfactor customer portal. For general instructions on installing Extensions, see the “Keyfactor Command Orchestrator Installation and Configuration Guide” section of the Keyfactor documentation. For configuration details of this specific Extension see below in this readme.
37+
Within Keyfactor Command, defined Certificate Stores represent the configured SSL/TLS certificates that are managed in the GCP environment. These Certificate Stores can be thought of as logical groupings of certificates, which can be associated with specific GCP projects or regions. The Orchestrator's job is to automate the inventory, addition, and removal of these certificates, streamlining the certificate lifecycle management process for GCP Load Balancers.
1338

14-
The Universal Orchestrator is the successor to the Windows Orchestrator. This Orchestrator Extension plugin only works with the Universal Orchestrator and does not work with the Windows Orchestrator.
39+
## Compatibility
1540

16-
## Support for GCP Load Balancer
41+
This integration is compatible with Keyfactor Universal Orchestrator version 10.1 and later.
1742

18-
GCP Load Balancer is supported by Keyfactor for Keyfactor customers. If you have a support issue, please open a support ticket via the Keyfactor Support Portal at https://support.keyfactor.com
43+
## Support
44+
The GCP Load Balancer Universal Orchestrator extension is supported by Keyfactor for Keyfactor customers. If you have a support issue, please open a support ticket with your Keyfactor representative. If you have a support issue, please open a support ticket via the Keyfactor Support Portal at https://support.keyfactor.com.
45+
46+
> To report a problem or suggest a new feature, use the **[Issues](../../issues)** tab. If you want to contribute actual bug fixes or proposed enhancements, use the **[Pull requests](../../pulls)** tab.
1947
20-
###### To report a problem or suggest a new feature, use the **[Issues](../../issues)** tab. If you want to contribute actual bug fixes or proposed enhancements, use the **[Pull requests](../../pulls)** tab.
48+
## Installation
49+
Before installing the GCP Load Balancer Universal Orchestrator extension, it's recommended to install [kfutil](https://github.com/Keyfactor/kfutil). Kfutil is a command-line tool that simplifies the process of creating store types, installing extensions, and instantiating certificate stores in Keyfactor Command.
2150

22-
---
2351

52+
1. Follow the [requirements section](docs/gcploadbal.md#requirements) to configure a Service Account and grant necessary API permissions.
2453

25-
---
54+
<details><summary>Requirements</summary>
2655

56+
### GCP Load Balancer Configuration
2757

58+
**1. In Keyfactor Command, go to Settings (the gear icon in the top right) => Certificate Store Types and create a new certificate store type:**
2859

29-
## Keyfactor Version Supported
60+
![](images/image1.png)
3061

31-
The minimum version of the Keyfactor Universal Orchestrator Framework needed to run this version of the extension is 10.1
32-
## Platform Specific Notes
62+
![](images/image2.png)
3363

34-
The Keyfactor Universal Orchestrator may be installed on either Windows or Linux based platforms. The certificate operations supported by a capability may vary based what platform the capability is installed on. The table below indicates what capabilities are supported based on which platform the encompassing Universal Orchestrator is running.
35-
| Operation | Win | Linux |
36-
|-----|-----|------|
37-
|Supports Management Add|&check; | |
38-
|Supports Management Remove|&check; | |
39-
|Supports Create Store| | |
40-
|Supports Discovery| | |
41-
|Supports Renrollment| | |
42-
|Supports Inventory|&check; | |
64+
The certificate store type set up for the GCP Load Balancer Orchestrator should have the following options set:
4365

66+
- **Name:** A descriptive name for the certificate store type
67+
- **Short Name:** Must be **GCPLoadBal** or the alternative name you used to create the folder in the {installation folder}\extensions folder.
68+
- **Custom Capability** - Leave unchecked
69+
- **Supported Job Types** – Select Inventory, Add, and Remove
70+
- **General Settings** - Leave Needs Server and Uses PowerShell unchecked. Select Blueprint Allowed if you plan to use blueprinting.
71+
- **Password Settings** - Leave both options unchecked
72+
- **Store Path Type** - Freeform
73+
- **Supports Custom Alias** - Optional. If no alias is provided, one will be dynamically created by the GCP Load Balancer Orchestrator.
74+
- **Private Key Handling: ** Required (Adding a certificate to a GCP Load Balancer certificate store without the private key is not a valid use case)
75+
- **PFX Password Style:** Default
4476

77+
**Parameters:** Add 1 custom parameter if authenticating to the GCP API library by passing the GCP service account key from Keyfactor Command (see Authentication):
4578

79+
![](images/image3.png)
4680

81+
- Name: Must be **jsonKey**
82+
- Display Name: Desired custom display name
83+
- Type: Secret
84+
- Change Default Value: Unchecked
85+
- Default Value: Leave blank
4786

48-
---
4987

5088

51-
# Introduction
52-
- The Google Cloud Platform (GCP) Load Balancer Orchestrator allows for the management of Google Cloud Platform Load Balancer certificate stores. Inventory, Management-Add, and Management-Remove functions are supported. Also, re-binding to endpoints IS supported for certificate renewals (but NOT adding new certificates). The orchestrator uses the Google Cloud Compute Engine API (https://cloud.google.com/compute/docs/reference/rest/v1) to manage stores.
89+
**2. Create a new GCP Load Balancer certificate store. Navigate to Certificate Locations =\> Certificate Stores within Keyfactor Command to add the store. Below are the values that should be entered.**
90+
![](images/image4.png)
5391

92+
- **Category:** Must be the GCP Load Balancer type you created in Step 1.
5493

94+
- **Container:** Optional container name if using this feature. Please consult the Keyfactor Command Reference Guide for more information on this feature.
5595

56-
# Use Cases
96+
- **Client Machine:** The name or IP address of the Orchestrator server that will be handling GCP jobs.
5797

58-
The GCP Load Balancer Orchestrator supports the following capabilities:
98+
- **Store Path:** This should be your Google Cloud project ID. This will work against GCP Global resources. Optionally, you can append "/" with the region you wish to process against. Please refer to the following page for a list of valid region codes (GCP code column): https://gist.github.com/rpkim/084046e02fd8c452ba6ddef3a61d5d59.
5999

60-
- Inventory
61-
- Management (Add)
62-
- Management (Remove)
100+
- **Service Account Key:** If you will be authenticating via passing credentials from Keyfactor Command, you must add this value as follows:
101+
- No Service Account Key: Unchecked
102+
- Secret Source: "Keyfactor Secrets" if you wish to store the GCP service account key in the Keyfactor secrets engine or "Load From PAM Provider" if you have set up a PAM provider integration within Keyfactor Command and wish to store this value there.
103+
- Enter and Confirm Service Account Key: The JSON-based service account key you acquired from GCP (See Authentication).
63104

105+
**Inventory Schedule:** Set whether to schedule Inventory jobs for this certificate store, and if so, the frequency here.
64106

107+
### Authentication
65108

66-
# Versioning
109+
A service account is necessary for authentication to GCP. The following are the required permissions:
110+
- compute.sslCertificates.create
111+
- compute.sslCertificates.delete
112+
- compute.sslCertificates.list
113+
- compute.sslCertificates.get
114+
- compute.targetHttpsProxies.list
115+
- compute.targetHttpsProxies.setSslCertificates
116+
- compute.regionSslCertificates.list
67117

68-
The version number of a the GCP Load Balancer Orchestrator can be verified by right clicking on the GCPLoadBalancer.dll file, selecting Properties, and then clicking on the Details tab.
118+
The agent supports having credentials provided by the environment, environment variable, or passed manually from Keyfactor Command. You can read more about the first two options [here] (https://cloud.google.com/docs/authentication/production#automatically).
69119

120+
To pass credentials from Keyfactor Command you need to first create a service account and then download a service account key. Instructions are [here](https://cloud.google.com/docs/authentication/production#manually). Remember to assign the appropriate role/permissions for the service account. Afterwards inside Keyfactor Command copy and paste the contents of the service account key in the password field for the GCP Certificate Store Type.
70121

71122

72-
# Keyfactor Version Supported
73123

74-
The F5 Orchestrator has been tested using Keyfactor Command version 9.4 and the Keyfactor Universal Orchestrator version 9.5. However, this should be compatible with any Keyfactor versions 9.x and above.
124+
</details>
75125

126+
2. Create Certificate Store Types for the GCP Load Balancer Orchestrator extension.
76127

128+
* **Using kfutil**:
77129

78-
# GCP Load Balancer Orchestrator Installation
130+
```shell
131+
# GCP Load Balancer
132+
kfutil store-types create GCPLoadBal
133+
```
79134

80-
1. In the Keyfactor Orchestrator installation folder (by convention C:\Program Files\Keyfactor\Keyfactor Orchestrator), find the "extensions" folder. Underneath that, create a new folder named "GCPLoadBal". You may choose a different folder name if you want, but when you get to GCP Load Balancer Configuration - Step 1, the Short Name you choose must match this folder name. Also, the folder name must be a maximum of 10 characters long.
81-
2. Download the latest version of the GCP Load Balancer Orchestrator from [GitHub](https://github.com/Keyfactor/gcp-loadbalancer-orchestrator).
82-
3. Copy the contents of the download installation zip file to the folder created in Step 1.
83-
4. (Optional) If you decided to name of the folder in step 1 to something different than the suggested name - GCPLoadBal - you will need to edit the manifest.json file. For each section, change {folder name} in "CertStores.{folder name}.*Capability*" to the folder name you used for the store type.
135+
* **Manually**:
136+
* [GCP Load Balancer](docs/gcploadbal.md#certificate-store-type-configuration)
84137

138+
3. Install the GCP Load Balancer Universal Orchestrator extension.
139+
140+
* **Using kfutil**: On the server that that hosts the Universal Orchestrator, run the following command:
85141

142+
```shell
143+
# Windows Server
144+
kfutil orchestrator extension -e gcp-loadbalancer-orchestrator@latest --out "C:\Program Files\Keyfactor\Keyfactor Orchestrator\extensions"
86145
87-
# GCP Load Balancer Configuration
146+
# Linux
147+
kfutil orchestrator extension -e gcp-loadbalancer-orchestrator@latest --out "/opt/keyfactor/orchestrator/extensions"
148+
```
88149

89-
**1. In Keyfactor Command, go to Settings (the gear icon in the top right) => Certificate Store Types and create a new certificate store type:**
150+
* **Manually**: Follow the [official Command documentation](https://software.keyfactor.com/Core-OnPrem/Current/Content/InstallingAgents/NetCoreOrchestrator/CustomExtensions.htm?Highlight=extensions) to install the latest [GCP Load Balancer Universal Orchestrator extension](https://github.com/Keyfactor/gcp-loadbalancer-orchestrator/releases/latest).
90151

91-
![](images/image1.png)
152+
4. Create new certificate stores in Keyfactor Command for the Sample Universal Orchestrator extension.
92153

93-
![](images/image2.png)
154+
* [GCP Load Balancer](docs/gcploadbal.md#certificate-store-configuration)
94155

95-
The certificate store type set up for the GCP Load Balancer Orchestrator should have the following options set:
96156

97-
- **Name:** A descriptive name for the certificate store type
98-
- **Short Name:** Must be **GCPLoadBal** or the alternative name you used to create the folder in the {installation folder}\extensions folder.
99-
- **Custom Capability** - Leave unchecked
100-
- **Supported Job Types** – Select Inventory, Add, and Remove
101-
- **General Settings** - Leave Needs Server and Uses PowerShell unchecked. Select Blueprint Allowed if you plan to use blueprinting.
102-
- **Password Settings** - Leave both options unchecked
103-
- **Store Path Type** - Freeform
104-
- **Supports Custom Alias** - Optional. If no alias is provided, one will be dynamically created by the GCP Load Balancer Orchestrator.
105-
- **Private Key Handling: ** Required (Adding a certificate to a GCP Load Balancer certificate store without the private key is not a valid use case)
106-
- **PFX Password Style:** Default
107157

108-
**Parameters:** Add 1 custom parameter if authenticating to the GCP API library by passing the GCP service account key from Keyfactor Command (see Authentication):
158+
## License
109159

110-
![](images/image3.png)
160+
Apache License 2.0, see [LICENSE](LICENSE).
111161

112-
- Name: Must be **jsonKey**
113-
- Display Name: Desired custom display name
114-
- Type: Secret
115-
- Change Default Value: Unchecked
116-
- Default Value: Leave blank
117-
118-
119-
120-
**2. Create a new GCP Load Balancer certificate store. Navigate to Certificate Locations =\> Certificate Stores within Keyfactor Command to add the store. Below are the values that should be entered.**
121-
![](images/image4.png)
122-
123-
- **Category:** Must be the GCP Load Balancer type you created in Step 1.
124-
125-
- **Container:** Optional container name if using this feature. Please consult the Keyfactor Command Reference Guide for more information on this feature.
126-
127-
- **Client Machine:** The name or IP address of the Orchestrator server that will be handling GCP jobs.
128-
129-
- **Store Path:** This should be your Google Cloud project ID. This will work against GCP Global resources. Optionally, you can append "/" with the region you wish to process against. Please refer to the following page for a list of valid region codes (GCP code column): https://gist.github.com/rpkim/084046e02fd8c452ba6ddef3a61d5d59.
130-
131-
- **Service Account Key:** If you will be authenticating via passing credentials from Keyfactor Command, you must add this value as follows:
132-
- No Service Account Key: Unchecked
133-
- Secret Source: "Keyfactor Secrets" if you wish to store the GCP service account key in the Keyfactor secrets engine or "Load From PAM Provider" if you have set up a PAM provider integration within Keyfactor Command and wish to store this value there.
134-
- Enter and Confirm Service Account Key: The JSON-based service account key you acquired from GCP (See Authentication).
135-
136-
**Inventory Schedule:** Set whether to schedule Inventory jobs for this certificate store, and if so, the frequency here.
137-
138-
139-
140-
# Authentication
141-
142-
A service account is necessary for authentication to GCP. The following are the required permissions:
143-
- compute.sslCertificates.create
144-
- compute.sslCertificates.delete
145-
- compute.sslCertificates.list
146-
- compute.sslCertificates.get
147-
- compute.targetHttpsProxies.list
148-
- compute.targetHttpsProxies.setSslCertificates
149-
- compute.regionSslCertificates.list
150-
151-
The agent supports having credentials provided by the environment, environment variable, or passed manually from Keyfactor Command. You can read more about the first two options [here] (https://cloud.google.com/docs/authentication/production#automatically).
152-
153-
To pass credentials from Keyfactor Command you need to first create a service account and then download a service account key. Instructions are [here](https://cloud.google.com/docs/authentication/production#manually). Remember to assign the appropriate role/permissions for the service account. Afterwards inside Keyfactor Command copy and paste the contents of the service account key in the password field for the GCP Certificate Store Type.
162+
## Related Integrations
154163

164+
See all [Keyfactor Universal Orchestrator extensions](https://github.com/orgs/Keyfactor/repositories?q=orchestrator).

0 commit comments

Comments
 (0)