diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000000000000000000000000000000000000..a0a2039a54f71f9be48b1a50e46d4e99796fee64 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,20 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +[Artifactory release notes](https://www.jfrog.com/confluence/display/JFROG/Artifactory+Release+Notes#ArtifactoryReleaseNotes-Artifactory7.5.7) + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) + +## [v7.5.7] - 06/11/20 + +## [v7.3.2] - 04/06/20 + +## [v6.12.0] - 08/22/19 + +### Added +Initial version + +### Changed + +### Removed \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..27faa0e3253ac501a9d32a8651bb0c1accd16ba4 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,74 @@ +######################## Vendor Image Args ######################## +ARG ARTIFACTORY_BASE_VERSION=7.6.3 +#ARG ARTIFACTORY_BASE_IMAGE=jfrog/artifactory/artifactory-oss +ARG ARTIFACTORY_BASE_IMAGE=docker.bintray.io/jfrog/artifactory-oss +ARG ARTIFACTORY_BASE_IMAGE_NAME=${ARTIFACTORY_BASE_IMAGE}:${ARTIFACTORY_BASE_VERSION} +# ARG ARTIFACTORY_BASE_IMAGE_NAME=jfrog/artifactory/artifactory-oss:7.5.5 +######################## Base Args ######################## + +#ARG BASE_REGISTRY=localhost +ARG BASE_REGISTRY=registry1.dsop.io +ARG BASE_IMAGE=redhat/ubi/ubi8 +ARG BASE_TAG=8.2 + +ARG UBI_BASE_IMAGE=${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} + +# Use jfrog/artifactory-oss:7.6.3 downloaded from docker.bintray.io via prebuild.sh as builder image +# jfrog/artifactory-oss:7.6.3 is not hardened, but this is okay because the base image is not artifactory-oss, but ubi7, which is hardened +# FROM docker.bintray.io/jfrog/artifactory-oss:7.6.3 AS base +FROM ${ARTIFACTORY_BASE_IMAGE_NAME} AS base + +# The new image based on registry.access.redhat.com/ubi +FROM ${UBI_BASE_IMAGE} + +ARG ARTIFACTORY_BASE_VERSION +ARG UBI_BASE_IMAGE + +LABEL org.opencontainers.image.title="JFrog Artifactory OSS" \ + org.opencontainers.image.description="JFrog Artifactory OSS image based on the Red Hat Universal Base Image for DSOP." \ + org.opencontainers.image.url="https://jfrog.com" \ + org.opencontainers.image.version="7.6.3" \ + maintainer="cht@dsop.io" + +HEALTHCHECK --interval=30s --timeout=5s --start-period=2m --retries=5 \ + CMD curl -I -f http://localhost:8081/artifactory/webapp/#/login || exit 1 + +# Environment needed for Artifactory +ENV JF_ARTIFACTORY_USER=artifactory \ + ARTIFACTORY_USER_ID=1030 \ + ARTIFACTORY_VERSION=${ARTIFACTORY_BASE_VERSION} \ + JF_PRODUCT_HOME=/opt/jfrog/artifactory \ + JF_PRODUCT_DATA_INTERNAL=/var/opt/jfrog/artifactory \ + RECOMMENDED_MAX_OPEN_FILES=32000 \ + MIN_MAX_OPEN_FILES=10000 \ + RECOMMENDED_MAX_OPEN_ossCESSES=1024 \ + POSTGRESQL_VERSION=9.4.1212 + +# Copy needed file system from base (Artifactory image) +COPY --from=base /opt/jfrog /opt/jfrog +COPY --from=base /var/opt/jfrog/artifactory /var/opt/jfrog/artifactory +COPY --from=base /entrypoint-artifactory.sh /entrypoint-artifactory.sh + +# Add license information to meet the Red Hat container image certification requirements +COPY --from=base /opt/jfrog/artifactory/app/doc/* /licenses/ + +# Metadata to let Artifactory know its installation source +RUN mkdir -p /artifactory_bootstrap/info/ +RUN echo "{\"ossductId\":\"UBI8_artifactory/1.0.0\",\"features\":[{\"featureId\":\"Partner/ACC-013116\"}]}" > /artifactory_bootstrap/info/installer-info.json + +# Create the user, fix file system ownership and install needed tools with Yum +# NOTE - wget must be installed for Artifactory HA +RUN useradd -M -s /usr/sbin/nologin --uid ${ARTIFACTORY_USER_ID} --user-group ${JF_ARTIFACTORY_USER} && \ + chown -R ${JF_ARTIFACTORY_USER}:${JF_ARTIFACTORY_USER} ${JF_PRODUCT_HOME} ${JF_PRODUCT_DATA_INTERNAL} && \ + dnf upgrade -y && \ + dnf install -y wget osscps net-tools hostname --setopt=tsflags=nodocs && \ + dnf clean all && \ + rm -rf /var/cache/dnf + +EXPOSE 8081 8082 + +USER $JF_ARTIFACTORY_USER + +VOLUME ${JF_PRODUCT_DATA_INTERNAL} + +ENTRYPOINT ["/entrypoint-artifactory.sh"] diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000000000000000000000000000000000000..913ba116cd10f4471e336c42916b401067f37bde --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,2 @@ +@Library('DCCSCR@master') _ +dccscrPipeline(version: "7.6.3") diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..261eeb9e9f8b2b4b0d119366dda99c6fd7d35c64 --- /dev/null +++ b/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.LICENSE b/README.LICENSE new file mode 100644 index 0000000000000000000000000000000000000000..853d203a0a178ed69c39b436817a4af838ff9e47 --- /dev/null +++ b/README.LICENSE @@ -0,0 +1 @@ +While this repository is Apache 2.0, running Artifactory requires a commercial license, and then falls under the terms of our EULA as agreed when acquiring a license. diff --git a/README.md b/README.md index 57edf927b8026ff27004e7428606b4b33aa1dd38..a7b276b7bcb713a7e13b4b64df4e8510311ec891 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,20 @@ -# arttifactory-oss +# jfrog jfrog-artifactory v7.6.3 + +This is derived from https://github.com/jfrog/jfrog-distroless/blob/master/customize-example/Dockerfile.redhat-ubi-rt7 by the JFrog team, which is in turn derived from the jfrog-artifactory-pro official docker container + +## TO GET A LICENSE +While this repository is Apache 2.0, running Artifactory requires a commercial license, and then falls under the terms of our [EULA](https://jfrog.com/artifactory/eula/) as agreed when acquiring a license. + +To purchase a license or request a trial contact usfed-sales@jfrog.com + +## Ports +This container requires ports 8081 and 8082 to be exposed in order to effectively run. + +## Volumes +This container relies on a volumes if you wish to persist the data. Please see the directions for details. + +## Running the container +In order to run the container, enter the following command inside this directory: +`docker run -d -p8081:8081 -p 8082:8082 `. +Please see the full directions to run artifactory persistently from a docker container with appropriate volumes here: https://www.jfrog.com/confluence/display/JFROG/Installing+Artifactory -Open Source version of Artifactory \ No newline at end of file diff --git a/accreditation/README.md b/accreditation/README.md new file mode 100644 index 0000000000000000000000000000000000000000..70158231178649fca407692cdafcf920e6d83c29 --- /dev/null +++ b/accreditation/README.md @@ -0,0 +1,3 @@ +# Accreditation + +TODO: Any accreditation related documentation will be placed in this directory. diff --git a/compliance/README.md b/compliance/README.md new file mode 100644 index 0000000000000000000000000000000000000000..3f95740c9b579dc94a65ed849552c8830dac7fa6 --- /dev/null +++ b/compliance/README.md @@ -0,0 +1,4 @@ +# Compliance + +TODO: Any SCAP files or OVAL or similar compliance configuration goes here. +At the moment we don't have any findings not from the base image, so nothing here. diff --git a/documentation/README.md b/documentation/README.md new file mode 100644 index 0000000000000000000000000000000000000000..b1d1458f5e11813251cfeab586413850c65e58c2 --- /dev/null +++ b/documentation/README.md @@ -0,0 +1,3 @@ +# Documentation + +TODO: Additional documentation files go here (e.g., pdf documentations) diff --git a/download.yaml b/download.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b36809afd41d66c7e3818e391cbc6a8aa7ad7125 --- /dev/null +++ b/download.yaml @@ -0,0 +1,3 @@ +resources: + - url: "docker://docker.bintray.io/jfrog/artifactory-pro@sha256:81b9589868a8b81774997c9b02ecfac4ae27a0a4cf392cce35a3594d0233b74e" + tag: "jfrog/artifactory/artifactory-pro:7.6.3" \ No newline at end of file diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 0000000000000000000000000000000000000000..272698d9527c422bb2998d7cc026ea6ffee280b2 --- /dev/null +++ b/examples/README.md @@ -0,0 +1,4 @@ +# Examples +https://www.jfrog.com/confluence/display/RTF/Installing+with+Docker + +TODO: Cut'n'paste these instructions for users on classified networks. diff --git a/signatures/README.md b/signatures/README.md new file mode 100644 index 0000000000000000000000000000000000000000..16be8d4632f4b4f0401f0d2768793b63bd685f4c --- /dev/null +++ b/signatures/README.md @@ -0,0 +1,6 @@ +# Signatures +JFrog's public key is found here and at: [bintray.com/jfrog](https://bintray.com/user/downloadSubjectPublicKey?username=jfrog) + +artifactory_tar_url_public.asc is a copy of the JFrog Public GPG key + +artifactory-pro-version.tar.gz.asc will be the signature of the tar ball. diff --git a/signatures/artifactory-pro-v6.12.0.tar.gz.asc b/signatures/artifactory-pro-v6.12.0.tar.gz.asc new file mode 100644 index 0000000000000000000000000000000000000000..cbaee5cead7bfbe0c56f1f62fd9de2070638c505 --- /dev/null +++ b/signatures/artifactory-pro-v6.12.0.tar.gz.asc @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- +Version: BCPG v1.53 + +iEYEABEIAAYFAl1oYDgACgkQayGdzNdjkjKluwCfcfXBPc/jf0PCFll1M76psI3G +kZwAnA+6lrFE+weK9VJTW4M1tibNrJw0 +=g3B8 +-----END PGP SIGNATURE-----