From e91ea7708e1fb2c21b6612d1042ca58ac3502bf8 Mon Sep 17 00:00:00 2001 From: prajwalpatil25 Date: Tue, 21 Feb 2023 08:10:24 -0500 Subject: [PATCH 1/5] Updating docs --- .github/SECURITY.md | 29 +++++++ README.md | 17 +++- about/CODE_OF_CONDUCT.md | 144 ++++++++++++++++++++++++++++++++ about/COMMITTER_GUIDE.md | 56 +++++++++++++ about/CONTRIBUTING.md | 172 +++++++++++++++++++++++++++++++++++++++ about/INSTALLATION.md | 56 +++++++++++++ about/SUPPORT.md | 22 +++++ 7 files changed, 495 insertions(+), 1 deletion(-) create mode 100644 .github/SECURITY.md create mode 100644 about/COMMITTER_GUIDE.md create mode 100644 about/CONTRIBUTING.md create mode 100644 about/INSTALLATION.md create mode 100644 about/SUPPORT.md diff --git a/.github/SECURITY.md b/.github/SECURITY.md new file mode 100644 index 00000000..71b58d3d --- /dev/null +++ b/.github/SECURITY.md @@ -0,0 +1,29 @@ + + +# Security policy + +The Terraform Provider for Dell PowerStore repository is inspected for security vulnerabilities via blackduck scans and static code analysis. + +In addition to this, there are various security checks that get executed against a branch when a pull request is created/updated. Please refer to [pull request](CONTRIBUTING.md#Pull-requests) for more information. + +## Reporting a vulnerability + +Have you discovered a security vulnerability in this project? +We ask you to alert the maintainers by sending an email, describing the issue, impact, and fix - if applicable. + +You can reach the Terraform providers for Dell PowerStore maintainers at ses.avengers@dell.com. diff --git a/README.md b/README.md index 985b6c72..25b36468 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,21 @@ - + # Terraform Provider for PowerStore +[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](about/CODE_OF_CONDUCT.md) +[![License](https://img.shields.io/badge/License-MPL_2.0-blue.svg)](LICENSE) + + The Terraform Provider for PowerStore is a plugin for Terraform that allows the resource management for PowerStore appliance. This provider is built by Dell Technologies CTIO (Chief Technology & Innovation Office) team. For more details on PowerStore, please refer to PowerStore Official webpage [here][powerstore-website]. For general information about Terraform, visit the [official website][tf-website] and the [GitHub project page][tf-github]. diff --git a/about/CODE_OF_CONDUCT.md b/about/CODE_OF_CONDUCT.md index e69de29b..04d58ecd 100644 --- a/about/CODE_OF_CONDUCT.md +++ b/about/CODE_OF_CONDUCT.md @@ -0,0 +1,144 @@ + + +# Code of conduct - contributor covenant + +## Our pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at ses.avengers@dell.com +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary ban + +**Community impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent ban + +**Community impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. \ No newline at end of file diff --git a/about/COMMITTER_GUIDE.md b/about/COMMITTER_GUIDE.md new file mode 100644 index 00000000..370f2cc4 --- /dev/null +++ b/about/COMMITTER_GUIDE.md @@ -0,0 +1,56 @@ + + +# Committer guidelines + +These are the guidelines for people with commit privileges on the GitHub repository. Committers act as members of the Core Team and not necessarily employees of Dell. + +These guidelines apply to everyone and as Committers you have been given access to commit changes because you exhibit good judgment and have demonstrated your commitment to the vision of the project. We trust that you will use these privileges wisely and not abuse it. + +If these privileges are abused in any way and the quality of the project is compromised, our trust will be diminished and you may be asked to not commit or lose these privileges all together. + +## General rules + +### Don't + +* Break the build. +* Commit directly. +* Compromise backward compatibility. +* Disrespect your Community Team members. Help them grow. +* Think it is someone elses job to test your code. Write tests for all the code you produce. +* Forget to keep thing simple. +* Create technical debt. Fix-in-place and make it the highest priority above everything else. + +### Do + +* Keep it simple. +* Good work, your best every time. +* Keep the design of your software clean and maintainable. +* Squash your commits, avoid merges. +* Be active. Committers that are not active may have their permissions suspended. +* Write tests for all your deliverables. +* Automate everything. +* Maintain a high code coverage. +* Keep an open communication with other Committers. +* Ask questions. +* Document your contributions and remember to keep it simple. + +## People + +| Name | GitHub ID | Nickname | +|-------|-------------|------------| +| | | | \ No newline at end of file diff --git a/about/CONTRIBUTING.md b/about/CONTRIBUTING.md new file mode 100644 index 00000000..608d1fed --- /dev/null +++ b/about/CONTRIBUTING.md @@ -0,0 +1,172 @@ + + +# How to contribute + +Become one of the contributors to this project! We thrive to build a welcoming and open community for anyone who wants to use the project or contribute to it. There are just a few small guidelines you need to follow. To help us create a safe and positive community experience for all, we require all participants to adhere to the [Code of Conduct](CODE_OF_CONDUCT.md). + +## Table of contents + +* [Become a contributor](#Become-a-contributor) +* [Submitting issues](#Submitting-issues) +* [Triage issues](#Triage-issues) +* [Your first contribution](#Your-first-contribution) +* [Branching](#Branching) +* [Signing your commits](#Signing-your-commits) +* [Pull requests](#Pull-requests) +* [Code reviews](#Code-reviews) +* [TODOs in the code](#TODOs-in-the-code) + +## Become a contributor + +You can contribute to this project in several ways. Here are some examples: + +* Contribute to the Terraform provider for Dell PowerStore documentation and codebase. +* Report and triage bugs. +* Feature requests. +* Write technical documentation and blog posts, for users and contributors. +* Help others by answering questions about this project. + +## Submitting issues + +All issues related to Terraform provider for Dell PowerStore, regardless of the service/repository the issue belongs to (see table above), should be submitted [here](https://github.com/dell/dell-terraform-providers/issues). Issues will be triaged and labels will be used to indicate the type of issue. This section outlines the types of issues that can be submitted. + +### Report bugs + +We aim to track and document everything related to Terraform provider for Dell PowerStore via the Issues page. The code and documentation are released with no warranties or SLAs and are intended to be supported through a community driven process. + +Before submitting a new issue, make sure someone hasn't already reported the problem. Look through the [existing issues](https://github.com/dell/dell-terraform-providers/issues) for similar issues. + +Report a bug by submitting a [bug report](https://github.com/dell/dell-terraform-providers/issues/new?labels=type%2Fbug%2C+needs-triage&template=bug_report.md&title=%5BBUG%5D%3A). Make sure that you provide as much information as possible on how to reproduce the bug. + +When opening a Bug please include this information to help with debugging: + +1. Version of relevant software: this software, Ansible, Python, SDK, etc. +2. Details of the issue explaining the problem: what, when, where +3. The expected outcome that was not met (if any) +4. Supporting troubleshooting information. __Note: Do not provide private company information that could compromise your company's security.__ + +An Issue __must__ be created before submitting any pull request. Any pull request that is created should be linked to an Issue. + +### Feature request + +If you have an idea of how to improve this project, submit a [feature request](https://github.com/dell/dell-terraform-providers/issues/new?labels=type%2Ffeature-request%2C+needs-triage&template=feature_request.md&title=%5BFEATURE%5D%3A). + +### Answering questions + +If you have a question and you can't find the answer in the documentation or issues, the next step is to submit a [question.](https://github.com/dell/dell-terraform-providers/issues/new?labels=type%2Fquestion&template=ask-a-question.md&title=%5BQUESTION%5D%3A) + +We'd love your help answering questions being asked by other Terraform provider for Dell PowerStore users. + +## Triage issues + +Triage helps ensure that issues resolve quickly by: + +* Ensuring the issue's intent and purpose is conveyed precisely. This is necessary because it can be difficult for an issue to explain how an end user experiences a problem and what actions they took. +* Giving a contributor the information they need before they commit to resolving an issue. +* Lowering the issue count by preventing duplicate issues. +* Streamlining the development process by preventing duplicate discussions. + +If you don't have the knowledge or time to code, consider helping with _issue triage_. The Terraform provider for Dell PowerStore community will thank you for saving them time by spending some of yours. + +Read more about the ways you can [Triage issues](ISSUE_TRIAGE.md). + +## Your first contribution + +Unsure where to begin contributing? Start by browsing issues labeled `beginner friendly` or `help wanted`. + +* [Beginner-friendly](https://github.com/dell/dell-terraform-providers/issues?q=is%3Aopen+is%3Aissue+label%3A%22beginner+friendly%22) issues are generally straightforward to complete. +* [Help wanted](https://github.com/dell/dell-terraform-providers/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) issues are problems we would like the community to help us with regardless of complexity. + +When you're ready to contribute, it's time to create a pull request. + +## Signing your commits + +We require that developers sign off their commits to certify that they have permission to contribute the code in a pull request. This way of certifying is commonly known as the [Developer Certificate of Origin (DCO)](https://developercertificate.org/). We encourage all contributors to read the DCO text before signing a commit and making contributions. + +GitHub will prevent a pull request from being merged if there are any unsigned commits. + +### Signing a commit + +GPG (GNU Privacy Guard) will be used to sign commits. Follow the instructions [here](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/signing-commits) to create a GPG key and configure your GitHub account to use that key. + +Make sure you have your user name and e-mail set. This will be required for your signed commit to be properly verified. Check this references: + +* Setting up your github user name [reference](https://help.github.com/articles/setting-your-username-in-git/) +* Setting up your e-mail address [reference](https://help.github.com/articles/setting-your-commit-email-address-in-git/) + +Once Git and your GitHub account have been properly configured, you can add the -S flag to the git commits: + +```console +$ git commit -S -m your commit message +# Creates a signed commit +``` + +### Commit message format + +Terraform provider for Dell PowerStore uses the guidelines for commit messages outlined in [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/) + +## Pull requests + +If this is your first time contributing to an open-source project on GitHub, make sure you read about [Creating a pull request](https://help.github.com/en/articles/creating-a-pull-request). + +A pull request must always link to at least one GitHub issue. If that is not the case, create a GitHub issue and link it. + +To increase the chance of having your pull request accepted, make sure your pull request follows these guidelines: + +* Title and description matches the implementation. +* Commits within the pull request follow the formatting guidelines. +* The pull request closes one related issue. +* The pull request contains necessary tests that verify the intended behavior. +* If your pull request has conflicts, rebase your branch onto the main branch. + +If the pull request fixes a bug: + +* The pull request description must include `Fixes #`. +* To avoid regressions, the pull request should include tests that replicate the fixed bug. + +The team _squashes_ all commits into one when we accept a pull request. The title of the pull request becomes the subject line of the squashed commit message. We still encourage contributors to write informative commit messages, as they becomes a part of the Git commit body. + +We use the pull request title when we generate change logs for releases. As such, we strive to make the title as informative as possible. + +Make sure that the title for your pull request uses the same format as the subject line in the commit message. + +### Quality gates for pull requests + +GitHub Actions are used to enforce quality gates when a pull request is created or when any commit is made to the pull request. These GitHub Actions enforce our minimum code quality requirement for any code that get checked into the repository. If any of the quality gates fail, it is expected that the contributor will look into the check log, understand the problem and resolve the issue. If help is needed, please feel free to reach out the maintainers of the project for [support](SUPPORT.md). + +#### Code sanitization + +[GitHub action](https://github.com/dell/terraform-provider-powerstore/actions/workflows/ansible-test.yml) that analyzes source code to flag ansible sanity errors and runs Unit tests. + +## Code reviews + +All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose. Consult [GitHub Help](https://help.github.com/articles/about-pull-requests/) for more information on using pull requests. + +A pull request must satisfy following for it to be merged: + +* A pull request will require at least 2 maintainer approvals. +* Maintainers must perform a review to ensure the changes adhere to guidelines laid out in this document. +* If any commits are made after the PR has been approved, the PR approval will automatically be removed and the above process must happen again. + +## Code style + +Ensure the added code has the required documenation, examples and unit tests. + +### TODOs in the code + +We don't like TODOs in the code or documentation. It is really best if you sort out all issues you can see with the changes before we check the changes in. \ No newline at end of file diff --git a/about/INSTALLATION.md b/about/INSTALLATION.md new file mode 100644 index 00000000..f6e322fd --- /dev/null +++ b/about/INSTALLATION.md @@ -0,0 +1,56 @@ + + +# Installation of Terraform Provider for Dell PowerStore + +## Installation from public repository + +The provider will be fetched from the public repository and installed by Terraform automatically. +Create a file called `main.tf` in your workspace with the following contents + +```tf +terraform { + required_providers { + powerstore = { + version = "1.0.0" + source = "registry.terraform.io/dell/powerstore" + } + } +} +``` +Then, in that workspace, run +``` +terraform init +``` + +## Installation from source code + +1. Clone this repo +2. In the root of this repo run +``` +make install +``` +Then follow [installation from public repo](#installation-from-public-repository) + +## SSL Certificate Verification + +For SSL verifcation on RHEL, below steps can be performed: + * Copy the CA certificate to the `/etc/pki/ca-trust/source/anchors` path of the host by any external means. + * Import the SSL certificate to host by running +``` +update-ca-trust extract +``` diff --git a/about/SUPPORT.md b/about/SUPPORT.md new file mode 100644 index 00000000..15c40a0a --- /dev/null +++ b/about/SUPPORT.md @@ -0,0 +1,22 @@ + + +# Support + +For all your support needs or to follow the latest ongoing discussions and updates, join our Slack group. Click [Here](./) to request your invite. + +You can also interact with us on [GitHub](https://github.com/dell/dell-terraform-providers) by creating a [GitHub Issue](https://github.com/dell/dell-terraform-providers/issues). From 7e5daaab3b3b563160110863e98dfad35e59d720 Mon Sep 17 00:00:00 2001 From: prajwalpatil25 Date: Tue, 21 Feb 2023 08:22:18 -0500 Subject: [PATCH 2/5] Fixing hyperlink --- .github/SECURITY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/SECURITY.md b/.github/SECURITY.md index 71b58d3d..74052826 100644 --- a/.github/SECURITY.md +++ b/.github/SECURITY.md @@ -19,7 +19,7 @@ limitations under the License. The Terraform Provider for Dell PowerStore repository is inspected for security vulnerabilities via blackduck scans and static code analysis. -In addition to this, there are various security checks that get executed against a branch when a pull request is created/updated. Please refer to [pull request](CONTRIBUTING.md#Pull-requests) for more information. +In addition to this, there are various security checks that get executed against a branch when a pull request is created/updated. Please refer to [pull request](../about/CONTRIBUTING.md#Pull-requests) for more information. ## Reporting a vulnerability From a563bb71d946696364f0bb8eb4705bd688a1d9aa Mon Sep 17 00:00:00 2001 From: prajwalpatil25 Date: Fri, 24 Feb 2023 02:02:58 -0500 Subject: [PATCH 3/5] Updated security report email --- .github/SECURITY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/SECURITY.md b/.github/SECURITY.md index 74052826..98ddc32a 100644 --- a/.github/SECURITY.md +++ b/.github/SECURITY.md @@ -26,4 +26,4 @@ In addition to this, there are various security checks that get executed against Have you discovered a security vulnerability in this project? We ask you to alert the maintainers by sending an email, describing the issue, impact, and fix - if applicable. -You can reach the Terraform providers for Dell PowerStore maintainers at ses.avengers@dell.com. +You can reach the Terraform providers for Dell PowerStore maintainers at tpfdi.team@dell.com. From 91acef4ed6ab86cf25cd7755e5ba0867bcf48cdf Mon Sep 17 00:00:00 2001 From: prajwalpatil25 Date: Fri, 24 Feb 2023 03:03:54 -0500 Subject: [PATCH 4/5] release-activities --- CHANGELOG.md | 22 +++++++ README.md | 120 +++++++++++++++++++++------------------ main.go | 2 +- sonar-project.properties | 21 ------- 4 files changed, 87 insertions(+), 78 deletions(-) delete mode 100644 sonar-project.properties diff --git a/CHANGELOG.md b/CHANGELOG.md index e69de29b..a28437f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -0,0 +1,22 @@ +# v1.0.0 +## Release Summary +The release supports resources and data sources mentioned in the Features section for Dell PowerStore. +## Features + +### Data Sources: +* `powerstore_volume` for reading volume in PowerStore. + +### Resources +* `powerstore_volume` for managing Volume in PowerStore. +* `powerstore_snapshot_rule` for managing Snapshot Rule in PowerStore. +* `powerstore_protection_policy` for managing Protection Policy in PowerStore. +* `powerstore_storage_container` for managing Storage Container in PowerStore. + +### Others +N/A + +## Enhancements +N/A + +## Bug Fixes +N/A diff --git a/README.md b/README.md index 25b36468..cc8df160 100644 --- a/README.md +++ b/README.md @@ -10,88 +10,96 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. --> -# Terraform Provider for PowerStore +# Terraform Provider for Dell Technologies PowerStore [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg)](about/CODE_OF_CONDUCT.md) [![License](https://img.shields.io/badge/License-MPL_2.0-blue.svg)](LICENSE) -The Terraform Provider for PowerStore is a plugin for Terraform that allows the resource management for PowerStore appliance. This provider is built by Dell Technologies CTIO (Chief Technology & Innovation Office) team. For more details on PowerStore, please refer to PowerStore Official webpage [here][powerstore-website]. +The Terraform Provider for Dell Technologies (Dell) PowerStore allows Data Center and IT administrators to use Hashicorp Terraform to automate and orchestrate the provisioning and management of Dell PowerStore storage systems. -For general information about Terraform, visit the [official website][tf-website] and the [GitHub project page][tf-github]. +The Terraform Provider can be used to manage volumes, snapshot rules, protection policies and storage containers. -[tf-website]: https://terraform.io -[tf-github]: https://github.com/hashicorp/terraform -[powerstore-website]: https://www.delltechnologies.com/en-in/storage/powerstore-storage-appliance.htm +## Table of contents -## Requirements ++* [License](#license) ++* [Prerequisites](#prerequisites) ++* [List of Resources in Terraform Provider for Dell PowerStore](#list-of-resources-in-terraform-provider-for-dell-powerstore) ++* [List of DataSources in Terraform Provider for Dell PowerStore](#list-of-datasources-in-terraform-provider-for-dell-powerstore) ++* [Releasing, Maintenance and Deprecation](#releasing-maintenance-and-deprecation) -- [Terraform](https://www.terraform.io/downloads.html) 0.13.x and later -- [Go](https://golang.org/doc/install) 1.13.x and later (to build the provider plugin) ++## License ++The Terraform Provider for PowerStore is released and licensed under the MPL-2.0 license. See [LICENSE](https://github.com/dell/terraform-provider-powerstore/blob/main/LICENSE) for the full terms. -## Development +## Prerequisites -*Note*: This project uses [Go modules](https://blog.golang.org/using-go-modules) making it safe to work with it outside of your existing [GOPATH](http://golang.org/doc/code.html#GOPATH). We assuming the dir you choose is in variable $DIR ++| **Terraform Provider** | **PowerStore Version** | **OS** | **Terraform** | **Golang** ++|---------------------|-----------------------|-------|--------------------|--------------------------| ++| v1.0.0 | 3.0 | Ubuntu 22.04
RHEL 8.x
RHEL 7.x | 1.3.2
1.2.9
| 1.19.x -### steps ++## List of Resources in Terraform Provider for Dell PowerStore ++ * Volume ++ * Snapshot Rule ++ * Protection Policy ++ * Storage Container -1. clone repo and build the provider binary -```bash -$ mkdir -p $DIR && cd $DIR -$ git clone https://github.com/dell/terraform-provider-powerstore.git -$ go mod download -$ go build -``` ++## List of DataSources in Terraform Provider for Dell PowerStore ++ * Volume -2. configure terraform to use this new build provider binary instead of fetching from [terraform registry](https://registry.terraform.io/) - 1. create a file `.terraformrc` in home directory and copy the following content - 2. replace DIR_absolute_path with the $DIR content i.e. the absolute path where repo is cloned +## Installation of Terraform Provider for Dell PowerFStore -```bash -$ cat ~/.terraformrc -provider_installation { +## Installation from Terraform Registry - dev_overrides { - "powerstore.com/powerstoreprovider/powerstore" = "DIR_absolute_path" - } +The provider will be fetched from the Terraform registry and installed by Terraform automatically. +Create a file called `main.tf` in your workspace with the following contents - direct {} +```terraform +terraform { + required_providers { + powerstore = { + version = "1.0.0" + source = "registry.terraform.io/dell/powerstore" + } + } } ``` - -3. run example -```bash -$ cd $DIR/examples -# create a .auto.tfvars file with variables and value -# this var file will be auto loaded -$ cat $DIR/examples/.auto.tfvars -username="" -password="" -endpoint="" -$ terraform apply -... -^C +Then, in that workspace, run ``` - -4. for debugging -```bash -export TF_LOG_PATH=/tmp/logfile -export GOPOWERSTORE_DEBUG="TRUE" -export TF_LOG="debug" +terraform init ``` -## Documentation - -The documentation for the provider resources can found [here](https://github.com/dell/terraform-provider-powerstore/tree/main/docs/resources) +## Installation from source code -## Roadmap +Dependencies: Go 1.19.x, make, Terraform 1.2.9/1.3.2 +
+
+Run +``` +git clone https://github.com/dell/terraform-provider-powerstore.git +cd terraform-provider-powerstore +make install +``` +Then follow [installation from Terraform registry](#installation-from-terraform-registry) -Our roadmap for Terraform provider for PowerStore resources can be found [here](https://github.com/dell/terraform-provider-powerstore/tree/main/docs/ROADMAP.md) +## SSL Certificate Verification -## Contributing +For SSL verifcation on RHEL, these steps can be performed: + * Copy the CA certificate to the `/etc/pki/ca-trust/source/anchors` path of the host by any external means. + * Import the SSL certificate to host by running +``` +update-ca-trust extract +``` +For SSL verification on Ubuntu, these steps can be performed: + * Copy the CA certificate to the `/etc/ssl/certs` path of the host by any external means. + * Import the SSL certificate to host by running: + ``` + update-ca-certificates +``` -The Terraform PowerStore provider is open-source and community supported. +## Releasing, Maintenance and Deprecation -For issues, questions or feedback, join the [Dell EMC Automation community](https://www.dell.com/community/Automation/bd-p/Automation). +Terraform Provider for Dell Technnologies PowerStore follows [Semantic Versioning](https://semver.org/). +New version will be released regularly if significant changes(bug fixes or new features) are made in the provider. +Released code versions are located on tags with names of the form "vx.y.z" where x.y.z corresponds to the version number. \ No newline at end of file diff --git a/main.go b/main.go index e7d23af3..77989a8c 100644 --- a/main.go +++ b/main.go @@ -22,7 +22,7 @@ func main() { flag.Parse() err := providerserver.Serve(context.Background(), powerstore.New(version), providerserver.ServeOpts{ - Address: "powerstore.com/powerstoreprovider/powerstore", + Address: "registry.terraform.io/dell/powerstore", Debug: debug, }) diff --git a/sonar-project.properties b/sonar-project.properties deleted file mode 100644 index d1474bfe..00000000 --- a/sonar-project.properties +++ /dev/null @@ -1,21 +0,0 @@ -# must be unique in a given SonarQube instance -sonar.projectKey=terraform-provider-powerstore - -# --- optional properties --- - -# defaults to project key -sonar.projectName=terraform-provider-powerstore -# defaults to 'not provided' -sonar.projectVersion=1.0 - -# Path is relative to the sonar-project.properties file. Defaults to . -sonar.sources=. -sonar.exclusions=**/*_test.go - -sonar.tests=. -sonar.test.inclusions=**/*_test.go - -# Encoding of the source code. Default is default system encoding -sonar.sourceEncoding=UTF-8 - - From a7a4a198dbfd5868a80410d0f79ba177dc3fa2c4 Mon Sep 17 00:00:00 2001 From: prajwalpatil25 Date: Fri, 24 Feb 2023 03:05:52 -0500 Subject: [PATCH 5/5] fixed formatting --- README.md | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index cc8df160..df1e4592 100644 --- a/README.md +++ b/README.md @@ -22,29 +22,29 @@ The Terraform Provider can be used to manage volumes, snapshot rules, protection ## Table of contents -+* [License](#license) -+* [Prerequisites](#prerequisites) -+* [List of Resources in Terraform Provider for Dell PowerStore](#list-of-resources-in-terraform-provider-for-dell-powerstore) -+* [List of DataSources in Terraform Provider for Dell PowerStore](#list-of-datasources-in-terraform-provider-for-dell-powerstore) -+* [Releasing, Maintenance and Deprecation](#releasing-maintenance-and-deprecation) +* [License](#license) +* [Prerequisites](#prerequisites) +* [List of Resources in Terraform Provider for Dell PowerStore](#list-of-resources-in-terraform-provider-for-dell-powerstore) +* [List of DataSources in Terraform Provider for Dell PowerStore](#list-of-datasources-in-terraform-provider-for-dell-powerstore) +* [Releasing, Maintenance and Deprecation](#releasing-maintenance-and-deprecation) -+## License -+The Terraform Provider for PowerStore is released and licensed under the MPL-2.0 license. See [LICENSE](https://github.com/dell/terraform-provider-powerstore/blob/main/LICENSE) for the full terms. +## License +The Terraform Provider for PowerStore is released and licensed under the MPL-2.0 license. See [LICENSE](https://github.com/dell/terraform-provider-powerstore/blob/main/LICENSE) for the full terms. ## Prerequisites -+| **Terraform Provider** | **PowerStore Version** | **OS** | **Terraform** | **Golang** -+|---------------------|-----------------------|-------|--------------------|--------------------------| -+| v1.0.0 | 3.0 | Ubuntu 22.04
RHEL 8.x
RHEL 7.x | 1.3.2
1.2.9
| 1.19.x +| **Terraform Provider** | **PowerStore Version** | **OS** | **Terraform** | **Golang** +|---------------------|-----------------------|-------|--------------------|--------------------------| +| v1.0.0 | 3.0 | Ubuntu 22.04
RHEL 8.x
RHEL 7.x | 1.3.2
1.2.9
| 1.19.x -+## List of Resources in Terraform Provider for Dell PowerStore -+ * Volume -+ * Snapshot Rule -+ * Protection Policy -+ * Storage Container +## List of Resources in Terraform Provider for Dell PowerStore + * Volume + * Snapshot Rule + * Protection Policy + * Storage Container -+## List of DataSources in Terraform Provider for Dell PowerStore -+ * Volume +## List of DataSources in Terraform Provider for Dell PowerStore + * Volume ## Installation of Terraform Provider for Dell PowerFStore