Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding Insights Hub page and get-started #13667

Merged
merged 12 commits into from
Jan 3, 2025
Merged
4 changes: 4 additions & 0 deletions assets/js/bundle.js

Large diffs are not rendered by default.

84 changes: 84 additions & 0 deletions content/docs/insights/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
---
title: Pulumi Insights
linktitle: Pulumi Insights
docs_home: true
notitle: true
menu:
insights:
identifier: insights-home
weight: 1
expanded_menu_ids:
- insights-get-started
- insights-concepts
meta_desc: Pulumi Insights is an intelligent infrastructure management service to discover, understand, manage, and improve any cloud infrastructure.
meta_image: /images/docs/meta-images/insights-meta.png
h1: Pulumi Insights Documentation
description: |
Pulumi Insights offers an intelligent platform for discovering, understanding, and managing cloud infrastructure with AI-powered asset and compliance management.

link_buttons:
primary:
label: Get Started
link: /docs/insights/get-started/
secondary:
label: Create an Account
link: https://app.pulumi.com/signup

sections:
- type: flat
heading: Overview
description_md: |
Pulumi Insights is an intelligent infrastructure management service to discover, understand, manage, and improve any cloud infrastructure, including resources not provisioned by Pulumi IaC such as AWS CloudFormation, Microsoft ARM, Terraform, or those created manually. Insights improves security, compliance, and efficiency through AI-powered asset and compliance management.

With Pulumi Insights, you can:
- **Stay secure**: Detect security violations and remediate using security best practices.
- **Enforce compliance**: Gain a comprehensive view of compliance policy violations across your organization and automate remediation.
- **Improve efficiency**: Analyze and dig into your organization’s cloud usage and trends to optimize costs and improve productivity.

Insights is your single pane of glass for understanding and improving your cloud infrastructure.

- type: button-cards
heading: Featured Capabilities
cards:
- heading: Discover
link: /docs/insights/concepts/
description: Scan and sync all of your infrastructure to bring it under a single pane of glass, so you can understand the structure and status of your with footprint.
- heading: Advanced Resource Search
description: Find important insights about your cloud infrastructure using structured queries or natural language Pulumi AI assist to quickly locate resources.
link: /docs/insights/search/
- heading: Manage
description: Refactor and structure your infrastructure into logical resource groups that map key insights with business needs.
link: /docs/insights/get-started/account-management/
- heading: Improve
description: Execute improvement plans for each logical resource group to support business priorities.
link: /docs/insights/get-started/using-resource-explorer/

- type: full-width-cards
heading: Featured docs
cards:
- icon: cloud-blue-21-21
heading: Account Discovery
description: Automatically scan and sync your accounts to bring all cloud resources into the Insights platform.
link: /docs/insights/accounts/
- icon: code-tree-blue-21-21
heading: Resource Explorer
description: Resource Search allows you to explore your resources, stacks and projects in detail.
link: /docs/insights/search/
- icon: lightbulb-blue-21-21
heading: Pulumi Copilot AI
description: Use Pulumi Copilot to ask detailed questions like "Find all untagged resources in AWS" to uncover insights and actionable recommendations.
link: /docs/pulumi-cloud/copilot/

- type: blue-sparkle
heading: Why Pulumi Insights?
description: Pulumi Insights transforms cloud management with a focus on security, compliance, and efficiency. By discovering resources across multiple providers and accounts, it simplifies managing complex cloud environments, helping teams make informed business decisions and moving their projects forward.

- type: flat
heading: Get Started
description: |
<p>Check out the <a href="/docs/insights/get-started/">getting started guide</a> to set up Pulumi Insights and explore its powerful features.</p>

- type: flat
heading: Have questions?
description: <p>For questions or feedback, reach out on <a href="https://slack.pulumi.com" target="_blank">community Slack</a>, <a href="https://github.com/pulumi" target="_blank">GitHub</a>, or <a href="/support/">contact support</a>.</p>
---
Original file line number Diff line number Diff line change
@@ -1,58 +1,47 @@
---
title_tag: Create and manage insights accounts
meta_desc: This page describes how to create insights accounts for scanning provider account resources to use within Pulumi Cloud.
title: Accounts
title_tag: Create and manage insights accounts | Pulumi Insights
h1: Create and manage insights accounts
meta_desc: This page describes how to create insights accounts for scanning provider account resources to use within Pulumi Cloud.
meta_image: /images/docs/meta-images/docs-meta.png
menu:
cloud:
name: Accounts
parent: pulumi-cloud-insights
insights:
parent: insights-home
weight: 3
identifier: pulumi-cloud-insights-accounts
aliases:
- /docs/pulumi-cloud/insights/accounts/
- /docs/pulumi-cloud/insights/import/
---

This document outlines the steps required to create and manage a Pulumi insights account used for scanning provider resources.
<!-- markdownlint-disable MD029 -->

## Prerequisites

* You must be an admin of your Pulumi organization.
* Permissions required to create credentials within the provider account you want to scan
* Permissions required to create credentials within the provider account you want to scan.

## Account creation

1. After logging into the Pulumi Cloud Console, navigate to the **Accounts** tab.
![Accounts tab](../account-left-tab-button.png)
{{< video title="Column Selection" src="https://pulumi.com/uploads/insights-create-account.mp4" autoplay="true" loop="false" >}}

1. After logging into the Pulumi Cloud Console, navigate to the **Accounts** tab.
2. On this page, click the **Create Account** button to access the account creation screen.
![Create accounts button](../create-accounts-button.png)
![Accounts creation screen](../accounts-creation-screen.png)

3. Select your provider.
{{< notes type="info" >}}
Currently, Pulumi supports AWS, Azure, Oracle Cloud, and Kubernetes as providers for insights accounts.
{{< /notes >}}

4. Select or create an ESC environment that has the correct credentials to scan the selected provider.
{{< notes type="info" >}}
See below for details on how to set up the ESC environment for each provider.
{{< /notes >}}

5. Enter a unique name for the account. The name cannot contain a `/`.
{{< notes type="info" >}}
Pulumi automatically names child accounts using `/`. For more information, see **Account Hierarchies** below.
{{< /notes >}}
6. Add any provider-specific configuration, such as the regions to scan for AWS.
![Account configuration tab for AWS](../account-configuration-aws.png)

7. Choose whether to enable scheduled scans or run them manually.
![Accounts scheduled scans](../accounts-scheduled-scan.png)
{{< notes type="info" >}}
When scheduled scans are enabled, Pulumi automatically scans the account every 24 hours.
{{< /notes >}}

When scheduled scans are enabled, Pulumi automatically scans the account every 24 hours.
8. Click `create`. You should see a success notification and arrive on the details page of the account you have created.
![Account details page](../accounts-details-page.png)

{{< notes type="info" >}}
A scan should be kicked off immediately, if you are creating a new insights account for AWS, see the **child accounts** (one for each region) for scan status.
Expand Down Expand Up @@ -93,14 +82,14 @@ All scanned resources are displayed on the **Resources** page in Pulumi Cloud.
* **Project**: `my-aws-account`
* **Stack/Account**: `us-east-1/my-cluster`

![Resources page](../account-resource-list-page.png)
![Resources page](/docs/insights/assets/insights-resource-explorer.png)

* **Resource navigation**: Click on a resource's name to view its **Resource Details** page. This page includes:
* **Resource history**: Pulumi tracks and displays all versions of a resource, with changes based on property updates.
* **Properties**: View detailed properties for each resource version.
* **References**: See edges (relationships) to other resources in the same account.

![Resource details page](../account-resource-detail-page.png)
![Resource details page](/docs/insights/assets/insights-resources.png)

## Configure ESC credentials

Expand Down Expand Up @@ -148,7 +137,6 @@ The Azure scanner for Pulumi Cloud requires access to your Azure account. This a
* **tenantId**
* **subscriptionId**
* **clientSecret** (also called **password** in the Azure UI)

2. Use the following ESC configuration to provide the required credentials:

```yaml
Expand All @@ -173,7 +161,6 @@ values:
{{< notes type="info" >}}
For more details on configuring Azure credentials with ESC, refer to [ESC Azure provider documentation](/docs/pulumi-cloud/access-management/oidc/provider/azure/).
{{< /notes >}}

3. Once the ESC environment is set up with the proper credentials, assign it to your insights account during the account creation phase.

### OCI
Expand Down Expand Up @@ -269,8 +256,7 @@ roleRef:
apiGroup: rbac.authorization.k8s.io
```

2. Verify Service Account Access

1. Verify service account access.
Use the following command to verify the service account's permissions:

```bash
Expand All @@ -279,8 +265,7 @@ kubectl auth can-i list pods --as=system:serviceaccount:default:my-service-accou

For more details, see the Kubernetes documentation: [kubectl auth can-i](https://kubernetes.io/docs/reference/access-authn-authz/rbac/#checking-api-access).

3. Retrieve Service Account Details

1. Retrieve Service Account Details.
Fetch the details required for creating a kubeconfig:

* **Token**:
Expand All @@ -301,8 +286,7 @@ Fetch the details required for creating a kubeconfig:
kubectl config view --minify --flatten -o jsonpath='{.clusters[0].cluster.server}'
```

4. Create Kubeconfig

1. Create Kubeconfig
Using the retrieved details, create the following kubeconfig:

```yaml
Expand All @@ -326,8 +310,7 @@ users:
token: <SERVICE_ACCOUNT_TOKEN> # Replace with the decoded service account token
```

5. (Optional) Streamline the Process with a Script

1. (Optional) Streamline the process with a script.
Use the following script to automate the creation of the kubeconfig file:

```bash
Expand Down Expand Up @@ -365,4 +348,3 @@ EOF

echo "Kubeconfig written to $KUBECONFIG_PATH"
```
<!-- markdownlint-enable MD029 -->
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
107 changes: 107 additions & 0 deletions content/docs/insights/concepts/_index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
---
title_tag: "Pulumi Insights Overview"
meta_desc: Pulumi Insights provides advanced search, analytics, and AI for your infrastructure as code.
title: Pulumi Insights Concepts
h1: Pulumi Insights Concepts
meta_image: /images/docs/meta-images/docs-meta.png
menu:
insights:
parent: insights-home
identifier: insights-concepts
weight: 2
aliases:
- /docs/intro/insights/
---

Pulumi Insights provides advanced search, analytics, and AI for your infrastructure as code.

It provides:

- **Resource Search**: Explore all of your resources under management by stack or account.
Filter, group, search, and sort resources by stack, project, or a number of other dimensions.

- **Resource Search Aggregates**: See aggregates at a glance for your resources under management.
Start with a birds-eye view of your infrastructure, and leverage features like search, grouping, and filtering to dig deeper.

- **Cloud Import**: Bring your own cloud provider account and import all your existing resources into Pulumi to see how things break down. Zero code required.

- **Resource Search Favoriting and Sharing**: Save your updated view as a favorite in the left nav like stacks or share it with your teammates.

- **Resource Search AI Assist**: (experimental) Use natural language processing to help craft search queries to explore your data.

- **Data Export**: Export your Pulumi resources into your business intelligence tool of choice to go even further.

## Resource search

Resource Search can be accessed directly from the Pulumi Cloud dashboard or from the side navigation by navigating to **Resources**.

By default, you will see a table with the resources you have access to, ordered by most recently updated.

A count is shown in the upper-right corner with the total number of resources matched by this query -- in this case, we have 13 resources.

![Resource Search Table](search-table-v2.png)

The table of resources is paginated using infinite scroll so you are able to view up to **10,000** resources without needing to go page by page:

{{% notes "info" %}}
If you need access to more resources, you can use the [Data Export](export) feature or access them programmatically via the [Pulumi Cloud Rest API](/docs/pulumi-cloud/cloud-rest-api#resource-search).
{{% /notes %}}

Use the **search bar**, **row grouping**, or **column filters** to refine the resources displayed on the page.

Selecting **project** will pre-populate a query with `project:` which we can then extend to `project:production` to return resources with "production" in their project name.

![Resource Search Filter Helper](search-filter-helper.png)

The columns displayed on results can be modified to show or hide information by selecting the **gear icon** and clicking the **Choose columns**.

![Resource Search Options Gear](gear-icon-dropdown.png)

You will then see the **Column menu** appear, where you can choose the columns to display.

![Resource Search Column Chooser](column-chooser.png)

Selecting a column header will modify the query to sort by that column.

### Resource search aggregates

The **Column Filter** menu can be expanded to apply additional filters to each column and to view finer-grained resource sets.

![Resource Search Column Filter](column-filter.png)

In this example, the query has been restricted to the "dev" stack.

### Resource search grouping

The **Row Groups Header** allows you to drag columns from the table to enable grouping by that column. You can group by multiple columns at once. In this example, we have grouped by stack and modified so that we can see a breakdown of resources by stack and when they were last modified.

![Resource Search Grouping](resource-search-grouping.png)

Selecting the **"X" in the search bar** will remove all previously selected filters.

![Resource Search Clear Filters](clear-search.png)

### Resource search favoriting

The **Favorites Button** allows you to save a particular view of the resources page which includes any filters, grouping, column changes, and search queries made.

![Resource Search Favorites left nav](favorites-left-nav.png)

All your saved favorites can be seen as quick links on the **left nav**.

![Resource Search Favorites button](favorites-button.png)

## Data export

{{% notes "info" %}}
This feature is only available to organizations using the Enterprise and Business Critical editions.
If you don't see it in your organization, [contact us](/contact?form=sales).
{{% /notes %}}

Organizations with Data Export enabled are able to export all resources matching a particular query in CSV format.

For a more detailed description of CSV schema, see the [export documentation](export).

## APIs

See the [Pulumi Cloud REST API](/docs/pulumi-cloud/cloud-rest-api#resource-search) for full details of the API endpoint to query and export resources.
Loading
Loading