From 1996410172f86b47505d39df37718b2dae4eddcf Mon Sep 17 00:00:00 2001 From: rfaircloth-splunk Date: Fri, 5 Feb 2021 07:17:45 -0500 Subject: [PATCH] fix(license): Correct License reference to Apache-2 In some files reused from other splunk projects as templates the wrong license was retained. --- .github/dependabot.yml | 2 +- .reuse/dep5 | 8 +- LICENSES/LicenseRef-Splunk-1-2020.txt | 1548 ------------------------- docker-compose.yml | 2 +- pytest.ini | 2 +- semtag | 655 ----------- tests/conftest.py | 2 +- tests/data/package/app.manifest | 2 +- 8 files changed, 7 insertions(+), 2214 deletions(-) delete mode 100644 LICENSES/LicenseRef-Splunk-1-2020.txt delete mode 100755 semtag diff --git a/.github/dependabot.yml b/.github/dependabot.yml index 3ef6789fd..c3832e9d3 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -1,6 +1,6 @@ ## ## SPDX-FileCopyrightText: 2020 Splunk, Inc. -## SPDX-License-Identifier: LicenseRef-Splunk-1-2020 +## SPDX-License-Identifier: Apache-2.0 ## ## version: 2 diff --git a/.reuse/dep5 b/.reuse/dep5 index 2a77eb379..715cb5049 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -10,12 +10,8 @@ Source: https://github.com/splunk/addonfactory-ucc-generator # License: ... Files: splunk_add_on_ucc_framework/UCC-UI-lib/* Copyright: 202 Splunk Inc. -License: LicenseRef-Splunk-1-2020 - -Files: .* poetry.lock tests tox.ini splunk_add_on_ucc_framework/templates/* splunk_add_on_ucc_framework/modular_alert_builder/build_core/* splunk_add_on_ucc_framework/arf_dir_templates/* -Copyright: 2020 Splunk Inc. License: Apache-2.0 -Files: semtag -Copyright: 2020 Nico Hormazábal +Files: CLA.md CODE_OF_CONDUCT.md .* poetry.lock tests tox.ini splunk_add_on_ucc_framework/templates/* splunk_add_on_ucc_framework/modular_alert_builder/build_core/* splunk_add_on_ucc_framework/arf_dir_templates/* +Copyright: 2020 Splunk Inc. License: Apache-2.0 \ No newline at end of file diff --git a/LICENSES/LicenseRef-Splunk-1-2020.txt b/LICENSES/LicenseRef-Splunk-1-2020.txt deleted file mode 100644 index 2e02e9a8b..000000000 --- a/LICENSES/LicenseRef-Splunk-1-2020.txt +++ /dev/null @@ -1,1548 +0,0 @@ -SPLUNK GENERAL TERMS - -Last updated: February 13, 2020 - -These Splunk General Terms ("General Terms") between -Splunk Inc., a Delaware corporation, with its principal place -of business at 270 Brannan Street, San Francisco, -California 94107, U.S.A ("Splunk" or "we" or "us" or "our") -and you ("Customer" or "you" or "your") apply to the -purchase of licenses and subscriptions for Splunk's -Offerings. By clicking on the appropriate button, or by -downloading, installing, accessing or using the Offerings, -you agree to these General Terms. If you are entering into -these General Terms on behalf of Customer, you represent -that you have the authority to bind Customer. If you do not -agree to these General Terms, or if you are not authorized -to accept the General Terms on behalf of the Customer, do -not download, install, access, or use any of the Offerings. - -See the General Terms Definitions Exhibit attached for -definitions of capitalized terms not defined herein. - -1. License Rights - -(A) General Rights. You have the nonexclusive, worldwide, - nontransferable and nonsublicensable right, subject to payment of - applicable Fees and compliance with the terms of these General - Terms, to use your Purchased Offerings for your Internal Business - Purposes during the Term and up to the Capacity purchased. - -(B) Copies for On-Premise Products. You have the right to make a - reasonable number of copies of On-Premise Products for archival - and back-up purposes. - -(C) Splunk Extensions. You may use Splunk Extensions in - connection with the applicable Purchased Offering subject to the - same terms and conditions for that Offering (including with respect - to Term) and payment of any Fees associated with the Splunk - Extensions. Some Splunk Extensions may be made available under - license terms that provide broader rights than the license rights you - have to the applicable underlying Offering (e.g., if the Extension is - Open Source Software). These broader rights will apply to that - Splunk Extension. Splunk Extensions may be installed on Hosted - Services pursuant to our instructions. - -(D) Trials, Evaluations, Beta and Free Licenses. - - (i) Trials and Evaluations. Offerings provided for trials and - evaluations, as specified in an Order, are provided at no - charge, and their use will be for the specified limited duration. - - (ii) Beta Licenses. Some Offerings may be available to you as a - preview, or as an alpha, beta or other pre-release version - (each, a "Beta Offering"). All rights for Beta Offerings are - solely for internal testing and evaluation. Your use of a Beta - Offering will be for the term specified by us, and if no term is - specified, then for the earlier of one year from the start date of - the Beta Offering or when that version of the Beta Offering - becomes generally available. We may discontinue the Beta - Offering at any time and may decide not to make any of the - features and functionality generally available - - (iii) Free Licenses. From time to time, we may make certain - Offerings available for full use (i.e., not subject to limited - evaluation purposes) at no charge. These free Offerings may - have limited features, functions and other technical limitations. - -(E) Test and Development Licenses. For Offerings identified as - "Test and Development" Offerings on your Order, you only have the - right to use those Offerings up to the applicable Capacity on a non- - production system for non-production uses, including product - migration testing or pre-production staging, or testing new data - sources, types, or use cases. Test and Development Offerings - may not be used for any revenue generation, commercial activity, - or other productive business or purpose. - -(F) Limitations. Notwithstanding anything to the contrary in these - General Terms, we do not provide maintenance and support, - warranties, or indemnification for Test and Development Offerings, - trials, evaluations, or free or Beta Offerings. - - -2. Purchasing Through Authorized Resellers - -If you purchase Offerings through a Splunk authorized reseller, these -General Terms will govern those Offerings. Your payment obligations -for the Purchased Offerings will be with the authorized reseller, not -Splunk. You will have no direct Fee payment obligations to Splunk for -those Offerings. - -Any terms agreed to between you and the authorized reseller that are in -addition to these General Terms are solely between you and the -authorized reseller. No agreement between you and an authorized -reseller is binding on Splunk, or will have any force or effect with respect -to the rights in, or the operation, use or provision of, the Offerings. - -3. Your Contractors and Third Party Providers - -You may permit your authorized consultants, contractors, and agents -("Third Party Providers") to access and use your Purchased Offerings, -but only on your behalf in connection with providing services to you, and -subject to the terms and conditions of these General Terms. Any access -or use by a Third Party Provider will be subject to the same limitations -and restrictions that apply to you under these General Terms, and you -will be responsible for any Third Party Provider's actions relating to or -use of the Offering. The aggregate use by you and all of your Third -Party Providers must not exceed the Capacity purchased, and nothing -in this Section is intended to or will be deemed to increase such -Capacity. - -4. Hosted Services - -(A) Service Levels. When you purchase Hosted Services as a - Purchased Offering, we will make the applicable Hosted Services - available to you during the Term in accordance with these General - Terms. If a Service Level Schedule applies to your Hosted Service - (as identified in the Specific Hosted Services Terms referenced in - Section 4(I) below), the Service Level Schedule and associated - remedies will apply to the availability and uptime of the Hosted - Service. If applicable, service credits will be available for downtime - in accordance with the Service Level Schedule. - -(B) Data Protection. Please refer to Sections 9 and 10 below for - information on Splunk's security and data protection programs for - our Hosted Services. - -(C) Maintaining Protections. Notwithstanding anything to contrary in - these General Terms, or any policy or terms referenced herein via - hyperlink (or any update thereto), Splunk may not, during a Term - materially diminish the security protections provided by the controls - set for the Hosted Service. - -(D) Connections. You are responsible for obtaining and maintaining all - telecommunications, broadband and computer equipment and - services needed to access and use Hosted Services, and for - paying all associated charges. - -(E) Your Responsibility for Data Protection. You are responsible for: - (i) selecting from the security configurations and security options - made available by Splunk in connection with a Hosted Service; (ii) - taking additional measures outside of the Hosted Service to the - extent the Hosted Service Offering does not provide the controls - that may be required or desired by you; and (iii) routine archiving - and backing up of Customer Content. You agree to notify Splunk - immediately if you believe that an unauthorized third party may be - using your accounts or if your account information is lost or stolen. - -(F) Data Restrictions. You may not transmit and/or store PHI Data, - PC&I Data or ITAR Data within the Hosted Services unless you - have specifically purchased a Purchased Offering for that - applicable regulated Hosted Services environment (as identified in - an Order). - -(G) Refund Upon Termination for Splunk's Breach. If a Hosted - Service is terminated by you for Splunk's uncured material breach - in accordance with these General Terms, Splunk will refund you - any prepaid subscription fees covering the remainder of the Term - after the effective date of termination. - -(H) Return of Customer Content. Customer Content may be retrieved - by you and removed from the Hosted Services in accordance with - the applicable Documentation. We will make the Customer Content - available on the Hosted Services for thirty (30) days after - termination of a subscription for your retrieval. After that thirty (30) - day period, we will have no obligation to maintain the storage of - your Customer Content, and you hereby authorize us thereafter to - delete all remaining Customer Content, unless we are otherwise - legally prohibited from doing so. If you require assistance in - connection with migration of your Customer Content, depending on - the nature of the request, we may require a mutually agreed upon - fee for assistance. - -(I) Specific Hosted Services Terms. Specific security controls and - certifications, data policies, service descriptions, Service Level - Schedules and other terms specific to Hosted Services ("Specific - Hosted Services Terms") are set forth here: - www.splunk.com/SpecificTerms, and will apply as applicable. - -5. Support and Maintenance - -Your Purchased Offerings may include support and maintenance -services as part of your purchase. The specific Support Program -purchased with a Purchased Offering will be identified in the applicable -Order. Splunk will provide the purchased level of support and -maintenance services in accordance with the terms of the Support -Exhibit attached to these General Terms. - -6. Configuration and Implementation Services - -Splunk offers standard services to implement and configure your -Purchased Offerings, subject to the payment of the Fees for these -services in an Order, and the terms of the Configuration and -Implementation Services Exhibit attached to these General Terms. - -7. Use Restrictions - -Except as expressly permitted in an Order or our Documentation, you -agree not to (nor allow any third party to): (a) reverse engineer (except -to the extent specifically permitted by statutory law), decompile, -disassemble or otherwise attempt to discover source code or underlying -structures, ideas or algorithms of any Offering; (b) modify, translate or -create derivative works based on the Offerings; (c) use an Offering for -service bureau purposes, or for any purpose other than your own -Internal Business Purposes; (d) resell, transfer or distribute any -Offering; (e) access or use any Offering in order to monitor its -availability, performance, or functionality for competitive purposes; (f) -attempt to disable or circumvent any license key or other technological -mechanisms or measures intended to prevent, limit or control use or -copying of, or access to, Offerings; (g) separately use any of the -applicable features and functionalities of the Offerings with external -applications or code not furnished by Splunk or any data not processed -by the Offering; (h) exceed the Capacity purchased or (i) use any -Offering in violation of all applicable laws and regulations (including but -not limited to any applicable privacy and intellectual property laws). - -8. Our Ethics, Compliance and Corporate -Responsibility - -(A) Ethics and Corporate Responsibility. Splunk is committed to - acting ethically and in compliance with applicable law, and we have - policies and guidelines in place designed to provide awareness of, - and compliance with, the laws and regulations that apply to our - business globally. We are committed to ethical business conduct, - and we strive to perform in accordance with the highest global - ethical principles, as described in the Splunk Code of Conduct and - Ethics found here: https://investors.splunk.com/code-business- - conduct-and-ethics-1. - -(B) Anti-Corruption. We use diligent efforts to implement and maintain - programs to ensure compliance with applicable anti-corruption and - anti-bribery laws. Splunk policy prohibits the offering or soliciting of - any illegal or improper bribe, kickback, payment, gift, or thing of - value to or from any of your employees or agents in connection with - these General Terms. If we learn of any violation of the above, we - will use reasonable efforts to promptly notify you at the main - contact address provided by you to Splunk. - -(C) Export. We certify that Splunk is not on any of the relevant U.S. - government lists of prohibited persons, including the Treasury - Department's List of Specially Designated Nationals and the - Commerce Department's List of Denied Persons or Entity List. - Export information regarding our Offerings, including our export - control classifications for our Offerings, is found here: - https://www.splunk.com/en_us/legal/export-controls.html. - - -9. Data Protection - -Splunk follows globally recognized data protection principles and -industry-leading standards for the security of personal data. Splunk is -self-certified with the U.S. Department of Commerce for the EU-U.S. -and Swiss-U.S. Privacy Shield Frameworks. Splunk's data protection -practices are set forth in Splunk Protects and include (as applicable) -standard terms for the processing of Personal Data as defined under -GDPR and Personal Information as defined under the CCPA. Please -refer to the applicable Specific Hosted Services Terms that may apply to -your Purchased Offering. - -10. Security - -(A) General Security. Splunk's information security management - system ("ISMS") is calibrated to protect the confidentiality, integrity - and availability of customer data. Splunk employees receive - regular training on Splunk's security policies and procedures, - including annual training on secure data handling practices, and - supplemental, targeted trainings as appropriate. Employees are - background checked and Splunk vendors are risk assessed prior - to onboarding to determine if their data protection and security - practices meet Splunk's standards. - -(B) Offering Security. Hosted Services meet industry leading cloud - security standards appropriate to the nature of service provided, - e.g., Splunk Cloud HIPAA Offering certified to HIPAA security - requirements. We have commercially reasonable physical, - technical and procedural measures in place to protect Customer - Content against destruction, loss, alteration, unauthorized - disclosure to third parties or unauthorized access by employees or - contractors employed by Splunk. Any specific and additional - security controls for a Hosted Service are set forth in the - applicable Documentation and Specific Hosted Services Terms - www.splunk.com/SpecificTerms. Third-party certificates of - compliance issued as part of Splunk's audited third-party - compliance program are located on Splunk Protects. In addition, - for On-Premise Products, which are not provided as a service and - therefore are not audited for compliance, Splunk follows industry - standard security controls for the processing of customer data - accessed or received through activities such as maintenance, - implementation or configuration services. Those industry standard - security controls are set forth in Splunk's Information Security - Addendum ("ISA") located at www.splunk.com/on-pre-isa. - -(C) Product Development Security. Splunk deploys secure software - development practices and uses a risk-based approach when - applying its standard software development lifecycle (SDLC) - methodology, which may include such things as performing - security architecture reviews, open source security scans, virus - detection, dynamic application security testing, network - vulnerability scans and external penetration testing in the - development environment. Product-specific information about the - SDLC in our Offerings is detailed more fully in the ISA. Splunk's - Product Security Portal contains detailed information about - Splunk's program for managing and communicating product - vulnerabilities. Splunk categorizes product vulnerabilities in - accordance with the Common Vulnerability Scoring System - ("Medium," "High," or "Critical") and uses commercially reasonable - efforts to remediate vulnerabilities depending on their severity - level in accordance with industry standards. - -11. Usage Data - -From time to time, Splunk may collect Usage Data generated as a by- -product of your use of Offerings (e.g., technical information about your -operating environment and sessions, systems architecture, page loads -and views, product versions, number and type of searches, number of -users, source type and format). Usage data does not include Customer -Content. We collect Usage Data for a variety of reasons, such as to -identify, understand, and anticipate performance issues and the factors -that affect them, to provide updates and personalized experiences to -customers, and to improve the Splunk Offerings. Details on Splunk's -Usage Data collection practices are set forth in Splunk's Privacy Policy. - -12. Capacity and Usage Verification - -(A) Certification. At Splunk's request, you will furnish Splunk a - certification signed by your authorized representative verifying that - your use of the Purchased Offering is in accordance with these - General Terms and the applicable Order. Also, if your Purchased - Offering requires usage reporting (as specified and agreed in the - Order), you agree to provide this reporting pursuant to those - requirements. - -(B) Specific Product Verification. For On-Premise Products, we may - ask you from time to time, but not more frequently than once per - calendar period, to cooperate with us to verify usage and - adherence to purchased Capacities. If Splunk requests a - verification process, you agree to provide Splunk reasonable - access to the On-Premise Product installed at your facility (or as - hosted by your Third Party Provider). If Splunk does any - verification, it will be performed with as little interference as - possible to your use of the On-Premise Product and your business - operations. Splunk will comply with your (or your Third Party - Providers') reasonable security procedures. - -(C) Overages. If a verification or usage report reveals that you have - exceeded the purchased Capacity or the scope of your license - grant for your Purchased Offering (e.g. used as a service bureau) - during the period reviewed, then we will have the right to invoice - you using the applicable Fees at list price then in effect, which will - be payable in accordance with these General Terms. Without - limiting Splunk's foregoing rights, with respect to Hosted Services, - Splunk may work with you to reduce usage so that it conforms to - the applicable usage limit, and we will in good faith discuss - options to right size your subscription as appropriate. For the - avoidance of doubt, notwithstanding anything to the contrary - herein, Splunk will have the right to directly invoice you for - overages, regardless of whether you purchased the Purchased - Offering from an authorized reseller. See the Specific Hosted - Services Terms for any additional information related to overages - for a Hosted Service. - -13. Our Use of Open Source - -Certain Offerings may contain Open Source Software. Splunk makes -available in the applicable Documentation a list of Open Source -Software incorporated in our On-Premise Products as required by the -respective Open Source Software licenses. Any Open Source Software -that is delivered as part of your Offering and which may not be removed -or used separately from the Offering is covered by the warranty, support -and indemnification provisions applicable to the Offering. Some of the -Open Source Software may have additional terms that apply to the use -of the Offering (e.g., the obligation for us to provide attribution of the -specific licensor), and those terms will be included in the -Documentation; however, these terms will not (a) impose any additional -restrictions on your use of the Offering, or (b) negate or amend any of -our responsibilities with respect to the Offering. - -14. Splunk Developer Tools and Customer -Extensions - -Splunk makes Splunk Developer Tools available to you so you can -develop Extensions for use with your Purchased Offerings (Extensions -that you develop, "Customer Extensions"). - -You have a nonexclusive, worldwide, nontransferable, nonsublicensable -right, subject to the terms of these General Terms, to use Splunk -Developer Tools to (a) copy and modify Splunk Developer Tools to -develop your Customer Extensions, including to support interoperability -between the Offering and your system or environment, and (b) distribute -your Customer Extensions exclusively for use with the designated -Offering. Your rights are subject to the following conditions: (x) Splunk -proprietary legends or notices contained in the Splunk Developer Tools -may not be removed or altered when used in or with your Customer -Extension; and (y) you may not make any statement that your Customer -Extension is certified or that its performance is guaranteed by Splunk. -You retain title to your Customer Extensions, subject to Splunk's -ownership in our Offerings and any materials and technology provided -by Splunk in connection with the Splunk Developer Tools. If you allow -end users of Customer Extensions to modify or distribute the Customer -Extensions, you will limit such modification or distribution to use with the -designated Offering only, and will flow down the conditions in (x) and (y) -above to end users of Customer Extensions. You agree to assume full -responsibility for the performance and distribution of Customer -Extensions. - -15. Third Party Extensions, Third Party Content -and Unsupported Splunk Extensions - -(A) Third Party Extensions. Splunk makes no promises or - guarantees related to Extensions on Splunkbase developed - and/or made available by a third party ("Third-Party Extension"). - Splunk makes Third Party Extensions available for download on - Splunkbase as a convenience to its customers. Splunk neither - controls nor endorses, nor is Splunk responsible for, any Third - Party Extension, including the accuracy, integrity, quality, legality, - usefulness or security of the Third Party Extension. Nothing in - these General Terms or on Splunkbase will be deemed to be a - representation or warranty by Splunk with respect to any Third - Party Extension, even if a particular Third Party Extension is - identified as "certified" or "validated" for use with an Offering. We - may, in our reasonable discretion, block or disable access to any - Third Party Extension at any time. Your use of a Third Party - Extension is at your own risk and may be subject to any additional - terms, conditions and policies applicable to that Third Party - Extension (such as license terms, terms of service, or privacy - policies of the providers of such Third Party Extension). - -(B) Third Party Content. Hosted Services may contain features or - functions that enable interoperation with Third Party Content that - you, in your sole discretion, choose to add to a Hosted Service. - You may be required to obtain access separately to such Third - Party Content from the respective providers, and you may be - required to grant Splunk access to your accounts with such - providers to the extent necessary for Splunk to allow the - interoperation with the Hosted Service. By requesting or allowing - Splunk to enable access to such Third Party Content in connection - with the Hosted Services, you certify that you are authorized under - the provider's terms to allow such access. If you install or enable - (or direct or otherwise authorize Splunk to install or enable) Third - Party Content for use with a Hosted Service where the - interoperation includes access by the third party provider to your - Customer Content, you hereby authorize Splunk to allow the - provider of such Third Party Content to access Customer Content - as necessary for the interoperation. You agree that Splunk is not - responsible or liable for disclosure, modification or deletion of - Customer Content resulting from access to Customer Content by - such Third Party Content, nor is Splunk liable for any damages or - downtime that you may incur or any impact on your experience of - the Hosted Service, directly or indirectly, as a result of your use of, - and/or reliance upon, any Third Party Content, sites or resources. - -(C) Unsupported Splunk Extensions. The Service Level Schedule - commitments for any applicable Hosted Services will not apply to - Splunk Extensions labeled on Splunkbase as "Not Supported." - You agree that Splunk is not responsible for any impact on your - experience of a Hosted Service as a result of your installation - and/or use of any "Not Supported" Splunk Extensions, and that - your sole remedy will be to remove the "Not Supported" Splunk - Extension from the applicable Hosted Service. Further, some - Splunk Extensions may not be compatible or certified for use with - that Hosted Service (e.g., only specific Splunk Extensions are - validated for our FedRAMP authorized environment for Splunk - Cloud). Please refer to the applicable Documentation for more - information related to the Splunk Extensions compatible with your - specific Purchased Offering. - -16. Your Compliance - -(A) Lawful Use of Offerings. When you access and use an Offering, - you are responsible for complying with all laws, rules, and - regulations applicable to your access and use. This includes being - responsible for your Customer Content and users, for your users' - compliance with these General Terms, and the accuracy, lawful use - of, and the means by which you acquired your Customer Content. - -(B) Registration. You agree to provide accurate and complete - information when you register for and use any Offering and agree - to keep this information current. Each person who uses any - Offering must have a separate username and password. For - Hosted Services, you must provide a valid email address for each - person authorized to use your Hosted Services, and you may only - have one person per username and password. Splunk may - reasonably require additional information in connection with certain - Offerings (e.g., technical information necessary for your connection - to a Hosted Service), and you will provide this information as - reasonably requested by Splunk. You are responsible for securing, - protecting and maintaining the confidentiality of your account - usernames, passwords and access tokens. - -(C) Export Compliance. You will comply with all applicable export - laws and regulations of the United States and any other country - ("Export Laws") where your users use any of the Offerings. You - certify that you are not on any of the relevant U.S. government lists - of prohibited persons, including the Treasury Department's List of - Specially Designated Nationals and the Commerce Department's - List of Denied Persons or Entity List. You will not export, re-export, - ship, transfer or otherwise use the Offerings in any country subject - to an embargo or other sanction by the United States, including, - without limitation, Iran, Syria, Cuba, the Crimea Region of Ukraine, - Sudan and North Korea, and you will not use any Offering for any - purpose prohibited by the Export Laws. - -(D) GovCloud Services. If you access or use any Hosted Services in - the specially isolated Amazon Web Services ("AWS") GovCloud - (US) region (including without limitation any Hosted Services that - are provisioned in a FedRAMP authorized environment), you - represent and warrant that users will only access the Hosted - Services in the AWS GovCloud (US) region if users: (i) are "US - Person(s)" as defined under ITAR (see 22 CFR part 120.15); (ii) - have and will maintain a valid Directorate of Defense Trade - Controls registration, if required by ITAR; (iii) are not subject to - export control restrictions under US export control laws and - regulations (i.e., users are not denied or debarred parties or - otherwise subject to sanctions); and (iv) maintain an effective - compliance program to ensure compliance with applicable US - export control laws and regulations, including ITAR, as applicable. - You are responsible for verifying that any user accessing Customer - Content in the Hosted Services in the AWS GovCloud (US) region - is eligible to access to such Customer Content. The Hosted - Services in the AWS GovCloud (US) region may not be used to - process or store classified data. You will be responsible for all - sanitization costs incurred by Splunk if users introduce classified - data into the Hosted Services in the AWS GovCloud (US) region. - -(E) Acceptable Use. Without limiting any terms under these General - Terms, you will also abide by our Hosted Services acceptable use - policy: https://www.splunk.com/view/SP-CAAAMB6. - -17. Confidentiality - -(A) Confidential Information. Each party will protect the Confidential - Information of the other. Accordingly, Receiving Party agrees to: (i) - protect the Disclosing Party's Confidential Information using the - same degree of care (but in no event less than reasonable care) - that it uses to protect its own Confidential Information of a similar - nature; (ii) limit use of Disclosing Party's Confidential Information - for purposes consistent with these General Terms, and (iii) use - commercially reasonable efforts to limit access to Disclosing Party's - Confidential Information to its employees, contractors and agents or - those of its Affiliates who have a bona fide need to access such - Confidential Information for purposes consistent with these General - Terms and who are subject to confidentiality obligations no less - stringent than those herein. - -(B) Compelled Disclosure of Confidential Information. - Notwithstanding the foregoing terms, the Receiving Party may - disclose Confidential Information of the Disclosing Party if it is - compelled by law enforcement agencies or regulators to do so, - provided the Receiving Party gives the Disclosing Party prior notice - of such compelled disclosure (to the extent legally permitted) and - reasonable assistance, at the Disclosing Party's cost, if the - Disclosing Party wishes to contest the disclosure. If the Receiving - Party is compelled to disclose the Disclosing Party's Confidential - Information as part of a civil proceeding to which the Disclosing - Party is a Party, and the Disclosing Party is not contesting the - disclosure, the Disclosing Party will reimburse the Receiving Party - for its reasonable cost of compiling and providing secure access to - such Confidential Information. - -18. Payment - -The payment terms below only apply when you purchase Offerings -directly from Splunk. When you purchase from an authorized reseller, -the payment terms are between you and the authorized reseller. - -(A) Fees. You agree to pay all Fees specified in the Orders. Fees are - non-cancelable and non-refundable, except as otherwise expressly - set forth in these General Terms. Without limiting any of our other - rights or remedies herein, overdue charges may accrue interest - monthly at the rate of 1.5% of the then-outstanding unpaid balance, - or the maximum rate permitted by law, whichever is lower. Fees are - due and payable either within 30 days from the date of Splunk's - invoice or as otherwise stated in the Order. - -(B) Credit Cards. If you pay by credit or debit card, you: (i) will provide - Splunk or its designated third-party payment processor with valid - credit or debit card information; and (i) hereby authorize Splunk or - its designated third-party payment processor to charge such credit - or debit card for all items listed in the applicable Order. Such - charges must be paid in advance or in accordance with any - different billing frequency stated in the applicable Order. You are - responsible for providing complete and accurate billing and contact - information and notifying Splunk in a timely manner of any changes - to such information. - -(C) Taxes. All Fees quoted are exclusive of applicable taxes and - duties, including any applicable sales and use tax. You are - responsible for paying any taxes or similar government - assessments (including, without limitation, value-added, sales, use - or withholding taxes). We will be solely responsible for taxes - assessable against us based on our net income, property and - employees - - -19. Splunk's Warranties - -(A) Relationship to Applicable Law. We will not seek to limit our - liability, or any of your warranties, rights and remedies, to the extent - the limits are not permitted by applicable law (e.g., warranties, - remedies or liabilities that cannot be excluded by applicable law). - -(B) General Corporate Warranty. Splunk warrants that it has the legal - power and authority to enter into these General Terms. - -(C) Hosted Services Warranty. Splunk warrants that during the - applicable Term: (i) Splunk will not materially decrease the overall - functionality of the Hosted Services; and (ii) the Hosted Services - will perform materially in accordance with the applicable - Documentation. Our sole and exclusive liability, and your sole and - exclusive remedy for any breach of these warranties, will be your - right to terminate the applicable Hosted Services Purchased - Offering, and we will refund to you any prepaid but unused Fees for - the remainder of the Term. - -(D) On-Premise Product Warranty. Splunk warrants that for a period - of ninety (90) days from the Delivery of an On-Premise Product, the - On-Premise Product will substantially perform the material - functions described in the applicable Documentation for such On- - Premise Product, when used in accordance with the applicable - Documentation. Splunk's sole liability, and your sole remedy, for - any failure of the On-Premise Product to conform to the foregoing - warranty, is for Splunk to do one of the following (at Splunk's sole - option and discretion) (i) modify, or provide an Enhancement for, - the On-Premise Product so that it conforms to the foregoing - warranty, (ii) replace your copy of the On-Premise Product with a - copy that conforms to the foregoing warranty, or (iii) terminate the - Purchased Offering with respect to the non-conforming On-Premise - Product and refund the Fees paid by you for such non-conforming - On-Premise Product. - -(E) Disclaimer of Implied Warranties. Except as expressly set - forth above, the Offerings are provided "as is" with no - warranties or representations whatsoever, express or implied. - Splunk and its suppliers and licensors disclaim all warranties - and representations, including any implied warranties of - merchantability, satisfactory quality, fitness for a particular - purpose, noninfringement, or quiet enjoyment, and any - warranties arising out of course of dealing or trade usage. - Splunk does not warrant that use of Offerings will be - uninterrupted, error free or secure, or that all defects will be - corrected. - -20. Ownership - -(A) Offerings. As between you and Splunk, Splunk owns and reserves - all right, title, and interest in and to the Offerings, developer tools - and other Splunk materials, including all intellectual property rights - therein. We retain rights in anything delivered or developed by us or - on our behalf under these General Terms. No rights are granted to - you other than as expressly set forth in these General Terms. - -(B) Customer Content. You own and reserve all right, title and interest - in your Customer Content. By sending Customer Content to a - Hosted Service, you grant us a worldwide, royalty free, non- - exclusive license to access and use the Customer Content for - purposes of providing you the Hosted Service. - -(C) Feedback. You have no obligation to provide us with ideas for - improvement, suggestions or other feedback (collectively, - "Feedback") in connection with an Offering, unless otherwise - expressly set forth in the applicable Order. If, however, you provide - any Feedback, you hereby grant to Splunk a non-exclusive, - transferable, irrevocable, worldwide, royalty-free license (with rights - to sublicense) to make, use, sell, offer to sell, reproduce, modify, - distribute, make available, publicly display and perform, disclose - and otherwise commercially exploit the Feedback. - -21. Term and Termination - -(A) Term and Renewal. These General Terms will commence upon - the Effective Date and will remain in effect until the expiration of all - applicable Purchased Offerings, unless earlier terminated pursuant - to this Section. Termination of a specific Purchased Offering will not - affect the Term of any other Purchased Offering. Termination of - these General Terms will have the effect of terminating all - Purchased Offerings. Grounds for terminating a Purchased Offering - (e.g., for non-payment), that are specific to the Purchased Offering, - will not be grounds to terminate Purchased Offerings where no - breach exists. Unless indicated otherwise in an Order, the Term of - a Purchased Offering (and these General Terms) will automatically - renew for an additional period of time equal to the length of the - preceding Term, unless one party notifies the other of its intent not - to renew at least one (1) day in advance of the expiration of the - Term or then-current renewal period. - -(B) Termination. Either party may terminate these General Terms, or - any Purchased Offering, by written notice to the other party in the - event of a material breach of these General Terms, or the specific - terms associated with that Purchased Offering, that is not cured - within thirty (30) days of receipt of the notice. Upon any expiration - or termination of a Purchased Offering, the rights and licenses - granted to you for that Purchased Offering will automatically - terminate, and you agree to immediately (i) cease using and - accessing the Offering, (ii) return or destroy all copies of any On- - Premise Products and other Splunk materials and Splunk - Confidential Information in your possession or control, and, (iii) - upon our request, certify in writing the completion of such return or - destruction. Upon termination of these General Terms or any - Purchased Offering, Splunk will have no obligation to refund any - Fees or other amounts received from you during the Term. - Notwithstanding any early termination above, except for your - termination of our uncured material breach, you will still be required - to pay all Fees payable under an Order. - -(C) Survival. The termination or expiration of these General Terms will - not affect any provisions herein which by their nature survive - termination or expiration, including the provisions that deal with the - following subject matters: definitions, ownership of intellectual - property, confidentiality, payment obligations, effect of termination, - limitation of liability, privacy, and the "Miscellaneous" section in - these General Terms. - -(D) Suspension of Service. In the event of a material breach or - threatened material breach of this Agreement, Splunk may, without - limiting its other rights and remedies, suspend your use of the - Hosted Service until such breach is cured or Splunk reasonably - believes there is no longer a threat, provided that we will give you - at least five (5) days' prior notice before suspension. Suspension of - a Hosted Services will have no impact on the duration of the Term - of the Purchased Offering or the associated Fees owed. - -22. Limitation of Liability - -In no event will the aggregate liability of either party, together with -any of its Affiliates, arising out of or related to any Purchased -Offering exceed the total amount paid by you for that Purchased -Offering in the twelve (12) months preceding the first incident out -of which the liability arose. For the avoidance of doubt, the -foregoing limitation will not limit your obligations under the -"Payment" section above, and will not be deemed to limit your -rights to any service level credits under any applicable Service -Level Schedule. Furthermore, the cap above will not be deemed to -limit Splunk's right to recover amounts for your use of an Offering -in excess of the Capacity purchased or use outside of Internal -Business Purposes. - -In no event will either party or its Affiliates have any liability arising -out of or related to these General Terms for any lost profits, -revenues, goodwill, or indirect, special, incidental, consequential, -cover, business interruption or punitive damages. - -The foregoing limitations will apply whether the action is in -contract or tort and regardless of the theory of liability, even if a -party or its Affiliates have been advised of the possibility of such -damages or if a party's or its Affiliates' remedy otherwise fails of -its essential purpose. - -The limitation of liability herein will not apply to a party's -infringement of the other party's intellectual property rights, -indemnification obligations, or the fraud, gross negligence or -willful misconduct of a party. - -The foregoing disclaimers of damages will also not apply to the -extent prohibited by law. Some jurisdictions do not allow the -exclusion or limitation of certain damages. To the extent such a -law applies to you, some or all of the exclusions or limitations set -forth above may not apply to you, and you may have additional -rights. - -23. Indemnity - -(A) Our Indemnification to You. Splunk will defend and indemnify - you, and pay all damages (including attorneys' fees and costs) - awarded against you, or that are agreed to in a settlement, to the - extent a claim, demand, suit or proceeding is made or brought - against you or your Affiliates by a third party (including those - brought by the government) alleging that a Purchased Offering - infringes or misappropriates such third party's patent, copyright, - trademark or trade secret (a "Customer Claim"). Splunk will have - no obligation under the foregoing provision to the extent a - Customer Claim arises from your breach of these General Terms, - your Customer Content, Third Party Extension, or the combination - of the Offering with: (i) Customer Content; (ii) Third Party - Extensions; (iii) any software other than software provided by - Splunk; or (iv) any hardware or equipment. However, Splunk will - indemnify against combination claims to the extent (y) the - combined software is necessary for the normal operation of the - Purchased Offering (e.g., an operating system), or (z) the - Purchased Offering provides substantially all the essential elements - of the asserted infringement or misappropriation claim. Splunk may - in its sole discretion and at no cost to you: (1) modify any - Purchased Offering so that it no longer infringes or misappropriates - a third party right, (2) obtain a license for your continued use of the - Purchased Offering, in accordance with these General Terms, or - (3) terminate the Purchased Offering and refund to you any prepaid - fees covering the unexpired Term. - -(B) Your Indemnification to Us. Unless expressly prohibited by - applicable law, you will defend and indemnify us, and pay all - damages (including attorneys' fees and costs) awarded against - Splunk, or that are agreed to in a settlement, to the extent a claim, - demand, suit or proceeding is made or brought against Splunk or - its Affiliates by a third party (including those brought by a - government entity) that: (i) alleges that your Customer Content or - Customer Extensions infringes or misappropriates such third party's - patent, copyright, trademark or trade secret, or violates another - right of a third party; or (ii) alleges that your Customer Content or - your use of any Offering violates applicable law or regulation. - -(C) Mutual Indemnity. Each party will defend (or settle), indemnify and - hold harmless at its expense, any action brought against the other - party by a third party to the extent that it is based upon a claim for - bodily injury, personal injury (including death) to any person, or - damage to tangible property resulting from the negligent acts or - willful misconduct of the indemnifying party or its personnel - hereunder, and will pay any reasonable, direct, out-of-pocket costs, - damages and reasonable attorneys' fees attributable to such claim - that are awarded against the indemnified party (or are payable in - settlement by the indemnified party). - -(D) Process for Indemnification. The indemnification obligations - above are subject to the party seeking indemnification to: (i) provide - the other party with prompt written notice of the specific claim; (ii) - give the indemnifying party sole control of the defense and - settlement of the claim (except that the indemnifying party may not - settle any claim that requires any action or forbearance on the - indemnified party's part without their prior consent, which will not - unreasonably withhold or delay); and (iii) gives the indemnifying - party all reasonable assistance, at such party's expense. - -24. Updates to Offerings - -Our Offerings and policies may be updated over the course of our -relationship. From time to time, Splunk may update or modify an -Offering and our policies, provided that: (a) the change and modification -applies to all customers generally, and are not targeted to any particular -customer; (b) no such change or modification will impose additional fees -on you during the applicable Term or additional restrictions on your use -of the Offering, or alter our liability or the allocation of risk between us -under these General Terms; (c) no such change or modification will -materially reduce the security protections or overall functionality of the -applicable Offering; and (d) any such change or modification will apply -only prospectively, and will not apply to any breach or dispute that arose -between the parties prior to the effective date of the change or -modification. - -25. Governing Law - -These General Terms will be governed by and construed in accordance -with the laws of the State of California, as if performed wholly within the -state and without giving effect to the principles of conflict of law. Any -legal action or proceeding arising under these General Terms will be -brought exclusively in the federal or state courts located in the Northern -District of California and the parties hereby consent to personal -jurisdiction and venue therein. Splunk may seek injunctive or other relief -in any state, federal, or national court of competent jurisdiction for any -actual or alleged infringement of intellectual property or other proprietary -rights of Splunk, its Affiliates, or any third party. - -Neither the Uniform Computer Information Transactions Act nor the -United Nations Convention for the International Sale of Goods will apply -to these General Terms. - -26. Use of Customer Name - -You agree that we may add your name to our customer list and identify -you as a Splunk customer on Splunk's websites. Any further public use -of your name in connection with Splunk marketing activities (e.g., press -releases) will require your prior approval. - -27. Miscellaneous - -(A) Different Terms. Splunk expressly rejects terms or conditions in - any Customer purchase order or other similar document that are - different from or additional to the terms and conditions set forth in - these General Terms. Such different or additional terms and - conditions will not become a part of the agreement between the - parties notwithstanding any subsequent acknowledgement, invoice - or license key that Splunk may issue. - -(B) No Future Functionality. You agree that your purchase of any - Offering is not contingent on the delivery of any future functionality - or features, or dependent on any oral or written statements made - by Splunk regarding future functionality or features. - -(C) Notices. Except as otherwise specified in these General Terms, all - notices related to these General Terms will be sent in writing to the - addresses set forth in the applicable Order, or to such other - address as may be specified by either party to the other party, and - will be effective upon (i) personal delivery, (ii) the second business - day after mailing, or (c), except for notices of termination or an - indemnifiable claim ("Legal Notices"), which shall clearly be - identifiable as Legal Notices, the day of sending by email. Billing- - related notices to Customer will be addressed to the relevant billing - contact designated by Customer. All other notices to Customer will - be addressed to the relevant system administrator designated by - Customer. - -(D) Assignment. Neither party may assign, delegate or transfer these - General Terms, in whole or in part, by agreement, operation of law - or otherwise without the prior written consent of the other party, - however Splunk may assign these General Terms in whole or in - part to an Affiliate or in connection with an internal reorganization or - a merger, acquisition, or sale of all or substantially all of Splunk's - assets to which these General Terms relates. Any attempt to assign - these General Terms other than as permitted herein will be null and - void. Subject to the foregoing, these General Terms will bind and - inure to the benefit of the parties' permitted successors and - assigns. - -(E) U.S. Government Use Terms. Splunk provides Offerings for U.S. - federal government end use solely in accordance with the following: - Government technical data and rights related to Offerings include - only those rights customarily provided to the public as defined in - these General Terms. This customary commercial license is - provided in accordance with FAR 12.211 (Technical Data) and FAR - 12.212 (Computer Software) and, for Department of Defense - transactions, DFARS 252.227-7015 (Technical Data-Commercial - Items) and DFARS 227.7202-3 (Rights in Commercial Computer - Software or Commercial Computer Software Documentation). If a - government agency has a need for rights not conveyed under these - terms, it must negotiate with Splunk to determine if there are - acceptable terms for transferring such rights, and a mutually - acceptable written addendum specifically conveying such rights - must be included in any applicable contract or agreement. - -(F) Waiver; Severability. The waiver by either party of a breach of or a - default under these General Terms will not be effective unless in - writing. The failure by either party to enforce any provisions of - these General Terms will not constitute a waiver of any other right - hereunder or of any subsequent enforcement of that or any other - provisions. If a court of competent jurisdiction holds any provision of - these General Terms invalid or unenforceable, the remaining - provisions of these General Terms will remain in full force and - effect, and the provision affected will be construed so as to be - enforceable to the maximum extent permissible by law. - -(G) Integration; Entire Agreement. These General Terms along with - any additional terms incorporated herein by reference, constitute - the complete and exclusive understanding and agreement between - the parties and supersedes any and all prior or contemporaneous - agreements, communications and understandings, written or oral, - relating to their subject matter. Except as otherwise expressly set - forth herein, any waiver, modification or amendment of any - provision of these General Terms will be effective only if in writing - and signed by duly authorized representatives of both parties. - -(H) Force Majeure. Neither party or its Affiliates, subsidiaries, officers, - directors, employees, agents, partners and licensors will (except for - the obligation to make any payments) be liable for any delay or - failure to perform any obligation under these General Terms where - the delay or failure results from any cause beyond their reasonable - control, including, without limitation, acts of God, labor disputes or - other industrial disturbances, electrical, telecommunications, or - other utility failures, earthquake, storms or other elements of - nature, blockades, embargoes, riots, acts or orders of government, - acts of terrorism, or war. - -(I) Independent Contractors; No Third Party Beneficiaries. The - parties are independent contractors. These General Terms does - not create a partnership, franchise, joint venture, agency, fiduciary - or employment relationship between the parties. There are no third- - party beneficiaries of these General Terms. Neither party has the - authority to bind or act on behalf of the other party in any capacity - or circumstance whether by contract or otherwise. - - -General Terms Definitions Exhibit - -"Affiliates" means a corporation, partnership or other entity controlling, -controlled by or under common control with such party, but only so long -as such control continues to exist. For purposes of this definition, -"control" means ownership, directly or indirectly, of greater than fifty -percent (50%) of the voting rights in such entity (or, in the case of a -noncorporate entity, equivalent rights). - -"Capacity" means the measurement of usage of an Offering (e.g., -aggregate daily volume of data indexed, specific source type rights, -number of search and compute units, number of monitored accounts, -virtual CPUs, user seats, use cases, storage capacity, etc.) that is -purchased for an Offering, as set forth in the applicable Order. The -Capacities for each of our Offerings can be found here: -https://www.splunk.com/en_us/legal/licensed-capacity.html. - -"CCPA" means the California Consumer Privacy Act of 2018. - -"Confidential Information" means all nonpublic information disclosed -by a party ("Disclosing Party") to the other party ("Receiving Party"), -whether orally or in writing, that is designated as "confidential" or that, -given the nature of the information or circumstances surrounding its -disclosure, should reasonably be understood to be confidential. -Notwithstanding the foregoing, "Confidential Information" does not -include any information that: (i) is or becomes generally known to the -public without breach of any obligation owed to the Disclosing Party, (ii) -was known to the Receiving Party prior to its disclosure by the -Disclosing Party without breach of any obligation owed to the Disclosing -Party, (iii) is received from a third party without breach of any obligation -owed to the Disclosing Party, or (iv) was independently developed by -the Receiving Party. - -"Content Subscription" means the right of Customer to receive content -applicable to an Offering (e.g., models, templates, searches, playbooks, -rules and configurations, as described in the relevant Documentation) -on a periodic basis over the applicable Term. Content Subscriptions are -purchased as an add-on service and are identified in an Order. - -"Customer Content" means any data that is ingested by or on behalf of -you into an Offering from your internal data sources. - -"Delivery" means the date of Splunk's initial delivery of the license key -for the applicable Offering or, for Hosted Services, the date Splunk -makes the applicable Offering available to you for access and use. - -"Documentation" means the online user guides, documentation and -help and training materials published on Splunk's website (such as at -http://docs.splunk.com/Documentation) or accessible through the -applicable Offering, as may be updated by Splunk from time to time. - -"Enhancements" means any updates, upgrades, releases, fixes, -enhancements or modifications to a Purchased Offering made generally -commercially available by Splunk to its customers under the terms and -conditions in the Support Exhibit. - -"Extension" means any separately downloadable or accessible suite, -configuration file, add-on, technical add-on, example module, command, -function, playbook, content or application that extends the features or -functionality of the applicable Offering. - -"Fees" means the fees that are applicable to an Offering, as identified in -the Order. - -"GDPR" means the General Data Protection Regulation (Regulation -(EU) 2016/679 of the European Parliament and of the Council of 27 -April 2016 on the protection of natural persons with regard to the -processing of personal data and on the free movement of such data) as -updated, amended or replaced from time to time. - -"HIPAA" means the Health Insurance Portability and Accountability Act -of 1996, as amended and supplemented by the Health Information -Technology for Economic and Clinical Health Act. - -"Hosted Service" means a technology service hosted by or on behalf of -Splunk and provided to you. - -"Internal Business Purpose" means your use of an Offering for your -own internal business operations, based on the analysis, monitoring or -processing of your data from your systems, net-works and devices. -Such use does not include use on a service bureau basis or otherwise -to provide services to, or process data for, any third party, or otherwise -use to monitor or service the systems, networks and devices of third -parties. - -"ITAR Data" means information protected by the International Traffic in -Arms Regulations. - -"Offerings" means the products, services and other offerings that -Splunk makes generally available, including without limitation On- -Premise Products, Hosted Services, Support Programs, Content -Subscriptions and Configuration and Implementation Services. - -"On-Premise Product" means the Splunk software that is delivered to -you and deployed and operated by you or on your behalf on hardware -designated by you, and any Enhancements made available to you by -Splunk. - -"Open Source Software" means software that is licensed under a -license approved by the Open Source Initiative or similar freeware -license, with terms requiring that such software code be (i) disclosed or -distributed in source code or object code form, (ii) licensed for the -purpose of making derivative works, and/or (iii) redistribute under the -same license terms. - -"Orders" means Splunk's quote or ordering document (including online -order form) accepted by you via your purchase order or other ordering -document submitted to Splunk (directly or indirectly through an -authorized reseller) to order Offerings, which references the Offering, -Capacity, pricing and other applicable terms set forth in an applicable -Splunk quote or ordering document. Orders do not include the terms of -any preprinted terms on your purchase order or other terms on a -purchase order that are additional or inconsistent with the terms of -these General Terms. - -"PC&I Data" means credit card information within the scope of the -Payment Card Industry Data Security Standard. - -"PHI" means any protected health data, as defined under HIPAA. - -"Purchased Offerings" means the services, subscriptions and licenses -to Offerings that are acquired by you under Orders, whether directly or -through an authorized reseller. - -"Service Level Schedule" means a Splunk policy that applies to the -availability and uptime of a Hosted Service and which, if applicable, -offers service credits as set forth therein. - -"Splunkbase" means Splunk's online directory of or platform for -Extensions, currently located at https://splunkbase.splunk.com and any -and all successors, replacements, new versions, derivatives, updates -and upgrades and any other similar platform(s) owned and/or controlled -by Splunk. - -"Splunk Developer Tool" means the standard application programming -interface, configurations, software development kits, libraries, command -line interface tools, other tooling (including scaffolding and data -generation tools), integrated development environment plug-ins or -extensions, code examples, tutorials, reference guides and other related -materials identified and provided by Splunk to facilitate or enable the -creation of Extensions or otherwise support interoperability between the -Software and your system or environment. - -"Splunk Extensions" means Extensions made available through -Splunkbase that are identified on Splunkbase as built by Splunk (and -not by any third party). - -"Support Programs" are the Support Programs offered by Splunk and -identified here: http://www.splunk.com/en_us/support-and- -services/support-programs.html - -"Term" means the duration of your subscription or license to the -applicable Offering that starts and ends on the date listed on the -applicable Order. If no start date is specified in an Order, the start date -will be the Delivery date of the Offering. - -"Third Party Content" means information, data, technology or materials -made available to you by any third party that you license and add to a -Hosted Service or direct Splunk to install in connection with a Hosted -Service. Third Party Content includes but is not limited to, Third Party -Extensions, web-based or offline software applications, data service or -content that are provided by third parties. - -"Usage Data" means data generated from the usage, configuration, -deployment, access and performance of an Offering. For example, this -may include such things as information about your operating -environment, such as your network and systems architecture, or -sessions, such as page loads and session views, duration, or -interactions, errors, number of searches, source types and format (e.g., -json, xml, csv), ingest volume, number of active and licensed users, or -search concurrency. Usage Data does not include Customer Content. - -Support Exhibit to Splunk General Terms - -This Support Exhibit forms a part of the Splunk General Terms and -governs your purchase, and Splunk's provision of Support Services. - -1. Support Programs - -Support Programs purchased as part of a Purchased Offering will be -identified in your applicable Order. Splunk will provide you the level of -Support Services described under the purchased Support Program, -subject to your payment of applicable Fees. "Support Programs" are -the Support Programs offered by Splunk and identified here: -http://www.splunk.com/en_us/support-and-services/support- -programs.html. - -2. Support Services - -"Support Services" include technical support for your Purchased -Offerings, and, when available, the provision of Enhancements for your -Purchased Offerings, subject to the Support Policy described below. -Technical support under a Support Program is available via email or -web portal, and certain Support Programs also make support available -via telephone. Support Services will be delivered by a member of -Splunk's technical support team during the regional hours of operation -applicable under the Support Program. Support Services are delivered -in English unless you are in a location where we have made localized -Support Services available. - -3. Support Policy - -Our Support Policy, provided here: -https://www.splunk.com/en_us/legal/splunk-software-support-policy.html -("Support Policy") describes the duration of our Support Services for -certain Splunk On-Premise Products and other policies associated with -our Support Services. - -As we release new versions for our Offerings, we discontinue Support -Services for certain older versions. Our Support Policy sets forth the -schedule for the duration of support, and end of support, for Offering -versions. The current versions of our Offerings that are supported -under our Support Policy, and will be our "Supported Versions" herein. -For the avoidance of doubt, the Support Policy may not apply to Hosted -Services, and the product and services version we make available as -our Hosted Services will be deemed Supported Versions herein. - -4. Case Priority - -Each Support Program offers different support levels for your case -priority levels. When submitting a case, you will select the priority for -initial response by logging the case online, in accordance with the -priority guidelines set forth under your Support Program. When the case -is received, we may in good faith change the priority if the issue does -not conform to the criteria for the selected priority. When that happens, -we will provide you with notice (electronic or otherwise) of such change. - -5. Exclusions - -We will have no obligation to provide support for issues caused by any -of the following (each, a "Customer Generated Error"): (i) -modifications to an Offering not made by Splunk; (ii) use of an Offering -other than as authorized in the Agreement or as provided in the -applicable Documentation; (iii) damage to the machine on which an On- -Premise Product is installed; (iv) use of a version of an Offering other -than the Supported Version; (vi) third-party products that are not -expressly noted in the Documentation as supported by Splunk; or (vi) -conflicts related to replacing or installing hardware, drivers, and -software that are not expressly supported by Splunk and described in -the applicable Documentation. If we determine that support requested -by you is for an issue caused by a Customer Generated Error, we will -notify you of that fact as soon as reasonably possible under the -circumstances. If you agree that we should provide support for the -Customer Generated Error via a confirming email, then we will have the -right to invoice you at our then-current time and materials rates for any -such support provided by us. - -6. Support for Splunk Extensions - -Only Splunk Extensions that are labeled as "Splunk Supported" on -Splunkbase, or other Splunk-branded marketplace, are eligible for -support, and this support is limited. For those labeled Splunk Supported, -we will provide an initial response and acknowledgement in accordance -with the P3 terms that are applicable in the applicable Support Program. -Enhancements for Splunk Extensions labeled as Splunk Supported -when made available. No other terms of a Support Program will apply to -a Splunk Application. For those labeled as "Not Supported," Splunk will -have no support obligations. - -7. Authorized Support Contacts - -You are entitled to have a certain number of Support Contacts under -each Support Program. "Support Contacts" means the individual(s) -specified by you that are authorized to submit support cases. -The number of Support Contacts will be based on the Capacity of the -Offering purchased, and the applicable Support Program. The number -of Support Contacts will be set forth in customer's entitlement -information on the Splunk support portal. - -We only take support requests from, and communicate with, your -Support Contacts in connection with support cases. We strongly -recommend that your Support Contact(s) are trained on the applicable -Offering. In order to designate Support Contacts, you must provide the -individual's primary email address and Splunk.com login ID. - -8. Defect Resolution - -Should we determine that an Offering has a defect, we will, at our sole -option, repair the defect in the version of the Offering that you are then -currently using or instruct you to install a newer version of the Offering -with that defect repaired. We reserve the right to provide you with a -workaround in lieu of fixing a defect should we in our sole judgment -determine that it is more effective to do so. - -9. Your Assistance - -Should you report a purported defect or error in an Offering, we may -require you to provide us with the following information: (a) a general -description of your operating environment; (b) a list of all hardware -components, operating systems and networks; (c) a reproducible test -case; and (d) any log files, trace and systems files. Your failure to -provide this information may prevent us from identifying and fixing that -purported defect. - -10. Changes to Support Programs - -You acknowledge that, subject to the Support Policy, and subject to any -commitment we have under an Order with you, we have the right to -discontinue the manufacture, development, sale or support of any -Offering, at any time, in our sole discretion. We further reserve the right -to alter Support Programs from time to time, using reasonable -discretion, but in no event will such alterations, during the Term of any -Order, result in diminished Support Services from the level of your -applicable purchased Support Program. - -Configuration and Implementation -Services Exhibit to Splunk General -Terms - -This Configuration and Implementation Services Exhibit forms a part of -the Splunk General Terms and governs your purchase, and Splunk's -provision of Configuration and Implementation Services. - -Capitalized terms below are defined in the General Terms, this -Exhibit or in the Definition Exhibit attached to this Exhibit. - -1. Services and Statements of Work - -We will perform the C&I Services for you that are set forth in the -applicable Statements of Work. You will pay the Fees under each -Statement of Work in accordance with these General Terms, or -otherwise as we may expressly agree in the applicable Statement of -Work. - -In each Statement of Work, we will designate our primary point of -contact for you for all matters relating to the applicable C&I Services -(which we may change from time to time upon notice). - -2. Our Personnel - -Qualifications. The Personnel we assign to perform the C&I Services -will be qualified, skilled, experienced and otherwise fit for the -performance of the C&I Services. If you, in your reasonable judgement, -determine that Personnel assigned to your project are unfit, we will in -good faith discuss alternatives, and we will replace Personnel as -reasonably necessary. You acknowledge that any replacement may -cause delay in the performance of the C&I Services. - -Personnel Conduct. Our Personnel are subject to our Splunk Code of -Conduct and Ethics https://investors.splunk.com/code-business- -conduct-and-ethics-1, which includes, without limitation, an obligation to -comply with our policies on protecting customer information, prohibitions -on illegal drugs and any impaired job performance, avoiding conflicts of -interest, and acting ethically at all times. We also background check our -employees, per the Section below. - -Use of Subcontractors. We reserve the right to use subcontractors in -performance of the C&I Services, provided: (a) any subcontractor we -use meets the requirements herein and conditions of these General -Terms and the Statement of Work; (b) we will be responsible for the -subcontractor's compliance with the terms herein and the Statement of -Work; and (c) upon your request or inquiry, we will identify any -subcontractor that we are using, or plan to use, for C&I Services, and -will cooperate in good faith to provide you with all relevant information -regarding such subcontractors. - -No Employee Benefits. We acknowledge and agree that our Personnel -are not eligible for or entitled to receive any compensation, benefits, or -other incidents of employment that you make available to your -employees. We are solely responsible for all employment related taxes, -expenses, withholdings, and other similar statutory obligations arising -out of the relationship between us and our Personnel and the -performance of C&I Services by such Personnel. - -3. Our Background Checks, Security and -Compliance Obligations - -Compliance with Your Security Program. While on your premises, -our Personnel will comply with your security practices and procedures -generally prescribed by you for onsite visitors and service providers. -However, any requirement that is in addition to the compliance -requirements set forth in this Schedule (e.g., background checks that -are different from the background checks described herein) must be -expressly set forth in a Statement of Work. We agree to discuss in good -faith any condition or requirement you may have for our Personnel that -are different from standard policies, however any additional requirement -may delay C&I Services, and must be vetted and implemented by -mutual agreement of the parties and expressly set forth in a Statement -of Work. Splunk does not guarantee that it will be able to meet any -additional requested requirements. - -Our Security Practices. We implement and follow an enterprise -security program, with the policies, plans, and procedures set forth here -www.splunk.com/prof-serv-isa. Our Personnel will be subject to the data -protection and confidentiality obligations set forth in these General -Terms with respect to any of your data that we may have access to in -connection with the C&I Services. - -Background Checks. For U.S.-based projects, we will not assign an -employee to perform C&I Services under a Statement of Work unless -we have run the following background check on the employee: Criminal -Felony & Misdemeanor; SSN Validation; Federal Criminal; SSN Trace; -Employment Report - Three (3) Employers; Education Report - One (1) -Institution; Global Sanctions & Enforcement; Prohibited Parties; -Widescreen Plus National Criminal Search. You acknowledge that such -background checks may not be permitted or customary outside the -United States. - -Permissions for Access. In the event you require any Personnel to -sign any waivers, releases, or other documents as a condition to gain -access to your premises for performance of the C&I Services ("Access -Documents"), you agree: (a) that Personnel who will be required to -sign Access Documents will sign on behalf of Splunk; (b) that any -additional or conflicting terms in Access Documents with these General -Terms will have no effect; and (c) you will pursue any claims for breach -of any terms in the Access Documents against Splunk and not the -individual signing. - -4. Your Materials - -We will have no rights in or to any Customer Materials, however you -grant us the right to use Customer Materials in order to provide the C&I -Services. Nothing in these General Terms will deemed to transfer to us -any ownership of Customer Materials. - -5. C&I Services Materials and Customizations -Unique to You - -C&I Services Materials. The C&I Services we perform (e.g., -configuration of our Offerings), and the C&I Services Materials we offer, -create, and deliver to you in connection with the C&I Services, are -generally applicable to our business, and therefore we require the right -to be able to re-use the C&I Services Materials we create for one -customer in connection with all of our customers. For the avoidance of -doubt, our use of the C&I Services Materials created for you in -connection with C&I Services will comply with our ongoing obligations -and restrictions with respect to your Customer Materials and your -Confidential Information, and we will not identify you in any way in -connection with our further use of such C&I Services Materials. - -Customer Owned Work Product. However, in the unlikely event that -the parties agree that C&I Services Materials for a project are custom -work product unique to your business, and not applicable to other -customers generally, we will transfer ownership to those agreed C&I -Services Materials to you under the applicable Statement of Work. C&I -Services Materials must be expressly identified as "Customer Owned -Work Product" under a Statement of Work for ownership to pass to -you. Subject to payment of applicable Fees under the Statement of -Work, we hereby assign to you all rights, title and interest (including all -Intellectual Property Rights therein) in and to all C&I Services Materials -identified as Customer Owned Work Product (but excluding all Pre- -Existing Splunk IP incorporated into the Customer Owned Work -Product). At your request and expense, we will assist and cooperate -with you in all reasonable respects and will execute documents, and -take such further acts reasonably requested by you to enable you to -acquire, transfer, maintain, perfect and enforce your ownership rights in -such Customer Owned Work Product. - -Our Ownership. Subject to your ownership rights in Customer Owned -Work Product and Customer Materials, we will own all rights in and to all -C&I Services Materials. - -License Rights. For those C&I Services Materials that are not -Customer Owned Work Product, you will have the right to access and -use those C&I Services Materials in connection with your applicable -Offerings, and those rights will be of the same scope and duration as -your rights to the underlying Offering. - -6. C&I Services Warranty - -We warrant that the C&I Services will be performed in a good and -workmanlike manner consistent with applicable industry standards. -This warranty will be in effect for a period of thirty (30) days from the -completion of any C&I Services. As your sole and exclusive remedy -and our entire liability for any breach of the foregoing warranty, we will, -at our option and expense, promptly re-perform any C&I Services that -fail to meet this warranty or refund to you the fees paid for the non- -conforming C&I Services. - -7. Your Cooperation - -You acknowledge that your timely provision of (and our access to) your -facilities, equipment, assistance, cooperation, data, information and -materials from your officers, agents and employees (the "Cooperation") -is essential to Splunk's performance of the C&I Services. We will not be -liable for any delay or deficiency in performing the C&I Services if you -do not provide the necessary Cooperation. As part of the Cooperation, -you will (1) designate a project manager or technical lead to liaise with -us while we perform the C&I Services; (2) allocate and engage -additional resources as may be required to assist us in performing the -C&I Services; and (3) making available to us any data, information and -any other materials reasonably required by us to perform the C&I -Services, including any data, information or materials specifically -identified in the Statement of Work. - -8. Insurance - -Throughout any period of C&I Services we perform for you, we will -maintain insurance policies in the types and amounts described below -at our own expense: - -Commercial General Liability Insurance with a limit of not less than -$1,000,000 per occurrence and a general aggregate limit of not less -than $2,000,000. - -Business Auto Insurance with a limit of not less than $1,000,000 per -accident. Such Insurance will cover liability arising out of "hired and -non-owned" automobiles. - -Worker's Compensation Insurance as required by workers' -compensation, occupational disease and occupational health and safety -laws, statutes and regulations. - -Technology Errors & Omissions Insurance with a limit of not less than -$3,000,000. - -Umbrella/Excess Insurance with a limit of not less than $3,000,000. - -9. Change Order Process - -You may submit written requests to us to change the scope of C&I -Services described in a Statement of Work (each such request, a -"Change Order Request"). If we elect to consider a Change Order -Request, then we will promptly notify you if we believe that the Change -Order Request requires an adjustment to the fees or to the schedule for -the performance of the C&I Services. In such event, the parties will -negotiate in good faith a reasonable and equitable adjustment to the -fees and/or schedule, as applicable. We will continue to perform C&I -Services pursuant to the existing Statement of Work and will have no -obligation to perform any Change Order Request unless and until the -parties have agreed in writing to such an equitable adjustment. - -10. Expenses - -Unless otherwise specified in the Statement of Work, we will not charge -you for our expenses we incur in connection with a Statement of Work. -Our daily C&I Services rates are inclusive of any expenses. In the event -the parties agree that expenses are reimbursable under a Statement of -Work, we will mutually agree on any travel policy and any required -documentation for re-imbursement. - -11. Prepaid C&I Services - -Unless otherwise expressly stated in a Statement of Work, all prepaid -C&I Services must be redeemed within twelve (12) months from the -date of purchase/invoice. At the end of the twelve (12) month term, any -remaining pre-paid unused C&I Services will expire; no refunds will be -provided for any remaining pre-paid unused C&I Services. Unless -otherwise specifically stated in a Statement of Work, Education is -invoiced and payable in advance. - - -Configuration and Implementation -Services Definitions Exhibit - -"C&I Services" means the services outlined in the Statement of Work. - -"C&I Services Materials" means the materials and other deliverables -that are provided to you as part of the C&I Services, and any materials, -technology, know-how and other innovations of any kind that we or our -Personnel may create or reduce to practice in the course of performing -the C&I Services, including without limitation all improvements or -modifications to our proprietary technology, and all Intellectual Property -Rights therein. - -"Customer Materials" means the data, information, and materials you -provide to us in connection with your use of the C&I Services. - -"Fees" means the fees that are applicable to the C&I Services, as -identified in the Statement of Work. - -"Intellectual Property Rights" means all worldwide intellectual property -rights, including copyrights and other rights in works of authorship; -rights in trademarks, tradenames, and other designations of source or -origin; rights in trade secrets and confidential information; and patents -and patent applications. - -"Offerings" means the products, services and other offerings that -Splunk makes generally available for purchase and use. - -"Orders" means Splunk's quote or ordering document (including online -order form) accepted by you via your purchase order or other ordering -document submitted to Splunk (directly or indirectly through an -authorized reseller) to order C&I Services. - -"Personnel" means any employee, consultant, contractor, or -subcontractor of Splunk. - -"Splunk Preexisting IP" means, with respect to any C&I Services -Materials, all associated Splunk Technology and all Intellectual Property -Rights created or acquired: (a) prior to the date of the Statement of -Work that includes such C&I Services Materials, or (b) after the date of -such Statement of Work but independently of the C&I Services provided -under such Statement of Work. - -"Statement of Work" means the statements of work and/or any all -applicable Orders that describe the specific services to be performed by -Splunk, including any materials and deliverables to be delivered by -Splunk. - - -SPLUNK GENERAL TERMS (v1.2020) \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 775bde5b5..e895eb344 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,6 +1,6 @@ ## ## SPDX-FileCopyrightText: 2020 Splunk, Inc. -## SPDX-License-Identifier: LicenseRef-Splunk-1-2020 +## SPDX-License-Identifier: Apache-2.0 ## ## version: "3.7" diff --git a/pytest.ini b/pytest.ini index 744f3b3cf..0834bb7a7 100644 --- a/pytest.ini +++ b/pytest.ini @@ -1,6 +1,6 @@ ## ## SPDX-FileCopyrightText: 2020 Splunk, Inc. -## SPDX-License-Identifier: LicenseRef-Splunk-1-2020 +## SPDX-License-Identifier: Apache-2.0 ## ## [pytest] diff --git a/semtag b/semtag deleted file mode 100755 index c094b97cd..000000000 --- a/semtag +++ /dev/null @@ -1,655 +0,0 @@ -#!/usr/bin/env bash - -PROG=semtag -PROG_VERSION="v0.1.0" - -SEMVER_REGEX="^v?(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)(\-[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?(\+[0-9A-Za-z-]+(\.[0-9A-Za-z-]+)*)?$" -IDENTIFIER_REGEX="^\-([0-9A-Za-z-]+)\.([0-9A-Za-z-]+)*$" - -# Global variables -FIRST_VERSION="v0.0.0" -finalversion=$FIRST_VERSION -lastversion=$FIRST_VERSION -hasversiontag="false" -scope="patch" -displayonly="false" -forcetag="false" -forcedversion= -versionname= -identifier= - -HELP="\ -Usage: - $PROG - $PROG getlast - $PROG getfinal - $PROG (final|a|b|candidate) [-s (major|minor|patch|auto) | -o] - $PROG --help - $PROG --version -Options: - -s The scope that must be increased, can be major, minor or patch. - The resulting version will match X.Y.Z(-PRERELEASE)(+BUILD) - where X, Y and Z are positive integers, PRERELEASE is an optionnal - string composed of alphanumeric characters describing if the build is - a release candidate, alpha or beta version, with a number. - BUILD is also an optional string composed of alphanumeric - characters and hyphens. - Setting the scope as 'auto', the script will chose the scope between - 'minor' and 'patch', depending on the amount of lines added (<10% will - choose patch). - -v Specifies manually the version to be tagged, must be a valid semantic version - in the format X.Y.Z where X, Y and Z are positive integers. - -o Output the version only, shows the bumped version, but doesn't tag. - -f Forces to tag, even if there are unstaged or uncommited changes. -Commands: - --help Print this help message. - --version Prints the program's version. - get Returns both current final version and last tagged version. - getlast Returns the latest tagged version. - getfinal Returns the latest tagged final version. - getcurrent Returns the current version, based on the latest one, if there are uncommited or - unstaged changes, they will be reflected in the version, adding the number of - pending commits, current branch and commit hash. - final Tags the current build as a final version, this only can be done on the master branch. - candidate Tags the current build as a release candidate, the tag will contain all - the commits from the last final version. - a Tags the current build as an alpha version, the tag will contain all - the commits from the last final version. - b Tags the current build as a beta version, the tag will contain all - the commits from the last final version." - -# Commands and options -ACTION="getlast" -ACTION="$1" -shift - -# We get the parameters -while getopts "v:s:of" opt; do - case $opt in - v) - forcedversion="$OPTARG" - ;; - s) - scope="$OPTARG" - ;; - o) - displayonly="true" - ;; - f) - forcetag="true" - ;; - \?) - echo "Invalid option: -$OPTARG" >&2 - exit 1 - ;; - :) - echo "Option -$OPTARG requires an argument." >&2 - exit 1 - ;; - esac -done - -# Gets a string with the version and returns an array of maximum size of 5 with all the parts of the sematinc version -# $1 The string containing the version in semantic format -# $2 The variable to store the result array: -# position 0: major number -# position 1: minor number -# position 2: patch number -# position 3: identifier (or prerelease identifier) -# position 4: build info -function explode_version { - local __version=$1 - local __result=$2 - if [[ $__version =~ $SEMVER_REGEX ]] ; then - local __major=${BASH_REMATCH[1]} - local __minor=${BASH_REMATCH[2]} - local __patch=${BASH_REMATCH[3]} - local __prere=${BASH_REMATCH[4]} - local __build=${BASH_REMATCH[5]} - eval "$__result=(\"$__major\" \"$__minor\" \"$__patch\" \"$__prere\" \"$__build\")" - else - eval "$__result=" - fi -} - -# Compare two versions and returns -1, 0 or 1 -# $1 The first version to compare -# $2 The second version to compare -# $3 The variable where to store the result -function compare_versions { - local __first - local __second - explode_version $1 __first - explode_version $2 __second - local lv=$3 - - # Compares MAJOR, MINOR and PATCH - for i in 0 1 2; do - local __numberfirst=${__first[$i]} - local __numbersecond=${__second[$i]} - case $(($__numberfirst - $__numbersecond)) in - 0) - ;; - -[0-9]*) - eval "$lv=-1" - return 0 - ;; - [0-9]*) - eval "$lv=1" - return 0 - ;; - esac - done - - # Identifiers should compare with the ASCII order. - local __identifierfirst=${__first[3]} - local __identifiersecond=${__second[3]} - if [[ -n "$__identifierfirst" ]] && [[ -n "$__identifiersecond" ]]; then - if [[ "$__identifierfirst" > "$__identifiersecond" ]]; then - eval "$lv=1" - return 0 - elif [[ "$__identifierfirst" < "$__identifiersecond" ]]; then - eval "$lv=-1" - return 0 - fi - elif [[ -z "$__identifierfirst" ]] && [[ -n "$__identifiersecond" ]]; then - eval "$lv=1" - return 0 - elif [[ -n "$__identifierfirst" ]] && [[ -z "$__identifiersecond" ]]; then - eval "$lv=-1" - return 0 - fi - - eval "$lv=0" -} - -# Returns the last version of two -# $1 The first version to compare -# $2 The second version to compare -# $3 The variable where to store the last one -function get_latest_of_two { - local __first=$1 - local __second=$2 - local __result - local __latest=$3 - compare_versions $__first $__second __result - case $__result in - 0) - eval "$__latest=$__second" - ;; - -1) - eval "$__latest=$__second" - ;; - 1) - eval "$__latest=$__first" - ;; - esac -} - -# Assigns a 2 size array with the identifier, having the identifier at pos 0, and the number in pos 1 -# $1 The identifier in the format -id.# -# $2 The vferiable where to store the 2 size array -function explode_identifier { - local __identifier=$1 - local __result=$2 - if [[ $__identifier =~ $IDENTIFIER_REGEX ]] ; then - local __id=${BASH_REMATCH[1]} - local __number=${BASH_REMATCH[2]} - if [[ -z "$__number" ]]; then - __number=1 - fi - eval "$__result=(\"$__id\" \"$__number\")" - else - eval "$__result=" - fi -} - -# Gets a list of tags and assigns the base and latest versions -# Receives an array with the tags containing the versions -# Assigns to the global variables finalversion and lastversion the final version and the latest version -function get_latest { - local __taglist=("$@") - local __tagsnumber=${#__taglist[@]} - local __current - case $__tagsnumber in - 0) - finalversion=$FIRST_VERSION - lastversion=$FIRST_VERSION - ;; - 1) - __current=${__taglist[0]} - explode_version $__current ver - if [ -n "$ver" ]; then - if [ -n "${ver[3]}" ]; then - finalversion=$FIRST_VERSION - else - finalversion=$__current - fi - lastversion=$__current - else - finalversion=$FIRST_VERSION - lastversion=$FIRST_VERSION - fi - ;; - *) - local __lastpos=$(($__tagsnumber-1)) - for i in $(seq 0 $__lastpos) - do - __current=${__taglist[i]} - explode_version ${__taglist[i]} ver - if [ -n "$ver" ]; then - if [ -z "${ver[3]}" ]; then - get_latest_of_two $finalversion $__current finalversion - get_latest_of_two $lastversion $finalversion lastversion - else - get_latest_of_two $lastversion $__current lastversion - fi - fi - done - ;; - esac - - if git rev-parse -q --verify "refs/tags/$lastversion" >/dev/null; then - hasversiontag="true" - else - hasversiontag="false" - fi -} - -# Gets the next version given the provided scope -# $1 The version that is going to be bumped -# $2 The scope to bump -# $3 The variable where to stoer the result -function get_next_version { - local __exploded - local __fromversion=$1 - local __scope=$2 - local __result=$3 - explode_version $__fromversion __exploded - case $__scope in - major) - __exploded[0]=$((${__exploded[0]}+1)) - __exploded[1]=0 - __exploded[2]=0 - ;; - minor) - __exploded[1]=$((${__exploded[1]}+1)) - __exploded[2]=0 - ;; - patch) - __exploded[2]=$((${__exploded[2]}+1)) - ;; - esac - - eval "$__result=v${__exploded[0]}.${__exploded[1]}.${__exploded[2]}" -} - -function bump_version { - ## First we try to get the next version based on the existing last one - if [ "$scope" == "auto" ]; then - get_scope_auto scope - fi - - local __candidatefromlast=$FIRST_VERSION - local __explodedlast - explode_version $lastversion __explodedlast - if [[ -n "${__explodedlast[3]}" ]]; then - # Last version is not final - local __idlast - explode_identifier ${__explodedlast[3]} __idlast - - # We get the last, given the desired id based on the scope - __candidatefromlast="v${__explodedlast[0]}.${__explodedlast[1]}.${__explodedlast[2]}" - if [[ -n "$identifier" ]]; then - local __nextid="$identifier.1" - if [ "$identifier" == "${__idlast[0]}" ]; then - # We target the same identifier as the last so we increase one - __nextid="$identifier.$(( ${__idlast[1]}+1 ))" - __candidatefromlast="$__candidatefromlast-$__nextid" - else - # Different identifiers, we make sure we are assigning a higher identifier, if not, we increase the version - __candidatefromlast="$__candidatefromlast-$__nextid" - local __comparedwithlast - compare_versions $__candidatefromlast $lastversion __comparedwithlast - if [ "$__comparedwithlast" == -1 ]; then - get_next_version $__candidatefromlast $scope __candidatefromlast - __candidatefromlast="$__candidatefromlast-$__nextid" - fi - fi - fi - fi - - # Then we try to get the version based on the latest final one - local __candidatefromfinal=$FIRST_VERSION - get_next_version $finalversion $scope __candidatefromfinal - if [[ -n "$identifier" ]]; then - __candidatefromfinal="$__candidatefromfinal-$identifier.1" - fi - - # Finally we compare both candidates - local __resultversion - local __result - compare_versions $__candidatefromlast $__candidatefromfinal __result - case $__result in - 0) - __resultversion=$__candidatefromlast - ;; - -1) - __resultversion="$__candidatefromfinal" - ;; - 1) - __resultversion=$__candidatefromlast - ;; - esac - - eval "$1=$__resultversion" -} - -function increase_version { - local __version= - - if [ -z $forcedversion ]; then - bump_version __version - else - if [[ $forcedversion =~ $SEMVER_REGEX ]] ; then - compare_versions $forcedversion $lastversion __result - if [ $__result -le 0 ]; then - echo "Version can't be lower than last version: $lastversion" - exit 1 - fi - else - echo "Non valid version to bump" - exit 1 - fi - __version=$forcedversion - fi - - if [ "$displayonly" == "true" ]; then - echo "$__version" - else - if [ "$forcetag" == "false" ]; then - check_git_dirty_status - fi - local __commitlist - local columnNotes - #__commitlist="$(git log --pretty=oneline | cat)" - # ---Added For Release Notes Formatting - declare -a ReleaseColumn=("CI" "DOC" "FIX" "FEATURE" "FILTERADD" "FILTERMOD" "REVERT" "TEST") - for col in ${ReleaseColumn[@]}; - do - tag=0 - if [ "$finalversion" == "$FIRST_VERSION" ] || [ "$hasversiontag" != "true" ]; then - columnNotes=() - while IFS= read -r line; - do - columnNotes+=( "$line" ) - done < <( (git log --pretty=format:"%s" | grep -i -E "^(\[$col\])" |cat) ) - else - columnNotes=() - while IFS= read -r line; - do - columnNotes+=( "$line" ) - done < <( (git log --pretty=format:"%s" $finalversion... | grep -i -E "^(\[$col\])" |cat) ) - fi - if [ -n "$columnNotes" ]; then - for i in "${columnNotes[@]}" - do - IFS=' ' - read -ra my_array2 <<< $i - if [[ ${my_array2[@]:1} = *[!\ ]* ]]; then - if [ "$tag" -eq 0 ]; then - __commitlist+="[$col]"$'\n' - tag=1 - fi - __commitlist+="${my_array2[@]:1}"$'\n' - fi - done - fi - done - #------------ - # If we are forcing a bump, we add bump to the commit list - if [[ -z $__commitlist && "$forcetag" == "true" ]]; then - __commitlist="bump" - fi - - if [[ -z $__commitlist ]]; then - echo "No commits since the last final version, not bumping version" - else - if [[ -z $versionname ]]; then - versionname=$(date -u +"%Y-%m-%dT%H:%M:%SZ") - fi - local __message="$versionname -$__commitlist" - - # We check we have info on the user - local __username=$(git config user.name) - if [ -z "$__username" ]; then - __username=$(id -u -n) - git config user.name $__username - fi - local __useremail=$(git config user.email) - if [ -z "$__useremail" ]; then - __useremail=$(hostname) - git config user.email "$__username@$__useremail" - fi - - git tag -a $__version -m "$__message" - - # If we have a remote, we push there - local __remotes=$(git remote) - if [[ -n $__remotes ]]; then - for __remote in $__remotes; do - git push $__remote $__version > /dev/null - if [ $? -eq 0 ]; then - echo "$__version pushed to $__remote" - else - echo "Error pushing the tag $__version to $__remote" - exit 1 - fi - done - else - echo "$__version" - fi - fi - fi -} - -function check_git_dirty_status { - local __repostatus= - get_work_tree_status __repostatus - - if [ "$__repostatus" == "uncommitted" ]; then - echo "ERROR: You have uncommitted changes" - git status --porcelain - exit 1 - fi - - if [ "$__repostatus" == "unstaged" ]; then - echo "ERROR: You have unstaged changes" - git status --porcelain - exit 1 - fi -} - -# Get the total amount of lines of code in the repo -function get_total_lines { - local __empty_id="$(git hash-object -t tree /dev/null)" - local __changes="$(git diff --numstat $__empty_id | cat)" - local __added_deleted=$1 - get_changed_lines "$__changes" $__added_deleted -} - -# Get the total amount of lines of code since the provided tag -function get_sincetag_lines { - local __sincetag=$1 - local __changes="$(git diff --numstat $__sincetag | cat)" - local __added_deleted=$2 - get_changed_lines "$__changes" $__added_deleted -} - -function get_changed_lines { - local __changes_numstat=$1 - local __result=$2 - IFS=$'\n' read -rd '' -a __changes_array <<<"$__changes_numstat" - local __diff_regex="^([0-9]+)[[:space:]]+([0-9]+)[[:space:]]+.+$" - - local __total_added=0 - local __total_deleted=0 - for i in "${__changes_array[@]}" - do - if [[ $i =~ $__diff_regex ]] ; then - local __added=${BASH_REMATCH[1]} - local __deleted=${BASH_REMATCH[2]} - __total_added=$(( $__total_added+$__added )) - __total_deleted=$(( $__total_deleted+$__deleted )) - fi - done - eval "$2=( $__total_added $__total_deleted )" -} - -function get_scope_auto { - local __verbose=$2 - local __total=0 - local __since=0 - local __scope= - - get_total_lines __total - get_sincetag_lines $finalversion __since - - local __percentage=0 - if [ "$__total" != "0" ]; then - local __percentage=$(( 100*$__since/$__total )) - if [ $__percentage -gt "10" ]; then - __scope="minor" - else - __scope="patch" - fi - fi - - eval "$1=$__scope" - if [[ -n "$__verbose" ]]; then - echo "[Auto Scope] Percentage of lines changed: $__percentage" - echo "[Auto Scope] : $__scope" - fi -} - -function get_work_tree_status { - # Update the index - git update-index -q --ignore-submodules --refresh > /dev/null - eval "$1=" - - if ! git diff-files --quiet --ignore-submodules -- > /dev/null - then - eval "$1=unstaged" - fi - - if ! git diff-index --cached --quiet HEAD --ignore-submodules -- > /dev/null - then - eval "$1=uncommitted" - fi -} - -function get_current { - if [ "$hasversiontag" == "true" ]; then - local __commitcount="$(git rev-list $lastversion.. --count)" - else - local __commitcount="$(git rev-list --count HEAD)" - fi - local __status= - get_work_tree_status __status - - if [ "$__commitcount" == "0" ] && [ -z "$__status" ]; then - eval "$1=$lastversion" - else - local __buildinfo="$(git rev-parse --short HEAD)" - local __currentbranch="$(git rev-parse --abbrev-ref HEAD)" - if [ "$__currentbranch" != "master" ]; then - __buildinfo="$__currentbranch.$__buildinfo" - fi - - local __suffix= - if [ "$__commitcount" != "0" ]; then - if [ -n "$__suffix" ]; then - __suffix="$__suffix." - fi - __suffix="$__suffix$__commitcount" - fi - if [ -n "$__status" ]; then - if [ -n "$__suffix" ]; then - __suffix="$__suffix." - fi - __suffix="$__suffix$__status" - fi - - __suffix="$__suffix+$__buildinfo" - if [ "$lastversion" == "$finalversion" ]; then - scope="patch" - identifier= - local __bumped= - bump_version __bumped - eval "$1=$__bumped-dev.$__suffix" - else - eval "$1=$lastversion.$__suffix" - fi - fi -} - -function init { - git fetch > /dev/null - TAGS="$(git tag)" - IFS=$'\n' read -rd '' -a TAG_ARRAY <<<"$TAGS" - - get_latest ${TAG_ARRAY[@]} - currentbranch="$(git rev-parse --abbrev-ref HEAD)" -} - -case $ACTION in - --help) - echo -e "$HELP" - ;; - --version) - echo -e "${PROG}: $PROG_VERSION" - ;; - final) - init - diff=$(git diff master | cat) - if [ "$forcetag" == "false" ]; then - if [ -n "$diff" ]; then - echo "ERROR: Branch must be updated with master for final versions" - exit 1 - fi - fi - increase_version - ;; - a|b) - init - identifier="$ACTION" - increase_version - ;; - candidate) - init - identifier="rc" - increase_version - ;; - getlast) - init - echo "$lastversion" - ;; - getfinal) - init - echo "$finalversion" - ;; - getcurrent) - init - get_current current - echo "$current" - ;; - get) - init - echo "Current final version: $finalversion" - echo "Last tagged version: $lastversion" - ;; - *) - echo "'$ACTION' is not a valid command, see --help for available commands." - ;; -esac \ No newline at end of file diff --git a/tests/conftest.py b/tests/conftest.py index 36a3b99a5..41a2cb9e3 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -2,7 +2,7 @@ # SPDX-FileCopyrightText: 2020 Splunk, Inc. # # SPDX-License-Identifier: Apache-2.0 -# SPDX-License-Identifier: LicenseRef-Splunk-1-2020 +# SPDX-License-Identifier: Apache-2.0 import os import pytest diff --git a/tests/data/package/app.manifest b/tests/data/package/app.manifest index 9353d8b9f..6bcf830b8 100644 --- a/tests/data/package/app.manifest +++ b/tests/data/package/app.manifest @@ -24,7 +24,7 @@ "commonInformationModels": null, "license": { "name": null, - "text": "LICENSES/LicenseRef-Splunk-1-2020.txt", + "text": "LICENSES/Apache-2.0.txt", "uri": null }, "privacyPolicy": {