feat: add docs for Cloud Capture - #421
Conversation
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
|
Claude finished @gsavage's task in 3m 8s —— View job Doc review — Cloud Capture pages
The Kosli Capture → Cloud Capture rename in the latest push is clean in prose across all five content files — I found no stale "Kosli Capture" in any sentence. Structural checks pass: all three new pages are in Six findings, posted inline, most significant first:
Two smaller things not worth their own inline comments:
Given the PR's stated purpose — merging early so customers can review the design and security model — the structure holds up well for that. Findings 1 and 3 are the two a customer doing that review is most likely to trip over. |
df70813 to
7c895f0
Compare
7c895f0 to
9fd6043
Compare
cd9cd92 to
7fee8f3
Compare
7e47e15 to
0ab19b2
Compare
0ab19b2 to
4aa5d19
Compare
| <Step title="Prepare your environment"> | ||
| Create an IAM role in your cloud accounts specifically for Kosli Capture. | ||
| </Step> |
There was a problem hiding this comment.
Improvement — this <Steps> block sits above the <Tabs>, so it is the summary for both clouds, but "Create an IAM role" is AWS-only and is contradicted by line 58 in the GCP tab: there the reader creates a service account and a workload identity pool, and there is no role for them to create in their project.
A GCP reader's very first instruction on this page is therefore for a resource that does not exist on their platform.
| <Step title="Prepare your environment"> | |
| Create an IAM role in your cloud accounts specifically for Kosli Capture. | |
| </Step> | |
| <Step> | |
| Grant Kosli Capture read-only access to your cloud accounts — an IAM role on AWS, or a service account reached through workload identity federation on GCP. | |
| </Step> |
The Kosli Capture Managed service is still in the design phase, so the content here is marked as "BETA". This PR adds documentation on the overall service, how to get started with it, and how it is secured. The purpose of making the documentation available, merged, before the build is complete is to allow our customers to provide feedback on the overall design and security of the solution.
4aa5d19 to
d9f4f20
Compare
|
|
||
| <Steps> | ||
| <Step title="Prepare your environment"> | ||
| Create an IAM role in your cloud accounts specifically for Cloud Capture. |
There was a problem hiding this comment.
Improvement — this <Steps> block sits above the <Tabs>, so it is the summary for both clouds, but "Create an IAM role" is AWS-only and is contradicted by line 58 in the GCP tab: there the reader creates a service account and a workload identity pool, and there is no role for them to create in their project.
A GCP reader's very first instruction on this page is therefore for a resource that does not exist on their platform.
| Create an IAM role in your cloud accounts specifically for Cloud Capture. | |
| Grant Cloud Capture read-only access to your cloud accounts — an IAM role on AWS, or a service account reached through workload identity federation on GCP. |
| The trust policy on the role in your account limits access to the AWS account in which the Cloud | ||
| Capture is running. The ExternalId acts as a shared secret between Kosli and you, so that only | ||
| Cloud Capture is permitted to assume the role. |
There was a problem hiding this comment.
Improvement — "the AWS account in which the Cloud Capture is running" is a grammar slip introduced by the Kosli Capture → Cloud Capture rename: the old text read "in which the Kosli Capture Managed service is running", and dropping "Managed service" left a stranded article. Vale won't catch it — every word is real.
| The trust policy on the role in your account limits access to the AWS account in which the Cloud | |
| Capture is running. The ExternalId acts as a shared secret between Kosli and you, so that only | |
| Cloud Capture is permitted to assume the role. | |
| The trust policy on the role in your account limits access to the AWS account in which Cloud | |
| Capture is running. The ExternalId acts as a shared secret between Kosli and you, so that only | |
| Cloud Capture is permitted to assume the role. |
| The IAM role defined within the CloudFormation template includes an "assume role" policy granting permission from Kosli. This appears as: | ||
|
|
||
| ```yaml | ||
| KosliCaptureAccessRole: |
There was a problem hiding this comment.
Improvement — the rename swept the prose and the code comments but not the identifiers. This page still publishes KosliCaptureAccessRole here, and on the GCP side workload_identity_pool_id = "kosli-capture" (197), account_id = "kosli-capture" (235), role_id = "kosliCapture" (284), the outputs kosli_capture_provider / kosli_capture_service_account (252, 257) and deployments/kosli-capture (316).
That may well be correct — renaming a live CloudFormation logical id forces resource replacement, so keeping it is a defensible choice. But these are values a customer copies verbatim, and the page gives no signal either way, so it reads as a half-finished sweep. Worth one sentence confirming the published template and Terraform still use these names, or aligning them if they don't.
| - Google Cloud Run (services and jobs) | ||
|
|
||
| You can report environment snapshots manually using the `kosli snapshot [...]` commands for testing. For production use, however, you would configure the reporting to happen automatically on regular intervals, e.g. via a cron job or scheduled CI job, or on certain events. | ||
| You can report environment snapshots manually using the `kosli snapshot [...]` commands for testing. For production use, however, you would configure the reporting to happen automatically on regular intervals, e.g. via a cron job or scheduled CI job, or on certain events. Kosli can also report these snapshots for you, using [Cloud Capture](/administration/cloud_capture/overview). |
There was a problem hiding this comment.
Improvement — this sentence lands immediately after the list of supported environment types (K8S, ECS, S3, Lambda, Azure Web Apps, Cloud Run, …), and "these snapshots" reads as all of the above. Cloud Capture covers ECS and Lambda today; GCP is marked "coming soon" on both Cloud Capture pages, and nothing there mentions S3, Azure or Cloud Run.
You noted earlier that keeping the supported-resource list vague on the Capture page is deliberate, which is fair — but that makes this inbound sentence the one place worth qualifying, because it is the only one that sits next to a concrete list. A qualifier costs nothing and commits you to nothing.
| You can report environment snapshots manually using the `kosli snapshot [...]` commands for testing. For production use, however, you would configure the reporting to happen automatically on regular intervals, e.g. via a cron job or scheduled CI job, or on certain events. Kosli can also report these snapshots for you, using [Cloud Capture](/administration/cloud_capture/overview). | |
| You can report environment snapshots manually using the `kosli snapshot [...]` commands for testing. For production use, however, you would configure the reporting to happen automatically on regular intervals, e.g. via a cron job or scheduled CI job, or on certain events. For some environment types, Kosli can also report these snapshots for you, using [Cloud Capture](/administration/cloud_capture/overview). |
|
|
||
| If you would rather create the role yourself, see [Cloud Capture Security](/administration/cloud_capture/security) for the trust policy and the full set of permissions the role needs. | ||
|
|
||
| GCP has no equivalent of the CloudFormation "phone-home" feature, so the Terraform configuration emits the two values Kosli needs — the workload identity provider and the service account email — as outputs. Share them with Kosli once the deployment completes; you can read them at any time with `gcloud infra-manager deployments describe`. See [Cloud Capture Security](/administration/cloud_capture/security) for the deployment command. |
There was a problem hiding this comment.
Suggestion — both links in this tab (line 62 and here) point at the bare page URL, but they send the reader to two different places: line 62 wants the trust model and permission list, and this one wants the deployment command. security.md:308 already has a ### Deploying with Infrastructure Manager heading, so the second link can land on it directly rather than dropping the reader at the top of a 350-line page they then have to scroll.
| GCP has no equivalent of the CloudFormation "phone-home" feature, so the Terraform configuration emits the two values Kosli needs — the workload identity provider and the service account email — as outputs. Share them with Kosli once the deployment completes; you can read them at any time with `gcloud infra-manager deployments describe`. See [Cloud Capture Security](/administration/cloud_capture/security) for the deployment command. | |
| GCP has no equivalent of the CloudFormation "phone-home" feature, so the Terraform configuration emits the two values Kosli needs — the workload identity provider and the service account email — as outputs. Share them with Kosli once the deployment completes; you can read them at any time with `gcloud infra-manager deployments describe`. See [Cloud Capture Security](/administration/cloud_capture/security#deploying-with-infrastructure-manager) for the deployment command. |
| ### Automatically creating physical environments | ||
|
|
||
| [Cloud Capture](/administration/cloud_capture/overview) snapshots the supported resources it finds in your cloud accounts and creates physical environments as needed. |
There was a problem hiding this comment.
Suggestion — you agreed earlier that this heading may be in the wrong place, and it still is. It sits under ## Managing physical environments on a page whose lede states "This page covers managing environments via Terraform" (line 13), and every other ### in that section is a Terraform operation (Create a physical environment, Import an existing physical environment). A non-Terraform cross-link as a sibling reads as an orphan.
The lightest fix that keeps the pointer: fold it into the existing ### Import an existing physical environment section as a closing sentence — Cloud Capture's output is importable, which is the Terraform-relevant fact and the thing this page's reader would want to know — rather than giving it a heading of its own.
The Kosli Capture Managed service is still in the design phase, so the content here is marked as "BETA". This PR adds documentation on the overall service, how to get started with it, and how it is secured.
The purpose of making the documentation available, merged, before the build is complete is to allow our customers to provide feedback on the overall design and security of the solution.