Skip to content

Commit a3b7228

Browse files
author
Keyfactor
committed
Update generated docs
1 parent ae44b9f commit a3b7228

File tree

1 file changed

+86
-8
lines changed

1 file changed

+86
-8
lines changed

README.md

Lines changed: 86 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,8 +64,6 @@ If the A10 is acting as an SSL offloader for a backend web server, the **SSL Cer
6464

6565

6666
### ThunderMgmt
67-
TODO Global Store Type Section is an optional section. If this section doesn't seem necessary on initial glance, please delete it. Refer to the docs on [Confluence](https://keyfactor.atlassian.net/wiki/x/SAAyHg) for more info
68-
6967

7068
#### 🔐 Management Certificates
7169

@@ -167,10 +165,94 @@ curl -X POST https://<vThunder-IP>/axapi/v3/auth \
167165
<details><summary>A10 Thunder Management Certificates (ThunderMgmt)</summary>
168166

169167
### A10 Thunder Management Certificates Requirements
170-
TODO Global Store Type Section is an optional section. If this section doesn't seem necessary on initial glance, please delete it. Refer to the docs on [Confluence](https://keyfactor.atlassian.net/wiki/x/SAAyHg) for more info
171168

169+
#### A10 Certificate Management Orchestrator Extension
170+
171+
This orchestrator extension automates the process of uploading, inventorying, and deploying SSL certificates from a Linux SCP server to an A10 vThunder device. Due to A10 API limitations, certificates must be pulled from the SCP server directly by the A10 device itself.
172+
173+
---
174+
175+
##### 📌 How It Works
176+
177+
1. **The orchestrator** connects to a Linux server via SCP to inventory available certificates.
178+
2. It stores relevant metadata and pushes new certificates and keys to the SCP server.
179+
3. It then instructs the **A10 device** to retrieve the certificate and private key from the Linux server using API calls.
180+
4. The A10 device loads the certificate and key directly from the SCP server for use on its **management interface**.
181+
182+
---
183+
184+
##### ⚙️ Configuration Fields
185+
186+
| Name | Display Name | Description | Type | Required |
187+
|-------------------|-------------------------------|--------------------------------------------------------------|--------|----------|
188+
| OrchToScpServerIp | Orch To Scp Server IP | IP from the orchestrator to the SCP Linux server | String ||
189+
| ScpPort | Port Used For SCP | Port used to connect to the SCP server | String ||
190+
| ScpUserName | Username Used For SCP | Username for SCP access on the Linux server | Secret ||
191+
| ScpPassword | Password Used For SCP | Password for SCP access on the Linux server | Secret ||
192+
| A10ToScpServerIp | A10 Device To SCP Server IP | IP used by the A10 device to reach the SCP server (can be private) | String ||
193+
| allowInvalidCert | Allow Invalid Cert on A10 API | If true, allows self-signed/untrusted certs for A10 API access | Bool | ✅ (default: true) |
194+
195+
---
196+
197+
##### 📡 API Call Example (From A10 Device)
198+
199+
```http
200+
POST /axapi/v3/web-service/secure/certificate
201+
```
202+
203+
**Payload:**
204+
```json
205+
{
206+
"certificate": {
207+
"load": 1,
208+
"file-url": "scp://ec2-user:[email protected]:/home/ec2-user/26125.crt"
209+
}
210+
}
211+
```
212+
213+
> A similar call is made for loading the private key onto the A10 device using a separate AXAPI endpoint.
214+
215+
- The A10 device **must have access** to the SCP server via the specified IP (`A10ToScpServerIp`).
216+
- Ensure the certificate and key file paths are correct and accessible to the SCP user.
172217

173-
TODO Requirements is an optional section. If this section doesn't seem necessary on initial glance, please delete it. Refer to the docs on [Confluence](https://keyfactor.atlassian.net/wiki/x/SAAyHg) for more info
218+
---
219+
220+
##### 🔐 Linux Server Requirements
221+
222+
###### User Access
223+
- The SCP user (`ScpUserName`, e.g., `ec2-user`) must:
224+
- Have SSH/SCP access.
225+
- Authenticate with a password.
226+
- Have **read and write** permissions in the SCP location.
227+
228+
> New certificates and **private keys** are generated by Keyfactor and uploaded to this location by the orchestrator. Therefore, write access is essential.
229+
230+
###### SCP Directory Permissions
231+
- Ensure the directory (e.g., `/home/ec2-user/`) is:
232+
- Writable by the orchestrator (to upload new certs/keys).
233+
- Readable by both the orchestrator and the A10 device (via SCP).
234+
235+
---
236+
237+
##### 🔄 Alternate Design Consideration
238+
239+
It may be possible to use the A10 device itself as the SCP target location if it supports read/write SCP operations **outside the CLI context**. However, A10 devices typically restrict file access through CLI or API mechanisms only, and not through standard SCP server operations. This limitation is why a separate Linux SCP server is currently required.
240+
241+
---
242+
243+
##### 🔓 Network and Port Requirements
244+
245+
| Source | Destination | Port | Protocol | Purpose |
246+
|--------------------|---------------------|------|----------|-------------------------------|
247+
| Orchestrator | Linux SCP Server | 22 | TCP | Inventory and upload via SCP |
248+
| A10 Device | Linux SCP Server | 22 | TCP | Cert and key retrieval via SCP|
249+
| Orchestrator/Admin | A10 Device (API) | 443 | HTTPS | API calls to load certificate |
250+
251+
---
252+
253+
##### ✅ Summary
254+
255+
This extension coordinates certificate and private key delivery by using SCP as a bridge between orchestrator logic and A10's strict API requirements. It ensures secure and automated deployment for the management interface certificates with minimal manual intervention.
174256
</details>
175257

176258

@@ -252,8 +334,6 @@ TODO Global Store Type Section is an optional section. If this section doesn't s
252334

253335
<details><summary>A10 Thunder Management Certificates (ThunderMgmt)</summary>
254336

255-
TODO Global Store Type Section is an optional section. If this section doesn't seem necessary on initial glance, please delete it. Refer to the docs on [Confluence](https://keyfactor.atlassian.net/wiki/x/SAAyHg) for more info
256-
257337

258338
* **Create ThunderMgmt using kfutil**:
259339

@@ -381,8 +461,6 @@ TODO Certificate Store Configuration is an optional section. If this section doe
381461
382462
<details><summary>A10 Thunder Management Certificates (ThunderMgmt)</summary>
383463
384-
TODO Global Store Type Section is an optional section. If this section doesn't seem necessary on initial glance, please delete it. Refer to the docs on [Confluence](https://keyfactor.atlassian.net/wiki/x/SAAyHg) for more info
385-
386464
TODO Certificate Store Configuration is an optional section. If this section doesn't seem necessary on initial glance, please delete it. Refer to the docs on [Confluence](https://keyfactor.atlassian.net/wiki/x/SAAyHg) for more info
387465

388466

0 commit comments

Comments
 (0)