diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS deleted file mode 100644 index 9fcb409..0000000 --- a/.github/CODEOWNERS +++ /dev/null @@ -1 +0,0 @@ -* @sailpoint-oss/platform-connectivity diff --git a/.github/ISSUE_TEMPLATE/bug-report.md b/.github/ISSUE_TEMPLATE/bug-report.md new file mode 100644 index 0000000..5e1dc95 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.md @@ -0,0 +1,36 @@ +--- +name: Bug Report +about: Create a report to help us improve. +title: "[Bug] Your Bug Report Here" +labels: "" +assignees: "" +--- + +**Describe the bug** A clear and concise description of what the bug is. + +**To Reproduce** Steps to reproduce the behavior: + +1. Go to '...' +2. Click on '....' +3. Scroll down to '....' +4. See error + +**Expected behavior** A clear and concise description of what you expected to +happen. + +**Actual behavior** A clear and concise description of what actually happens. + +**Screenshots** If applicable, add screenshots to help explain your problem. + +**Operating System (please complete the following information):** + +- OS: [e.g. Windows 10 19044.1889, Ubuntu 18.04, Mac OS Monterey 12.4] +- CLI Environment [e.g. Command Prompt, Powershell, Terminal] +- Version [e.g. 1.04] + +**Browser (please complete the following information):** + +- Browser: [e.g. Chrome, Firefox, Brave, Safari] +- Version [e.g. 1.04] + +**Additional context** Add any other context about the problem here. diff --git a/.github/ISSUE_TEMPLATE/feature-request.md b/.github/ISSUE_TEMPLATE/feature-request.md new file mode 100644 index 0000000..bcba9ba --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.md @@ -0,0 +1,20 @@ +--- +name: Feature Request +about: Suggest an idea for this project. +title: "[Feature] Your Feature Request Here" +labels: "" +assignees: "" +--- + +**Is your feature request related to a problem? Please describe.** A clear and +concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like.** A clear and concise description of what +you want to happen. Ex. It would be nice if [...] + +**Describe alternatives you've considered.** A clear and concise description of +any alternative solutions or features you've considered. Ex. I have seen similar +features on [...] + +**Additional context** Add any other context or screenshots about the feature +request here. diff --git a/README.md b/README.md index 9a2a2d4..5b0d354 100644 --- a/README.md +++ b/README.md @@ -1,47 +1,87 @@ [![Discourse Topics][discourse-shield]][discourse-url] -![Times Downloaded][downloads-shield] -![Issues][issues-shield] -![Latest Releases][release-shield] -![Contributor Shield][contributor-shield] +![Times Downloaded][downloads-shield] ![Issues][issues-shield] +![Latest Releases][release-shield] ![Contributor Shield][contributor-shield] +![License Shield][license-shield] -[discourse-shield]: https://img.shields.io/discourse/topics?label=Discuss%20This%20Tool&server=https%3A%2F%2Fdeveloper.sailpoint.com%2Fdiscuss -[discourse-url]: https://developer.sailpoint.com/discuss/tag/cli -[downloads-shield]: https://img.shields.io/github/downloads/sailpoint-oss/sailpoint-cli/total?label=Downloads -[issues-shield]:https://img.shields.io/github/issues/sailpoint-oss/sailpoint-cli?label=Issues -[release-shield]: https://img.shields.io/github/v/release/sailpoint-oss/sailpoint-cli?label=Current%20Release -[contributor-shield]:https://img.shields.io/github/contributors/sailpoint-oss/sailpoint-cli?label=Contributors +[discourse-shield]: + https://img.shields.io/discourse/topics?label=Discuss%20This%20Tool&server=https%3A%2F%2Fdeveloper.sailpoint.com%2Fdiscuss +[discourse-url]: https://developer.sailpoint.com/discuss +[downloads-shield]: + https://img.shields.io/github/downloads/sailpoint-oss/sailpoint-cli/total?label=Downloads +[issues-shield]: + https://img.shields.io/github/issues/sailpoint-oss/sailpoint-cli?label=Issues +[release-shield]: + https://img.shields.io/github/v/release/sailpoint-oss/sailpoint-cli?label=Current%20Release +[contributor-shield]: + https://img.shields.io/github/contributors/sailpoint-oss/sailpoint-cli?label=Contributors +[license-shield]: https://img.shields.io/badge/MIT-License-green -``` - _____ _ _ _____ _ _ _____ _ _____ - / ____| (_) | __ \ (_) | | / ____| | |_ _| - | (___ __ _ _| | |__) |__ _ _ __ | |_ | | | | | | - \___ \ / _` | | | ___/ _ \| | '_ \| __| | | | | | | - ____) | (_| | | | | | (_) | | | | | |_ | |____| |____ _| |_ - |_____/ \__,_|_|_|_| \___/|_|_| |_|\__| \_____|______|_____| - -``` +> **CAUTION:** The SailPoint CLI is currently in pre-production and undergoing +> heavy development. Until the CLI reaches version 1.0.0, breaking changes may +> be introduced at any time while we work on refining the CLI. -The SailPoint Command Line Interface (CLI) makes it easy to interact with SailPoint's SaaS Platform in a programmatic way. Many functions that use to be accomplished through tools like Postman or from custom scripts can now be done directly on the command line with minimal setup. + +
+
+ Logo -> **CAUTION:** The SailPoint CLI is currently in pre-production and undergoing heavy development. Until the CLI reaches version 1.0.0, breaking changes may be introduced at any time while we work on refining the CLI. +

SailPoint CLI - README

+
+
+ +
+
+ + + +## About The Project + +The SailPoint Command Line Interface (CLI) makes it easy to interact with +SailPoint's SaaS Platform in a programmatic way. Many functions that use to be +accomplished through tools like Postman or from custom scripts can now be done +directly on the command line with minimal setup. + +Please use GitHub +[issues](https://github.com/sailpoint-oss/sailpoint-cli/issues) to +[submit bugs](https://github.com/sailpoint-oss/sailpoint-cli/issues/new?assignees=&labels=&template=bug-report.md&title=%5BBug%5D+Your+Bug+Report+Here) +or make +[feature requests](https://github.com/sailpoint-oss/sailpoint-cli/issues/new?assignees=&labels=&template=feature-request.md&title=%5BFeature%5D+Your+Feature+Request+Here). + +If you'd like to contribute directly (which we encourage!) please read the +contribution guidelines below, first! ## Contents -- [Installation](#installation) +- [Getting Started](#getting-started) + - [Prerequisites](#prerequisites) + - [MacOS and Linux](#macos-and-linux) + - [Windows](#windows) - [Configuration](#configuration) + - [Assisted Configuration](#assisted-configuration) + - [Manual Configuration](#manual-configuration) + - [Environment Variable Configuration](#environment-variable-configuration) - [Usage](#usage) +- [Discuss](#discuss) +- [License](#license) - [Contributing](#contributing) - [Code of Conduct](#code-of-conduct) -# Installation + -Before you begin, you will need to install the following tools to build and install the CLI. +## Getting Started + +If you are looking to use the SailPoint CLI, please use the +[Releases](https://github.com/sailpoint-oss/sailpoint-cli/releases) section. If +you want to build this project locally, follow the steps below. + +### Prerequisites - [Golang](https://go.dev/doc/install) version 1.17 or above. -## MacOS and Linux +### MacOS and Linux -Open your terminal app, navigate to the project directory, and run the following command. +Open your terminal app, navigate to the project directory, and run the following +command: ```shell make install @@ -53,44 +93,56 @@ After that, make sure you can run the `sail` command. sail ``` -## Windows +### Windows -Open PowerShell, navigate to the project directory, and run the following command. +Open PowerShell **as administrator**, navigate to the project directory, and run +the following command. -```shell +```bash go build -o "C:\Program Files\sailpoint\sail.exe" ``` -After that, add the following directory to the system PATH parameter. You can find instructions on how to do this from [this article](https://medium.com/@kevinmarkvi/how-to-add-executables-to-your-path-in-windows-5ffa4ce61a53). This will only need to be done the first time you install the CLI. +After that, add the following directory to the system PATH parameter. You can +find instructions on how to do this from +[this article](https://medium.com/@kevinmarkvi/how-to-add-executables-to-your-path-in-windows-5ffa4ce61a53). +This will only need to be done the first time you install the CLI. -```text +``` C:\Program Files\sailpoint ``` -Once installed, make sure PowerShell can run the `sail` command. +After setting your environment variable, close all instances of your PowerShell +or Command Prompt, open a new instance, and make sure you can run the `sail` +command. ```shell sail ``` -# Configuration +## Configuration Before you begin, you will need to gather the following information. -- Create a [personal access token](https://developer.sailpoint.com/idn/api/authentication#personal-access-tokens), which will be used to authenticate the SailPoint CLI to your IdentityNow tenant. Take note of the **Client ID** and the **Client Secret**. +- Create a + [personal access token](https://developer.sailpoint.com/idn/api/authentication#personal-access-tokens), + which will be used to authenticate the SailPoint CLI to your IdentityNow + tenant. Take note of the **Client ID** and the **Client Secret**. - [Find your org/tenant name](https://developer.sailpoint.com/idn/api/getting-started#find-your-tenant-name). -## Assisted configuration +### Assisted configuration -Run the configure command to configure the CLI for your tenant. This command will create a configuration file in your home directory to store your tenant's connection details. +Run the configure command to configure the CLI for your tenant. This command +will create a configuration file in your home directory to store your tenant's +connection details. ```shell sail configure ``` -## Manual configuration +### Manual configuration -Alternatively, you can manually create a configuration file in your home directory. +Alternatively, you can manually create a configuration file in your home +directory. On **Linux/Mac**, run: @@ -103,7 +155,7 @@ On **Windows PowerShell**, run: ```powershell New-Item -ItemType Directory -Path 'C:\Users\\.sailpoint' -New-Item -ItemType File -Path 'C:\Users\\.sailpoint\config.yaml' +New-Item -ItemType File -Path 'C:\Users\\.sailpoint\config.yaml' ``` The `config.yaml` file should contain the following information. @@ -111,14 +163,18 @@ The `config.yaml` file should contain the following information. ```yaml baseURL: https://{org}.api.identitynow.com # or baseURL: https://localhost:7100 tokenURL: https://{org}.api.identitynow.com/oauth/token -clientSecret: {clientSecret} -clientID: {clientID} +clientSecret: { clientSecret } +clientID: { clientID } debug: false # Set to true for additional output ``` -## Environment variable configuration +### Environment variable configuration -You may also specify environment variables for your configuration. This can useful when using the CLI in an automated environment, like a CI/CD pipeline, where consuming the configuration from environment variables would be easier than creating the config file. Environment variables take precedent over values defined in a config file. +You may also specify environment variables for your configuration. This can +useful when using the CLI in an automated environment, like a CI/CD pipeline, +where consuming the configuration from environment variables would be easier +than creating the config file. Environment variables take precedent over values +defined in a config file. On **Linux/Mac**, export the following environment variables: @@ -130,7 +186,8 @@ export SAIL_CLIENTSECRET={clientSecret} export SAIL_DEBUG=false ``` -If you want your environment variables to persist across terminal sessions, you will need to add these exports to your shell profile, like `~/.bash_profile`. +If you want your environment variables to persist across terminal sessions, you +will need to add these exports to your shell profile, like `~/.bash_profile`. On **Windows PowerShell** run: @@ -142,23 +199,50 @@ $env:SAIL_CLIENTSECRET = '{clientSecret}' $env:SAIL_DEBUG = 'false' ``` -If you want your environment variables to persist across PowerShell sessions, then use the following command instead: +If you want your environment variables to persist across PowerShell sessions, +then use the following command instead: ```powershell [System.Environment]::SetEnvironmentVariable('SAIL_BASEURL','https://{org}.api.identitynow.com') ``` -# Usage +## Usage -Run the `sail` command for an overview of the available commands and flags. You can use the `-h` flag with any available command to see additional options available for each command. You can find more information about each command below. +Run the `sail` command for an overview of the available commands and flags. You +can use the `-h` flag with any available command to see additional options +available for each command. You can find more information about each command +below. - [connectors](./cmd/connector/README.md) - [transforms](./cmd/transform/README.md) -# Contributing +## Discuss -Before you contribute you [must sign our CLA](https://cla-assistant.io/sailpoint-oss/sailpoint-cli). Please read our [contribution guidelines](https://github.com/sailpoint-oss/sailpoint-cli/blob/main/CONTRIBUTING.md) to learn how to contribute to this tool. +[Click Here](https://developer.sailpoint.com/discuss) to discuss this tool with +other users. -# Code of Conduct + -We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. Read our [code of conduct](https://github.com/sailpoint-oss/sailpoint-cli/blob/main/CODE_OF_CONDUCT.md) to learn more. +## License + +Distributed under the MIT License. See [the license](./LICENSE) for more +information. + + + +## Contributing + +Before you contribute you +[must sign our CLA](https://cla-assistant.io/sailpoint-oss/sailpoint-cli). +Please also read our [contribution guidelines](./CONTRIBUTING.md) for all the +details on contributing. + + + +## Code of Conduct + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. Read our +[code of conduct](./CODE_OF_CONDUCT.md) to learn more. + +

(back to top)

diff --git a/img/icon.png b/img/icon.png new file mode 100644 index 0000000..31bf698 Binary files /dev/null and b/img/icon.png differ diff --git a/img/screenshot.png b/img/screenshot.png new file mode 100644 index 0000000..dc43ceb Binary files /dev/null and b/img/screenshot.png differ