From b540cad82a43b08a722fe37c0b9a80d4c1632544 Mon Sep 17 00:00:00 2001 From: Bhupendrakumar Piprava Date: Fri, 15 Nov 2019 10:13:19 +0530 Subject: [PATCH 1/3] Update license to apache 2.0 --- LICENSE | 279 +++++++++++++----- settings.gradle | 16 + .../aws/SecretManagerClient.java | 2 +- 3 files changed, 218 insertions(+), 79 deletions(-) diff --git a/LICENSE b/LICENSE index ce1b8e6..d645695 100644 --- a/LICENSE +++ b/LICENSE @@ -1,79 +1,202 @@ - Go Extensions End User License Agreement -This is a “Clickwrap Agreement”, by installing or using this Product, the individual doing so guarantees that he or she is authorized to Enter Into this Agreement with ThoughtWorks on behalf of Licensee, that he or she has read and understands the terms of this Agreement and that Licensee agrees to be bound by this Agreement. If Licensee does not agree to the terms of this Agreement, Licensee must not install, use or allow the installation or use of this Product. -1. Defined Terms: -Agreement means this ThoughtWorks Go Extensions End User License Agreement together with the applicable Go Support Schedule. -Authorized Use means use of the Product in accordance with the terms of this Agreement and as specified in the Go Support Schedule, if any. -Licensee means the person or entity (real or legal) exercising rights granted by ThoughtWorks under this Agreement, who is identified in the Go Support Schedule as Customer. Where Licensee is a legal entity, Licensee includes any currently existing or future entity which controls, is controlled by, or is under common control with Licensee, where “control” means (a) the direct or indirect power to control the management and direction of such entity, whether by ownership, contract, or otherwise, or (b) ownership of fifty percent (50%) or more of the outstanding shares, ownership of a controlling interest, or beneficial ownership of such entity. -Order Documents include (but are not limited to) the following documents: Invoices, Purchase Orders, Requisitions, or other similar documents that memorialize a licensing transaction between Licensee and ThoughtWorks, which specify the price, Product, quantity and type of Authorized Users, and the Term. -Product means the commercial extensions to Go listed on the website http://www.thoughtworks.com/products/go-continuous-delivery/, but excluding Third Party Software. -Term means the term of the applicable Go Support Schedule. -Third-Party Software means third-party computer software licensed to ThoughtWorks, which is distributed with the Product. -ThoughtWorks means ThoughtWorks, Inc., a Delaware Corporation, located at 200 E. Randolph St., 25th Floor, Chicago, Illinois 60601, United States of America. - -2. Grant of License -During the Term, and subject to Licensee having paid and continuing to pay the applicable Support Fees set forth in the Go Support Schedule, and complying with the terms and conditions of this Agreement, ThoughtWorks hereby grants Licensee a non-exclusive, non-transferable, non-assignable limited license to use the Product for the Authorized Use. With respect to the Product, the terms of this Agreement supersede and replace any terms contained in any preexisting agreement between ThoughtWorks and Licensee. With respect to Third-Party Software, the terms of the third-party licenses applicable to the Third-Party Software govern the use of such Third-Party Software by Licensee. - -Licensee may make additional copies of the Product as necessary for archival or backup purposes, provided that Licensee reproduces and includes all copyright, trademark, logo or other proprietary notices on every copy in the same form in which they appear in or on the original copies provided to Licensee by ThoughtWorks. - -Licensee may not distribute, sub-license, translate, reverse-engineer, decompile, or disassemble the Product (including Third-Party Software) or the source code, or attempt to derive the source code in any other way, save and only to the extent any foregoing restriction is prohibited by applicable law or to the extent as may be permitted by the terms of the licenses applicable to the Third-Party Software; modify the Product or merge all, or any part, of the product or the code into another program; or remove, modify or alter any ThoughtWorks copyright, trademark, logo, or other proprietary mark or notice from any part of the Product or source code. - -3. Term of License -This license shall begin on the Effective Date of the applicable Go Support Schedule and continue for the Term subject to earlier termination by either ThoughtWorks or Licensee in accordance with this Agreement. - -4. Licensee’s Obligations -Licensee shall ensure that its use of the Product is only for the Authorized Use. Licensee shall not distribute the Product. Licensee shall take reasonable security measures to prevent any prohibited activities under Section 2 of this Agreement. - -5. INTELLECTUAL PROPERTY & CONFIDENTIALITY -ThoughtWorks hereby reserves all rights not explicitly granted in this Agreement. The Product contains copyrighted material, trade secrets and other valuable confidential and proprietary information owned by ThoughtWorks. This license confers no right, title, or ownership interest in or to any copyright, trademark, logo, or trade name of ThoughtWorks and all associated intellectual property rights are retained by ThoughtWorks. - -6. LIMITED WARRANTY & LIABILITY -a) ThoughtWorks provides the Product “as is” and “as available” without warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, satisfactory quality, and fitness for a particular purpose. ThoughtWorks does not warrant that the functions contained in the Product will meet Licensee’s requirements, or that the operation of the Product will be uninterrupted or error or defect free, or that defects in the Product will be corrected. 
b) Under no circumstances, including negligence, shall ThoughtWorks be liable for any lost profits, loss of data, cost of procurement of substitute software, goods or services, or special, indirect, incidental or consequential loss or damages, either in contract or tort, arising out of or in connection with this Agreement or that result from the use or inability to use the Product, even if ThoughtWorks is advised of the possibility. In addition, in no event shall ThoughtWorks’ total liability for all damages, losses and causes of action exceed the amount paid by Licensee under the applicable Go Support Schedule. To the extent that liability for death or personal injury caused by its negligence, caused by fraudulent misrepresentation or deceit, or any other liability that may not be excluded or limited by applicable law, ThoughtWorks does not exclude or limit its liability. -c) The Parties agree that the limitations on and exclusions of liability listed in this Section 6 were freely negotiated and are an integral part of the bargain, in that the Product would not have been available for the same price and under the same terms and conditions had such limitations on and exclusions of liability not been included in this Agreement. -d) To the extent the foregoing warranty disclaimer or limitation of liability is not allowed by applicable law, then the liability of ThoughtWorks, and Licensee’s remedy, shall be limited to, at ThoughtWorks’ option: (i) the re-supply of any defective Product; or (ii) the payment to Licensee of US$50.00 (fifty United States Dollars). - -7. INTELLECTUAL PROPERTY INDEMNIFICATION -a) ThoughtWorks will defend or settle, at its expense, any action brought against Licensee based upon the claim that the Product, when used in accordance with this Agreement, knowingly and directly infringes an issued U.S. patent or registered copyright; provided, however, that: (i) Licensee notifies ThoughtWorks promptly in writing of any such claim; (ii) Licensee does not enter into any settlement related to any claim without ThoughtWorks' prior written consent; (iii) ThoughtWorks has sole control of any claim and all related settlement negotiations; and (iv) as requested, Licensee provides ThoughtWorks with all information and assistance necessary to settle or defend the claim. -(b) If the Product becomes, or may, in the opinion of ThoughtWorks, become the subject of a claim of infringement of any third party intellectual property right, ThoughtWorks may, at its option, and as Licensee’s exclusive remedy: (i) procure the right for Licensee to use the Product; (ii) replace or modify the Product to make it non-infringing; or (iii) make a payment to Licensee of US$50.00 (fifty United States Dollars).
(c) Licensee will defend or settle, at Licensee’s expense, any action brought against ThoughtWorks based upon the claim that any modifications Licensee makes to the Product or any combination of the Product with software or other items not approved by ThoughtWorks infringes or violates any third party intellectual property right; provided, however, that ThoughtWorks comply with the same requirements outlined in subsections (i)-(iv) of Subparagraph (a). -(d) Notwithstanding anything herein to the contrary, ThoughtWorks shall have no obligation to defend Licensee or to pay Licensee’s costs, damages or attorney’s fees, or have any liability whatsoever, for any claim resulting from or attributable to any modifications to the Product or any combination of the Product with other with products or other items not approved by ThoughtWorks or any failure to implement an update to the Product or if Licensee is otherwise not using the Product in accordance with this Agreement. - -8. Breach, Cure, and Termination of the Agreement -ThoughtWorks can terminate this Agreement in the event of breach by Licensee. Breach by Licensee includes: 1) the failure to prevent unauthorized use or distribution of the Product; 2) accessing, using, modifying, or distributing Third-Party Software independently of the Product and without permission; 3) nonpayment, or 4) any other activity that violates this Agreement. ThoughtWorks may terminate this Agreement immediately upon giving notice to Licensee if after giving Licensee written notice that it is in breach of the Agreement, Licensee fails to cure the breach within seven (7) days of receipt of the notice; except that in the case of Licensee’s failure to pay Support Fees or comply with Section 2, ThoughtWorks reserves the right to terminate this Agreement immediately and without notice or opportunity to cure. In the event of termination of this Agreement: a) all outstanding License Fees and any other amounts owed by Licensee are immediately due and payable; and b) all license rights (including without limitation the perpetual license) granted to Licensee under this Agreement and in relation to the Product are revoked and the Licensee must destroy all copies of the Product. If Licensee terminates the applicable Go Support Schedule, then this Agreement shall automatically terminate. - -9. Export -Licensee acknowledges that this Product may be subject to export controls or restrictions by the United States or other countries or territories and Licensee hereby certifies that Licensee is not located in Cuba, Iran, North Korea, Sudan, or Syria. Additionally, Licensee affirms that, to Licensee’s knowledge, Licensee is not included on any list that would cause ThoughtWorks' provision of this Product to Licensee to be prohibited by the laws or regulations of the United States, including the Department of Commerce’s ("DOC") Denied Persons, Entities, and Unverified Lists; the U.S. Department of State’s Debarred List; or on the U.S. Department of Treasury’s lists of Specially Designated Nationals, Specially Designated Narcotics Traffickers, or Specially Designated Terrorists. Licensee agrees to comply with all applicable export and re-export control laws and regulations, including the Export Administration Regulations ("EAR") maintained by the U.S. Department of Commerce. - -10. Assignment -Licensee may not assign its rights under this Agreement except in the case of a change in control of Licensee, including merger or sale. Licensee must give ThoughtWorks 60 days written notice of any such assignment. ThoughtWorks may assign its rights and obligations under this agreement for any reason and without the consent of Licensee. - -11. Severability -Each provision of this Agreement shall be interpreted in such a manner as to be effective and valid under applicable law. The invalidity or unenforceability of any provision of this Agreement shall in no way affect the validity or enforceability of any other provision hereof. Any invalid or unenforceable provision shall be deemed severed from this Agreement and the balance of this Agreement shall be construed and enforced as if this Agreement did not contain the particular provisions(s) held to be invalid or unenforceable and so as to effect the original intent of the parties hereto. - -12. Governing Law -This Agreement shall be deemed executed in the State of Delaware, U.S.A., and shall be governed by and construed in accordance with the laws of the State of Delaware, without regard to choice of law or conflict of law principles. For purposes of enforcement of arbitration awards, equitable relief, or if for any other reason litigation is permissible under this agreement, each party hereby irrevocably agrees to the exclusive personal jurisdiction and venue of any court located in the State of Delaware. - -13. No Waiver -No failure or delay by either party in exercising any right, power, or privilege granted under this Agreement shall operate as a waiver thereof, nor shall any single or partial exercise thereof preclude any other or further exercise thereof or the exercise of any right, power or privilege granted under this Agreement. The knowing waiver of a Breach of this Agreement or the failure of a party to exercise any right under this Agreement shall in no event constitute a waiver as to any other breach, whether similar or dissimilar in nature, or prevent the exercise of any right under this Agreement. - -14. Survival -The provisions of Sections 4, 5, 6, 7, 9, 11, 12, 14, 15, 16, 18, 19 and 20 shall survive the cancellation or termination of this Agreement. All other provisions of this Agreement, which by their terms or import are intended to survive such cancellation or termination, shall survive. - -15. No Third-Party Beneficiaries -This Agreement may only be enforced by the parties hereto and their respective successors and assigns and there are no third-party beneficiaries to this Agreement. - -16. Audit Rights -Licensee agrees at all times during the term of this Agreement, and for three (3) years after cancellation or termination of this Agreement, to permit ThoughtWorks or its authorized representative, upon reasonable notice, access to inspect all facilities (including systems, work stations and other hardware and storage devices) where Licensee has deployed the Product, to ensure compliance with the terms and conditions of this Agreement. - -17. Amendment -This Agreement can only be modified by mutual written assent of the parties. The parties agree that the terms on either party’s purchase order, invoice or other business forms are not binding on the other party and shall not be of any effect whatsoever and may not affect, alter, or modify the terms and conditions of this Agreement unless they are expressly incorporated into a formal written agreement signed by both parties. - -18. U.S. Federal Procurement Requirements -Pursuant to FAR 52.212-5(e) and/or FAR 52.244-6, for any ORDER DOCUMENTS referencing a specific U.S. Government prime contract, all applicable procurement regulations required by federal statute or regulation to be inserted in U.S. Government subcontracts apply, including but not limited to 52.203-13, Contractor Code of Business Ethics and Conduct, FAR 52.203-15, Whistleblower Protections under the American Recovery and Reinvestment Act of 2009, FAR 52.219-8 - Utilization of Small Business Concerns, FAR 52.222-26 - Equal Opportunity, FAR 52.222-35 - Equal Opportunity for Special Disabled Veterans, Veterans of the Vietnam Era, and other Eligible Veterans, FAR 52.222-36 - Affirmative Action for Workers with Disabilities, FAR 52.222-39 - Notification of Employee Rights Concerning Payment of Union Dues or Fees, FAR 52.222-41 - Service Contract Act of 1965, FAR 52.222-50 – Combating Trafficking in Persons, FAR 52.222-51, Exemption from Application of the Service Contract Act to Contracts for Maintenance, Calibration, or Repair of Certain Equipment – Requirements, FAR 52.222-53, Exemption from Application of the Service Contract Act to Contracts for Certain Service – Requirements, FAR 52.222-54, Employment Eligibility Verification, FAR 52.226-6, Promoting Excess Food Donation to Nonprofit Organizations, FAR 52.247-64 - Preference for Privately Owned U.S. Flag Commercial Vessels (as required in accordance with paragraph (d) of FAR clause 52.247-64. These provisions have the same force and effect as if they were stated in their full text. - -19. U.S. Government Rights -If you are a US government entity then you should be aware that the Software is a “commercial item,” as that term is defined in 48 CFR 2.101, consisting of “commercial computer software” and “commercial computer software documentation,” as such terms are used in 48 CFR 12.212. Consistent with 48 CFR 12.212 and 48 CFR 227.7202-1 and 227.7202-4, all such customers acquire the Software with only those rights set forth herein. The terms of this license are subject to 48 CFR 52.227-19. The use, duplication, or disclosure by the US government of the Software is subject to restrictions as provided in 48 CFR 12.211 and 12.212, 48 CFR 52.227-19, 48 CFR 252.227-7015, as applicable. - -THIS Commercial software and commercial computer software documentation was developed entirely at private expense and is provided with restricted rights to United States Government agencies in accordance with the terms of this Agreement, FAR 12.212 and DFARS 227.7202 For Commercial Technical Data. the restrictions set forth in FAR 12.211 and for DoD agencies DFARS 252.227-7015 shall also apply. Data first produced in the performance of work under this Agreement is provided to U.S. Government agencies in accordance with FAR 52.227-14(b)(1)(i). These provisions have the same force and effect as if they were stated in their full text. - -20. Entire Agreement -This Agreement, the Go Support Schedule and the applicable Order Documents (if any), constitute the entire agreement between the parties with respect to the subject matter hereof, and supersedes and replaces all prior or contemporaneous understandings, representations, communications, or agreements, written or oral, including any additional or contrary terms contained in any Licensee purchase order or other procurement document, regarding the Product or in any way related to ThoughtWorks intellectual property rights in the Product. In the event of a conflict between the terms of this ThoughtWorks Go Extensions End User License Agreement and the ThoughtWorks Support Services General Terms located at http://www.thoughtworks.com/products/go-continuous-delivery/thoughtworks-support-services-general-terms, then solely with respect to ThoughtWorks’ supply and Licensee’s use of the Product, the terms of this ThoughtWorks Go Extensions End User License Agreement shall control. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + 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. diff --git a/settings.gradle b/settings.gradle index aadd3b0..82352f3 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,3 +1,19 @@ +/* + * Copyright 2019 ThoughtWorks, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * 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. + */ + /* * This file was generated by the Gradle 'init' task. * diff --git a/src/main/java/com/thoughtworks/gocd/secretmanager/aws/SecretManagerClient.java b/src/main/java/com/thoughtworks/gocd/secretmanager/aws/SecretManagerClient.java index 0b91df1..83e6dda 100644 --- a/src/main/java/com/thoughtworks/gocd/secretmanager/aws/SecretManagerClient.java +++ b/src/main/java/com/thoughtworks/gocd/secretmanager/aws/SecretManagerClient.java @@ -68,4 +68,4 @@ public void close() { secretCache.close(); awsSecretsManager.shutdown(); } -} \ No newline at end of file +} From bef2f44b4002b85153b6e1e2ff35410208813977 Mon Sep 17 00:00:00 2001 From: Bhupendrakumar Piprava Date: Fri, 15 Nov 2019 10:16:44 +0530 Subject: [PATCH 2/3] Added changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..10b126f --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,3 @@ +## 0.0.1 - 2019-11-15 + +- Initial release of the plugin From 90acf6e00085539875391df5075d87dda089f719 Mon Sep 17 00:00:00 2001 From: Bhupendrakumar Piprava Date: Fri, 15 Nov 2019 10:48:59 +0530 Subject: [PATCH 3/3] Added installation guide --- INSTALL.md | 50 +++++++++++++++++++++++++++++++++++++++++ README.md | 66 +++++------------------------------------------------- 2 files changed, 56 insertions(+), 60 deletions(-) create mode 100644 INSTALL.md diff --git a/INSTALL.md b/INSTALL.md new file mode 100644 index 0000000..e7bcf15 --- /dev/null +++ b/INSTALL.md @@ -0,0 +1,50 @@ +# AWS Secrets Manager plugin for GoCD + +The plugin needs to be configured with a secret config in order to connect to AWS Secrets Manager. + +Table of Contents +================= + + * [Requirements](#requirements) + * [Installation](#installation) + * [Configuration](#configure-the-plugin-to-access-secrets-from-aws) + * [Using secrets](#using-secrets) + + +## Requirements + +* GoCD server version `v19.6.0` or above +* AWS credentials to access secrets from [AWS Secrets Manager](https://aws.amazon.com/secrets-manager/) + +## Installation + +* Copy the file `build/libs/gocd-aws-based-secrets-plugin-VERSION.jar` to the GoCD server under `${GO_SERVER_DIR}/plugins/external` +and restart the server. +* The `GO_SERVER_DIR` is usually `/var/lib/go-server` on **Linux** and `C:\Program Files\Go Server` on **Windows**. + +## Configure the plugin to access secrets from AWS + +- Login to your GoCD server. +- Navigate to **Admin** > **Secret Management**. +- Click on **ADD** button. +- Configure the mandatory fields. + + | Field | Required | Description | + | --------------- | --------- | --------------------------------------------------------------------| + | Endpoint | true | The AWS service endpoint for the plugin to connect. | + | AccessKey | true | The access key as a part of AWS credentials. | + | SecretAccessKey | true | The secret access key as a part of AWS credentials. | + | Region | true | Region in which AWS secrets manager is hosted. | + | SecretName | true | The name of the secret to be utilized. | + | SecretCacheTTL | false | The secrets cache TTL in milliseconds, defaults to 30 minutes. | + + **NOTE:** *The plugin caches secrets for a duration configured using the SecretCacheTTL. Currently GoCD does not provide a +way to invalidate the cache. To invalidate the cache, change the SecretCacheTTL and save the SecretConfig.* + +- Configure the `rules` where this secrets can be used. +`` tag defines where this secretConfig is allowed/denied to be referred. For more details about rules and examples refer the GoCD Secret Management [documentation](https://docs.gocd.org/current/configuration/secrets_management.html#step-3-restrict-usage-of-secrets-manager) + +- Save. + +## Using secrets +- See [Define Secret Params](https://docs.gocd.org/current/configuration/secrets_management.html#step-4-define-secret-params) for more information diff --git a/README.md b/README.md index 1d00337..0c0c1e3 100644 --- a/README.md +++ b/README.md @@ -4,74 +4,18 @@ This is a GoCD Secrets Plugin which allows users to use [AWS Secrets Manager](https://aws.amazon.com/secrets-manager/) as a secret manager for GoCD. ## Table of Contents -* [Configure the plugin](#configure-the-plugin) * [Building the code base](#building-the-code-base) +* [Install and configure the plugin](/INSTALL.md) * [Troubleshooting](#troubleshooting) -### Configure the plugin - -The plugin needs to be configured with a secret config in order to connect to AWS Secrets Manager. The configuration can be added from the Secrets Management page under Admin > Secret Management. - -Alternatively, the configuration can be added directly to the config.xml using the configuration. - -```xml - - - Dummy description - - - Endpoint - your-aws-endpoint - - - AccessKey - encrypted-access-key - - - SecretAccessKey - encrypted-secret-access-key - - - Region - aws-region - - - SecretName - secret-name - - - - env_* - my_group - other_group - - - -``` - -`` tag defines where this secretConfig is allowed/denied to be referred. For more details about rules and examples refer the GoCD Secret Management [documentation](https://docs.gocd.org/current/configuration/secrets_management.html) - -| Field | Required | Description | -| --------------- | --------- | --------------------------------------------------------------------| -| Endpoint | true | The AWS service endpoint for the plugin to connect. | -| AccessKey | true | The access key as a part of AWS credentials. | -| SecretAccessKey | true | The secret access key as a part of AWS credentials. | -| Region | true | Region in which AWS secrets manager is hosted. | -| SecretName | true | The name of the secret to be utilized. | -| SecretCacheTTL | false | The secrets cache TTL in milliseconds, defaults to 30 minutes. | - -### Caching -The plugin caches secrets for a duration configured using the SecretCacheTTL. Currently GoCD does not provide a -way to invalidate the cache. To invalidate the cache, change the SecretCacheTTL and save the SecretConfig. - ### Building the code base To build the jar, run `./gradlew clean test assemble` ## Troubleshooting -### Enable Debug Logs +#### Enable Debug Logs -#### If you are on GoCD version 19.6 and above: +##### If you are on GoCD version 19.6 and above: Edit the file `wrapper-properties.conf` on your GoCD server and add the following options. The location of the `wrapper-properties.conf` can be found in the [installation documentation](https://docs.gocd.org/current/installation/installing_go_server.html) of the GoCD server. @@ -80,7 +24,9 @@ Edit the file `wrapper-properties.conf` on your GoCD server and add the followin wrapper.java.additional.100=-Dplugin.com.thoughtworks.gocd.secretmanager.aws.log.level=debug ``` -If you're running with GoCD server 19.6 and above on docker using one of the supported GoCD server images, set the environment variable `GOCD_SERVER_JVM_OPTIONS`: +##### GoCD server 19.6 and above on docker using one of the supported GoCD server images: + +set the environment variable `GOCD_SERVER_JVM_OPTIONS`: ```shell docker run -e "GOCD_SERVER_JVM_OPTIONS=-Dplugin.com.thoughtworks.gocd.secretmanager.aws.log.level=debug" ...