From 68faa1742380f1ac1a1d15d617088835436f1fa5 Mon Sep 17 00:00:00 2001 From: Fran Mulero Date: Wed, 9 Feb 2022 15:49:53 +0100 Subject: [PATCH 01/25] Initial commit --- .../harbor-exporter/.github/ISSUE_TEMPLATE.md | 21 ++++++++ .../.github/PULL_REQUEST_TEMPLATE.md | 32 ++++++++++++ .../.github/workflows/stale.yml | 20 +++++++ bitnami/harbor-exporter/CODE_OF_CONDUCT.md | 17 ++++++ bitnami/harbor-exporter/CONTRIBUTING.md | 52 +++++++++++++++++++ bitnami/harbor-exporter/LICENSE.md | 13 +++++ 6 files changed, 155 insertions(+) create mode 100644 bitnami/harbor-exporter/.github/ISSUE_TEMPLATE.md create mode 100644 bitnami/harbor-exporter/.github/PULL_REQUEST_TEMPLATE.md create mode 100644 bitnami/harbor-exporter/.github/workflows/stale.yml create mode 100644 bitnami/harbor-exporter/CODE_OF_CONDUCT.md create mode 100644 bitnami/harbor-exporter/CONTRIBUTING.md create mode 100644 bitnami/harbor-exporter/LICENSE.md diff --git a/bitnami/harbor-exporter/.github/ISSUE_TEMPLATE.md b/bitnami/harbor-exporter/.github/ISSUE_TEMPLATE.md new file mode 100644 index 000000000000..a7a1a6fc7a0f --- /dev/null +++ b/bitnami/harbor-exporter/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,21 @@ +**Description** + + + +**Steps to reproduce the issue:** + +1. [First Step] +2. [Second Step] +3. [and so on...] + +**Describe the results you received:** + + + +**Describe the results you expected:** + + + +**Additional information you deem important (e.g. issue happens only occasionally, environment details, etc.):** + + diff --git a/bitnami/harbor-exporter/.github/PULL_REQUEST_TEMPLATE.md b/bitnami/harbor-exporter/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000000..c2acbe6e0d70 --- /dev/null +++ b/bitnami/harbor-exporter/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,32 @@ + + +**Description of the change** + + + +**Benefits** + + + +**Possible drawbacks** + + + +**Applicable issues** + + + +**Additional information** + + diff --git a/bitnami/harbor-exporter/.github/workflows/stale.yml b/bitnami/harbor-exporter/.github/workflows/stale.yml new file mode 100644 index 000000000000..0bf90080c817 --- /dev/null +++ b/bitnami/harbor-exporter/.github/workflows/stale.yml @@ -0,0 +1,20 @@ +name: 'Close stale issues and PRs' +on: + schedule: + - cron: '0 1 * * *' + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v3 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + stale-issue-message: 'This Issue has been automatically marked as "stale" because it has not had recent activity (for 15 days). It will be closed if no further activity occurs. Thanks for the feedback.' + stale-pr-message: 'This Pull Request has been automatically marked as "stale" because it has not had recent activity (for 15 days). It will be closed if no further activity occurs. Thank you for your contribution.' + close-issue-message: 'Due to the lack of activity in the last 5 days since it was marked as "stale", we proceed to close this Issue. Do not hesitate to reopen it later if necessary.' + close-pr-message: 'Due to the lack of activity in the last 5 days since it was marked as "stale", we proceed to close this Pull Request. Do not hesitate to reopen it later if necessary.' + days-before-stale: 15 + days-before-close: 5 + exempt-issue-labels: 'on-hold' + exempt-pr-labels: 'on-hold' diff --git a/bitnami/harbor-exporter/CODE_OF_CONDUCT.md b/bitnami/harbor-exporter/CODE_OF_CONDUCT.md new file mode 100644 index 000000000000..48beb02e0808 --- /dev/null +++ b/bitnami/harbor-exporter/CODE_OF_CONDUCT.md @@ -0,0 +1,17 @@ +# Contributor Code of Conduct + +As contributors and maintainers of this project, we pledge to respect everyone who contributes by posting issues, updating documentation, submitting pull requests, providing feedback in comments, and any other activities. + +Communication through any of Bitnami's channels (GitHub, mailing lists, Twitter, and so on) must be constructive and never resort to personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct. + +We promise to extend courtesy and respect to everyone involved in this project, regardless of gender, gender identity, sexual orientation, disability, age, race, ethnicity, religion, or level of experience. We expect anyone contributing to this project to do the same. + +If any member of the community violates this code of conduct, the maintainers of this project may take action, including removing issues, comments, and PRs or blocking accounts, as deemed appropriate. + +If you are subjected to or witness unacceptable behavior, or have any other concerns, please communicate with us. + +If you have suggestions to improve this Code of Conduct, please submit an issue or PR. + +**Attribution** + +This Code of Conduct is adapted from the Angular project available at this page: https://github.com/angular/code-of-conduct/blob/master/CODE_OF_CONDUCT.md diff --git a/bitnami/harbor-exporter/CONTRIBUTING.md b/bitnami/harbor-exporter/CONTRIBUTING.md new file mode 100644 index 000000000000..4f5ce693ec65 --- /dev/null +++ b/bitnami/harbor-exporter/CONTRIBUTING.md @@ -0,0 +1,52 @@ +# Contributing Guidelines + +Contributions are welcome via GitHub Pull Requests. This document outlines the process to help get your contribution accepted. + +Any type of contribution is welcome: new features, bug fixes, documentation improvements, etc. + +## How to Contribute + +1. Fork this repository, develop, and test your changes. +2. Submit a pull request. + +### Requirements + +When submitting a PR make sure that: +- It must pass CI jobs for linting and test the changes (if any). +- It must follow [container best practices](https://engineering.bitnami.com/articles/best-practices-writing-a-dockerfile.html). +- The title of the PR is clear enough. +- If necessary, add information to the repository's `README.md`. + +#### Sign Your Work + +The sign-off is a simple line at the end of the explanation for a commit. All commits needs to be signed. Your signature certifies that you wrote the patch or otherwise have the right to contribute the material. The rules are pretty simple, you only need to certify the guidelines from [developercertificate.org](https://developercertificate.org/). + +Then you just add a line to every git commit message: + + Signed-off-by: Joe Smith + +Use your real name (sorry, no pseudonyms or anonymous contributions.) + +If you set your `user.name` and `user.email` git configs, you can sign your commit automatically with `git commit -s`. + +Note: If your git config information is set properly then viewing the `git log` information for your commit will look something like this: + +``` +Author: Joe Smith +Date: Thu Feb 2 11:41:15 2018 -0800 + + Update README + + Signed-off-by: Joe Smith +``` + +Notice the `Author` and `Signed-off-by` lines match. If they don't your PR will be rejected by the automated DCO check. + +### PR Approval and Release Process + +1. Changes are manually reviewed by Bitnami team members usually within a business day. +2. Once the changes are accepted, the PR is tested (if needed) into the Bitnami CI pipeline, the container is deployed and tested (verification and functional tests) using docker-compose and Helm (if there is an associated Helm Chart). +3. The PR is merged by the reviewer(s) in the GitHub `master` branch. +4. Then our CI/CD system is going to push the container image to the different registries including the recently merged changes. + +***NOTE***: Please note that, in terms of time, may be a slight difference between the appearance of the code in GitHub and the image with the changes in the different registries. diff --git a/bitnami/harbor-exporter/LICENSE.md b/bitnami/harbor-exporter/LICENSE.md new file mode 100644 index 000000000000..cdc8ab40132d --- /dev/null +++ b/bitnami/harbor-exporter/LICENSE.md @@ -0,0 +1,13 @@ +Copyright © 2022 Bitnami + +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. From 49f77fe3131b356950a1c21eb40a46ed6ab5935b Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Wed, 16 Mar 2022 11:02:22 +0000 Subject: [PATCH 02/25] 2.4.1-debian-10-r0 release --- .../harbor-exporter/2/debian-10/Dockerfile | 29 ++ .../2/debian-10/config/core/app.conf | 6 + .../2/debian-10/config/core/private_key.pem | 51 ++ .../2/debian-10/docker-compose.yml | 105 ++++ .../opt/bitnami/.bitnami_components.json | 16 + .../opt/bitnami/licenses/licenses.txt | 3 + .../opt/bitnami/scripts/libbitnami.sh | 51 ++ .../opt/bitnami/scripts/libcomponent.sh | 65 +++ .../prebuildfs/opt/bitnami/scripts/libfile.sh | 139 ++++++ .../prebuildfs/opt/bitnami/scripts/libfs.sh | 190 +++++++ .../prebuildfs/opt/bitnami/scripts/libhook.sh | 16 + .../prebuildfs/opt/bitnami/scripts/liblog.sh | 112 +++++ .../prebuildfs/opt/bitnami/scripts/libnet.sh | 163 ++++++ .../prebuildfs/opt/bitnami/scripts/libos.sh | 466 ++++++++++++++++++ .../opt/bitnami/scripts/libpersistence.sh | 122 +++++ .../opt/bitnami/scripts/libservice.sh | 273 ++++++++++ .../opt/bitnami/scripts/libvalidations.sh | 264 ++++++++++ .../opt/bitnami/scripts/libversion.sh | 49 ++ .../opt/bitnami/scripts/libwebserver.sh | 462 +++++++++++++++++ .../prebuildfs/usr/sbin/install_packages | 24 + .../bitnami/scripts/harbor-exporter-env.sh | 74 +++ .../scripts/harbor-exporter/entrypoint.sh | 24 + .../scripts/harbor-exporter/postunpack.sh | 26 + .../bitnami/scripts/harbor-exporter/run.sh | 21 + .../rootfs/opt/bitnami/scripts/libharbor.sh | 119 +++++ .../opt/bitnami/scripts/libharborexporter.sh | 95 ++++ bitnami/harbor-exporter/README.md | 83 ++++ bitnami/harbor-exporter/docker-compose.yml | 105 ++++ 28 files changed, 3153 insertions(+) create mode 100644 bitnami/harbor-exporter/2/debian-10/Dockerfile create mode 100644 bitnami/harbor-exporter/2/debian-10/config/core/app.conf create mode 100644 bitnami/harbor-exporter/2/debian-10/config/core/private_key.pem create mode 100644 bitnami/harbor-exporter/2/debian-10/docker-compose.yml create mode 100644 bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json create mode 100644 bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/licenses/licenses.txt create mode 100644 bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libbitnami.sh create mode 100644 bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libcomponent.sh create mode 100644 bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libfile.sh create mode 100644 bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libfs.sh create mode 100644 bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libhook.sh create mode 100644 bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/liblog.sh create mode 100644 bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libnet.sh create mode 100644 bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libos.sh create mode 100644 bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libpersistence.sh create mode 100644 bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libservice.sh create mode 100644 bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libvalidations.sh create mode 100644 bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libversion.sh create mode 100644 bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libwebserver.sh create mode 100755 bitnami/harbor-exporter/2/debian-10/prebuildfs/usr/sbin/install_packages create mode 100644 bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/harbor-exporter-env.sh create mode 100755 bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/harbor-exporter/entrypoint.sh create mode 100755 bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/harbor-exporter/postunpack.sh create mode 100755 bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/harbor-exporter/run.sh create mode 100644 bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/libharbor.sh create mode 100644 bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/libharborexporter.sh create mode 100644 bitnami/harbor-exporter/README.md create mode 100644 bitnami/harbor-exporter/docker-compose.yml diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile new file mode 100644 index 000000000000..65186e7dc111 --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -0,0 +1,29 @@ +FROM docker.io/bitnami/minideb:buster +LABEL maintainer "Bitnami " + +ENV HOME="/" \ + OS_ARCH="amd64" \ + OS_FLAVOUR="debian-10" \ + OS_NAME="linux" + +COPY prebuildfs / +# Install required system packages and dependencies +RUN install_packages acl ca-certificates curl gzip libc6 procps tar +RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "harbor-exporter" "2.4.1-0" --checksum 7ea956741dbad9c3d30891ab93000efb748c13ea34ba792ccde796f678420251 +RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "gosu" "1.14.0-7" --checksum d6280b6f647a62bf6edc74dc8e526bfff63ddd8067dcb8540843f47203d9ccf1 +RUN apt-get update && apt-get upgrade -y && \ + rm -r /var/lib/apt/lists /var/cache/apt/archives +RUN chmod g+rwX /opt/bitnami + +COPY rootfs / +RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh +ENV BITNAMI_APP_NAME="harbor-exporter" \ + BITNAMI_IMAGE_VERSION="2.4.1-debian-10-r0" \ + PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" + +EXPOSE 9090 + +WORKDIR /opt/bitnami/harbor-exporter +USER 1001 +ENTRYPOINT [ "/opt/bitnami/scripts/harbor-exporter/entrypoint.sh" ] +CMD [ "/opt/bitnami/scripts/harbor-exporter/run.sh" ] diff --git a/bitnami/harbor-exporter/2/debian-10/config/core/app.conf b/bitnami/harbor-exporter/2/debian-10/config/core/app.conf new file mode 100644 index 000000000000..6110364ca044 --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/config/core/app.conf @@ -0,0 +1,6 @@ +appname = Harbor +runmode = dev +enablegzip = true + +[dev] +httpport = 8080 diff --git a/bitnami/harbor-exporter/2/debian-10/config/core/private_key.pem b/bitnami/harbor-exporter/2/debian-10/config/core/private_key.pem new file mode 100644 index 000000000000..d2dc85dd1c0c --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/config/core/private_key.pem @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIJKAIBAAKCAgEAtpMvyv153iSmwm6TrFpUOzsIGBEDbGtOOEZMEm08D8IC2n1G +d6/XOZ5FxPAD6gIpE0EAcMojY5O0Hl4CDoyV3e/iKcBqFOgYtpogNtan7yT5J8gw +KsPbU/8nBkK75GOq56nfvq4t9GVAclIDtHbuvmlh6O2n+fxtR0M9LbuotbSBdXYU +hzXqiSsMclBvLyIk/z327VP5l0nUNOzPuKIwQjuxYKDkvq1oGy98oVlE6wl0ldh2 +ZYZLGAYbVhqBVUT1Un/PYqi9Nofa2RI5n1WOkUJQp87vb+PUPFhVOdvH/oAzV6/b +9dzyhA5paDM06lj2gsg9hQWxCgbFh1x39c6pSI8hmVe6x2d4tAtSyOm3Qwz+zO2l +bPDvkY8Svh5nxUYObrNreoO8wHr8MC6TGUQLnUt/RfdVKe5fYPFl6VYqJP/L3LDn +Xj771nFq6PKiYbhBwJw3TM49gpKNS/Of70TP2m7nVlyuyMdE5T1j3xyXNkixXqqn +JuSMqX/3Bmm0On9KEbemwn7KRYF/bqc50+RcGUdKNcOkN6vuMVZei4GbxALnVqac +s+/UQAiQP4212UO7iZFwMaCNJ3r/b4GOlyalI1yEA4odoZov7k5zVOzHu8O6QmCj +3R5TVOudpGiUh+lumRRpNqxDgjngLljvaWU6ttyIbjnAwCjnJoppZM2lkRkCAwEA +AQKCAgAvsvCPlf2a3fR7Y6xNISRUfS22K+u7DaXX6fXB8qv4afWY45Xfex89vG35 +78L2Bi55C0h0LztjrpkmPeVHq88TtrJduhl88M5UFpxH93jUb9JwZErBQX4xyb2G +UzUHjEqAT89W3+a9rR5TP74cDd59/MZJtp1mIF7keVqochi3sDsKVxkx4hIuWALe +csk5hTApRyUWCBRzRCSe1yfF0wnMpA/JcP+SGXfTcmqbNNlelo/Q/kaga59+3UmT +C0Wy41s8fIvP+MnGT2QLxkkrqYyfwrWTweqoTtuKEIHjpdnwUcoYJKfQ6jKp8aH0 +STyP5UIyFOKNuFjyh6ZfoPbuT1nGW+YKlUnK4hQ9N/GE0oMoecTaHTbqM+psQvbj +6+CG/1ukA5ZTQyogNyuOApArFBQ+RRmVudPKA3JYygIhwctuB2oItsVEOEZMELCn +g2aVFAVXGfGRDXvpa8oxs3Pc6RJEp/3tON6+w7cMCx0lwN/Jk2Ie6RgTzUycT3k6 +MoTQJRoO6/ZHcx3hTut/CfnrWiltyAUZOsefLuLg+Pwf9GHhOycLRI6gHfgSwdIV +S77UbbELWdscVr1EoPIasUm1uYWBBcFRTturRW+GHJ8TZX+mcWSBcWwBhp15LjEl +tJf+9U6lWMOSB2LvT+vFmR0M9q56fo7UeKFIR7mo7/GpiVu5AQKCAQEA6Qs7G9mw +N/JZOSeQO6xIQakC+sKApPyXO58fa7WQzri+l2UrLNp0DEQfZCujqDgwys6OOzR/ +xg8ZKQWVoad08Ind3ZwoJgnLn6QLENOcE6PpWxA/JjnVGP4JrXCYR98cP0sf9jEI +xkR1qT50GbeqU3RDFliI4kGRvbZ8cekzuWppfQcjstSBPdvuxqAcUVmTnTw83nvD +FmBbhlLiEgI3iKtJ97UB7480ivnWnOuusduk7FO4jF3hkrOa+YRidinTCi8JBo0Y +jx4Ci3Y5x6nvwkXhKzXapd7YmPNisUc5xA7/a+W71cyC0IKUwRc/8pYWLL3R3CpR +YiV8gf6gwzOckQKCAQEAyI9CSNoAQH4zpS8B9PF8zILqEEuun8m1f5JB3hQnfWzm +7uz/zg6I0TkcCE0AJVSKPHQm1V9+TRbF9+DiOWHEYYzPmK8h63SIufaWxZPqai4E +PUj6eQWykBUVJ96n6/AW0JHRZ+WrJ5RXBqCLuY7NP6wDhORrCJjBwaGMohNpbKPS +H3QewsoxCh+CEXKdKyy+/yU/f4E89PlHapkW1/bDJ5u7puSD+KvmiDDIXSBncdOO +uFT8n+XH5IwgjdXFSDim15rQ8jD2l2xLcwKboTpx5GeRl8oB1VGm0fUbBn1dvGPG +4WfHGyrp9VNZtP160WoHr+vRVPqvHNkoeAlCfEwQCQKCAQBN1dtzLN0HgqE8TrOE +ysEDdTCykj4nXNoiJr522hi4gsndhQPLolb6NdKKQW0S5Vmekyi8K4e1nhtYMS5N +5MFRCasZtmtOcR0af87WWucZRDjPmniNCunaxBZ1YFLsRl+H4E6Xir8UgY8O7PYY +FNkFsKIrl3x4nU/RHl8oKKyG9Dyxbq4Er6dPAuMYYiezIAkGjjUCVjHNindnQM2T +GDx2IEe/PSydV6ZD+LguhyU88FCAQmI0N7L8rZJIXmgIcWW0VAterceTHYHaFK2t +u1uB9pcDOKSDnA+Z3kiLT2/CxQOYhQ2clgbnH4YRi/Nm0awsW2X5dATklAKm5GXL +bLSRAoIBAQClaNnPQdTBXBR2IN3pSZ2XAkXPKMwdxvtk+phOc6raHA4eceLL7FrU +y9gd1HvRTfcwws8gXcDKDYU62gNaNhMELWEt2QsNqS/2x7Qzwbms1sTyUpUZaSSL +BohLOKyfv4ThgdIGcXoGi6Z2tcRnRqpq4BCK8uR/05TBgN5+8amaS0ZKYLfaCW4G +nlPk1fVgHWhtAChtnYZLuKg494fKmB7+NMfAbmmVlxjrq+gkPkxyqXvk9Vrg+V8y +VIuozu0Fkouv+GRpyw4ldtCHS1hV0eEK8ow2dwmqCMygDxm58X10mYn2b2PcOTl5 +9sNerUw1GNC8O66K+rGgBk4FKgXmg8kZAoIBABBcuisK250fXAfjAWXGqIMs2+Di +vqAdT041SNZEOJSGNFsLJbhd/3TtCLf29PN/YXtnvBmC37rqryTsqjSbx/YT2Jbr +Bk3jOr9JVbmcoSubXl8d/uzf7IGs91qaCgBwPZHgeH+kK13FCLexz+U9zYMZ78fF +/yO82CpoekT+rcl1jzYn43b6gIklHABQU1uCD6MMyMhJ9Op2WmbDk3X+py359jMc ++Cr2zfzdHAIVff2dOV3OL+ZHEWbwtnn3htKUdOmjoTJrciFx0xNZJS5Q7QYHMONj +yPqbajyhopiN01aBQpCSGF1F1uRpWeIjTrAZPbrwLl9YSYXz0AT05QeFEFk= +-----END RSA PRIVATE KEY----- diff --git a/bitnami/harbor-exporter/2/debian-10/docker-compose.yml b/bitnami/harbor-exporter/2/debian-10/docker-compose.yml new file mode 100644 index 000000000000..9343bd55231a --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/docker-compose.yml @@ -0,0 +1,105 @@ +version: '2' + +services: + registry: + image: docker.io/bitnami/harbor-registry:2 + environment: + - REGISTRY_HTTP_SECRET=CHANGEME + volumes: + - registry_data:/storage + - ./config/registry/:/etc/registry/:ro + chartmuseum: + container_name: chartmuseum + image: docker.io/bitnami/chartmuseum:0 + environment: + - CACHE=redis + - CACHE_REDIS_ADDR=redis:6379 + - CACHE_REDIS_DB=1 + - DEPTH=1 + - PORT=8080 + - STORAGE=local + - STORAGE_LOCAL_ROOTDIR=/bitnami/data + - ALLOW_OVERWRITE=true + - INDEX_LIMIT=0 + volumes: + - chartmuseum_data:/bitnami/data + postgresql: + image: docker.io/bitnami/postgresql:11 + container_name: harbor-db + environment: + - POSTGRESQL_PASSWORD=bitnami + - POSTGRESQL_DATABASE=registry + volumes: + - postgresql_data:/bitnami/postgresql + redis: + image: docker.io/bitnami/redis:6.0 + environment: + # ALLOW_EMPTY_PASSWORD is recommended only for development. + - ALLOW_EMPTY_PASSWORD=yes + core: + image: docker.io/bitnami/harbor-core:2 + container_name: harbor-core + depends_on: + - registry + - chartmuseum + environment: + - CORE_KEY=change-this-key + - _REDIS_URL=redis:6379,100, + - SYNC_REGISTRY=false + - CHART_CACHE_DRIVER=redis + - _REDIS_URL_REG=redis://redis:6379/1 + - PORT=8080 + - LOG_LEVEL=info + - EXT_ENDPOINT=http://reg.mydomain.com + - DATABASE_TYPE=postgresql + - REGISTRY_CONTROLLER_URL=http://registryctl:8080 + - POSTGRESQL_HOST=postgresql + - POSTGRESQL_PORT=5432 + - POSTGRESQL_DATABASE=registry + - POSTGRESQL_USERNAME=postgres + - POSTGRESQL_PASSWORD=bitnami + - POSTGRESQL_SSLMODE=disable + - REGISTRY_URL=http://registry:5000 + - TOKEN_SERVICE_URL=http://core:8080/service/token + - HARBOR_ADMIN_PASSWORD=bitnami + - CORE_SECRET=CHANGEME + - JOBSERVICE_SECRET=CHANGEME + - ADMIRAL_URL= + - WITH_NOTARY=False + - WITH_CHARTMUSEUM=True + - CHART_REPOSITORY_URL=http://chartmuseum:8080 + - CORE_URL=http://core:8080 + - JOBSERVICE_URL=http://jobservice:8080 + - REGISTRY_STORAGE_PROVIDER_NAME=filesystem + - REGISTRY_CREDENTIAL_USERNAME=harbor_registry_user + - REGISTRY_CREDENTIAL_PASSWORD=harbor_registry_password + - READ_ONLY=false + - RELOAD_KEY= + volumes: + - core_data:/data + - ./config/core/app.conf:/etc/core/app.conf:ro + - ./config/core/private_key.pem:/etc/core/private_key.pem:ro + harbor-exporter: + image: docker.io/bitnami/harbor-exporter:2 + depends_on: + - postgresql + - core + - redis + environment: + - HARBOR_DATABASE_HOST=postgresql + - HARBOR_DATABASE_USERNAME=postgres + - HARBOR_DATABASE_PASSWORD=bitnami + - HARBOR_DATABASE_DBNAME=registry + - HARBOR_REDIS_URL=redis://redis:6379/1 + - HARBOR_SERVICE_SCHEME=http + - HARBOR_SERVICE_HOST=core + - HARBOR_SERVICE_PORT=8080 +volumes: + registry_data: + driver: local + core_data: + driver: local + postgresql_data: + driver: local + chartmuseum_data: + driver: local diff --git a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json new file mode 100644 index 000000000000..6ed0362e0c54 --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json @@ -0,0 +1,16 @@ +{ + "gosu": { + "arch": "amd64", + "digest": "d6280b6f647a62bf6edc74dc8e526bfff63ddd8067dcb8540843f47203d9ccf1", + "distro": "debian-10", + "type": "NAMI", + "version": "1.14.0-7" + }, + "harbor-exporter": { + "arch": "amd64", + "digest": "7ea956741dbad9c3d30891ab93000efb748c13ea34ba792ccde796f678420251", + "distro": "debian-10", + "type": "NAMI", + "version": "2.4.1-0" + } +} \ No newline at end of file diff --git a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/licenses/licenses.txt b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/licenses/licenses.txt new file mode 100644 index 000000000000..c76ba31f3b8a --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/licenses/licenses.txt @@ -0,0 +1,3 @@ +Bitnami containers ship with software bundles. You can find the licenses under: +/opt/bitnami/nami/COPYING +/opt/bitnami/[name-of-bundle]/licenses/[bundle-version].txt diff --git a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libbitnami.sh b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libbitnami.sh new file mode 100644 index 000000000000..ef29e361dad1 --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libbitnami.sh @@ -0,0 +1,51 @@ +#!/bin/bash +# +# Bitnami custom library + +# shellcheck disable=SC1091 + +# Load Generic Libraries +. /opt/bitnami/scripts/liblog.sh + +# Constants +BOLD='\033[1m' + +# Functions + +######################## +# Print the welcome page +# Globals: +# DISABLE_WELCOME_MESSAGE +# BITNAMI_APP_NAME +# Arguments: +# None +# Returns: +# None +######################### +print_welcome_page() { + if [[ -z "${DISABLE_WELCOME_MESSAGE:-}" ]]; then + if [[ -n "$BITNAMI_APP_NAME" ]]; then + print_image_welcome_page + fi + fi +} + +######################## +# Print the welcome page for a Bitnami Docker image +# Globals: +# BITNAMI_APP_NAME +# Arguments: +# None +# Returns: +# None +######################### +print_image_welcome_page() { + local github_url="https://github.com/bitnami/bitnami-docker-${BITNAMI_APP_NAME}" + + log "" + log "${BOLD}Welcome to the Bitnami ${BITNAMI_APP_NAME} container${RESET}" + log "Subscribe to project updates by watching ${BOLD}${github_url}${RESET}" + log "Submit issues and feature requests at ${BOLD}${github_url}/issues${RESET}" + log "" +} + diff --git a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libcomponent.sh b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libcomponent.sh new file mode 100644 index 000000000000..e3098a93b7c0 --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libcomponent.sh @@ -0,0 +1,65 @@ +#!/bin/bash +# +# Library for managing Bitnami components + +# Constants +CACHE_ROOT="/tmp/bitnami/pkg/cache" +DOWNLOAD_URL="https://downloads.bitnami.com/files/stacksmith" + +# Functions + +######################## +# Download and unpack a Bitnami package +# Globals: +# OS_NAME +# OS_ARCH +# OS_FLAVOUR +# Arguments: +# $1 - component's name +# $2 - component's version +# Returns: +# None +######################### +component_unpack() { + local name="${1:?name is required}" + local version="${2:?version is required}" + local base_name="${name}-${version}-${OS_NAME}-${OS_ARCH}-${OS_FLAVOUR}" + local package_sha256="" + local directory="/opt/bitnami" + + # Validate arguments + shift 2 + while [ "$#" -gt 0 ]; do + case "$1" in + -c|--checksum) + shift + package_sha256="${1:?missing package checksum}" + ;; + *) + echo "Invalid command line flag $1" >&2 + return 1 + ;; + esac + shift + done + + echo "Downloading $base_name package" + if [ -f "${CACHE_ROOT}/${base_name}.tar.gz" ]; then + echo "${CACHE_ROOT}/${base_name}.tar.gz already exists, skipping download." + cp "${CACHE_ROOT}/${base_name}.tar.gz" . + rm "${CACHE_ROOT}/${base_name}.tar.gz" + if [ -f "${CACHE_ROOT}/${base_name}.tar.gz.sha256" ]; then + echo "Using the local sha256 from ${CACHE_ROOT}/${base_name}.tar.gz.sha256" + package_sha256="$(< "${CACHE_ROOT}/${base_name}.tar.gz.sha256")" + rm "${CACHE_ROOT}/${base_name}.tar.gz.sha256" + fi + else + curl --remote-name --silent --show-error --fail "${DOWNLOAD_URL}/${base_name}.tar.gz" + fi + if [ -n "$package_sha256" ]; then + echo "Verifying package integrity" + echo "$package_sha256 ${base_name}.tar.gz" | sha256sum --check - || exit "$?" + fi + tar --directory "${directory}" --extract --gunzip --file "${base_name}.tar.gz" --no-same-owner --strip-components=2 + rm "${base_name}.tar.gz" +} diff --git a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libfile.sh b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libfile.sh new file mode 100644 index 000000000000..41ebaf7464f6 --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libfile.sh @@ -0,0 +1,139 @@ +#!/bin/bash +# +# Library for managing files + +# shellcheck disable=SC1091 + +# Load Generic Libraries +. /opt/bitnami/scripts/libos.sh + +# Functions + +######################## +# Replace a regex-matching string in a file +# Arguments: +# $1 - filename +# $2 - match regex +# $3 - substitute regex +# $4 - use POSIX regex. Default: true +# Returns: +# None +######################### +replace_in_file() { + local filename="${1:?filename is required}" + local match_regex="${2:?match regex is required}" + local substitute_regex="${3:?substitute regex is required}" + local posix_regex=${4:-true} + + local result + + # We should avoid using 'sed in-place' substitutions + # 1) They are not compatible with files mounted from ConfigMap(s) + # 2) We found incompatibility issues with Debian10 and "in-place" substitutions + local -r del=$'\001' # Use a non-printable character as a 'sed' delimiter to avoid issues + if [[ $posix_regex = true ]]; then + result="$(sed -E "s${del}${match_regex}${del}${substitute_regex}${del}g" "$filename")" + else + result="$(sed "s${del}${match_regex}${del}${substitute_regex}${del}g" "$filename")" + fi + echo "$result" > "$filename" +} + +######################## +# Replace a regex-matching multiline string in a file +# Arguments: +# $1 - filename +# $2 - match regex +# $3 - substitute regex +# Returns: +# None +######################### +replace_in_file_multiline() { + local filename="${1:?filename is required}" + local match_regex="${2:?match regex is required}" + local substitute_regex="${3:?substitute regex is required}" + + local result + local -r del=$'\001' # Use a non-printable character as a 'sed' delimiter to avoid issues + result="$(perl -pe "BEGIN{undef $/;} s${del}${match_regex}${del}${substitute_regex}${del}sg" "$filename")" + echo "$result" > "$filename" +} + +######################## +# Remove a line in a file based on a regex +# Arguments: +# $1 - filename +# $2 - match regex +# $3 - use POSIX regex. Default: true +# Returns: +# None +######################### +remove_in_file() { + local filename="${1:?filename is required}" + local match_regex="${2:?match regex is required}" + local posix_regex=${3:-true} + local result + + # We should avoid using 'sed in-place' substitutions + # 1) They are not compatible with files mounted from ConfigMap(s) + # 2) We found incompatibility issues with Debian10 and "in-place" substitutions + if [[ $posix_regex = true ]]; then + result="$(sed -E "/$match_regex/d" "$filename")" + else + result="$(sed "/$match_regex/d" "$filename")" + fi + echo "$result" > "$filename" +} + +######################## +# Appends text after the last line matching a pattern +# Arguments: +# $1 - file +# $2 - match regex +# $3 - contents to add +# Returns: +# None +######################### +append_file_after_last_match() { + local file="${1:?missing file}" + local match_regex="${2:?missing pattern}" + local value="${3:?missing value}" + + # We read the file in reverse, replace the first match (0,/pattern/s) and then reverse the results again + result="$(tac "$file" | sed -E "0,/($match_regex)/s||${value}\n\1|" | tac)" + echo "$result" > "$file" +} + +######################## +# Wait until certain entry is present in a log file +# Arguments: +# $1 - entry to look for +# $2 - log file +# $3 - max retries. Default: 12 +# $4 - sleep between retries (in seconds). Default: 5 +# Returns: +# Boolean +######################### +wait_for_log_entry() { + local -r entry="${1:-missing entry}" + local -r log_file="${2:-missing log file}" + local -r retries="${3:-12}" + local -r interval_time="${4:-5}" + local attempt=0 + + check_log_file_for_entry() { + if ! grep -qE "$entry" "$log_file"; then + debug "Entry \"${entry}\" still not present in ${log_file} (attempt $((++attempt))/${retries})" + return 1 + fi + } + debug "Checking that ${log_file} log file contains entry \"${entry}\"" + if retry_while check_log_file_for_entry "$retries" "$interval_time"; then + debug "Found entry \"${entry}\" in ${log_file}" + true + else + error "Could not find entry \"${entry}\" in ${log_file} after ${retries} retries" + debug_execute cat "$log_file" + return 1 + fi +} diff --git a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libfs.sh b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libfs.sh new file mode 100644 index 000000000000..1b504b1df458 --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libfs.sh @@ -0,0 +1,190 @@ +#!/bin/bash +# +# Library for file system actions + +# shellcheck disable=SC1091 + +# Load Generic Libraries +. /opt/bitnami/scripts/liblog.sh + +# Functions + +######################## +# Ensure a file/directory is owned (user and group) but the given user +# Arguments: +# $1 - filepath +# $2 - owner +# Returns: +# None +######################### +owned_by() { + local path="${1:?path is missing}" + local owner="${2:?owner is missing}" + local group="${3:-}" + + if [[ -n $group ]]; then + chown "$owner":"$group" "$path" + else + chown "$owner":"$owner" "$path" + fi +} + +######################## +# Ensure a directory exists and, optionally, is owned by the given user +# Arguments: +# $1 - directory +# $2 - owner +# Returns: +# None +######################### +ensure_dir_exists() { + local dir="${1:?directory is missing}" + local owner_user="${2:-}" + local owner_group="${3:-}" + + mkdir -p "${dir}" + if [[ -n $owner_user ]]; then + owned_by "$dir" "$owner_user" "$owner_group" + fi +} + +######################## +# Checks whether a directory is empty or not +# arguments: +# $1 - directory +# returns: +# boolean +######################### +is_dir_empty() { + local -r path="${1:?missing directory}" + # Calculate real path in order to avoid issues with symlinks + local -r dir="$(realpath "$path")" + if [[ ! -e "$dir" ]] || [[ -z "$(ls -A "$dir")" ]]; then + true + else + false + fi +} + +######################## +# Checks whether a mounted directory is empty or not +# arguments: +# $1 - directory +# returns: +# boolean +######################### +is_mounted_dir_empty() { + local dir="${1:?missing directory}" + + if is_dir_empty "$dir" || find "$dir" -mindepth 1 -maxdepth 1 -not -name ".snapshot" -not -name "lost+found" -exec false {} +; then + true + else + false + fi +} + +######################## +# Checks whether a file can be written to or not +# arguments: +# $1 - file +# returns: +# boolean +######################### +is_file_writable() { + local file="${1:?missing file}" + local dir + dir="$(dirname "$file")" + + if [[ (-f "$file" && -w "$file") || (! -f "$file" && -d "$dir" && -w "$dir") ]]; then + true + else + false + fi +} + +######################## +# Relativize a path +# arguments: +# $1 - path +# $2 - base +# returns: +# None +######################### +relativize() { + local -r path="${1:?missing path}" + local -r base="${2:?missing base}" + pushd "$base" >/dev/null || exit + realpath -q --no-symlinks --relative-base="$base" "$path" | sed -e 's|^/$|.|' -e 's|^/||' + popd >/dev/null || exit +} + +######################## +# Configure permisions and ownership recursively +# Globals: +# None +# Arguments: +# $1 - paths (as a string). +# Flags: +# -f|--file-mode - mode for directories. +# -d|--dir-mode - mode for files. +# -u|--user - user +# -g|--group - group +# Returns: +# None +######################### +configure_permissions_ownership() { + local -r paths="${1:?paths is missing}" + local dir_mode="" + local file_mode="" + local user="" + local group="" + + # Validate arguments + shift 1 + while [ "$#" -gt 0 ]; do + case "$1" in + -f | --file-mode) + shift + file_mode="${1:?missing mode for files}" + ;; + -d | --dir-mode) + shift + dir_mode="${1:?missing mode for directories}" + ;; + -u | --user) + shift + user="${1:?missing user}" + ;; + -g | --group) + shift + group="${1:?missing group}" + ;; + *) + echo "Invalid command line flag $1" >&2 + return 1 + ;; + esac + shift + done + + read -r -a filepaths <<<"$paths" + for p in "${filepaths[@]}"; do + if [[ -e "$p" ]]; then + if [[ -n $dir_mode ]]; then + find -L "$p" -type d -exec chmod "$dir_mode" {} \; + fi + if [[ -n $file_mode ]]; then + find -L "$p" -type f -exec chmod "$file_mode" {} \; + fi + if [[ -n $user ]] && [[ -n $group ]]; then + chown -LR "$user":"$group" "$p" + elif [[ -n $user ]] && [[ -z $group ]]; then + chown -LR "$user" "$p" + elif [[ -z $user ]] && [[ -n $group ]]; then + chgrp -LR "$group" "$p" + fi + else + stderr_print "$p does not exist" + fi + done +} diff --git a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libhook.sh b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libhook.sh new file mode 100644 index 000000000000..9694852a7d25 --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libhook.sh @@ -0,0 +1,16 @@ +#!/bin/bash +# +# Library to use for scripts expected to be used as Kubernetes lifecycle hooks + +# shellcheck disable=SC1091 + +# Load generic libraries +. /opt/bitnami/scripts/liblog.sh +. /opt/bitnami/scripts/libos.sh + +# Override functions that log to stdout/stderr of the current process, so they print to process 1 +for function_to_override in stderr_print debug_execute; do + # Output is sent to output of process 1 and thus end up in the container log + # The hook output in general isn't saved + eval "$(declare -f "$function_to_override") >/proc/1/fd/1 2>/proc/1/fd/2" +done diff --git a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/liblog.sh b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/liblog.sh new file mode 100644 index 000000000000..c7c0f6d4422a --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/liblog.sh @@ -0,0 +1,112 @@ +#!/bin/bash +# +# Library for logging functions + +# Constants +RESET='\033[0m' +RED='\033[38;5;1m' +GREEN='\033[38;5;2m' +YELLOW='\033[38;5;3m' +MAGENTA='\033[38;5;5m' +CYAN='\033[38;5;6m' + +# Functions + +######################## +# Print to STDERR +# Arguments: +# Message to print +# Returns: +# None +######################### +stderr_print() { + # 'is_boolean_yes' is defined in libvalidations.sh, but depends on this file so we cannot source it + local bool="${BITNAMI_QUIET:-false}" + # comparison is performed without regard to the case of alphabetic characters + shopt -s nocasematch + if ! [[ "$bool" = 1 || "$bool" =~ ^(yes|true)$ ]]; then + printf "%b\\n" "${*}" >&2 + fi +} + +######################## +# Log message +# Arguments: +# Message to log +# Returns: +# None +######################### +log() { + stderr_print "${CYAN}${MODULE:-} ${MAGENTA}$(date "+%T.%2N ")${RESET}${*}" +} +######################## +# Log an 'info' message +# Arguments: +# Message to log +# Returns: +# None +######################### +info() { + log "${GREEN}INFO ${RESET} ==> ${*}" +} +######################## +# Log message +# Arguments: +# Message to log +# Returns: +# None +######################### +warn() { + log "${YELLOW}WARN ${RESET} ==> ${*}" +} +######################## +# Log an 'error' message +# Arguments: +# Message to log +# Returns: +# None +######################### +error() { + log "${RED}ERROR${RESET} ==> ${*}" +} +######################## +# Log a 'debug' message +# Globals: +# BITNAMI_DEBUG +# Arguments: +# None +# Returns: +# None +######################### +debug() { + # 'is_boolean_yes' is defined in libvalidations.sh, but depends on this file so we cannot source it + local bool="${BITNAMI_DEBUG:-false}" + # comparison is performed without regard to the case of alphabetic characters + shopt -s nocasematch + if [[ "$bool" = 1 || "$bool" =~ ^(yes|true)$ ]]; then + log "${MAGENTA}DEBUG${RESET} ==> ${*}" + fi +} + +######################## +# Indent a string +# Arguments: +# $1 - string +# $2 - number of indentation characters (default: 4) +# $3 - indentation character (default: " ") +# Returns: +# None +######################### +indent() { + local string="${1:-}" + local num="${2:?missing num}" + local char="${3:-" "}" + # Build the indentation unit string + local indent_unit="" + for ((i = 0; i < num; i++)); do + indent_unit="${indent_unit}${char}" + done + # shellcheck disable=SC2001 + # Complex regex, see https://github.com/koalaman/shellcheck/wiki/SC2001#exceptions + echo "$string" | sed "s/^/${indent_unit}/" +} diff --git a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libnet.sh b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libnet.sh new file mode 100644 index 000000000000..8bbf165e3e2a --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libnet.sh @@ -0,0 +1,163 @@ +#!/bin/bash +# +# Library for network functions + +# shellcheck disable=SC1091 + +# Load Generic Libraries +. /opt/bitnami/scripts/liblog.sh + +# Functions + +######################## +# Resolve IP address for a host/domain (i.e. DNS lookup) +# Arguments: +# $1 - Hostname to resolve +# $2 - IP address version (v4, v6), leave empty for resolving to any version +# Returns: +# IP +######################### +dns_lookup() { + local host="${1:?host is missing}" + local ip_version="${2:-}" + getent "ahosts${ip_version}" "$host" | awk '/STREAM/ {print $1 }' | head -n 1 +} + +######################### +# Wait for a hostname and return the IP +# Arguments: +# $1 - hostname +# $2 - number of retries +# $3 - seconds to wait between retries +# Returns: +# - IP address that corresponds to the hostname +######################### +wait_for_dns_lookup() { + local hostname="${1:?hostname is missing}" + local retries="${2:-5}" + local seconds="${3:-1}" + check_host() { + if [[ $(dns_lookup "$hostname") == "" ]]; then + false + else + true + fi + } + # Wait for the host to be ready + retry_while "check_host ${hostname}" "$retries" "$seconds" + dns_lookup "$hostname" +} + +######################## +# Get machine's IP +# Arguments: +# None +# Returns: +# Machine IP +######################### +get_machine_ip() { + local -a ip_addresses + local hostname + hostname="$(hostname)" + read -r -a ip_addresses <<< "$(dns_lookup "$hostname" | xargs echo)" + if [[ "${#ip_addresses[@]}" -gt 1 ]]; then + warn "Found more than one IP address associated to hostname ${hostname}: ${ip_addresses[*]}, will use ${ip_addresses[0]}" + elif [[ "${#ip_addresses[@]}" -lt 1 ]]; then + error "Could not find any IP address associated to hostname ${hostname}" + exit 1 + fi + echo "${ip_addresses[0]}" +} + +######################## +# Check if the provided argument is a resolved hostname +# Arguments: +# $1 - Value to check +# Returns: +# Boolean +######################### +is_hostname_resolved() { + local -r host="${1:?missing value}" + if [[ -n "$(dns_lookup "$host")" ]]; then + true + else + false + fi +} + +######################## +# Parse URL +# Globals: +# None +# Arguments: +# $1 - uri - String +# $2 - component to obtain. Valid options (scheme, authority, userinfo, host, port, path, query or fragment) - String +# Returns: +# String +parse_uri() { + local uri="${1:?uri is missing}" + local component="${2:?component is missing}" + + # Solution based on https://tools.ietf.org/html/rfc3986#appendix-B with + # additional sub-expressions to split authority into userinfo, host and port + # Credits to Patryk Obara (see https://stackoverflow.com/a/45977232/6694969) + local -r URI_REGEX='^(([^:/?#]+):)?(//((([^@/?#]+)@)?([^:/?#]+)(:([0-9]+))?))?(/([^?#]*))?(\?([^#]*))?(#(.*))?' + # || | ||| | | | | | | | | | + # |2 scheme | ||6 userinfo 7 host | 9 port | 11 rpath | 13 query | 15 fragment + # 1 scheme: | |5 userinfo@ 8 :... 10 path 12 ?... 14 #... + # | 4 authority + # 3 //... + local index=0 + case "$component" in + scheme) + index=2 + ;; + authority) + index=4 + ;; + userinfo) + index=6 + ;; + host) + index=7 + ;; + port) + index=9 + ;; + path) + index=10 + ;; + query) + index=13 + ;; + fragment) + index=14 + ;; + *) + stderr_print "unrecognized component $component" + return 1 + ;; + esac + [[ "$uri" =~ $URI_REGEX ]] && echo "${BASH_REMATCH[${index}]}" +} + +######################## +# Wait for a HTTP connection to succeed +# Globals: +# * +# Arguments: +# $1 - URL to wait for +# $2 - Maximum amount of retries (optional) +# $3 - Time between retries (optional) +# Returns: +# true if the HTTP connection succeeded, false otherwise +######################### +wait_for_http_connection() { + local url="${1:?missing url}" + local retries="${2:-}" + local sleep_time="${3:-}" + if ! retry_while "debug_execute curl --silent ${url}" "$retries" "$sleep_time"; then + error "Could not connect to ${url}" + return 1 + fi +} diff --git a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libos.sh b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libos.sh new file mode 100644 index 000000000000..b6c50da90807 --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libos.sh @@ -0,0 +1,466 @@ +#!/bin/bash +# +# Library for operating system actions + +# shellcheck disable=SC1091 + +# Load Generic Libraries +. /opt/bitnami/scripts/liblog.sh +. /opt/bitnami/scripts/libfs.sh +. /opt/bitnami/scripts/libvalidations.sh + +# Functions + +######################## +# Check if an user exists in the system +# Arguments: +# $1 - user +# Returns: +# Boolean +######################### +user_exists() { + local user="${1:?user is missing}" + id "$user" >/dev/null 2>&1 +} + +######################## +# Check if a group exists in the system +# Arguments: +# $1 - group +# Returns: +# Boolean +######################### +group_exists() { + local group="${1:?group is missing}" + getent group "$group" >/dev/null 2>&1 +} + +######################## +# Create a group in the system if it does not exist already +# Arguments: +# $1 - group +# Flags: +# -i|--gid - the ID for the new group +# -s|--system - Whether to create new user as system user (uid <= 999) +# Returns: +# None +######################### +ensure_group_exists() { + local group="${1:?group is missing}" + local gid="" + local is_system_user=false + + # Validate arguments + shift 1 + while [ "$#" -gt 0 ]; do + case "$1" in + -i | --gid) + shift + gid="${1:?missing gid}" + ;; + -s | --system) + is_system_user=true + ;; + *) + echo "Invalid command line flag $1" >&2 + return 1 + ;; + esac + shift + done + + if ! group_exists "$group"; then + local -a args=("$group") + if [[ -n "$gid" ]]; then + if group_exists "$gid"; then + error "The GID $gid is already in use." >&2 + return 1 + fi + args+=("--gid" "$gid") + fi + $is_system_user && args+=("--system") + groupadd "${args[@]}" >/dev/null 2>&1 + fi +} + +######################## +# Create an user in the system if it does not exist already +# Arguments: +# $1 - user +# Flags: +# -i|--uid - the ID for the new user +# -g|--group - the group the new user should belong to +# -a|--append-groups - comma-separated list of supplemental groups to append to the new user +# -h|--home - the home directory for the new user +# -s|--system - whether to create new user as system user (uid <= 999) +# Returns: +# None +######################### +ensure_user_exists() { + local user="${1:?user is missing}" + local uid="" + local group="" + local append_groups="" + local home="" + local is_system_user=false + + # Validate arguments + shift 1 + while [ "$#" -gt 0 ]; do + case "$1" in + -i | --uid) + shift + uid="${1:?missing uid}" + ;; + -g | --group) + shift + group="${1:?missing group}" + ;; + -a | --append-groups) + shift + append_groups="${1:?missing append_groups}" + ;; + -h | --home) + shift + home="${1:?missing home directory}" + ;; + -s | --system) + is_system_user=true + ;; + *) + echo "Invalid command line flag $1" >&2 + return 1 + ;; + esac + shift + done + + if ! user_exists "$user"; then + local -a user_args=("-N" "$user") + if [[ -n "$uid" ]]; then + if user_exists "$uid"; then + error "The UID $uid is already in use." + return 1 + fi + user_args+=("--uid" "$uid") + else + $is_system_user && user_args+=("--system") + fi + useradd "${user_args[@]}" >/dev/null 2>&1 + fi + + if [[ -n "$group" ]]; then + local -a group_args=("$group") + $is_system_user && group_args+=("--system") + ensure_group_exists "${group_args[@]}" + usermod -g "$group" "$user" >/dev/null 2>&1 + fi + + if [[ -n "$append_groups" ]]; then + local -a groups + read -ra groups <<<"$(tr ',;' ' ' <<<"$append_groups")" + for group in "${groups[@]}"; do + ensure_group_exists "$group" + usermod -aG "$group" "$user" >/dev/null 2>&1 + done + fi + + if [[ -n "$home" ]]; then + mkdir -p "$home" + usermod -d "$home" "$user" >/dev/null 2>&1 + configure_permissions_ownership "$home" -d "775" -f "664" -u "$user" -g "$group" + fi +} + +######################## +# Check if the script is currently running as root +# Arguments: +# $1 - user +# $2 - group +# Returns: +# Boolean +######################### +am_i_root() { + if [[ "$(id -u)" = "0" ]]; then + true + else + false + fi +} + +######################## +# Print OS metadata +# Arguments: +# $1 - Flag name +# Flags: +# --id - Distro ID +# --version - Distro version +# --branch - Distro branch +# --codename - Distro codename +# Returns: +# String +######################### +get_os_metadata() { + local -r flag_name="${1:?missing flag}" + # Helper function + get_os_release_metadata() { + local -r env_name="${1:?missing environment variable name}" + ( + . /etc/os-release + echo "${!env_name}" + ) + } + case "$flag_name" in + --id) + get_os_release_metadata ID + ;; + --version) + get_os_release_metadata VERSION_ID + ;; + --branch) + get_os_release_metadata VERSION_ID | sed 's/\..*//' + ;; + --codename) + get_os_release_metadata VERSION_CODENAME + ;; + *) + error "Unknown flag ${flag_name}" + return 1 + ;; + esac +} + +######################## +# Get total memory available +# Arguments: +# None +# Returns: +# Memory in bytes +######################### +get_total_memory() { + echo $(($(grep MemTotal /proc/meminfo | awk '{print $2}') / 1024)) +} + +######################## +# Get machine size depending on specified memory +# Globals: +# None +# Arguments: +# None +# Flags: +# --memory - memory size (optional) +# Returns: +# Detected instance size +######################### +get_machine_size() { + local memory="" + # Validate arguments + while [[ "$#" -gt 0 ]]; do + case "$1" in + --memory) + shift + memory="${1:?missing memory}" + ;; + *) + echo "Invalid command line flag $1" >&2 + return 1 + ;; + esac + shift + done + if [[ -z "$memory" ]]; then + debug "Memory was not specified, detecting available memory automatically" + memory="$(get_total_memory)" + fi + sanitized_memory=$(convert_to_mb "$memory") + if [[ "$sanitized_memory" -gt 26000 ]]; then + echo 2xlarge + elif [[ "$sanitized_memory" -gt 13000 ]]; then + echo xlarge + elif [[ "$sanitized_memory" -gt 6000 ]]; then + echo large + elif [[ "$sanitized_memory" -gt 3000 ]]; then + echo medium + elif [[ "$sanitized_memory" -gt 1500 ]]; then + echo small + else + echo micro + fi +} + +######################## +# Get machine size depending on specified memory +# Globals: +# None +# Arguments: +# $1 - memory size (optional) +# Returns: +# Detected instance size +######################### +get_supported_machine_sizes() { + echo micro small medium large xlarge 2xlarge +} + +######################## +# Convert memory size from string to amount of megabytes (i.e. 2G -> 2048) +# Globals: +# None +# Arguments: +# $1 - memory size +# Returns: +# Result of the conversion +######################### +convert_to_mb() { + local amount="${1:-}" + if [[ $amount =~ ^([0-9]+)(m|M|g|G) ]]; then + size="${BASH_REMATCH[1]}" + unit="${BASH_REMATCH[2]}" + if [[ "$unit" = "g" || "$unit" = "G" ]]; then + amount="$((size * 1024))" + else + amount="$size" + fi + fi + echo "$amount" +} + +######################### +# Redirects output to /dev/null if debug mode is disabled +# Globals: +# BITNAMI_DEBUG +# Arguments: +# $@ - Command to execute +# Returns: +# None +######################### +debug_execute() { + if is_boolean_yes "${BITNAMI_DEBUG:-false}"; then + "$@" + else + "$@" >/dev/null 2>&1 + fi +} + +######################## +# Retries a command a given number of times +# Arguments: +# $1 - cmd (as a string) +# $2 - max retries. Default: 12 +# $3 - sleep between retries (in seconds). Default: 5 +# Returns: +# Boolean +######################### +retry_while() { + local cmd="${1:?cmd is missing}" + local retries="${2:-12}" + local sleep_time="${3:-5}" + local return_value=1 + + read -r -a command <<<"$cmd" + for ((i = 1; i <= retries; i += 1)); do + "${command[@]}" && return_value=0 && break + sleep "$sleep_time" + done + return $return_value +} + +######################## +# Generate a random string +# Arguments: +# -t|--type - String type (ascii, alphanumeric, numeric), defaults to ascii +# -c|--count - Number of characters, defaults to 32 +# Arguments: +# None +# Returns: +# None +# Returns: +# String +######################### +generate_random_string() { + local type="ascii" + local count="32" + local filter + local result + # Validate arguments + while [[ "$#" -gt 0 ]]; do + case "$1" in + -t | --type) + shift + type="$1" + ;; + -c | --count) + shift + count="$1" + ;; + *) + echo "Invalid command line flag $1" >&2 + return 1 + ;; + esac + shift + done + # Validate type + case "$type" in + ascii) + filter="[:print:]" + ;; + alphanumeric) + filter="a-zA-Z0-9" + ;; + numeric) + filter="0-9" + ;; + *) + echo "Invalid type ${type}" >&2 + return 1 + ;; + esac + # Obtain count + 10 lines from /dev/urandom to ensure that the resulting string has the expected size + # Note there is a very small chance of strings starting with EOL character + # Therefore, the higher amount of lines read, this will happen less frequently + result="$(head -n "$((count + 10))" /dev/urandom | tr -dc "$filter" | head -c "$count")" + echo "$result" +} + +######################## +# Create md5 hash from a string +# Arguments: +# $1 - string +# Returns: +# md5 hash - string +######################### +generate_md5_hash() { + local -r str="${1:?missing input string}" + echo -n "$str" | md5sum | awk '{print $1}' +} + +######################## +# Create sha1 hash from a string +# Arguments: +# $1 - string +# $2 - algorithm - 1 (default), 224, 256, 384, 512 +# Returns: +# sha1 hash - string +######################### +generate_sha_hash() { + local -r str="${1:?missing input string}" + local -r algorithm="${2:-1}" + echo -n "$str" | "sha${algorithm}sum" | awk '{print $1}' +} + +######################## +# Converts a string to its hexadecimal representation +# Arguments: +# $1 - string +# Returns: +# hexadecimal representation of the string +######################### +convert_to_hex() { + local -r str=${1:?missing input string} + local -i iterator + local char + for ((iterator = 0; iterator < ${#str}; iterator++)); do + char=${str:iterator:1} + printf '%x' "'${char}" + done +} diff --git a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libpersistence.sh b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libpersistence.sh new file mode 100644 index 000000000000..99df69681c27 --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libpersistence.sh @@ -0,0 +1,122 @@ +#!/bin/bash +# +# Bitnami persistence library +# Used for bringing persistence capabilities to applications that don't have clear separation of data and logic + +# shellcheck disable=SC1091 + +# Load Generic Libraries +. /opt/bitnami/scripts/libfs.sh +. /opt/bitnami/scripts/libos.sh +. /opt/bitnami/scripts/liblog.sh +. /opt/bitnami/scripts/libversion.sh + +# Functions + +######################## +# Persist an application directory +# Globals: +# BITNAMI_ROOT_DIR +# BITNAMI_VOLUME_DIR +# Arguments: +# $1 - App folder name +# $2 - List of app files to persist +# Returns: +# true if all steps succeeded, false otherwise +######################### +persist_app() { + local -r app="${1:?missing app}" + local -a files_to_restore + read -r -a files_to_persist <<< "$(tr ',;:' ' ' <<< "$2")" + local -r install_dir="${BITNAMI_ROOT_DIR}/${app}" + local -r persist_dir="${BITNAMI_VOLUME_DIR}/${app}" + # Persist the individual files + if [[ "${#files_to_persist[@]}" -le 0 ]]; then + warn "No files are configured to be persisted" + return + fi + pushd "$install_dir" >/dev/null || exit + local file_to_persist_relative file_to_persist_destination file_to_persist_destination_folder + local -r tmp_file="/tmp/perms.acl" + for file_to_persist in "${files_to_persist[@]}"; do + if [[ ! -f "$file_to_persist" && ! -d "$file_to_persist" ]]; then + error "Cannot persist '${file_to_persist}' because it does not exist" + return 1 + fi + file_to_persist_relative="$(relativize "$file_to_persist" "$install_dir")" + file_to_persist_destination="${persist_dir}/${file_to_persist_relative}" + file_to_persist_destination_folder="$(dirname "$file_to_persist_destination")" + # Get original permissions for existing files, which will be applied later + # Exclude the root directory with 'sed', to avoid issues when copying the entirety of it to a volume + getfacl -R "$file_to_persist_relative" | sed -E '/# file: (\..+|[^.])/,$!d' > "$tmp_file" + # Copy directories to the volume + ensure_dir_exists "$file_to_persist_destination_folder" + cp -Lr --preserve=links "$file_to_persist_relative" "$file_to_persist_destination_folder" + # Restore permissions + pushd "$persist_dir" >/dev/null || exit + if am_i_root; then + setfacl --restore="$tmp_file" + else + # When running as non-root, don't change ownership + setfacl --restore=<(grep -E -v '^# (owner|group):' "$tmp_file") + fi + popd >/dev/null || exit + done + popd >/dev/null || exit + rm -f "$tmp_file" + # Install the persisted files into the installation directory, via symlinks + restore_persisted_app "$@" +} + +######################## +# Restore a persisted application directory +# Globals: +# BITNAMI_ROOT_DIR +# BITNAMI_VOLUME_DIR +# FORCE_MAJOR_UPGRADE +# Arguments: +# $1 - App folder name +# $2 - List of app files to restore +# Returns: +# true if all steps succeeded, false otherwise +######################### +restore_persisted_app() { + local -r app="${1:?missing app}" + local -a files_to_restore + read -r -a files_to_restore <<< "$(tr ',;:' ' ' <<< "$2")" + local -r install_dir="${BITNAMI_ROOT_DIR}/${app}" + local -r persist_dir="${BITNAMI_VOLUME_DIR}/${app}" + # Restore the individual persisted files + if [[ "${#files_to_restore[@]}" -le 0 ]]; then + warn "No persisted files are configured to be restored" + return + fi + local file_to_restore_relative file_to_restore_origin file_to_restore_destination + for file_to_restore in "${files_to_restore[@]}"; do + file_to_restore_relative="$(relativize "$file_to_restore" "$install_dir")" + # We use 'realpath --no-symlinks' to ensure that the case of '.' is covered and the directory is removed + file_to_restore_origin="$(realpath --no-symlinks "${install_dir}/${file_to_restore_relative}")" + file_to_restore_destination="$(realpath --no-symlinks "${persist_dir}/${file_to_restore_relative}")" + rm -rf "$file_to_restore_origin" + ln -sfn "$file_to_restore_destination" "$file_to_restore_origin" + done +} + +######################## +# Check if an application directory was already persisted +# Globals: +# BITNAMI_VOLUME_DIR +# Arguments: +# $1 - App folder name +# Returns: +# true if all steps succeeded, false otherwise +######################### +is_app_initialized() { + local -r app="${1:?missing app}" + local -r persist_dir="${BITNAMI_VOLUME_DIR}/${app}" + if ! is_mounted_dir_empty "$persist_dir"; then + true + else + false + fi +} diff --git a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libservice.sh b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libservice.sh new file mode 100644 index 000000000000..a713bd108e15 --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libservice.sh @@ -0,0 +1,273 @@ +#!/bin/bash +# +# Library for managing services + +# shellcheck disable=SC1091 + +# Load Generic Libraries +. /opt/bitnami/scripts/libvalidations.sh +. /opt/bitnami/scripts/liblog.sh + +# Functions + +######################## +# Read the provided pid file and returns a PID +# Arguments: +# $1 - Pid file +# Returns: +# PID +######################### +get_pid_from_file() { + local pid_file="${1:?pid file is missing}" + + if [[ -f "$pid_file" ]]; then + if [[ -n "$(< "$pid_file")" ]] && [[ "$(< "$pid_file")" -gt 0 ]]; then + echo "$(< "$pid_file")" + fi + fi +} + +######################## +# Check if a provided PID corresponds to a running service +# Arguments: +# $1 - PID +# Returns: +# Boolean +######################### +is_service_running() { + local pid="${1:?pid is missing}" + + kill -0 "$pid" 2>/dev/null +} + +######################## +# Stop a service by sending a termination signal to its pid +# Arguments: +# $1 - Pid file +# $2 - Signal number (optional) +# Returns: +# None +######################### +stop_service_using_pid() { + local pid_file="${1:?pid file is missing}" + local signal="${2:-}" + local pid + + pid="$(get_pid_from_file "$pid_file")" + [[ -z "$pid" ]] || ! is_service_running "$pid" && return + + if [[ -n "$signal" ]]; then + kill "-${signal}" "$pid" + else + kill "$pid" + fi + + local counter=10 + while [[ "$counter" -ne 0 ]] && is_service_running "$pid"; do + sleep 1 + counter=$((counter - 1)) + done +} + +######################## +# Start cron daemon +# Arguments: +# None +# Returns: +# true if started correctly, false otherwise +######################### +cron_start() { + if [[ -x "/usr/sbin/cron" ]]; then + /usr/sbin/cron + elif [[ -x "/usr/sbin/crond" ]]; then + /usr/sbin/crond + else + false + fi +} + +######################## +# Generate a cron configuration file for a given service +# Arguments: +# $1 - Service name +# $2 - Command +# Flags: +# --run-as - User to run as (default: root) +# --schedule - Cron schedule configuration (default: * * * * *) +# Returns: +# None +######################### +generate_cron_conf() { + local service_name="${1:?service name is missing}" + local cmd="${2:?command is missing}" + local run_as="root" + local schedule="* * * * *" + local clean="true" + + local clean="true" + + # Parse optional CLI flags + shift 2 + while [[ "$#" -gt 0 ]]; do + case "$1" in + --run-as) + shift + run_as="$1" + ;; + --schedule) + shift + schedule="$1" + ;; + --no-clean) + clean="false" + ;; + *) + echo "Invalid command line flag ${1}" >&2 + return 1 + ;; + esac + shift + done + + mkdir -p /etc/cron.d + if "$clean"; then + echo "${schedule} ${run_as} ${cmd}" > /etc/cron.d/"$service_name" + else + echo "${schedule} ${run_as} ${cmd}" >> /etc/cron.d/"$service_name" + fi +} + +######################## +# Remove a cron configuration file for a given service +# Arguments: +# $1 - Service name +# Returns: +# None +######################### +remove_cron_conf() { + local service_name="${1:?service name is missing}" + local cron_conf_dir="/etc/monit/conf.d" + rm -f "${cron_conf_dir}/${service_name}" +} + +######################## +# Generate a monit configuration file for a given service +# Arguments: +# $1 - Service name +# $2 - Pid file +# $3 - Start command +# $4 - Stop command +# Flags: +# --disable - Whether to disable the monit configuration +# Returns: +# None +######################### +generate_monit_conf() { + local service_name="${1:?service name is missing}" + local pid_file="${2:?pid file is missing}" + local start_command="${3:?start command is missing}" + local stop_command="${4:?stop command is missing}" + local monit_conf_dir="/etc/monit/conf.d" + local disabled="no" + + # Parse optional CLI flags + shift 4 + while [[ "$#" -gt 0 ]]; do + case "$1" in + --disable) + disabled="yes" + ;; + *) + echo "Invalid command line flag ${1}" >&2 + return 1 + ;; + esac + shift + done + + is_boolean_yes "$disabled" && conf_suffix=".disabled" + mkdir -p "$monit_conf_dir" + cat >"${monit_conf_dir}/${service_name}.conf${conf_suffix:-}" <&2 + return 1 + ;; + esac + shift + done + + mkdir -p "$logrotate_conf_dir" + cat <"${logrotate_conf_dir}/${service_name}" +${log_path} { + ${period} + rotate ${rotations} + dateext + compress + copytruncate + missingok +$(indent "$extra" 2) +} +EOF +} + +######################## +# Remove a logrotate configuration file +# Arguments: +# $1 - Service name +# Returns: +# None +######################### +remove_logrotate_conf() { + local service_name="${1:?service name is missing}" + local logrotate_conf_dir="/etc/logrotate.d" + rm -f "${logrotate_conf_dir}/${service_name}" +} diff --git a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libvalidations.sh b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libvalidations.sh new file mode 100644 index 000000000000..2d7aaa943513 --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libvalidations.sh @@ -0,0 +1,264 @@ +#!/bin/bash +# +# Validation functions library + +# shellcheck disable=SC1091 + +# Load Generic Libraries +. /opt/bitnami/scripts/liblog.sh + +# Functions + +######################## +# Check if the provided argument is an integer +# Arguments: +# $1 - Value to check +# Returns: +# Boolean +######################### +is_int() { + local -r int="${1:?missing value}" + if [[ "$int" =~ ^-?[0-9]+ ]]; then + true + else + false + fi +} + +######################## +# Check if the provided argument is a positive integer +# Arguments: +# $1 - Value to check +# Returns: +# Boolean +######################### +is_positive_int() { + local -r int="${1:?missing value}" + if is_int "$int" && (( "${int}" >= 0 )); then + true + else + false + fi +} + +######################## +# Check if the provided argument is a boolean or is the string 'yes/true' +# Arguments: +# $1 - Value to check +# Returns: +# Boolean +######################### +is_boolean_yes() { + local -r bool="${1:-}" + # comparison is performed without regard to the case of alphabetic characters + shopt -s nocasematch + if [[ "$bool" = 1 || "$bool" =~ ^(yes|true)$ ]]; then + true + else + false + fi +} + +######################## +# Check if the provided argument is a boolean yes/no value +# Arguments: +# $1 - Value to check +# Returns: +# Boolean +######################### +is_yes_no_value() { + local -r bool="${1:-}" + if [[ "$bool" =~ ^(yes|no)$ ]]; then + true + else + false + fi +} + +######################## +# Check if the provided argument is a boolean true/false value +# Arguments: +# $1 - Value to check +# Returns: +# Boolean +######################### +is_true_false_value() { + local -r bool="${1:-}" + if [[ "$bool" =~ ^(true|false)$ ]]; then + true + else + false + fi +} + +######################## +# Check if the provided argument is a boolean 1/0 value +# Arguments: +# $1 - Value to check +# Returns: +# Boolean +######################### +is_1_0_value() { + local -r bool="${1:-}" + if [[ "$bool" =~ ^[10]$ ]]; then + true + else + false + fi +} + +######################## +# Check if the provided argument is an empty string or not defined +# Arguments: +# $1 - Value to check +# Returns: +# Boolean +######################### +is_empty_value() { + local -r val="${1:-}" + if [[ -z "$val" ]]; then + true + else + false + fi +} + +######################## +# Validate if the provided argument is a valid port +# Arguments: +# $1 - Port to validate +# Returns: +# Boolean and error message +######################### +validate_port() { + local value + local unprivileged=0 + + # Parse flags + while [[ "$#" -gt 0 ]]; do + case "$1" in + -unprivileged) + unprivileged=1 + ;; + --) + shift + break + ;; + -*) + stderr_print "unrecognized flag $1" + return 1 + ;; + *) + break + ;; + esac + shift + done + + if [[ "$#" -gt 1 ]]; then + echo "too many arguments provided" + return 2 + elif [[ "$#" -eq 0 ]]; then + stderr_print "missing port argument" + return 1 + else + value=$1 + fi + + if [[ -z "$value" ]]; then + echo "the value is empty" + return 1 + else + if ! is_int "$value"; then + echo "value is not an integer" + return 2 + elif [[ "$value" -lt 0 ]]; then + echo "negative value provided" + return 2 + elif [[ "$value" -gt 65535 ]]; then + echo "requested port is greater than 65535" + return 2 + elif [[ "$unprivileged" = 1 && "$value" -lt 1024 ]]; then + echo "privileged port requested" + return 3 + fi + fi +} + +######################## +# Validate if the provided argument is a valid IPv4 address +# Arguments: +# $1 - IP to validate +# Returns: +# Boolean +######################### +validate_ipv4() { + local ip="${1:?ip is missing}" + local stat=1 + + if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then + read -r -a ip_array <<< "$(tr '.' ' ' <<< "$ip")" + [[ ${ip_array[0]} -le 255 && ${ip_array[1]} -le 255 \ + && ${ip_array[2]} -le 255 && ${ip_array[3]} -le 255 ]] + stat=$? + fi + return $stat +} + +######################## +# Validate a string format +# Arguments: +# $1 - String to validate +# Returns: +# Boolean +######################### +validate_string() { + local string + local min_length=-1 + local max_length=-1 + + # Parse flags + while [ "$#" -gt 0 ]; do + case "$1" in + -min-length) + shift + min_length=${1:-} + ;; + -max-length) + shift + max_length=${1:-} + ;; + --) + shift + break + ;; + -*) + stderr_print "unrecognized flag $1" + return 1 + ;; + *) + break + ;; + esac + shift + done + + if [ "$#" -gt 1 ]; then + stderr_print "too many arguments provided" + return 2 + elif [ "$#" -eq 0 ]; then + stderr_print "missing string" + return 1 + else + string=$1 + fi + + if [[ "$min_length" -ge 0 ]] && [[ "${#string}" -lt "$min_length" ]]; then + echo "string length is less than $min_length" + return 1 + fi + if [[ "$max_length" -ge 0 ]] && [[ "${#string}" -gt "$max_length" ]]; then + echo "string length is great than $max_length" + return 1 + fi +} diff --git a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libversion.sh b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libversion.sh new file mode 100644 index 000000000000..f3bc7568bfa5 --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libversion.sh @@ -0,0 +1,49 @@ +#!/bin/bash +# +# Library for managing versions strings + +# shellcheck disable=SC1091 + +# Load Generic Libraries +. /opt/bitnami/scripts/liblog.sh + +# Functions +######################## +# Gets semantic version +# Arguments: +# $1 - version: string to extract major.minor.patch +# $2 - section: 1 to extract major, 2 to extract minor, 3 to extract patch +# Returns: +# array with the major, minor and release +######################### +get_sematic_version () { + local version="${1:?version is required}" + local section="${2:?section is required}" + local -a version_sections + + #Regex to parse versions: x.y.z + local -r regex='([0-9]+)(\.([0-9]+)(\.([0-9]+))?)?' + + if [[ "$version" =~ $regex ]]; then + local i=1 + local j=1 + local n=${#BASH_REMATCH[*]} + + while [[ $i -lt $n ]]; do + if [[ -n "${BASH_REMATCH[$i]}" ]] && [[ "${BASH_REMATCH[$i]:0:1}" != '.' ]]; then + version_sections[$j]=${BASH_REMATCH[$i]} + ((j++)) + fi + ((i++)) + done + + local number_regex='^[0-9]+$' + if [[ "$section" =~ $number_regex ]] && (( section > 0 )) && (( section <= 3 )); then + echo "${version_sections[$section]}" + return + else + stderr_print "Section allowed values are: 1, 2, and 3" + return 1 + fi + fi +} diff --git a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libwebserver.sh b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libwebserver.sh new file mode 100644 index 000000000000..503650210583 --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libwebserver.sh @@ -0,0 +1,462 @@ +#!/bin/bash +# +# Bitnami web server handler library + +# shellcheck disable=SC1090,SC1091 + +# Load generic libraries +. /opt/bitnami/scripts/liblog.sh + +######################## +# Execute a command (or list of commands) with the web server environment and library loaded +# Globals: +# * +# Arguments: +# None +# Returns: +# None +######################### +web_server_execute() { + local -r web_server="${1:?missing web server}" + shift + # Run program in sub-shell to avoid web server environment getting loaded when not necessary + ( + . "/opt/bitnami/scripts/lib${web_server}.sh" + . "/opt/bitnami/scripts/${web_server}-env.sh" + "$@" + ) +} + +######################## +# Prints the list of enabled web servers +# Globals: +# None +# Arguments: +# None +# Returns: +# None +######################### +web_server_list() { + local -r -a supported_web_servers=(apache nginx) + local -a existing_web_servers=() + for web_server in "${supported_web_servers[@]}"; do + [[ -f "/opt/bitnami/scripts/${web_server}-env.sh" ]] && existing_web_servers+=("$web_server") + done + echo "${existing_web_servers[@]:-}" +} + +######################## +# Prints the currently-enabled web server type (only one, in order of preference) +# Globals: +# None +# Arguments: +# None +# Returns: +# None +######################### +web_server_type() { + local -a web_servers + read -r -a web_servers <<< "$(web_server_list)" + echo "${web_servers[0]:-}" +} + +######################## +# Validate that a supported web server is configured +# Globals: +# None +# Arguments: +# None +# Returns: +# None +######################### +web_server_validate() { + local error_code=0 + local supported_web_servers=("apache" "nginx") + + # Auxiliary functions + print_validation_error() { + error "$1" + error_code=1 + } + + if [[ -z "$(web_server_type)" || ! " ${supported_web_servers[*]} " == *" $(web_server_type) "* ]]; then + print_validation_error "Could not detect any supported web servers. It must be one of: ${supported_web_servers[*]}" + elif ! web_server_execute "$(web_server_type)" type -t "is_$(web_server_type)_running" >/dev/null; then + print_validation_error "Could not load the $(web_server_type) web server library from /opt/bitnami/scripts. Check that it exists and is readable." + fi + + return "$error_code" +} + +######################## +# Check whether the web server is running +# Globals: +# * +# Arguments: +# None +# Returns: +# true if the web server is running, false otherwise +######################### +is_web_server_running() { + "is_$(web_server_type)_running" +} + +######################## +# Start web server +# Globals: +# * +# Arguments: +# None +# Returns: +# None +######################### +web_server_start() { + info "Starting $(web_server_type) in background" + "${BITNAMI_ROOT_DIR}/scripts/$(web_server_type)/start.sh" +} + +######################## +# Stop web server +# Globals: +# * +# Arguments: +# None +# Returns: +# None +######################### +web_server_stop() { + info "Stopping $(web_server_type)" + "${BITNAMI_ROOT_DIR}/scripts/$(web_server_type)/stop.sh" +} + +######################## +# Restart web server +# Globals: +# * +# Arguments: +# None +# Returns: +# None +######################### +web_server_restart() { + info "Restarting $(web_server_type)" + "${BITNAMI_ROOT_DIR}/scripts/$(web_server_type)/restart.sh" +} + +######################## +# Reload web server +# Globals: +# * +# Arguments: +# None +# Returns: +# None +######################### +web_server_reload() { + "${BITNAMI_ROOT_DIR}/scripts/$(web_server_type)/reload.sh" +} + +######################## +# Ensure a web server application configuration exists (i.e. Apache virtual host format or NGINX server block) +# It serves as a wrapper for the specific web server function +# Globals: +# * +# Arguments: +# $1 - App name +# Flags: +# --type - Application type, which has an effect on which configuration template to use +# --hosts - Host listen addresses +# --server-name - Server name +# --server-aliases - Server aliases +# --allow-remote-connections - Whether to allow remote connections or to require local connections +# --disable - Whether to render server configurations with a .disabled prefix +# --disable-http - Whether to render the app's HTTP server configuration with a .disabled prefix +# --disable-https - Whether to render the app's HTTPS server configuration with a .disabled prefix +# --http-port - HTTP port number +# --https-port - HTTPS port number +# --document-root - Path to document root directory +# Apache-specific flags: +# --apache-additional-configuration - Additional vhost configuration (no default) +# --apache-additional-http-configuration - Additional HTTP vhost configuration (no default) +# --apache-additional-https-configuration - Additional HTTPS vhost configuration (no default) +# --apache-before-vhost-configuration - Configuration to add before the directive (no default) +# --apache-allow-override - Whether to allow .htaccess files (only allowed when --move-htaccess is set to 'no' and type is not defined) +# --apache-extra-directory-configuration - Extra configuration for the document root directory +# --apache-proxy-address - Address where to proxy requests +# --apache-proxy-configuration - Extra configuration for the proxy +# --apache-proxy-http-configuration - Extra configuration for the proxy HTTP vhost +# --apache-proxy-https-configuration - Extra configuration for the proxy HTTPS vhost +# --apache-move-htaccess - Move .htaccess files to a common place so they can be loaded during Apache startup (only allowed when type is not defined) +# NGINX-specific flags: +# --nginx-additional-configuration - Additional server block configuration (no default) +# --nginx-external-configuration - Configuration external to server block (no default) +# Returns: +# true if the configuration was enabled, false otherwise +######################## +ensure_web_server_app_configuration_exists() { + local app="${1:?missing app}" + shift + local -a apache_args nginx_args web_servers args_var + apache_args=("$app") + nginx_args=("$app") + # Validate arguments + while [[ "$#" -gt 0 ]]; do + case "$1" in + # Common flags + --disable \ + | --disable-http \ + | --disable-https \ + ) + apache_args+=("$1") + nginx_args+=("$1") + ;; + --hosts \ + | --server-name \ + | --server-aliases \ + | --type \ + | --allow-remote-connections \ + | --http-port \ + | --https-port \ + | --document-root \ + ) + apache_args+=("$1" "${2:?missing value}") + nginx_args+=("$1" "${2:?missing value}") + shift + ;; + + # Specific Apache flags + --apache-additional-configuration \ + | --apache-additional-http-configuration \ + | --apache-additional-https-configuration \ + | --apache-before-vhost-configuration \ + | --apache-allow-override \ + | --apache-extra-directory-configuration \ + | --apache-proxy-address \ + | --apache-proxy-configuration \ + | --apache-proxy-http-configuration \ + | --apache-proxy-https-configuration \ + | --apache-move-htaccess \ + ) + apache_args+=("${1//apache-/}" "${2:?missing value}") + shift + ;; + + # Specific NGINX flags + --nginx-additional-configuration \ + | --nginx-external-configuration) + nginx_args+=("${1//nginx-/}" "${2:?missing value}") + shift + ;; + + *) + echo "Invalid command line flag $1" >&2 + return 1 + ;; + esac + shift + done + read -r -a web_servers <<< "$(web_server_list)" + for web_server in "${web_servers[@]}"; do + args_var="${web_server}_args[@]" + web_server_execute "$web_server" "ensure_${web_server}_app_configuration_exists" "${!args_var}" + done +} + +######################## +# Ensure a web server application configuration does not exist anymore (i.e. Apache virtual host format or NGINX server block) +# It serves as a wrapper for the specific web server function +# Globals: +# * +# Arguments: +# $1 - App name +# Returns: +# true if the configuration was disabled, false otherwise +######################## +ensure_web_server_app_configuration_not_exists() { + local app="${1:?missing app}" + local -a web_servers + read -r -a web_servers <<< "$(web_server_list)" + for web_server in "${web_servers[@]}"; do + web_server_execute "$web_server" "ensure_${web_server}_app_configuration_not_exists" "$app" + done +} + +######################## +# Ensure the web server loads the configuration for an application in a URL prefix +# It serves as a wrapper for the specific web server function +# Globals: +# * +# Arguments: +# $1 - App name +# Flags: +# --allow-remote-connections - Whether to allow remote connections or to require local connections +# --document-root - Path to document root directory +# --prefix - URL prefix from where it will be accessible (i.e. /myapp) +# --type - Application type, which has an effect on what configuration template will be used +# Apache-specific flags: +# --apache-additional-configuration - Additional vhost configuration (no default) +# --apache-allow-override - Whether to allow .htaccess files (only allowed when --move-htaccess is set to 'no') +# --apache-extra-directory-configuration - Extra configuration for the document root directory +# --apache-move-htaccess - Move .htaccess files to a common place so they can be loaded during Apache startup +# NGINX-specific flags: +# --nginx-additional-configuration - Additional server block configuration (no default) +# Returns: +# true if the configuration was enabled, false otherwise +######################## +ensure_web_server_prefix_configuration_exists() { + local app="${1:?missing app}" + shift + local -a apache_args nginx_args web_servers args_var + apache_args=("$app") + nginx_args=("$app") + # Validate arguments + while [[ "$#" -gt 0 ]]; do + case "$1" in + # Common flags + --allow-remote-connections \ + | --document-root \ + | --prefix \ + | --type \ + ) + apache_args+=("$1" "${2:?missing value}") + nginx_args+=("$1" "${2:?missing value}") + shift + ;; + + # Specific Apache flags + --apache-additional-configuration \ + | --apache-allow-override \ + | --apache-extra-directory-configuration \ + | --apache-move-htaccess \ + ) + apache_args+=("${1//apache-/}" "$2") + shift + ;; + + # Specific NGINX flags + --nginx-additional-configuration) + nginx_args+=("${1//nginx-/}" "$2") + shift + ;; + + *) + echo "Invalid command line flag $1" >&2 + return 1 + ;; + esac + shift + done + read -r -a web_servers <<< "$(web_server_list)" + for web_server in "${web_servers[@]}"; do + args_var="${web_server}_args[@]" + web_server_execute "$web_server" "ensure_${web_server}_prefix_configuration_exists" "${!args_var}" + done +} + +######################## +# Ensure a web server application configuration is updated with the runtime configuration (i.e. ports) +# It serves as a wrapper for the specific web server function +# Globals: +# * +# Arguments: +# $1 - App name +# Flags: +# --hosts - Host listen addresses +# --server-name - Server name +# --server-aliases - Server aliases +# --enable-http - Enable HTTP app configuration (if not enabled already) +# --enable-https - Enable HTTPS app configuration (if not enabled already) +# --disable-http - Disable HTTP app configuration (if not disabled already) +# --disable-https - Disable HTTPS app configuration (if not disabled already) +# --http-port - HTTP port number +# --https-port - HTTPS port number +# Returns: +# true if the configuration was updated, false otherwise +######################## +web_server_update_app_configuration() { + local app="${1:?missing app}" + shift + local -a args web_servers + args=("$app") + # Validate arguments + while [[ "$#" -gt 0 ]]; do + case "$1" in + # Common flags + --enable-http \ + | --enable-https \ + | --disable-http \ + | --disable-https \ + ) + args+=("$1") + ;; + --hosts \ + | --server-name \ + | --server-aliases \ + | --enable-http \ + | --enable-https \ + | --disable-http \ + | --disable-https \ + | --http-port \ + | --https-port \ + ) + args+=("$1" "${2:?missing value}") + shift + ;; + + *) + echo "Invalid command line flag $1" >&2 + return 1 + ;; + esac + shift + done + read -r -a web_servers <<< "$(web_server_list)" + for web_server in "${web_servers[@]}"; do + web_server_execute "$web_server" "${web_server}_update_app_configuration" "${args[@]}" + done +} + +######################## +# Enable loading page, which shows users that the initialization process is not yet completed +# Globals: +# * +# Arguments: +# None +# Returns: +# None +######################### +web_server_enable_loading_page() { + ensure_web_server_app_configuration_exists "__loading" --hosts "_default_" \ + --apache-additional-configuration " +# Show a HTTP 503 Service Unavailable page by default +RedirectMatch 503 ^/$ +# Show index.html if server is answering with 404 Not Found or 503 Service Unavailable status codes +ErrorDocument 404 /index.html +ErrorDocument 503 /index.html" \ + --nginx-additional-configuration " +# Show a HTTP 503 Service Unavailable page by default +location / { + return 503; +} +# Show index.html if server is answering with 404 Not Found or 503 Service Unavailable status codes +error_page 404 @installing; +error_page 503 @installing; +location @installing { + rewrite ^(.*)$ /index.html break; +}" + web_server_reload +} + +######################## +# Enable loading page, which shows users that the initialization process is not yet completed +# Globals: +# * +# Arguments: +# None +# Returns: +# None +######################### +web_server_disable_install_page() { + ensure_web_server_app_configuration_not_exists "__loading" + web_server_reload +} diff --git a/bitnami/harbor-exporter/2/debian-10/prebuildfs/usr/sbin/install_packages b/bitnami/harbor-exporter/2/debian-10/prebuildfs/usr/sbin/install_packages new file mode 100755 index 000000000000..c9577647443b --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/prebuildfs/usr/sbin/install_packages @@ -0,0 +1,24 @@ +#!/bin/sh +set -e +set -u +export DEBIAN_FRONTEND=noninteractive +n=0 +max=2 +until [ $n -gt $max ]; do + set +e + ( + apt-get update -qq && + apt-get install -y --no-install-recommends "$@" + ) + CODE=$? + set -e + if [ $CODE -eq 0 ]; then + break + fi + if [ $n -eq $max ]; then + exit $CODE + fi + echo "apt failed, retrying" + n=$(($n + 1)) +done +rm -r /var/lib/apt/lists /var/cache/apt/archives diff --git a/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/harbor-exporter-env.sh b/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/harbor-exporter-env.sh new file mode 100644 index 000000000000..1287caa9af7e --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/harbor-exporter-env.sh @@ -0,0 +1,74 @@ +#!/bin/bash +# +# Environment configuration for harbor-exporter + +# The values for all environment variables will be set in the below order of precedence +# 1. Custom environment variables defined below after Bitnami defaults +# 2. Constants defined in this file (environment variables with no default), i.e. BITNAMI_ROOT_DIR +# 3. Environment variables overridden via external files using *_FILE variables (see below) +# 4. Environment variables set externally (i.e. current Bash context/Dockerfile/userdata) + +# Load logging library +. /opt/bitnami/scripts/liblog.sh + +export BITNAMI_ROOT_DIR="/opt/bitnami" +export BITNAMI_VOLUME_DIR="/bitnami" + +# Logging configuration +export MODULE="${MODULE:-harbor-exporter}" +export BITNAMI_DEBUG="${BITNAMI_DEBUG:-false}" + +# By setting an environment variable matching *_FILE to a file path, the prefixed environment +# variable will be overridden with the value specified in that file +harbor_exporter_env_vars=( + HARBOR_DATABASE_HOST + HARBOR_DATABASE_PORT + HARBOR_DATABASE_USERNAME + HARBOR_DATABASE_PASSWORD + HARBOR_DATABASE_DBNAME + HARBOR_DATABASE_SSLMODE + HARBOR_SERVICE_SCHEME + HARBOR_SERVICE_HOST + HARBOR_SERVICE_PORT + HARBOR_REDIS_URL + HARBOR_REDIS_NAMESPACE + HARBOR_REDIS_TIMEOUT + HARBOR_EXPORTER_PORT + HARBOR_EXPORTER_METRICS_PATH +) +for env_var in "${harbor_exporter_env_vars[@]}"; do + file_env_var="${env_var}_FILE" + if [[ -n "${!file_env_var:-}" ]]; then + if [[ -r "${!file_env_var:-}" ]]; then + export "${env_var}=$(< "${!file_env_var}")" + unset "${file_env_var}" + else + warn "Skipping export of '${env_var}'. '${!file_env_var:-}' is not readable." + fi + fi +done +unset harbor_exporter_env_vars + +# Core Database Config +export HARBOR_DATABASE_HOST="${HARBOR_DATABASE_HOST:-}" +export HARBOR_DATABASE_PORT="${HARBOR_DATABASE_PORT:-5432}" +export HARBOR_DATABASE_USERNAME="${HARBOR_DATABASE_USERNAME:-}" +export HARBOR_DATABASE_PASSWORD="${HARBOR_DATABASE_PASSWORD:-}" +export HARBOR_DATABASE_DBNAME="${HARBOR_DATABASE_DBNAME:-}" +export HARBOR_DATABASE_SSLMODE="${HARBOR_DATABASE_SSLMODE:-disable}" + +# Core Service Config +export HARBOR_SERVICE_SCHEME="${HARBOR_SERVICE_SCHEME:-http}" +export HARBOR_SERVICE_HOST="${HARBOR_SERVICE_HOST:-core}" +export HARBOR_SERVICE_PORT="${HARBOR_SERVICE_PORT:-8080}" + +# Job Service Redis Config +export HARBOR_REDIS_URL="${HARBOR_REDIS_URL:-}" +export HARBOR_REDIS_NAMESPACE="${HARBOR_REDIS_NAMESPACE:-harbor_job_service_namespace}" +export HARBOR_REDIS_TIMEOUT="${HARBOR_REDIS_TIMEOUT:-3600}" + +# Exporter Config +export HARBOR_EXPORTER_PORT="${HARBOR_EXPORTER_PORT:-9090}" +export HARBOR_EXPORTER_METRICS_PATH="${HARBOR_EXPORTER_METRICS_PATH:-/metrics}" + +# Custom environment variables may be defined below diff --git a/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/harbor-exporter/entrypoint.sh b/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/harbor-exporter/entrypoint.sh new file mode 100755 index 000000000000..15e6f304acd7 --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/harbor-exporter/entrypoint.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +# shellcheck disable=SC1091 + +set -o errexit +set -o nounset +set -o pipefail +#set -o xtrace + +# Load libraries +. /opt/bitnami/scripts/libbitnami.sh +. /opt/bitnami/scripts/libharbor.sh + + +print_welcome_page + +if [[ "$1" = "/opt/bitnami/scripts/harbor-exporter/run.sh" ]]; then + info "** Starting Harbor Exporter setup **" + install_custom_certs + info "** Harbor Exporter setup finished! **" +fi + +echo "" +exec "$@" diff --git a/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/harbor-exporter/postunpack.sh b/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/harbor-exporter/postunpack.sh new file mode 100755 index 000000000000..29ca571e4d53 --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/harbor-exporter/postunpack.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +# shellcheck disable=SC1091 + +# Load libraries +. /opt/bitnami/scripts/libfs.sh +. /opt/bitnami/scripts/libharbor.sh + +read -r -a directories <<<"$(get_system_cert_paths)" +directories+=("/var/log/jobs") + +# Ensure a set of directories exist +# Ensure the non-root user has writing permission at a set of directories +for dir in "${directories[@]}"; do + ensure_dir_exists "$dir" + chmod -R g+rwX "$dir" +done + +# Fix for CentOS Internal TLS +if [[ -f /etc/pki/tls/certs/ca-bundle.crt ]]; then + chmod g+w /etc/pki/tls/certs/ca-bundle.crt +fi + +if [[ -f /etc/pki/tls/certs/ca-bundle.trust.crt ]]; then + chmod g+w /etc/pki/tls/certs/ca-bundle.trust.crt +fi diff --git a/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/harbor-exporter/run.sh b/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/harbor-exporter/run.sh new file mode 100755 index 000000000000..cbad1880bf0a --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/harbor-exporter/run.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +# shellcheck disable=SC1091 + +set -o errexit +set -o nounset +set -o pipefail +#set -o xtrace + +# Load libraries +. /opt/bitnami/scripts/liblog.sh +. /opt/bitnami/scripts/libharborexporter.sh + +# Load Harbor Exporter environment +. /opt/bitnami/scripts/harbor-exporter-env.sh + +harbor_exporter_validate +info "** Wait for database connection **" +wait_for_connection "$HARBOR_DATABASE_HOST" "$HARBOR_DATABASE_PORT" +info "** Starting Harbor Exporter **" +exec "/opt/bitnami/harbor-exporter/bin/harbor_exporter" diff --git a/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/libharbor.sh b/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/libharbor.sh new file mode 100644 index 000000000000..2965dc02ad82 --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/libharbor.sh @@ -0,0 +1,119 @@ +#!/bin/bash +# +# Bitnami Harbor library + +# shellcheck disable=SC1091 + +# Load Generic Libraries +. /opt/bitnami/scripts/liblog.sh + +######################## +# Get the paths relevant to CA certs depending +# on the OS +# Globals: +# OS_FLAVOUR +# Arguments: +# None +# Returns: +# A series of paths relevant to CA certs +# depending on the OS. +######################### +get_system_cert_paths() { + if [[ "$OS_FLAVOUR" =~ ^(debian|ubuntu)-.*$ ]]; then + echo "/etc/ssl/certs/" + elif [[ "$OS_FLAVOUR" =~ ^(centos|photon)-.*$ ]]; then + echo "/etc/pki/tls/certs/" + else + # Check the existence of generic paths when OS_FLAVOR does + # not match + if [[ -d /etc/ssl/certs/ ]] ; then + echo "/etc/ssl/certs/" + elif [[ -d /etc/pki/tls/certs/ ]]; then + echo "/etc/pki/tls/certs/" + else + error "Could not determine relevant CA paths for this OS Flavour" + fi + fi +} + +######################## +# Place a given certificate in the correct location for installation +# depending on the OS +# Globals: +# OS_FLAVOUR* +# Arguments: +# $1 - certificate to be installed +# Returns: +# None +######################### +install_cert() { + local -r cert="${1:?missing certificate}" + + if [[ "$OS_FLAVOUR" =~ ^(debian|ubuntu)-.*$ ]]; then + cat "$cert" >> /etc/ssl/certs/ca-certificates.crt + elif [[ "$OS_FLAVOUR" =~ ^(centos|photon)-.*$ ]]; then + cat "$cert" >> /etc/pki/tls/certs/ca-bundle.crt + else + # Check the existence of generic ca-bundles when OS_FLAVOR does + # not match + if [[ -f /etc/ssl/certs/ca-certificates.crt ]] ; then + cat "$cert" >> /etc/ssl/certs/ca-certificates.crt + elif [[ -f /etc/pki/tls/certs/ca-bundle.crt ]]; then + cat "$cert" >> /etc/pki/tls/certs/ca-bundle.crt + else + error "Could not install CA certificate ${cert} CA in this OS Flavour" + fi + fi +} + +######################## +# Install CA certificates found under the specific paths +# Globals: +# None +# Arguments: +# None +# Returns: +# None +######################### +install_custom_certs() { + + local installed=false + + # Install any internalTLS CA authority certificate, found under + # /etc/harbor/ssl/{component}/ca.crt + if [[ -d /etc/harbor/ssl ]]; then + info "Appending internalTLS trust CA cert..." + while IFS= read -r -d '' caCert; do + install_cert "$caCert" + installed=true + debug "Internal tls trust CA $caCert copied" + done < <(find /etc/harbor/ssl -maxdepth 2 -name ca.crt -print0) + info "interalTLS CA certs appending done!" + fi + + # Install any other custom certificate provided by the end user under the path + # /harbor_cust_cert + if [[ -d /harbor_cust_cert ]]; then + info "Appending custom trust CA certs ..." + for certFile in /harbor_cust_cert/*; do + case ${certFile} in + *.crt | *.ca | *.ca-bundle | *.pem) + if [[ -d "$certFile" ]]; then + debug "$certFile is a directory, skipping it" + else + install_cert "$certFile" + installed=true + debug "Custom CA cert $certFile copied" + fi + ;; + *) debug "$certFile is not a CA cert file, skipping it" ;; + esac + done + fi + + if [[ "$installed" = true ]]; then + info "Custom certificates were installed in the system!" + else + info "No custom certificates were installed in the system" + fi +} diff --git a/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/libharborexporter.sh b/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/libharborexporter.sh new file mode 100644 index 000000000000..281986267cf5 --- /dev/null +++ b/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/libharborexporter.sh @@ -0,0 +1,95 @@ +#!/bin/bash + +# shellcheck disable=SC1091 + +# Load libraries +. /opt/bitnami/scripts/libfs.sh +. /opt/bitnami/scripts/liblog.sh +. /opt/bitnami/scripts/libnet.sh +. /opt/bitnami/scripts/libos.sh +. /opt/bitnami/scripts/libvalidations.sh + +####################### +# Wait until the database is accessible with the currently-known credentials +# Globals: +# * +# Arguments: +# $1 - database host +# $2 - database port +# $3 - database name +# $4 - database username +# $5 - database user password (optional) +# Returns: +# true if the database connection succeeded, false otherwise +######################### +wait_for_connection() { + local -r host="${1:?missing database host}" + local -r port="${2:?missing database port}" + check_connection() { + (echo > /dev/tcp/"$host"/"$port") >/dev/null 2>&1 + } + if ! retry_while "check_connection"; then + error "Could not connect to the ${host}:${port}" + return 1 + fi +} + +harbor_exporter_validate() { + debug "Validating settings in HARBOR_* environment variables..." + local error_code=0 + + # Auxiliary functions + print_validation_error() { + error "$1" + error_code=1 + } + check_not_empty_value() { + if is_empty_value "${!1}"; then + print_validation_error "${1} must be set" + fi + } + check_multi_value() { + if [[ " ${2} " != *" ${!1} "* ]]; then + print_validation_error "The allowed values for ${1} are: ${2}" + fi + } + check_resolved_hostname() { + if ! is_hostname_resolved "$1"; then + warn "Hostname ${1} could not be resolved, this could lead to connection issues" + fi + } + check_valid_port() { + local port_var="${1:?missing port variable}" + local err + if ! err="$(validate_port "${!port_var}")"; then + print_validation_error "An invalid port was specified in the environment variable ${port_var}: ${err}." + fi + } + + local mandatory=( + "HARBOR_DATABASE_DBNAME" + "HARBOR_DATABASE_HOST" + "HARBOR_DATABASE_USERNAME" + "HARBOR_DATABASE_SSLMODE" + "HARBOR_REDIS_NAMESPACE" + "HARBOR_REDIS_URL" + "HARBOR_SERVICE_HOST" + ) + + for parameter in "${mandatory[@]}"; do + check_not_empty_value "$parameter" + done + + check_resolved_hostname "$HARBOR_DATABASE_HOST" + check_valid_port "HARBOR_DATABASE_PORT" + + check_multi_value "HARBOR_SERVICE_SCHEME" "http https" + check_resolved_hostname "$HARBOR_SERVICE_HOST" + check_valid_port "HARBOR_SERVICE_PORT" + + check_resolved_hostname "$(parse_uri "$HARBOR_REDIS_URL" "host")" + + check_valid_port "HARBOR_EXPORTER_PORT" + + return "$error_code" +} diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md new file mode 100644 index 000000000000..0a124b25edd5 --- /dev/null +++ b/bitnami/harbor-exporter/README.md @@ -0,0 +1,83 @@ +# harbor-exporter packaged by Bitnami + +## What is harbor-exporter? + +> The exporter component metrics collects some data from the Harbor database. + +[Overview of harbor-exporter](https://change.me) + + + +## TL;DR + +```console +$ curl -LO https://raw.githubusercontent.com/bitnami/bitnami-docker-harbor-portal/master/docker-compose.yml +$ curl -L https://github.com/bitnami/bitnami-docker-harbor-portal/archive/master.tar.gz | tar xz --strip=1 --wildcards '*-master/config' +$ docker-compose up +``` + +> Please note we are downloading the docker-compose.yml file from the Harbor Portal component repository. + +## Why use Bitnami Images? + +* Bitnami closely tracks upstream source changes and promptly publishes new versions of this image using our automated systems. +* With Bitnami images the latest bug fixes and features are available as soon as possible. +* Bitnami containers, virtual machines and cloud images use the same components and configuration approach - making it easy to switch between formats based on your project needs. +* All our images are based on minideb a minimalist Debian based container image which gives you a small base container image and the familiarity of a leading Linux distribution. +* Bitnami container images are released daily with the latest distribution packages available. + + +> This [CVE scan report](https://quay.io/repository/bitnami/harbor-exporter?tab=tags) contains a security report with all open CVEs. To get the list of actionable security issues, find the "latest" tag, click the vulnerability report link under the corresponding "Security scan" field and then select the "Only show fixable" filter on the next page. + +## How to deploy Harbor in Kubernetes? + +Deploying Bitnami applications as Helm Charts is the easiest way to get started with our applications on Kubernetes. Read more about the installation in the [Bitnami Harbor Chart GitHub repository](https://github.com/bitnami/charts/tree/master/bitnami/harbor). + +Bitnami containers can be used with [Kubeapps](https://kubeapps.com/) for deployment and management of Helm Charts in clusters. + +## Why use a non-root container? + +Non-root container images add an extra layer of security and are generally recommended for production environments. However, because they run as a non-root user, privileged tasks are typically off-limits. Learn more about non-root containers [in our docs](https://docs.bitnami.com/tutorials/work-with-non-root-containers/). + +## Supported tags and respective `Dockerfile` links + +Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). + + +* [`2`, `2-debian-10`, `2.4.1`, `2.4.1-debian-10-r0`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.1-debian-10-r0/2/debian-10/Dockerfile) + +## Configuration + +harbor-exporter is a component of the Harbor application. In order to get the Harbor application running on Kubernetes we encourage you to check the [bitnami/harbor Helm chart](https://github.com/bitnami/charts/tree/master/bitnami/harbor) and configure it using the options exposed in the values.yaml file. + +For further information about the specific component itself, please refer to the [source repository documentation](https://change.me/tree/master/docs). + +## Contributing + +We'd love for you to contribute to this container. You can request new features by creating an [issue](https://github.com/bitnami/bitnami-docker-harbor-exporter/issues), or submit a [pull request](https://github.com/bitnami/bitnami-docker-harbor-exporter/pulls) with your contribution. + +## Issues + +If you encountered a problem running this container, you can file an [issue](https://github.com/bitnami/bitnami-docker-harbor-jobservice/issues/new). For us to provide better support, be sure to include the following information in your issue: + +- Host OS and version +- Docker version (`docker version`) +- Output of `docker info` +- Version of this container (`echo $BITNAMI_IMAGE_VERSION` inside the container) +- The command you used to run the container, and any relevant output you saw (masking any sensitive information) + +## License + +Copyright © 2022 Bitnami + +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/bitnami/harbor-exporter/docker-compose.yml b/bitnami/harbor-exporter/docker-compose.yml new file mode 100644 index 000000000000..9343bd55231a --- /dev/null +++ b/bitnami/harbor-exporter/docker-compose.yml @@ -0,0 +1,105 @@ +version: '2' + +services: + registry: + image: docker.io/bitnami/harbor-registry:2 + environment: + - REGISTRY_HTTP_SECRET=CHANGEME + volumes: + - registry_data:/storage + - ./config/registry/:/etc/registry/:ro + chartmuseum: + container_name: chartmuseum + image: docker.io/bitnami/chartmuseum:0 + environment: + - CACHE=redis + - CACHE_REDIS_ADDR=redis:6379 + - CACHE_REDIS_DB=1 + - DEPTH=1 + - PORT=8080 + - STORAGE=local + - STORAGE_LOCAL_ROOTDIR=/bitnami/data + - ALLOW_OVERWRITE=true + - INDEX_LIMIT=0 + volumes: + - chartmuseum_data:/bitnami/data + postgresql: + image: docker.io/bitnami/postgresql:11 + container_name: harbor-db + environment: + - POSTGRESQL_PASSWORD=bitnami + - POSTGRESQL_DATABASE=registry + volumes: + - postgresql_data:/bitnami/postgresql + redis: + image: docker.io/bitnami/redis:6.0 + environment: + # ALLOW_EMPTY_PASSWORD is recommended only for development. + - ALLOW_EMPTY_PASSWORD=yes + core: + image: docker.io/bitnami/harbor-core:2 + container_name: harbor-core + depends_on: + - registry + - chartmuseum + environment: + - CORE_KEY=change-this-key + - _REDIS_URL=redis:6379,100, + - SYNC_REGISTRY=false + - CHART_CACHE_DRIVER=redis + - _REDIS_URL_REG=redis://redis:6379/1 + - PORT=8080 + - LOG_LEVEL=info + - EXT_ENDPOINT=http://reg.mydomain.com + - DATABASE_TYPE=postgresql + - REGISTRY_CONTROLLER_URL=http://registryctl:8080 + - POSTGRESQL_HOST=postgresql + - POSTGRESQL_PORT=5432 + - POSTGRESQL_DATABASE=registry + - POSTGRESQL_USERNAME=postgres + - POSTGRESQL_PASSWORD=bitnami + - POSTGRESQL_SSLMODE=disable + - REGISTRY_URL=http://registry:5000 + - TOKEN_SERVICE_URL=http://core:8080/service/token + - HARBOR_ADMIN_PASSWORD=bitnami + - CORE_SECRET=CHANGEME + - JOBSERVICE_SECRET=CHANGEME + - ADMIRAL_URL= + - WITH_NOTARY=False + - WITH_CHARTMUSEUM=True + - CHART_REPOSITORY_URL=http://chartmuseum:8080 + - CORE_URL=http://core:8080 + - JOBSERVICE_URL=http://jobservice:8080 + - REGISTRY_STORAGE_PROVIDER_NAME=filesystem + - REGISTRY_CREDENTIAL_USERNAME=harbor_registry_user + - REGISTRY_CREDENTIAL_PASSWORD=harbor_registry_password + - READ_ONLY=false + - RELOAD_KEY= + volumes: + - core_data:/data + - ./config/core/app.conf:/etc/core/app.conf:ro + - ./config/core/private_key.pem:/etc/core/private_key.pem:ro + harbor-exporter: + image: docker.io/bitnami/harbor-exporter:2 + depends_on: + - postgresql + - core + - redis + environment: + - HARBOR_DATABASE_HOST=postgresql + - HARBOR_DATABASE_USERNAME=postgres + - HARBOR_DATABASE_PASSWORD=bitnami + - HARBOR_DATABASE_DBNAME=registry + - HARBOR_REDIS_URL=redis://redis:6379/1 + - HARBOR_SERVICE_SCHEME=http + - HARBOR_SERVICE_HOST=core + - HARBOR_SERVICE_PORT=8080 +volumes: + registry_data: + driver: local + core_data: + driver: local + postgresql_data: + driver: local + chartmuseum_data: + driver: local From 5f60a2301fdc2eddd0be1836313485c64624a358 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Thu, 17 Mar 2022 08:17:15 +0000 Subject: [PATCH 03/25] 2.4.2-debian-10-r0 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 4 ++-- .../debian-10/prebuildfs/opt/bitnami/.bitnami_components.json | 4 ++-- bitnami/harbor-exporter/README.md | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index 65186e7dc111..8ac4415f94f5 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -9,7 +9,7 @@ ENV HOME="/" \ COPY prebuildfs / # Install required system packages and dependencies RUN install_packages acl ca-certificates curl gzip libc6 procps tar -RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "harbor-exporter" "2.4.1-0" --checksum 7ea956741dbad9c3d30891ab93000efb748c13ea34ba792ccde796f678420251 +RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "harbor-exporter" "2.4.2-0" --checksum 84c735ccb0bb4ec8fa9ce8b04a42a37e08178bf9a8c0ee93c75f368e2b5afa93 RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "gosu" "1.14.0-7" --checksum d6280b6f647a62bf6edc74dc8e526bfff63ddd8067dcb8540843f47203d9ccf1 RUN apt-get update && apt-get upgrade -y && \ rm -r /var/lib/apt/lists /var/cache/apt/archives @@ -18,7 +18,7 @@ RUN chmod g+rwX /opt/bitnami COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh ENV BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.1-debian-10-r0" \ + BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r0" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json index 6ed0362e0c54..d65fb6f6f227 100644 --- a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json +++ b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json @@ -8,9 +8,9 @@ }, "harbor-exporter": { "arch": "amd64", - "digest": "7ea956741dbad9c3d30891ab93000efb748c13ea34ba792ccde796f678420251", + "digest": "84c735ccb0bb4ec8fa9ce8b04a42a37e08178bf9a8c0ee93c75f368e2b5afa93", "distro": "debian-10", "type": "NAMI", - "version": "2.4.1-0" + "version": "2.4.2-0" } } \ No newline at end of file diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index 0a124b25edd5..28f02756c1bb 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.1`, `2.4.1-debian-10-r0`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.1-debian-10-r0/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r0`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r0/2/debian-10/Dockerfile) ## Configuration From b38a7180f1403bc7a2bd6a1b776faa2fc1257bf3 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Fri, 18 Mar 2022 08:30:17 +0000 Subject: [PATCH 04/25] 2.4.2-debian-10-r1 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 2 +- bitnami/harbor-exporter/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index 8ac4415f94f5..f931b7e59f87 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -18,7 +18,7 @@ RUN chmod g+rwX /opt/bitnami COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh ENV BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r0" \ + BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r1" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index 28f02756c1bb..dee8a3b81cdd 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r0`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r0/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r1`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r1/2/debian-10/Dockerfile) ## Configuration From 84ea8aa5fc89b4531a3cca6a36b5d3a49ed64e50 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Sat, 19 Mar 2022 08:39:22 +0000 Subject: [PATCH 05/25] 2.4.2-debian-10-r2 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 2 +- bitnami/harbor-exporter/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index f931b7e59f87..87bdf4bd1ac8 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -18,7 +18,7 @@ RUN chmod g+rwX /opt/bitnami COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh ENV BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r1" \ + BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r2" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index dee8a3b81cdd..efb14bfdc659 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r1`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r1/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r2`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r2/2/debian-10/Dockerfile) ## Configuration From b3d354e15fe9de4107fc68e2713d502d77811c3e Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Sun, 20 Mar 2022 08:55:47 +0000 Subject: [PATCH 06/25] 2.4.2-debian-10-r3 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 2 +- bitnami/harbor-exporter/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index 87bdf4bd1ac8..22e6f2a4eb65 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -18,7 +18,7 @@ RUN chmod g+rwX /opt/bitnami COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh ENV BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r2" \ + BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r3" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index efb14bfdc659..cca9264a1d17 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r2`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r2/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r3`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r3/2/debian-10/Dockerfile) ## Configuration From 4a5fd651bbd5346dcccbd6c16a16a98d3395066b Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Mon, 21 Mar 2022 09:05:10 +0000 Subject: [PATCH 07/25] 2.4.2-debian-10-r4 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 2 +- bitnami/harbor-exporter/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index 22e6f2a4eb65..21f861cdfde6 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -18,7 +18,7 @@ RUN chmod g+rwX /opt/bitnami COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh ENV BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r3" \ + BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r4" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index cca9264a1d17..c24b32cbd246 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r3`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r3/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r4`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r4/2/debian-10/Dockerfile) ## Configuration From b099ff564152f95812214b303b193dfb00fc8166 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Tue, 22 Mar 2022 09:19:41 +0000 Subject: [PATCH 08/25] 2.4.2-debian-10-r5 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 2 +- bitnami/harbor-exporter/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index 21f861cdfde6..b8462753208d 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -18,7 +18,7 @@ RUN chmod g+rwX /opt/bitnami COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh ENV BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r4" \ + BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r5" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index c24b32cbd246..a7723d69a5bc 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r4`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r4/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r5`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r5/2/debian-10/Dockerfile) ## Configuration From ffcb13d4dd7fce354b6ca0074935b7a38738618a Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Tue, 22 Mar 2022 17:53:44 +0000 Subject: [PATCH 09/25] 2.4.2-debian-10-r6 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 7 ++++--- .../prebuildfs/opt/bitnami/.bitnami_components.json | 4 ++-- bitnami/harbor-exporter/README.md | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index b8462753208d..39fb7db4eb99 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -9,7 +9,7 @@ ENV HOME="/" \ COPY prebuildfs / # Install required system packages and dependencies RUN install_packages acl ca-certificates curl gzip libc6 procps tar -RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "harbor-exporter" "2.4.2-0" --checksum 84c735ccb0bb4ec8fa9ce8b04a42a37e08178bf9a8c0ee93c75f368e2b5afa93 +RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "harbor-exporter" "2.4.2-1" --checksum fbb70f9fafd4c94d6a3a8cf43125bd2b2949f9c89732b4f45720a51a2f134b6e RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "gosu" "1.14.0-7" --checksum d6280b6f647a62bf6edc74dc8e526bfff63ddd8067dcb8540843f47203d9ccf1 RUN apt-get update && apt-get upgrade -y && \ rm -r /var/lib/apt/lists /var/cache/apt/archives @@ -17,8 +17,9 @@ RUN chmod g+rwX /opt/bitnami COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh -ENV BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r5" \ +ENV APP_VERSION="2.4.2" \ + BITNAMI_APP_NAME="harbor-exporter" \ + BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r6" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json index d65fb6f6f227..8cc81ec61fb4 100644 --- a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json +++ b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json @@ -8,9 +8,9 @@ }, "harbor-exporter": { "arch": "amd64", - "digest": "84c735ccb0bb4ec8fa9ce8b04a42a37e08178bf9a8c0ee93c75f368e2b5afa93", + "digest": "fbb70f9fafd4c94d6a3a8cf43125bd2b2949f9c89732b4f45720a51a2f134b6e", "distro": "debian-10", "type": "NAMI", - "version": "2.4.2-0" + "version": "2.4.2-1" } } \ No newline at end of file diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index a7723d69a5bc..2b849d75ab20 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r5`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r5/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r6`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r6/2/debian-10/Dockerfile) ## Configuration @@ -63,7 +63,7 @@ If you encountered a problem running this container, you can file an [issue](htt - Host OS and version - Docker version (`docker version`) - Output of `docker info` -- Version of this container (`echo $BITNAMI_IMAGE_VERSION` inside the container) +- Version of this container - The command you used to run the container, and any relevant output you saw (masking any sensitive information) ## License From 8be2bdd958ad3fe1ee033eb2d0db58857cc074d0 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Wed, 23 Mar 2022 18:06:22 +0000 Subject: [PATCH 10/25] 2.4.2-debian-10-r7 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 2 +- bitnami/harbor-exporter/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index 39fb7db4eb99..13cbf875589e 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -19,7 +19,7 @@ COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh ENV APP_VERSION="2.4.2" \ BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r6" \ + BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r7" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index 2b849d75ab20..b8e453783621 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r6`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r6/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r7`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r7/2/debian-10/Dockerfile) ## Configuration From 27f5f88ce4648ace0ebe97da7ebf0eb871c5cd05 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Thu, 24 Mar 2022 18:16:53 +0000 Subject: [PATCH 11/25] 2.4.2-debian-10-r8 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 2 +- bitnami/harbor-exporter/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index 13cbf875589e..93a0031e0243 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -19,7 +19,7 @@ COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh ENV APP_VERSION="2.4.2" \ BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r7" \ + BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r8" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index b8e453783621..ec948ae490f2 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r7`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r7/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r8`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r8/2/debian-10/Dockerfile) ## Configuration From a911a3b327bf245c81b90b82e772ec42bc420532 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Fri, 25 Mar 2022 18:26:15 +0000 Subject: [PATCH 12/25] 2.4.2-debian-10-r9 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 2 +- .../debian-10/prebuildfs/opt/bitnami/scripts/libwebserver.sh | 4 ---- .../rootfs/opt/bitnami/scripts/harbor-exporter-env.sh | 1 + bitnami/harbor-exporter/README.md | 2 +- 4 files changed, 3 insertions(+), 6 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index 93a0031e0243..04aa26ca47ef 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -19,7 +19,7 @@ COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh ENV APP_VERSION="2.4.2" \ BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r8" \ + BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r9" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libwebserver.sh b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libwebserver.sh index 503650210583..818c2158032b 100644 --- a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libwebserver.sh +++ b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/scripts/libwebserver.sh @@ -392,10 +392,6 @@ web_server_update_app_configuration() { --hosts \ | --server-name \ | --server-aliases \ - | --enable-http \ - | --enable-https \ - | --disable-http \ - | --disable-https \ | --http-port \ | --https-port \ ) diff --git a/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/harbor-exporter-env.sh b/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/harbor-exporter-env.sh index 1287caa9af7e..942c7a3f5fb0 100644 --- a/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/harbor-exporter-env.sh +++ b/bitnami/harbor-exporter/2/debian-10/rootfs/opt/bitnami/scripts/harbor-exporter-env.sh @@ -9,6 +9,7 @@ # 4. Environment variables set externally (i.e. current Bash context/Dockerfile/userdata) # Load logging library +# shellcheck disable=SC1090,SC1091 . /opt/bitnami/scripts/liblog.sh export BITNAMI_ROOT_DIR="/opt/bitnami" diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index ec948ae490f2..2d7415227d4d 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r8`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r8/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r9`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r9/2/debian-10/Dockerfile) ## Configuration From c353ff937f59a8eb59cc960005c9b6849fea05ea Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Sat, 26 Mar 2022 18:37:22 +0000 Subject: [PATCH 13/25] 2.4.2-debian-10-r10 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 2 +- bitnami/harbor-exporter/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index 04aa26ca47ef..7cae9d30f1e7 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -19,7 +19,7 @@ COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh ENV APP_VERSION="2.4.2" \ BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r9" \ + BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r10" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index 2d7415227d4d..149d1781236f 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r9`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r9/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r10`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r10/2/debian-10/Dockerfile) ## Configuration From 3a51587a0a556371db00ca228d476ed0a397d3c9 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Sun, 27 Mar 2022 19:41:39 +0000 Subject: [PATCH 14/25] 2.4.2-debian-10-r11 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 2 +- bitnami/harbor-exporter/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index 7cae9d30f1e7..4b7242841dc9 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -19,7 +19,7 @@ COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh ENV APP_VERSION="2.4.2" \ BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r10" \ + BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r11" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index 149d1781236f..a5e651a68692 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r10`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r10/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r11`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r11/2/debian-10/Dockerfile) ## Configuration From 9b7609313cd69d0447cab8c14f6eec867cd13d8f Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Mon, 28 Mar 2022 19:54:42 +0000 Subject: [PATCH 15/25] 2.4.2-debian-10-r12 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 2 +- bitnami/harbor-exporter/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index 4b7242841dc9..39ab1479fd2f 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -19,7 +19,7 @@ COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh ENV APP_VERSION="2.4.2" \ BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r11" \ + BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r12" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index a5e651a68692..d4d0623f9c19 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r11`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r11/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r12`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r12/2/debian-10/Dockerfile) ## Configuration From 7173d5b98722fe8485d51de4f4b7527594640ad1 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Tue, 29 Mar 2022 12:03:33 +0000 Subject: [PATCH 16/25] 2.4.2-debian-10-r13 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 4 ++-- .../debian-10/prebuildfs/opt/bitnami/.bitnami_components.json | 4 ++-- bitnami/harbor-exporter/README.md | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index 39ab1479fd2f..0a12c2e966e4 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -9,7 +9,7 @@ ENV HOME="/" \ COPY prebuildfs / # Install required system packages and dependencies RUN install_packages acl ca-certificates curl gzip libc6 procps tar -RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "harbor-exporter" "2.4.2-1" --checksum fbb70f9fafd4c94d6a3a8cf43125bd2b2949f9c89732b4f45720a51a2f134b6e +RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "harbor-exporter" "2.4.2-2" --checksum 97a98b76b082423b013f0b16169ba0235518896eb9a7aaf927b1a43d035ae81a RUN . /opt/bitnami/scripts/libcomponent.sh && component_unpack "gosu" "1.14.0-7" --checksum d6280b6f647a62bf6edc74dc8e526bfff63ddd8067dcb8540843f47203d9ccf1 RUN apt-get update && apt-get upgrade -y && \ rm -r /var/lib/apt/lists /var/cache/apt/archives @@ -19,7 +19,7 @@ COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh ENV APP_VERSION="2.4.2" \ BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r12" \ + BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r13" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json index 8cc81ec61fb4..06419f69c6b5 100644 --- a/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json +++ b/bitnami/harbor-exporter/2/debian-10/prebuildfs/opt/bitnami/.bitnami_components.json @@ -8,9 +8,9 @@ }, "harbor-exporter": { "arch": "amd64", - "digest": "fbb70f9fafd4c94d6a3a8cf43125bd2b2949f9c89732b4f45720a51a2f134b6e", + "digest": "97a98b76b082423b013f0b16169ba0235518896eb9a7aaf927b1a43d035ae81a", "distro": "debian-10", "type": "NAMI", - "version": "2.4.2-1" + "version": "2.4.2-2" } } \ No newline at end of file diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index d4d0623f9c19..ab18e0672e6e 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r12`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r12/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r13`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r13/2/debian-10/Dockerfile) ## Configuration From c5ef6c1b91bfe9269389d912743408ae0d4ec7e5 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Wed, 30 Mar 2022 12:30:55 +0000 Subject: [PATCH 17/25] 2.4.2-debian-10-r14 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 2 +- bitnami/harbor-exporter/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index 0a12c2e966e4..a79bb3bcf081 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -19,7 +19,7 @@ COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh ENV APP_VERSION="2.4.2" \ BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r13" \ + BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r14" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index ab18e0672e6e..6cd35f8e32e9 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r13`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r13/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r14`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r14/2/debian-10/Dockerfile) ## Configuration From f2e6bec2a405e3664b1163852b44cd1c3521f679 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Thu, 31 Mar 2022 12:49:27 +0000 Subject: [PATCH 18/25] 2.4.2-debian-10-r15 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 2 +- bitnami/harbor-exporter/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index a79bb3bcf081..cf2f455ec260 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -19,7 +19,7 @@ COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh ENV APP_VERSION="2.4.2" \ BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r14" \ + BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r15" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index 6cd35f8e32e9..7f10f5168230 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r14`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r14/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r15`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r15/2/debian-10/Dockerfile) ## Configuration From 766c996f3c1e9fa7fd703e1a4fc610c8674cbdd0 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Fri, 1 Apr 2022 16:40:55 +0000 Subject: [PATCH 19/25] 2.4.2-debian-10-r16 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 2 +- bitnami/harbor-exporter/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index cf2f455ec260..8c2ded1e57bf 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -19,7 +19,7 @@ COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh ENV APP_VERSION="2.4.2" \ BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r15" \ + BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r16" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index 7f10f5168230..a212ee5f72f4 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r15`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r15/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r16`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r16/2/debian-10/Dockerfile) ## Configuration From 8ce79c38edeae47cbec76d2c834fa7f30e5d3151 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Sat, 2 Apr 2022 16:51:47 +0000 Subject: [PATCH 20/25] 2.4.2-debian-10-r17 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 2 +- bitnami/harbor-exporter/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index 8c2ded1e57bf..8e341904e48c 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -19,7 +19,7 @@ COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh ENV APP_VERSION="2.4.2" \ BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r16" \ + BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r17" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index a212ee5f72f4..0594438414ca 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r16`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r16/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r17`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r17/2/debian-10/Dockerfile) ## Configuration From 5e61fac8f00f72db4f7796442f7489836234f4fe Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Sun, 3 Apr 2022 17:05:21 +0000 Subject: [PATCH 21/25] 2.4.2-debian-10-r18 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 2 +- bitnami/harbor-exporter/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index 8e341904e48c..22c24f7a2e38 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -19,7 +19,7 @@ COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh ENV APP_VERSION="2.4.2" \ BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r17" \ + BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r18" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index 0594438414ca..3c0b2514c162 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r17`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r17/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r18`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r18/2/debian-10/Dockerfile) ## Configuration From 279ffc475d73a837fb972967819566e3d4432c1a Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Tue, 5 Apr 2022 05:24:45 +0000 Subject: [PATCH 22/25] 2.4.2-debian-10-r19 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 2 +- bitnami/harbor-exporter/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index 22c24f7a2e38..9524a1a4560f 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -19,7 +19,7 @@ COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh ENV APP_VERSION="2.4.2" \ BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r18" \ + BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r19" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index 3c0b2514c162..67d56e039d5c 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r18`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r18/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r19`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r19/2/debian-10/Dockerfile) ## Configuration From 004b2a51b095af624c007d428d3556f8175f6973 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Wed, 6 Apr 2022 05:40:20 +0000 Subject: [PATCH 23/25] 2.4.2-debian-10-r20 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 2 +- bitnami/harbor-exporter/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index 9524a1a4560f..1666f2a44d9d 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -19,7 +19,7 @@ COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh ENV APP_VERSION="2.4.2" \ BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r19" \ + BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r20" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index 67d56e039d5c..a32d349b891b 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r19`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r19/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r20`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r20/2/debian-10/Dockerfile) ## Configuration From e3b30fdd91856a53e812de1f48ceba19819bda4f Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Thu, 7 Apr 2022 05:54:57 +0000 Subject: [PATCH 24/25] 2.4.2-debian-10-r21 release --- bitnami/harbor-exporter/2/debian-10/Dockerfile | 1 - bitnami/harbor-exporter/README.md | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/bitnami/harbor-exporter/2/debian-10/Dockerfile b/bitnami/harbor-exporter/2/debian-10/Dockerfile index 1666f2a44d9d..1a43d6baf641 100644 --- a/bitnami/harbor-exporter/2/debian-10/Dockerfile +++ b/bitnami/harbor-exporter/2/debian-10/Dockerfile @@ -19,7 +19,6 @@ COPY rootfs / RUN /opt/bitnami/scripts/harbor-exporter/postunpack.sh ENV APP_VERSION="2.4.2" \ BITNAMI_APP_NAME="harbor-exporter" \ - BITNAMI_IMAGE_VERSION="2.4.2-debian-10-r20" \ PATH="/opt/bitnami/harbor-exporter/bin:/opt/bitnami/common/bin:$PATH" EXPOSE 9090 diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index a32d349b891b..f141665a854c 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r20`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r20/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r21`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r21/2/debian-10/Dockerfile) ## Configuration From a13195f5f8368d7ee8cfc2ebfcefa4afe931bec9 Mon Sep 17 00:00:00 2001 From: Bitnami Bot Date: Fri, 8 Apr 2022 06:07:24 +0000 Subject: [PATCH 25/25] 2.4.2-debian-10-r22 release --- bitnami/harbor-exporter/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bitnami/harbor-exporter/README.md b/bitnami/harbor-exporter/README.md index f141665a854c..336f3027e54f 100644 --- a/bitnami/harbor-exporter/README.md +++ b/bitnami/harbor-exporter/README.md @@ -44,7 +44,7 @@ Non-root container images add an extra layer of security and are generally recom Learn more about the Bitnami tagging policy and the difference between rolling tags and immutable tags [in our documentation page](https://docs.bitnami.com/tutorials/understand-rolling-tags-containers/). -* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r21`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r21/2/debian-10/Dockerfile) +* [`2`, `2-debian-10`, `2.4.2`, `2.4.2-debian-10-r22`, `latest` (2/debian-10/Dockerfile)](https://github.com/bitnami/bitnami-docker-harbor-exporter/blob/2.4.2-debian-10-r22/2/debian-10/Dockerfile) ## Configuration