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

reorganize files #40

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
The documentation aims to cover best practices and secure deployment guidance, with examples of using multiple resources or providers to configure specific configurations and use cases. This documentation assumes a good working knowledge and experience in writing Terraform HCL, and of using the Terraform CLI to plan, apply and destroy resources.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Getting Started - PingOne

<div class="banner" onclick="window.open('https://registry.terraform.io/providers/pingidentity/pingone/latest','');">
<img class="assets" src="../../img/logos/tf-logo.svg" alt="Terraform logo" />
<span class="caption">
<a class="assetlinks" href="https://registry.terraform.io/providers/pingidentity/pingone/latest" target=”_blank”>Registry</a>
</span>
</div>

## Requirements

* Terraform CLI 1.4+
* A licensed or trial PingOne cloud subscription - [Try Ping here](https://www.pingidentity.com/en/try-ping.html)
* Administrator access to the [PingOne Administration Console](https://docs.pingidentity.com/r/en-us/pingone/p1_access_admin_console)

## PingOne Subscription / Trial

To get started using the PingOne Terraform provider, first you'll need an active PingOne cloud subscription. Get instant access with a [PingOne trial account](https://www.pingidentity.com/en/try-ping.html), or read more about Ping Identity at [pingidentity.com](https://www.pingidentity.com)

!!! warning "PingOne DaVinci service license"
If you're looking to manage PingOne DaVinci deployments with Terraform, note that the PingOne DaVinci service is not enabled by default in the PingOne Cloud Platform trial, or with licenses that do not explicitly include the DaVinci service. Instructions for how to check PingOne DaVinci is enabled, or how to request access, can be found [here](https://pingidentity.github.io/terraform-docs/getting-started/davinci/#the-pingone-davinci-service-license).

## Configure PingOne for Terraform access

The following steps describe how to connect Terraform to your PingOne instance:

1. Log in to your **PingOne Administration Console**. On registration for a trial, a link will be sent to your provided email address.
2. Open the **Administrators** environment. Note that any environment can be used.
3. Navigate to the **Applications** link.
<details>
<summary>Expand Screenshot</summary>
<img src="../../../../docs/img/getting-started/pingone-console-environment-home-applications.png" alt="PingOne Administration Console, Applications Link"/>
</details>
4. Add a new Application with the **+** icon.
<details>
<summary>Expand Screenshot</summary>
<img src="../../../../docs/img/getting-started/pingone-console-applications-home.png" alt="PingOne Administration Console, Applications Home"/>
</details>
5. Set a name and an optional description. Ensure that **Worker** is selected as the application type.
<details>
<summary>Expand Screenshot</summary>
<img src="../../../../docs/img/getting-started/pingone-console-add-application.png" alt="PingOne Administration Console, Add Application"/>
</details>
6. Enable the application with the toggle switch.
<details>
<summary>Expand Screenshot</summary>
<img src="../../../../docs/img/getting-started/pingone-console-application-settings.png" alt="PingOne Administration Console, Application Settings"/>
</details>
7. Click on the **Roles** tab, and set administrative roles accordingly. Example roles to be able to create and manage environments and their configurations are shown in the below screenshot. More information about role permissions can be found at the [PingOne Cloud Platform online documentation](https://docs.pingidentity.com/r/en-us/pingone/p1_c_roles).
<details>
<summary>Expand Screenshot</summary>
<img src="../../../../docs/img/getting-started/pingone-console-application-roles.png" alt="PingOne Administration Console, Application Roles"/>
</details>
8. Click on the **Configuration** tab, expand the **General** section and extract the **Client ID**, **Client Secret** and **Environment ID** values. These are used to authenticate the provider to your PingOne tenant.
<details>
<summary>Expand Screenshot</summary>
<img src="../../../../docs/img/getting-started/pingone-console-application-details.png" alt="PingOne Administration Console, Application Details"/>
</details>
9. Steps to configure the PingOne Terraform provider using these values can be found on the [Terraform Registry provider documentation](https://registry.terraform.io/providers/pingidentity/pingone/latest/docs).

## Finding Required IDs

There are tenant specific, unique IDs and name values that are required for the provider to operate. The following sections show how to retrieve the relevant IDs.

### License ID, Organization ID and Organization Name

The license ID is required when creating an environment using the `pingone_environment`<a href="https://registry.terraform.io/providers/pingidentity/pingone/latest/docs/resources/environment" target="_blank">:octicons-link-external-16:</a> resource. The organization ID/organization name can be used with the `pingone_organization`<a href="https://registry.terraform.io/providers/pingidentity/pingone/latest/docs/data-sources/organization" target="_blank">:octicons-link-external-16:</a> data source. These values can be found with the following steps:

1. Log in to the **PingOne Administrators Console** using your unique console link.
2. Navigate to **Licenses**.
<details>
<summary>Expand Screenshot</summary>
<img src="../../../../docs/img/getting-started/pingone-console-admins-licenses.png" alt="PingOne Administration Console, Licenses Link"/>
</details>
3. Look for the relevant license (that is not an Admin license) and click the copy link icon to copy the ID. The organization name and organization ID are also shown and can be copied.
<details>
<summary>Expand Screenshot</summary>
<img src="../../../../docs/img/getting-started/pingone-console-admins-licenses-detail.png" alt="PingOne Administration Console, Licenses Detail"/>
</details>
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
The following sections provide a set of best practices to apply when writing Terraform with the PingOne Terraform provider and associated modules.

These guidelines do not intend to educate on the use of Terraform, nor are they a "Getting Started" guide. For more information about Terraform, visit [Hashicorp's Online Documentation](https://developer.hashicorp.com/terraform/docs). To get started with the PingOne Terraform provider, visit the online [PingOne provider Getting Started](./getting-started.md) guide.
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
This example is a simplified reference demonstrating how a CICD pipeline might work for Ping Identity solutions. Configuration managed in this example is made of shared "platform-level" components that would be managed by a centralized IAM team in order to be used by internal or partner applications.

[Ping Platform Example Pipeline](https://github.com/pingidentity/pipeline-example-platform) - The documentation is presented as a guided tutorial within the GitHub Repository

In this repository, the processes and features shown in a GitOps process of developing and delivering a new feature include:

- Feature Request Template
- On-demand development environment deployment
- Building a feature in development environment (PingOne UI)
- Extracting feature configuration to be stored as code
- Validating the extracted configuration from the developer perspective
- Validating that the suggested configuration adheres to contribution guidelines
- Review process of suggested change
- Approval of change and automatic deployment into higher environments
Loading