diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 82dd703..cf4b6f2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -16,6 +16,11 @@ jobs: steps: - uses: actions/checkout@v3 + - name: Activate twingate to access artifactory + uses: twingate/github-action@main + with: + service-key: ${{ secrets.TWINGATE_PUBLIC_REPO_KEY }} + - name: Get New Chart Version id: nv run: | diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 374e8f8..7afe28d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,6 +15,11 @@ jobs: clean: true fetch-depth: 0 + - name: Activate twingate to access artifactory + uses: twingate/github-action@main + with: + service-key: ${{ secrets.TWINGATE_PUBLIC_REPO_KEY }} + - uses: azure/setup-helm@v3 - uses: actions/setup-python@v4 @@ -25,4 +30,4 @@ jobs: uses: helm/chart-testing-action@v2 - name: Run chart-testing (lint) - run: ct lint --chart-dirs helm-charts --all --validate-maintainers=false --chart-repos bitnami=https://charts.bitnami.com/bitnami + run: ct lint --chart-dirs helm-charts --all --validate-maintainers=false --chart-repos artifactory=https://artifactory.delivery.puppetlabs.net/artifactory/helm__local diff --git a/.gitignore b/.gitignore index 2bc363e..5200151 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,6 @@ /*/**/vendor/bundle/ -/docker/**/vmpooler.yaml +/docker/data/vmpooler*.yaml /docker/data/*.json .vagrant/ .idea/ helm-charts/vmpooler/charts/ -/docker/data/redis/** -!docker/data/**/*.yaml -!docker/data/**/.gitkeep \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index d5a41cf..463c399 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,152 @@ # Changelog +## [3.9.1](https://github.com/puppetlabs/vmpooler-deployment/tree/3.9.1) (2025-08-01) + +[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/3.9.0...3.9.1) + +**Merged pull requests:** + +- \(P4DEVOPS-7373\) Use artifactory instead of bitnami repos [\#166](https://github.com/puppetlabs/vmpooler-deployment/pull/166) ([isaac-hammes](https://github.com/isaac-hammes)) + +## [3.9.0](https://github.com/puppetlabs/vmpooler-deployment/tree/3.9.0) (2025-06-05) + +[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/3.8.3...3.9.0) + +**Merged pull requests:** + +- \(maint\) Update vmpooler to version 3.7.0 [\#162](https://github.com/puppetlabs/vmpooler-deployment/pull/162) ([isaac-hammes](https://github.com/isaac-hammes)) + +## [3.8.3](https://github.com/puppetlabs/vmpooler-deployment/tree/3.8.3) (2025-01-30) + +[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/3.8.2...3.8.3) + +**Implemented enhancements:** + +- Update memory limit for api pod to 4G [\#159](https://github.com/puppetlabs/vmpooler-deployment/pull/159) ([mahikalra](https://github.com/mahikalra)) + +## [3.8.2](https://github.com/puppetlabs/vmpooler-deployment/tree/3.8.2) (2024-07-25) + +[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/3.7.0...3.8.2) + +**Implemented enhancements:** + +- \(RE-15696\) Local Development - Add Grafana and remove redis mount [\#147](https://github.com/puppetlabs/vmpooler-deployment/pull/147) ([yachub](https://github.com/yachub)) + +**Fixed bugs:** + +- vsphere [\#153](https://github.com/puppetlabs/vmpooler-deployment/issues/153) + +**Merged pull requests:** + +- \(maint\) Burn the 3.8.0 release and try building again [\#156](https://github.com/puppetlabs/vmpooler-deployment/pull/156) ([e-gris](https://github.com/e-gris)) +- \(maint\) empty commit for redeploy attempt [\#155](https://github.com/puppetlabs/vmpooler-deployment/pull/155) ([e-gris](https://github.com/e-gris)) +- Bump jruby from 9.4.5.0-jdk11 to 9.4.7.0-jdk11 in /docker [\#152](https://github.com/puppetlabs/vmpooler-deployment/pull/152) ([dependabot[bot]](https://github.com/apps/dependabot)) +- Bump jruby from 9.4.3.0-jdk11 to 9.4.5.0-jdk11 in /docker [\#149](https://github.com/puppetlabs/vmpooler-deployment/pull/149) ([dependabot[bot]](https://github.com/apps/dependabot)) + +## [3.7.0](https://github.com/puppetlabs/vmpooler-deployment/tree/3.7.0) (2023-10-05) + +[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/3.6.0...3.7.0) + +**Implemented enhancements:** + +- Gem dependency updates [\#145](https://github.com/puppetlabs/vmpooler-deployment/pull/145) ([yachub](https://github.com/yachub)) + +**Fixed bugs:** + +- \(RE-15163\) Call BGREWRITEAOF on the redis database every restart to reduce aof file size [\#144](https://github.com/puppetlabs/vmpooler-deployment/pull/144) ([isaac-hammes](https://github.com/isaac-hammes)) + +## [3.6.0](https://github.com/puppetlabs/vmpooler-deployment/tree/3.6.0) (2023-09-07) + +[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/3.5.3...3.6.0) + +**Implemented enhancements:** + +- \(RE-15565\) Make auth config customizable and remove default dummy auth [\#142](https://github.com/puppetlabs/vmpooler-deployment/pull/142) ([yachub](https://github.com/yachub)) + +## [3.5.3](https://github.com/puppetlabs/vmpooler-deployment/tree/3.5.3) (2023-08-30) + +[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/3.5.2...3.5.3) + +**Fixed bugs:** + +- \(maint\) Update vmpooler-provider-vsphere to 3.3.4 [\#139](https://github.com/puppetlabs/vmpooler-deployment/pull/139) ([isaac-hammes](https://github.com/isaac-hammes)) + +## [3.5.2](https://github.com/puppetlabs/vmpooler-deployment/tree/3.5.2) (2023-08-28) + +[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/3.5.1...3.5.2) + +**Fixed bugs:** + +- \(maint\) Update vmpooler-provider-vsphere to 3.3.3 [\#137](https://github.com/puppetlabs/vmpooler-deployment/pull/137) ([isaac-hammes](https://github.com/isaac-hammes)) + +## [3.5.1](https://github.com/puppetlabs/vmpooler-deployment/tree/3.5.1) (2023-08-24) + +[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/3.5.0...3.5.1) + +**Fixed bugs:** + +- \(maint\) Bump vmpooler gem to 3.5.1 [\#135](https://github.com/puppetlabs/vmpooler-deployment/pull/135) ([yachub](https://github.com/yachub)) + +## [3.5.0](https://github.com/puppetlabs/vmpooler-deployment/tree/3.5.0) (2023-08-23) + +[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/3.4.1...3.5.0) + +**Implemented enhancements:** + +- \(maint\) Update vmpooler to 3.5.0 and vmpooler-provider-vsphere to 3.3.2 [\#131](https://github.com/puppetlabs/vmpooler-deployment/pull/131) ([isaac-hammes](https://github.com/isaac-hammes)) + +## [3.4.1](https://github.com/puppetlabs/vmpooler-deployment/tree/3.4.1) (2023-08-22) + +[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/3.4.0...3.4.1) + +**Fixed bugs:** + +- \(RE-15710\) Bump vmpooler-provider-vsphere gem to 3.3.1 [\#129](https://github.com/puppetlabs/vmpooler-deployment/pull/129) ([yachub](https://github.com/yachub)) + +## [3.4.0](https://github.com/puppetlabs/vmpooler-deployment/tree/3.4.0) (2023-08-21) + +[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/3.3.0...3.4.0) + +**Implemented enhancements:** + +- \(maint\) Update vmpooler to 3.4.0, vmpooler-provider-gce to 1.3.0, and… [\#124](https://github.com/puppetlabs/vmpooler-deployment/pull/124) ([isaac-hammes](https://github.com/isaac-hammes)) + +## [3.3.0](https://github.com/puppetlabs/vmpooler-deployment/tree/3.3.0) (2023-08-16) + +[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/3.2.0...3.3.0) + +**Implemented enhancements:** + +- \(maint\) update redis\_reconnect\_attempts format and vmpooler gem [\#114](https://github.com/puppetlabs/vmpooler-deployment/pull/114) ([isaac-hammes](https://github.com/isaac-hammes)) +- \(RE-15696\) Improve development experience [\#113](https://github.com/puppetlabs/vmpooler-deployment/pull/113) ([yachub](https://github.com/yachub)) + +**Closed issues:** + +- Improve DevX [\#112](https://github.com/puppetlabs/vmpooler-deployment/issues/112) + +## [3.2.0](https://github.com/puppetlabs/vmpooler-deployment/tree/3.2.0) (2023-08-10) + +[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/3.1.0...3.2.0) + +**Implemented enhancements:** + +- Bump jruby and all vmpooler gems [\#110](https://github.com/puppetlabs/vmpooler-deployment/pull/110) ([yachub](https://github.com/yachub)) +- \(RE-15638\) Make redis connection options configurable [\#108](https://github.com/puppetlabs/vmpooler-deployment/pull/108) ([yachub](https://github.com/yachub)) + +## [3.1.0](https://github.com/puppetlabs/vmpooler-deployment/tree/3.1.0) (2023-05-01) + +[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/3.0.0...3.1.0) + +**Implemented enhancements:** + +- Explicit JDK Tag and Newer Java Compatibility [\#85](https://github.com/puppetlabs/vmpooler-deployment/issues/85) +- Bump all vmpooler gems [\#103](https://github.com/puppetlabs/vmpooler-deployment/pull/103) ([yachub](https://github.com/yachub)) + +**Merged pull requests:** + +- Migrate issue management to Jira [\#102](https://github.com/puppetlabs/vmpooler-deployment/pull/102) ([yachub](https://github.com/yachub)) +- Bump jruby from 9.4.1.0-jdk11 to 9.4.2.0-jdk11 in /docker [\#99](https://github.com/puppetlabs/vmpooler-deployment/pull/99) ([dependabot[bot]](https://github.com/apps/dependabot)) + ## [3.0.0](https://github.com/puppetlabs/vmpooler-deployment/tree/3.0.0) (2023-04-19) [Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/2.2.0...3.0.0) diff --git a/README.md b/README.md index 3582fd8..c7d7202 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,22 @@ # vmpooler-deployment -- [VMPooler Components](#vmpooler-components) -- [Docker Registry](#docker-registry) -- [Helm Repository](#helm-repository) - - [Adding / updating charts](#adding--updating-charts) -- [Development](#development) - - [Docker Compose URLs](#docker-compose-urls) - - [Deploy Chart for Testing](#deploy-chart-for-testing) -- [Releasing](#releasing) -- [Contributing](#contributing) -- [License](#license) +- [vmpooler-deployment](#vmpooler-deployment) + - [VMPooler Components](#vmpooler-components) + - [Docker Registry](#docker-registry) + - [Helm Repository](#helm-repository) + - [Adding / updating charts](#adding--updating-charts) + - [Development](#development) + - [Docker Compose URLs](#docker-compose-urls) + - [Deploy Chart for Testing](#deploy-chart-for-testing) + - [Releasing](#releasing) + - [Contributing](#contributing) + - [License](#license) -This repo contains Dockerfiles and a Helm chart that can be used to deploy [VMPooler](https://github.com/puppetlabs/vmpooler). The Release Engineering team at Puppet uses the code here as part of operating our VMPooler instances. +Contains Dockerfiles and a Helm chart that are used to deploy [VMPooler](https://github.com/puppetlabs/vmpooler). ## VMPooler Components -The docker image gnerated and hosted by this project contain the following VMPooler components: +The docker image contains these VMPooler components: - [VMPooler Core](https://github.com/puppetlabs/vmpooler) - [VMPooler Google CloudDNS Plugin](https://github.com/puppetlabs/vmpooler-dns-google-clouddns) @@ -25,34 +26,34 @@ The docker image gnerated and hosted by this project contain the following VMPoo ## Docker Registry -The GitHub Actions in this repository publish images to GitHub Packages. You can browse the VMPooler containers [here](https://github.com/puppetlabs/vmpooler-deployment/pkgs/container/vmpooler-deployment%2Fvmpooler). +GitHub Actions publishes images to GitHub Packages. Browse the VMPooler containers: https://github.com/puppetlabs/vmpooler-deployment/pkgs/container/vmpooler-deployment%2Fvmpooler -The vmpooler officially released docker image tags use a semantic version, where the version increments correlate to the increments in any of the gems at `docker/Gemfile`. +The vmpooler released docker image tags use semantic versioning; the version increments correlate to the increments in any of the gems at `docker/Gemfile`. Image tags starting with `pr-` are generated when opening and pushing to a pull request and will periodically be cleaned up. ## Helm Repository -The `docs/` folder in this repository represents a Helm repository served via GitHub Pages at https://puppetlabs.github.io/vmpooler-deployment/ +The `docs` folder represents a Helm repository served via GitHub Pages at https://puppetlabs.github.io/vmpooler-deployment ```bash -$ helm repo add vmpooler-deployment https://puppetlabs.github.io/vmpooler-deployment/ +$ helm repo add vmpooler-deployment https://puppetlabs.github.io/vmpooler-deployment "vmpooler-deployment" has been added to your repositories ``` ### Adding / updating charts -Make the desired changes to the helm chart in helm-charts/vmpooler and run `./update-chart`. +Update the helm chart in helm-charts/vmpooler. Run `./update-chart`. ## Development Prerequisites: -- [Docker](https://docs.docker.com/engine/install/) -- [Docker Compose](https://docs.docker.com/compose/install/) +- [Docker](https://docs.docker.com/engine/install) +- [Docker Compose](https://docs.docker.com/compose/install) 1. Become familiar with the configuration file `docker/vmpooler.yaml` as described in [VMPooler](https://github.com/puppetlabs/vmpooler) Core. - - The default configuration file only enables the dummy provider built into [VMPooler](https://github.com/puppetlabs/vmpooler) Core. See each project below for documentation on how to use provider specific options: + - The default configuration file enables the dummy provider built into [VMPooler](https://github.com/puppetlabs/vmpooler) Core. See each project for documentation on how to use provider specific options: - [vmpooler-provider-ec2](https://github.com/puppetlabs/vmpooler-provider-ec2) - [vmpooler-provider-gce](https://github.com/puppetlabs/vmpooler-provider-gce) - [vmpooler-provider-vsphere](https://github.com/puppetlabs/vmpooler-provider-vsphere) @@ -64,37 +65,41 @@ Prerequisites: ```bash |-- vmpooler-projects + | |--vmpooler | |--vmpooler-deployment - | |--vmpooler-dns-google-clouddns + | |--vmpooler-dns-gcp | |--vmpooler-provider-ec2 | |--vmpooler-provider-gce | |--vmpooler-provider-vsphere ``` - 2. From the `vmpooler-projects` directory run `docker build -t vmpooler-local -f vmpooler-deployment/docker/Dockerfile.local .` - 3. Run `docker compose -f vmpooler-deployment/docker/docker-compose.local.yml up` + 2. From the `vmpooler-projects/vmpooler-deployment` directory run `docker compose -f docker/docker-compose.dev.yml up --build` - Develop via Git source: - 4. For the component(s) you are developing on, commit and push changes to a branch. - 5. Change to the `docker` directory and modify the `Gemfile` as needed to pull the gem(s) from your git branch. - 6. Run `./update-gemfile-lock` to update the `Gemfile.lock` - 7. Run `docker compose build && docker compose up`. + 1. For the component(s) you are developing on, commit and push changes to a branch. + 2. Change to the `docker` directory and modify the `Gemfile` as needed to pull the gem(s) from your git branch. + 3. Run `./update-gemfile-lock` to update the `Gemfile.lock` + 4. Run `docker compose build && docker compose up`. -When a dependency Helm chart is updated, be sure to run `./update-chart-lock` to update the lockfile, otherwise the test and release workflows will fail. +When a dependency Helm chart is updated, always run `./update-chart-lock` to update the lockfile, otherwise the test and release workflows will fail. ### Docker Compose URLs -These are the default ports used in the docker compose file, to change them edit the `ports` key under the desired service in either `docker/docker-compose.yml` or `docker/docker-compose.local.yml`. +These are the default ports used in the docker compose file. To change them edit the `ports` key under the service in either `docker/docker-compose.yml` or `docker/docker-compose.local.yml`. -| App/Endpoint | Path | -|--------------------|-------------------------------------------------------------| -| Redis Server | `localhost:6379` (Password: `vmpooler`) | -| Redis Commander | (Credentials: `admin:admin`) | -| Jaeger | -| VMPooler API | | -| VMPooler Dashboard | | -| Metrics (API) | | -| Metrics (Manager) | | +Tracing data is sent to the Jaeger instance, a prometheus server scrapes metrics, and both are pre-configured in Grafana as datasources for easy visualization and history of data. + +| App/Endpoint | Path | +|--------------------|--------------------------------------------------------------| +| Redis Server | `localhost:6379` (Password: `vmpooler`) | +| Redis Commander | (Credentials: `admin:admin`) | +| Jaeger | | +| VMPooler API | | +| VMPooler Dashboard | | +| Metrics (API) | | +| Metrics (Manager) | | +| Prometheus Server | | +| Grafana Server | (Credentials: `admin:admin`) | ### Deploy Chart for Testing @@ -110,22 +115,18 @@ Artifactory Example: Create a GitHub tag and release, publish a new docker image, and helm chart by opening a release prep pull request and running the release action below. -**NOTE**: Due to the GitHub limitation that does not allow any method of bypassing status checks on a protected branch, the process below will technically publish the helm chart pointing to a nonexistent docker tag until the release workflow is run. +**NOTE**: Due to the GitHub limitation that does not allow any method of bypassing status checks on a protected branch, the process below will publish the helm chart pointing to a nonexistent docker tag until the release workflow is run. -1. Bump the "appVersion" key in `helm-charts/vmpooler/Chart.yaml` appropriately based on changes to `docker/Gemfile` and `docker/Gemfile.lock` in merged pull requests since the last release. +1. Increment the "appVersion" key in `helm-charts/vmpooler/Chart.yaml` appropriately based on changes to `docker/Gemfile` and `docker/Gemfile.lock` in merged pull requests since the last release. - This key pertains to the docker tag that will be pushed upon release. -2. Bump the "version" key in `helm-charts/vmpooler/Chart.yaml` appropriately based on changes to the chart itself and increments of the "appVersion" in merged pull requests since the last release. +2. Increment the "version" key in `helm-charts/vmpooler/Chart.yaml` appropriately based on changes to the chart itself and increments of the "appVersion" in merged pull requests since the last release. - This key pertains to the helm chart verison that will be pushed upon release. 3. Run `./update-changelog` to update `CHANGELOG.md`. 4. Run `./build-chart` to package the new chart and update the repo index. -5. Commit and push changes to a new branch, then open a pull request against `main` and be sure to add the "maintenance" label. +5. Commit and push changes to a new branch then open a pull request against `main` and be sure to add the "maintenance" label. 6. After the pull request is approved and merged, then navigate to Actions --> Docker and Helm Release --> run workflow --> Branch: main --> Run workflow. - This action will push a tagged docker image to the GitHub container registry and helm chart to GitHub pages. -## Contributing - -We welcome and encourage contributions! - ## License vmpooler-deployment is distributed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html). See the [LICENSE](LICENSE) file for more details. diff --git a/build-chart b/build-chart index ffe8010..cfb6c32 100755 --- a/build-chart +++ b/build-chart @@ -1,4 +1,7 @@ #!/usr/bin/env bash -docker run --rm -it -v $(pwd):/apps --entrypoint /bin/sh alpine/helm \ - -c 'helm repo add bitnami https://charts.bitnami.com/bitnami && cd /apps/helm-charts/vmpooler && helm dependency update && cd /apps/docs && helm package ../helm-charts/* && helm repo index --url https://puppetlabs.github.io/vmpooler-deployment/ .' +set -e +set -x + +docker run --rm --interactive --tty --volume=$(pwd):/apps \ + --entrypoint /bin/sh alpine/helm ./helm-package diff --git a/docker/.dockerignore b/docker/.dockerignore index 5052e88..9139fa7 100644 --- a/docker/.dockerignore +++ b/docker/.dockerignore @@ -1,6 +1,8 @@ # Exclude everything by default; explicitly include necessary files * -!Gemfile -!Gemfile.lock -!Gemfile.local +!.rerun +!docker-entrypoint.dev.sh !docker-entrypoint.sh +!Gemfile +!Gemfile.dev +!Gemfile.lock diff --git a/docker/.rerun b/docker/.rerun new file mode 100644 index 0000000..62d33dd --- /dev/null +++ b/docker/.rerun @@ -0,0 +1,2 @@ +--dir /opt/vmpooler-projects/ +--pattern **/lib/**/*.{erb,rb} diff --git a/docker/Dockerfile b/docker/Dockerfile index 869a62f..5921d83 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -8,7 +8,7 @@ # RUN: # docker run -e VMPOOLER_CONFIG -p 80:4567 -it vmpooler -FROM jruby:9.4.1.0-jdk11 +FROM jruby:9.4.7.0-jdk11 LABEL org.opencontainers.image.description "VMPooler plus all known providers" @@ -31,7 +31,7 @@ RUN chmod +x /usr/local/bin/docker-entrypoint.sh COPY ./Gemfile* ./ -RUN bundle config set --local jobs 3 && \ +RUN bundle config set --local jobs 3 without development && \ bundle install ENTRYPOINT ["docker-entrypoint.sh"] diff --git a/docker/Dockerfile.local b/docker/Dockerfile.dev similarity index 65% rename from docker/Dockerfile.local rename to docker/Dockerfile.dev index 76590cf..01413f5 100644 --- a/docker/Dockerfile.local +++ b/docker/Dockerfile.dev @@ -9,7 +9,7 @@ # Then change directory into vmpooler-projects and build with: -FROM jruby:9.4.1.0-jdk11 +FROM jruby:9.4.7.0-jdk11 LABEL org.opencontainers.image.description "VMPooler plus all known providers" @@ -24,21 +24,15 @@ RUN apt-get update -qq && \ apt-get autoremove -y && \ rm -rf /var/lib/apt/lists/* -COPY vmpooler /opt/vmpooler -COPY vmpooler-dns-gcp /opt/vmpooler-dns-gcp -COPY vmpooler-provider-ec2 /opt/vmpooler-provider-ec2 -COPY vmpooler-provider-gce /opt/vmpooler-provider-gce -COPY vmpooler-provider-vsphere /opt/vmpooler-provider-vsphere - RUN gem install bundler -COPY vmpooler-deployment/docker/docker-entrypoint.sh /usr/local/bin/ +COPY docker-entrypoint.dev.sh /usr/local/bin/docker-entrypoint.sh RUN chmod +x /usr/local/bin/docker-entrypoint.sh -COPY vmpooler-deployment/docker/Gemfile.local ./Gemfile +COPY Gemfile.dev ./Gemfile +COPY .rerun ./.rerun -RUN bundle config set --local jobs 3 && \ - bundle install +RUN bundle config set --local jobs 3 ENTRYPOINT ["docker-entrypoint.sh"] diff --git a/docker/Gemfile.dev b/docker/Gemfile.dev new file mode 100644 index 0000000..1a54702 --- /dev/null +++ b/docker/Gemfile.dev @@ -0,0 +1,11 @@ +source ENV['GEM_SOURCE'] || 'https://rubygems.org' + +gem 'vmpooler', path: '/opt/vmpooler-projects/vmpooler' +gem 'vmpooler-dns-gcp', path: '/opt/vmpooler-projects/vmpooler-dns-gcp' +# gem 'vmpooler-provider-ec2', path: '/opt/vmpooler-projects/vmpooler-provider-ec2' +gem 'vmpooler-provider-gce', path: '/opt/vmpooler-projects/vmpooler-provider-gce' +gem 'vmpooler-provider-vsphere', path: '/opt/vmpooler-projects/vmpooler-provider-vsphere' + +group :development do + gem 'rerun', '~> 0.14' +end diff --git a/docker/Gemfile.local b/docker/Gemfile.local deleted file mode 100644 index 7613050..0000000 --- a/docker/Gemfile.local +++ /dev/null @@ -1,7 +0,0 @@ -source ENV['GEM_SOURCE'] || 'https://rubygems.org' - -gem 'vmpooler', path: '/opt/vmpooler' -gem 'vmpooler-dns-gcp', path: '/opt/vmpooler-dns-gcp' -gem 'vmpooler-provider-ec2', path: '/opt/vmpooler-provider-ec2' -gem 'vmpooler-provider-gce', path: '/opt/vmpooler-provider-gce' -gem 'vmpooler-provider-vsphere', path: '/opt/vmpooler-provider-vsphere' \ No newline at end of file diff --git a/docker/Gemfile.lock b/docker/Gemfile.lock index a4cb8df..bd05a4a 100644 --- a/docker/Gemfile.lock +++ b/docker/Gemfile.lock @@ -1,21 +1,24 @@ GEM remote: https://rubygems.org/ specs: - addressable (2.8.4) - public_suffix (>= 2.0.2, < 6.0) - bindata (2.4.15) - builder (3.2.4) - concurrent-ruby (1.2.2) - connection_pool (2.4.0) + addressable (2.8.8) + public_suffix (>= 2.0.2, < 8.0) + base64 (0.3.0) + bindata (2.5.1) + builder (3.3.0) + concurrent-ruby (1.3.6) + connection_pool (2.5.5) declarative (0.0.20) deep_merge (1.2.2) - faraday (2.7.4) - faraday-net_http (>= 2.0, < 3.1) - ruby2_keywords (>= 0.0.4) - faraday-net_http (3.0.2) - google-apis-compute_v1 (0.66.0) + faraday (2.14.0) + faraday-net_http (>= 2.0, < 3.5) + json + logger + faraday-net_http (3.4.2) + net-http (~> 0.5) + google-apis-compute_v1 (0.86.0) google-apis-core (>= 0.11.0, < 2.a) - google-apis-core (0.11.0) + google-apis-core (0.11.3) addressable (~> 2.5, >= 2.5.1) googleauth (>= 0.16.2, < 2.a) httpclient (>= 2.8.1, < 3.a) @@ -23,20 +26,20 @@ GEM representable (~> 3.0) retriable (>= 2.0, < 4.a) rexml - webrick - google-apis-dns_v1 (0.32.0) + google-apis-dns_v1 (0.36.0) google-apis-core (>= 0.11.0, < 2.a) - google-cloud-core (1.6.0) - google-cloud-env (~> 1.0) + google-cloud-core (1.8.0) + google-cloud-env (>= 1.0, < 3.a) google-cloud-errors (~> 1.0) google-cloud-dns (0.35.1) google-apis-dns_v1 (~> 0.1) google-cloud-core (~> 1.6) googleauth (>= 0.16.2, < 2.a) zonefile (~> 1.04) - google-cloud-env (1.6.0) - faraday (>= 0.17.3, < 3.0) - google-cloud-errors (1.3.1) + google-cloud-env (2.3.1) + base64 (~> 0.2) + faraday (>= 1.0, < 3.a) + google-cloud-errors (1.5.0) googleauth (1.2.0) faraday (>= 0.17.3, < 3.a) jwt (>= 1.4, < 3.0) @@ -44,130 +47,152 @@ GEM multi_json (~> 1.11) os (>= 0.9, < 2.0) signet (>= 0.16, < 2.a) - httpclient (2.8.3) - json (2.6.3-java) - jwt (2.7.0) + httpclient (2.9.0) + mutex_m + json (2.18.0-java) + jwt (2.10.2) + base64 + logger (1.7.0) memoist (0.16.2) - mini_mime (1.1.2) - multi_json (1.15.0) - mustermann (2.0.2) + mini_mime (1.1.5) + multi_json (1.19.1) + mustermann (3.0.4) ruby2_keywords (~> 0.0.1) - net-ldap (0.18.0) - nio4r (2.5.9-java) - nokogiri (1.14.3-java) + mutex_m (0.3.0) + net-http (0.9.1) + uri (>= 0.11.1) + net-ldap (0.20.0) + base64 + ostruct + nio4r (2.7.5-java) + nokogiri (1.18.10-java) racc (~> 1.4) - opentelemetry-api (1.1.0) - opentelemetry-common (0.19.6) + opentelemetry-api (1.7.0) + opentelemetry-common (0.20.1) opentelemetry-api (~> 1.0) - opentelemetry-exporter-jaeger (0.20.1) - opentelemetry-api (~> 1.0) - opentelemetry-common (~> 0.19.2) - opentelemetry-sdk (~> 1.0) + opentelemetry-exporter-jaeger (0.23.0) + opentelemetry-api (~> 1.1) + opentelemetry-common (~> 0.20) + opentelemetry-sdk (~> 1.2) + opentelemetry-semantic_conventions thrift - opentelemetry-instrumentation-base (0.19.0) + opentelemetry-instrumentation-base (0.22.3) opentelemetry-api (~> 1.0) - opentelemetry-instrumentation-concurrent_ruby (0.19.2) + opentelemetry-registry (~> 0.1) + opentelemetry-instrumentation-concurrent_ruby (0.21.1) opentelemetry-api (~> 1.0) - opentelemetry-instrumentation-base (~> 0.19.0) - opentelemetry-instrumentation-http_client (0.19.4) + opentelemetry-instrumentation-base (~> 0.22.1) + opentelemetry-instrumentation-http_client (0.22.2) opentelemetry-api (~> 1.0) - opentelemetry-common (~> 0.19.3) - opentelemetry-instrumentation-base (~> 0.19.0) - opentelemetry-instrumentation-redis (0.21.3) + opentelemetry-common (~> 0.20.0) + opentelemetry-instrumentation-base (~> 0.22.1) + opentelemetry-instrumentation-rack (0.23.4) opentelemetry-api (~> 1.0) - opentelemetry-common (~> 0.19.3) - opentelemetry-instrumentation-base (~> 0.19.0) - opentelemetry-instrumentation-sinatra (0.19.3) + opentelemetry-common (~> 0.20.0) + opentelemetry-instrumentation-base (~> 0.22.1) + opentelemetry-instrumentation-redis (0.25.3) opentelemetry-api (~> 1.0) - opentelemetry-common (~> 0.19.3) - opentelemetry-instrumentation-base (~> 0.19.0) - opentelemetry-registry (0.2.0) + opentelemetry-common (~> 0.20.0) + opentelemetry-instrumentation-base (~> 0.22.1) + opentelemetry-instrumentation-sinatra (0.23.2) + opentelemetry-api (~> 1.0) + opentelemetry-common (~> 0.20.0) + opentelemetry-instrumentation-base (~> 0.22.1) + opentelemetry-instrumentation-rack (~> 0.21) + opentelemetry-registry (0.4.0) opentelemetry-api (~> 1.1) - opentelemetry-resource_detectors (0.19.1) + opentelemetry-resource_detectors (0.24.2) google-cloud-env - opentelemetry-sdk - opentelemetry-sdk (1.2.0) + opentelemetry-sdk (~> 1.0) + opentelemetry-sdk (1.10.0) opentelemetry-api (~> 1.1) - opentelemetry-common (~> 0.19.3) + opentelemetry-common (~> 0.20) opentelemetry-registry (~> 0.2) opentelemetry-semantic_conventions - opentelemetry-semantic_conventions (1.8.0) + opentelemetry-semantic_conventions (1.36.0) opentelemetry-api (~> 1.0) - optimist (3.0.1) + optimist (3.2.1) os (1.1.4) + ostruct (0.6.3) pickup (0.0.11) - prometheus-client (2.1.0) - public_suffix (5.0.1) - puma (5.6.5-java) + prometheus-client (4.2.5) + base64 + public_suffix (6.0.2) + puma (6.6.1-java) nio4r (~> 2.0) - racc (1.6.2-java) - rack (2.2.6.4) - rack-protection (2.2.4) - rack - rake (13.0.6) - rbvmomi2 (3.6.0) + racc (1.8.1-java) + rack (2.2.21) + rack-protection (3.2.0) + base64 (>= 0.1.0) + rack (~> 2.2, >= 2.2.4) + rake (13.3.1) + rbvmomi2 (3.8.0) builder (~> 3.2) json (~> 2.3) nokogiri (~> 1.12, >= 1.12.5) optimist (~> 3.0) - redis (4.8.1) + redis (5.4.1) + redis-client (>= 0.22.0) + redis-client (0.26.3) + connection_pool representable (3.2.0) declarative (< 0.1.0) trailblazer-option (>= 0.1.1, < 0.2.0) uber (< 0.2.0) retriable (3.1.2) - rexml (3.2.5) + rexml (3.4.4) ruby2_keywords (0.0.5) - signet (0.17.0) + signet (0.21.0) addressable (~> 2.8) faraday (>= 0.17.5, < 3.a) - jwt (>= 1.5, < 3.0) + jwt (>= 1.5, < 4.0) multi_json (~> 1.10) - sinatra (2.2.4) - mustermann (~> 2.0) - rack (~> 2.2) - rack-protection (= 2.2.4) + sinatra (3.2.0) + mustermann (~> 3.0) + rack (~> 2.2, >= 2.2.4) + rack-protection (= 3.2.0) tilt (~> 2.0) spicy-proton (2.1.15) bindata (~> 2.3) statsd-ruby (1.5.0) - thrift (0.18.1) - tilt (2.1.0) + thrift (0.22.0) + tilt (2.7.0) trailblazer-option (0.1.2) uber (0.1.0) - vmpooler (3.0.0) + uri (1.1.1) + vmpooler (3.8.1) concurrent-ruby (~> 1.1) - connection_pool (~> 2.2) + connection_pool (~> 2.4) deep_merge (~> 1.2) net-ldap (~> 0.16) - opentelemetry-exporter-jaeger (= 0.20.1) - opentelemetry-instrumentation-concurrent_ruby (= 0.19.2) - opentelemetry-instrumentation-http_client (= 0.19.4) - opentelemetry-instrumentation-redis (= 0.21.3) - opentelemetry-instrumentation-sinatra (= 0.19.3) - opentelemetry-resource_detectors (= 0.19.1) - opentelemetry-sdk (~> 1.0, >= 1.0.2) + opentelemetry-exporter-jaeger (= 0.23.0) + opentelemetry-instrumentation-concurrent_ruby (= 0.21.1) + opentelemetry-instrumentation-http_client (= 0.22.2) + opentelemetry-instrumentation-rack (= 0.23.4) + opentelemetry-instrumentation-redis (= 0.25.3) + opentelemetry-instrumentation-sinatra (= 0.23.2) + opentelemetry-resource_detectors (= 0.24.2) + opentelemetry-sdk (~> 1.8) pickup (~> 0.0.11) - prometheus-client (~> 2.0) - puma (~> 5.0, >= 5.0.4) - rack (~> 2.2) + prometheus-client (>= 2, < 5) + puma (>= 5.0.4, < 7) + rack (>= 2.2, < 4.0) rake (~> 13.0) - redis (~> 4.1) - sinatra (~> 2.0) + redis (~> 5.0) + sinatra (>= 2, < 4) spicy-proton (~> 2.1) statsd-ruby (~> 1.4) - vmpooler-dns-gcp (1.0.0) + vmpooler-dns-gcp (1.2.0) google-cloud-dns (~> 0.35.1) googleauth (>= 0.16.2, < 1.3.0) vmpooler (~> 3.0) - vmpooler-provider-gce (1.0.0) + vmpooler-provider-gce (1.3.0) google-apis-compute_v1 (~> 0.14) - googleauth (>= 0.16.2, < 1.3.0) + googleauth (>= 0.16.2, < 1.4.0) vmpooler (~> 3.0) - vmpooler-provider-vsphere (3.0.0) + vmpooler-provider-vsphere (3.3.4) rbvmomi2 (>= 3.1, < 4.0) vmpooler (~> 3.0) - webrick (1.8.1) zonefile (1.06) PLATFORMS @@ -180,4 +205,4 @@ DEPENDENCIES vmpooler-provider-vsphere (~> 3.0) BUNDLED WITH - 2.4.8 + 2.4.12 diff --git a/docker/data/redis/.gitkeep b/docker/data/redis/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/docker/data/vmpooler.yaml b/docker/data/vmpooler.yaml deleted file mode 100644 index 1355be2..0000000 --- a/docker/data/vmpooler.yaml +++ /dev/null @@ -1,56 +0,0 @@ ---- -:dns_configs: - ddns_domain: 'dynamic.example.com' - :gcp-clouddns: - project: vmpooler-example - domain: vmpooler.example.com - dns_zone_resource_name: vmpooler-example-com - -:providers: - # :gce: - # network_name: projects/vmpooler-example/global/networks/default - # project: vmpooler-example - # title: gce - # zone: us-west1-b - - :dummy: - filename: '/tmp/dummy-backing.yaml' - -:prometheus: - prefix: 'vmpooler-local' - -:redis: - server: 'redis-server' - -:auth: - provider: 'dummy' - -:config: - site_name: 'vmpooler' - logfile: '/var/log/vmpooler.log' - task_limit: 10 - timeout: 15 - vm_checktime: 1 - vm_lifetime: 12 - vm_lifetime_auth: 24 - allowed_tags: - - 'created_by' - - 'project' - -:pools: - # - name: 'fedora-36-x86_64' - # template: 'projects/fedora-cloud/global/images/fedora-cloud-base-gcp-36-20220506-n-0-x86-64' - # size: 0 - # provider: 'gce' - # dns_plugin: 'google-clouddns' - # machine_type: 'zones/us-west1-b/machineTypes/n1-standard-2' - # disk_type: 'pd-ssd' - # subnetwork_name: 'projects/vmpooler-example/regions/us-west1/subnetworks/default' - - name: 'debian-11-x86_64' - template: 'Templates/debian-11-x86_64' - folder: 'Pooled VMs/debian-11-x86_64' - datastore: 'vmstorage' - size: 5 - timeout: 15 - ready_ttl: 1440 - provider: dummy diff --git a/docker/docker-compose.local.yml b/docker/docker-compose.dev.yml similarity index 78% rename from docker/docker-compose.local.yml rename to docker/docker-compose.dev.yml index a3c8dbe..e9d8d24 100644 --- a/docker/docker-compose.local.yml +++ b/docker/docker-compose.dev.yml @@ -5,10 +5,6 @@ services: # This should match the major version used in the vmpooler helm chart image: redis:6 command: "redis-server --requirepass vmpooler" - volumes: - - type: bind - source: ./data/redis - target: /data ports: - "6379:6379" @@ -36,8 +32,14 @@ services: vmpooler-api: # See image build instructions in README and Dockerfile.local - image: vmpooler-local + build: + context: . + dockerfile: ./Dockerfile.dev + tty: true volumes: + - type: bind + source: ../../ + target: /opt/vmpooler-projects - type: bind source: ./data/vmpooler.yaml target: /etc/vmpooler/vmpooler.yaml @@ -63,8 +65,14 @@ services: vmpooler-manager: # See image build instructions in README and Dockerfile.local - image: vmpooler-local + build: + context: . + dockerfile: ./Dockerfile.dev + tty: true volumes: + - type: bind + source: ../../ + target: /opt/vmpooler-projects - type: bind source: ./data/vmpooler.yaml target: /etc/vmpooler/vmpooler.yaml @@ -87,3 +95,23 @@ services: links: - redis-server - jaeger-aio + + prometheus: + image: prom/prometheus:latest + volumes: + - ./prometheus.yml:/etc/prometheus/prometheus.yml + ports: + - "9090:9090" + links: + - vmpooler-api + - vmpooler-manager + + grafana: + image: grafana/grafana-oss:latest + volumes: + - ./grafana/provisioning:/etc/grafana/provisioning + ports: + - '3000:3000' + links: + - prometheus + - jaeger-aio diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 3a81546..6c96d06 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -5,10 +5,6 @@ services: # This should match the major version used in the vmpooler helm chart image: redis:6 command: "redis-server --requirepass vmpooler" - volumes: - - type: bind - source: ./data/redis - target: /data ports: - "6379:6379" @@ -87,3 +83,23 @@ services: links: - redis-server - jaeger-aio + + prometheus: + image: prom/prometheus:latest + volumes: + - ./prometheus.yml:/etc/prometheus/prometheus.yml + ports: + - "9090:9090" + links: + - vmpooler-api + - vmpooler-manager + + grafana: + image: grafana/grafana-oss:latest + volumes: + - ./grafana/provisioning:/etc/grafana/provisioning + ports: + - '3000:3000' + links: + - prometheus + - jaeger-aio diff --git a/docker/docker-entrypoint.dev.sh b/docker/docker-entrypoint.dev.sh new file mode 100755 index 0000000..9b32003 --- /dev/null +++ b/docker/docker-entrypoint.dev.sh @@ -0,0 +1,8 @@ +#!/bin/sh +set -e + +bundle install + +set -- rerun -- bundle exec vmpooler "$@" + +exec "$@" diff --git a/docker/grafana/provisioning/datasources/datasource.yml b/docker/grafana/provisioning/datasources/datasource.yml new file mode 100644 index 0000000..509bcd8 --- /dev/null +++ b/docker/grafana/provisioning/datasources/datasource.yml @@ -0,0 +1,10 @@ +apiVersion: 1 + +datasources: + - name: Prometheus + type: prometheus + url: http://prometheus:9090 + + - name: Jaeger + type: jaeger + url: http://jaeger-aio:16686 diff --git a/docker/prometheus.yml b/docker/prometheus.yml new file mode 100644 index 0000000..f5b76b6 --- /dev/null +++ b/docker/prometheus.yml @@ -0,0 +1,14 @@ +global: + scrape_interval: 15s + evaluation_interval: 15s + +scrape_configs: + - job_name: vmpooler-api + metrics_path: /prometheus + static_configs: + - targets: ['vmpooler-api:4567'] + + - job_name: vmpooler-manager + metrics_path: /prometheus + static_configs: + - targets: ['vmpooler-manager:4567'] diff --git a/docker/vmpooler.yaml b/docker/vmpooler.yaml new file mode 100644 index 0000000..09146a5 --- /dev/null +++ b/docker/vmpooler.yaml @@ -0,0 +1,54 @@ +--- +:providers: + :dummy: + filename: '/tmp/dummy-backing.yaml' + +:dns_configs: + :example: + dns_class: dynamic-dns + #domain: 'localhost' # Flip these out for local requests + domain: 'example.com' + +:redis: + server: 'localhost' + +:auth: + provider: 'dummy' + +:tagfilter: + url: '(.*)\/' + +:config: + site_name: 'vmpooler' + logfile: '/var/log/vmpooler.log' + task_limit: 10 + timeout: 15 + vm_checktime: 1 + vm_lifetime: 12 + vm_lifetime_auth: 24 + allowed_tags: + - 'created_by' + - 'project' + prefix: 'poolvm-' + +:pools: + - name: 'debian-7-i386' + alias: [ 'debian-7-32' ] + template: 'Templates/debian-7-i386' + folder: 'Pooled VMs/debian-7-i386' + datastore: 'vmstorage' + size: 5 + timeout: 15 + ready_ttl: 1440 + provider: dummy + dns_plugin: 'example' + - name: 'debian-7-x86_64' + alias: [ 'debian-7-64', 'debian-7-amd64' ] + template: 'Templates/debian-7-x86_64' + folder: 'Pooled VMs/debian-7-x86_64' + datastore: 'vmstorage' + size: 5 + timeout: 15 + ready_ttl: 1440 + provider: dummy + dns_plugin: 'example' diff --git a/docs/index.yaml b/docs/index.yaml index f471448..a00122b 100644 --- a/docs/index.yaml +++ b/docs/index.yaml @@ -1,9 +1,279 @@ apiVersion: v1 entries: vmpooler: + - apiVersion: v2 + appVersion: 5.7.0 + created: "2025-08-01T14:47:26.530766161Z" + dependencies: + - name: redis + repository: https://artifactory.delivery.puppetlabs.net/artifactory/helm__local + version: 16.13.2 + description: A Helm chart to deploy vmpooler + digest: ac8ac8d284483f9fedd6dcd43c977620121ff63e12f410297f667e2bba44c4aa + icon: https://github.com/puppetlabs/vmpooler/raw/master/lib/vmpooler/public/img/logo.png + name: vmpooler + type: application + urls: + - https://puppetlabs.github.io/vmpooler-deployment/vmpooler-3.9.1.tgz + version: 3.9.1 + - apiVersion: v2 + appVersion: 5.7.0 + created: "2025-08-01T14:47:26.522784925Z" + dependencies: + - name: redis + repository: https://artifactory.delivery.puppetlabs.net/artifactory/helm__local + version: 16.13.2 + description: A Helm chart to deploy vmpooler + digest: 0c46e7c9566275f85c9a2525ce2f5e62cd377ddd7f273475bb7f4472a1fc8b29 + icon: https://github.com/puppetlabs/vmpooler/raw/master/lib/vmpooler/public/img/logo.png + name: vmpooler + type: application + urls: + - https://puppetlabs.github.io/vmpooler-deployment/vmpooler-3.9.1-rc.1.tgz + version: 3.9.1-rc.1 + - apiVersion: v2 + appVersion: 5.7.0 + created: "2025-08-01T14:47:26.511435751Z" + dependencies: + - name: redis + repository: https://charts.bitnami.com/bitnami + version: 16.13.2 + description: A Helm chart to deploy vmpooler + digest: 0b6a59f120583298798b6641929924257d8b004acac12e8435736480ad15da9b + icon: https://github.com/puppetlabs/vmpooler/raw/master/lib/vmpooler/public/img/logo.png + name: vmpooler + type: application + urls: + - https://puppetlabs.github.io/vmpooler-deployment/vmpooler-3.9.0.tgz + version: 3.9.0 + - apiVersion: v2 + appVersion: 5.6.0 + created: "2025-08-01T14:47:26.499359292Z" + dependencies: + - name: redis + repository: https://charts.bitnami.com/bitnami + version: 16.13.2 + description: A Helm chart to deploy vmpooler + digest: 80ed97d541895fb564463e30bb3092969a037450c714f5d1985ca42acc0af39c + icon: https://github.com/puppetlabs/vmpooler/raw/master/lib/vmpooler/public/img/logo.png + name: vmpooler + type: application + urls: + - https://puppetlabs.github.io/vmpooler-deployment/vmpooler-3.8.3.tgz + version: 3.8.3 + - apiVersion: v2 + appVersion: 5.6.0 + created: "2025-08-01T14:47:26.488598934Z" + dependencies: + - name: redis + repository: https://charts.bitnami.com/bitnami + version: 16.13.2 + description: A Helm chart to deploy vmpooler + digest: 9172047131a3d8a429d44430ca72b0c286a1eba05f8feb1005575abd910abdd4 + icon: https://github.com/puppetlabs/vmpooler/raw/master/lib/vmpooler/public/img/logo.png + name: vmpooler + type: application + urls: + - https://puppetlabs.github.io/vmpooler-deployment/vmpooler-3.8.2.tgz + version: 3.8.2 + - apiVersion: v2 + appVersion: 5.6.0 + created: "2025-08-01T14:47:26.476360664Z" + dependencies: + - name: redis + repository: https://charts.bitnami.com/bitnami + version: 16.13.2 + description: A Helm chart to deploy vmpooler + digest: 174a3fafcfe52e13ca2e082645092a6a84331625f313b7e318e01f76671fe1a8 + icon: https://github.com/puppetlabs/vmpooler/raw/master/lib/vmpooler/public/img/logo.png + name: vmpooler + type: application + urls: + - https://puppetlabs.github.io/vmpooler-deployment/vmpooler-3.8.1.tgz + version: 3.8.1 + - apiVersion: v2 + appVersion: 5.6.0 + created: "2025-08-01T14:47:26.465872839Z" + dependencies: + - name: redis + repository: https://charts.bitnami.com/bitnami + version: 16.13.2 + description: A Helm chart to deploy vmpooler + digest: 5dd1ffe3f60944ffd63596d47df20868aa9b850b2507cb37d1d353a8fb1f3a4b + icon: https://github.com/puppetlabs/vmpooler/raw/master/lib/vmpooler/public/img/logo.png + name: vmpooler + type: application + urls: + - https://puppetlabs.github.io/vmpooler-deployment/vmpooler-3.8.0.tgz + version: 3.8.0 + - apiVersion: v2 + appVersion: 5.6.0 + created: "2025-08-01T14:47:26.454823621Z" + dependencies: + - name: redis + repository: https://charts.bitnami.com/bitnami + version: 16.13.2 + description: A Helm chart to deploy vmpooler + digest: 353ce166a446f0a4af01230c3041ab03e122113c5393cac497a5946ed7f64701 + icon: https://github.com/puppetlabs/vmpooler/raw/master/lib/vmpooler/public/img/logo.png + name: vmpooler + type: application + urls: + - https://puppetlabs.github.io/vmpooler-deployment/vmpooler-3.7.0.tgz + version: 3.7.0 + - apiVersion: v2 + appVersion: 5.5.3 + created: "2025-08-01T14:47:26.444772227Z" + dependencies: + - name: redis + repository: https://charts.bitnami.com/bitnami + version: 16.13.2 + description: A Helm chart to deploy vmpooler + digest: 05d56126110f9b92694a6f91686706df1e3a8510f7eeb52af61b4305ac3be4c3 + icon: https://github.com/puppetlabs/vmpooler/raw/master/lib/vmpooler/public/img/logo.png + name: vmpooler + type: application + urls: + - https://puppetlabs.github.io/vmpooler-deployment/vmpooler-3.6.0.tgz + version: 3.6.0 + - apiVersion: v2 + appVersion: 5.5.3 + created: "2025-08-01T14:47:26.433931552Z" + dependencies: + - name: redis + repository: https://charts.bitnami.com/bitnami + version: 16.13.2 + description: A Helm chart to deploy vmpooler + digest: 9be7cd1631b73a39f377ca80376186c9c735e277d6d3fa66d1443556ba2b5451 + icon: https://github.com/puppetlabs/vmpooler/raw/master/lib/vmpooler/public/img/logo.png + name: vmpooler + type: application + urls: + - https://puppetlabs.github.io/vmpooler-deployment/vmpooler-3.5.3.tgz + version: 3.5.3 + - apiVersion: v2 + appVersion: 5.5.2 + created: "2025-08-01T14:47:26.424035301Z" + dependencies: + - name: redis + repository: https://charts.bitnami.com/bitnami + version: 16.13.2 + description: A Helm chart to deploy vmpooler + digest: 6d6ace64d2e31b876dcb720de2b2f5be6d7b994eb8e6d4d76061fd64748b7157 + icon: https://github.com/puppetlabs/vmpooler/raw/master/lib/vmpooler/public/img/logo.png + name: vmpooler + type: application + urls: + - https://puppetlabs.github.io/vmpooler-deployment/vmpooler-3.5.2.tgz + version: 3.5.2 + - apiVersion: v2 + appVersion: 5.5.1 + created: "2025-08-01T14:47:26.411819215Z" + dependencies: + - name: redis + repository: https://charts.bitnami.com/bitnami + version: 16.13.2 + description: A Helm chart to deploy vmpooler + digest: ceddc894f2164f262adba8eff875642712920e969321b879e9952586e624a158 + icon: https://github.com/puppetlabs/vmpooler/raw/master/lib/vmpooler/public/img/logo.png + name: vmpooler + type: application + urls: + - https://puppetlabs.github.io/vmpooler-deployment/vmpooler-3.5.1.tgz + version: 3.5.1 + - apiVersion: v2 + appVersion: 5.5.0 + created: "2025-08-01T14:47:26.401583826Z" + dependencies: + - name: redis + repository: https://charts.bitnami.com/bitnami + version: 16.13.2 + description: A Helm chart to deploy vmpooler + digest: 72cd8cebf1b9ea63d287ee8e9d1f291bd52f2e80122bb45f14eb7229a2f30bc1 + icon: https://github.com/puppetlabs/vmpooler/raw/master/lib/vmpooler/public/img/logo.png + name: vmpooler + type: application + urls: + - https://puppetlabs.github.io/vmpooler-deployment/vmpooler-3.5.0.tgz + version: 3.5.0 + - apiVersion: v2 + appVersion: 5.4.1 + created: "2025-08-01T14:47:26.390414322Z" + dependencies: + - name: redis + repository: https://charts.bitnami.com/bitnami + version: 16.13.2 + description: A Helm chart to deploy vmpooler + digest: 0c98b891c38b18fa6821f024d6ee1844476404bb89d31f0006920385971a25b3 + icon: https://github.com/puppetlabs/vmpooler/raw/master/lib/vmpooler/public/img/logo.png + name: vmpooler + type: application + urls: + - https://puppetlabs.github.io/vmpooler-deployment/vmpooler-3.4.1.tgz + version: 3.4.1 + - apiVersion: v2 + appVersion: 5.4.0 + created: "2025-08-01T14:47:26.379928244Z" + dependencies: + - name: redis + repository: https://charts.bitnami.com/bitnami + version: 16.13.2 + description: A Helm chart to deploy vmpooler + digest: c08ebf4d546b8c89152f06ac12fb376735436b22a4a61e9e871faeeb40b9ab63 + icon: https://github.com/puppetlabs/vmpooler/raw/master/lib/vmpooler/public/img/logo.png + name: vmpooler + type: application + urls: + - https://puppetlabs.github.io/vmpooler-deployment/vmpooler-3.4.0.tgz + version: 3.4.0 + - apiVersion: v2 + appVersion: 5.3.0 + created: "2025-08-01T14:47:26.368518543Z" + dependencies: + - name: redis + repository: https://charts.bitnami.com/bitnami + version: 16.13.2 + description: A Helm chart to deploy vmpooler + digest: 97609509547df80d0c41e20195df33898209ab534546f9af1897c33b5ac4c4b5 + icon: https://github.com/puppetlabs/vmpooler/raw/master/lib/vmpooler/public/img/logo.png + name: vmpooler + type: application + urls: + - https://puppetlabs.github.io/vmpooler-deployment/vmpooler-3.3.0.tgz + version: 3.3.0 + - apiVersion: v2 + appVersion: 5.2.0 + created: "2025-08-01T14:47:26.358252054Z" + dependencies: + - name: redis + repository: https://charts.bitnami.com/bitnami + version: 16.13.2 + description: A Helm chart to deploy vmpooler + digest: db4d79f5daaba68d989f0c1cd71e6753ad2324e481eedade0932ff635394ec66 + icon: https://github.com/puppetlabs/vmpooler/raw/master/lib/vmpooler/public/img/logo.png + name: vmpooler + type: application + urls: + - https://puppetlabs.github.io/vmpooler-deployment/vmpooler-3.2.0.tgz + version: 3.2.0 + - apiVersion: v2 + appVersion: 5.1.0 + created: "2025-08-01T14:47:26.346223906Z" + dependencies: + - name: redis + repository: https://charts.bitnami.com/bitnami + version: 16.13.2 + description: A Helm chart to deploy vmpooler + digest: 8b9d4472065c51ac796620da6d0f7aad7535a7ae23e6c790820922b608001676 + icon: https://github.com/puppetlabs/vmpooler/raw/master/lib/vmpooler/public/img/logo.png + name: vmpooler + type: application + urls: + - https://puppetlabs.github.io/vmpooler-deployment/vmpooler-3.1.0.tgz + version: 3.1.0 - apiVersion: v2 appVersion: 5.0.0 - created: "2023-04-19T15:09:12.845843711Z" + created: "2025-08-01T14:47:26.336021044Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -18,7 +288,7 @@ entries: version: 3.0.0 - apiVersion: v2 appVersion: 4.1.0 - created: "2023-04-19T15:09:12.835943773Z" + created: "2025-08-01T14:47:26.324819648Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -33,7 +303,7 @@ entries: version: 2.2.0 - apiVersion: v2 appVersion: 4.0.0 - created: "2023-04-19T15:09:12.825848127Z" + created: "2025-08-01T14:47:26.314076098Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -48,7 +318,7 @@ entries: version: 2.1.0 - apiVersion: v2 appVersion: 4.0.0 - created: "2023-04-19T15:09:12.815877372Z" + created: "2025-08-01T14:47:26.3025029Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -63,7 +333,7 @@ entries: version: 2.0.0 - apiVersion: v2 appVersion: 1.7.0-prod-all-providers - created: "2023-04-19T15:09:12.712394208Z" + created: "2025-08-01T14:47:26.217686479Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -78,7 +348,7 @@ entries: version: 1.19.0 - apiVersion: v2 appVersion: 1.7.0-prod-all-providers - created: "2023-04-19T15:09:12.694762619Z" + created: "2025-08-01T14:47:26.20615313Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -93,7 +363,7 @@ entries: version: 1.18.0 - apiVersion: v2 appVersion: 1.7.0-prod-all-providers - created: "2023-04-19T15:09:12.677030783Z" + created: "2025-08-01T14:47:26.192913076Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -108,7 +378,7 @@ entries: version: 1.17.0 - apiVersion: v2 appVersion: 1.6.0-prod-all-providers - created: "2023-04-19T15:09:12.661629505Z" + created: "2025-08-01T14:47:26.180016696Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -123,7 +393,7 @@ entries: version: 1.16.0 - apiVersion: v2 appVersion: 1.6.0-prod-all-providers - created: "2023-04-19T15:09:12.644211586Z" + created: "2025-08-01T14:47:26.163482559Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -138,7 +408,7 @@ entries: version: 1.15.0 - apiVersion: v2 appVersion: 1.6.0-prod-all-providers - created: "2023-04-19T15:09:12.626381663Z" + created: "2025-08-01T14:47:26.148027262Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -153,7 +423,7 @@ entries: version: 1.14.0 - apiVersion: v2 appVersion: 1.5.0-prod-all-providers - created: "2023-04-19T15:09:12.608851806Z" + created: "2025-08-01T14:47:26.129088412Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -168,7 +438,7 @@ entries: version: 1.13.0 - apiVersion: v2 appVersion: 1.5.0-prod-all-providers - created: "2023-04-19T15:09:12.591145075Z" + created: "2025-08-01T14:47:26.115192635Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -183,7 +453,7 @@ entries: version: 1.12.0 - apiVersion: v2 appVersion: 1.4.0-prod-all-providers - created: "2023-04-19T15:09:12.573484135Z" + created: "2025-08-01T14:47:26.104012949Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -198,7 +468,7 @@ entries: version: 1.11.1 - apiVersion: v2 appVersion: 1.3.0-prod-all-providers - created: "2023-04-19T15:09:12.561526462Z" + created: "2025-08-01T14:47:26.094249573Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -213,7 +483,7 @@ entries: version: 1.11.0 - apiVersion: v2 appVersion: 1.2.0-prod-all-providers - created: "2023-04-19T15:09:12.546593176Z" + created: "2025-08-01T14:47:26.08366946Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -228,7 +498,7 @@ entries: version: 1.10.1 - apiVersion: v2 appVersion: 1.2.0-prod-all-providers - created: "2023-04-19T15:09:12.53321379Z" + created: "2025-08-01T14:47:26.073735253Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -243,7 +513,7 @@ entries: version: 1.10.0 - apiVersion: v2 appVersion: 1.2.0-prod-all-providers - created: "2023-04-19T15:09:12.804371748Z" + created: "2025-08-01T14:47:26.292230858Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -258,7 +528,7 @@ entries: version: 1.9.0 - apiVersion: v2 appVersion: 1.2.0-prod-all-providers - created: "2023-04-19T15:09:12.795452563Z" + created: "2025-08-01T14:47:26.282594053Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -273,7 +543,7 @@ entries: version: 1.8.0 - apiVersion: v2 appVersion: 1.0.0-prod-all-providers - created: "2023-04-19T15:09:12.786901526Z" + created: "2025-08-01T14:47:26.274204699Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -288,7 +558,7 @@ entries: version: 1.7.1 - apiVersion: v2 appVersion: 1.0.0-prod-all-providers - created: "2023-04-19T15:09:12.775957478Z" + created: "2025-08-01T14:47:26.265409971Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -303,7 +573,7 @@ entries: version: 1.7.0 - apiVersion: v2 appVersion: 1.3.0 - created: "2023-04-19T15:09:12.764887735Z" + created: "2025-08-01T14:47:26.256953201Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -318,7 +588,7 @@ entries: version: 1.6.3 - apiVersion: v2 appVersion: 1.3.0 - created: "2023-04-19T15:09:12.751505028Z" + created: "2025-08-01T14:47:26.246802746Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -333,7 +603,7 @@ entries: version: 1.6.2 - apiVersion: v2 appVersion: 1.3.0 - created: "2023-04-19T15:09:12.737063379Z" + created: "2025-08-01T14:47:26.238207026Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -348,7 +618,7 @@ entries: version: 1.6.1 - apiVersion: v2 appVersion: 1.3.0 - created: "2023-04-19T15:09:12.725092031Z" + created: "2025-08-01T14:47:26.228886776Z" dependencies: - name: redis repository: https://charts.bitnami.com/bitnami @@ -361,4 +631,4 @@ entries: urls: - https://puppetlabs.github.io/vmpooler-deployment/vmpooler-1.6.0.tgz version: 1.6.0 -generated: "2023-04-19T15:09:12.522076436Z" +generated: "2025-08-01T14:47:26.062605037Z" diff --git a/docs/vmpooler-3.1.0.tgz b/docs/vmpooler-3.1.0.tgz new file mode 100644 index 0000000..2244533 Binary files /dev/null and b/docs/vmpooler-3.1.0.tgz differ diff --git a/docs/vmpooler-3.2.0.tgz b/docs/vmpooler-3.2.0.tgz new file mode 100644 index 0000000..82aa97d Binary files /dev/null and b/docs/vmpooler-3.2.0.tgz differ diff --git a/docs/vmpooler-3.3.0.tgz b/docs/vmpooler-3.3.0.tgz new file mode 100644 index 0000000..7e3e81c Binary files /dev/null and b/docs/vmpooler-3.3.0.tgz differ diff --git a/docs/vmpooler-3.4.0.tgz b/docs/vmpooler-3.4.0.tgz new file mode 100644 index 0000000..5ecb06f Binary files /dev/null and b/docs/vmpooler-3.4.0.tgz differ diff --git a/docs/vmpooler-3.4.1.tgz b/docs/vmpooler-3.4.1.tgz new file mode 100644 index 0000000..ca47158 Binary files /dev/null and b/docs/vmpooler-3.4.1.tgz differ diff --git a/docs/vmpooler-3.5.0.tgz b/docs/vmpooler-3.5.0.tgz new file mode 100644 index 0000000..c00ebf1 Binary files /dev/null and b/docs/vmpooler-3.5.0.tgz differ diff --git a/docs/vmpooler-3.5.1.tgz b/docs/vmpooler-3.5.1.tgz new file mode 100644 index 0000000..a918021 Binary files /dev/null and b/docs/vmpooler-3.5.1.tgz differ diff --git a/docs/vmpooler-3.5.2.tgz b/docs/vmpooler-3.5.2.tgz new file mode 100644 index 0000000..8da6f8c Binary files /dev/null and b/docs/vmpooler-3.5.2.tgz differ diff --git a/docs/vmpooler-3.5.3.tgz b/docs/vmpooler-3.5.3.tgz new file mode 100644 index 0000000..2706ed9 Binary files /dev/null and b/docs/vmpooler-3.5.3.tgz differ diff --git a/docs/vmpooler-3.6.0.tgz b/docs/vmpooler-3.6.0.tgz new file mode 100644 index 0000000..beec0f3 Binary files /dev/null and b/docs/vmpooler-3.6.0.tgz differ diff --git a/docs/vmpooler-3.7.0.tgz b/docs/vmpooler-3.7.0.tgz new file mode 100644 index 0000000..03774c3 Binary files /dev/null and b/docs/vmpooler-3.7.0.tgz differ diff --git a/docs/vmpooler-3.8.0.tgz b/docs/vmpooler-3.8.0.tgz new file mode 100644 index 0000000..8302617 Binary files /dev/null and b/docs/vmpooler-3.8.0.tgz differ diff --git a/docs/vmpooler-3.8.1.tgz b/docs/vmpooler-3.8.1.tgz new file mode 100644 index 0000000..d2045fb Binary files /dev/null and b/docs/vmpooler-3.8.1.tgz differ diff --git a/docs/vmpooler-3.8.2.tgz b/docs/vmpooler-3.8.2.tgz new file mode 100644 index 0000000..dde4ffa Binary files /dev/null and b/docs/vmpooler-3.8.2.tgz differ diff --git a/docs/vmpooler-3.8.3.tgz b/docs/vmpooler-3.8.3.tgz new file mode 100644 index 0000000..e7fba63 Binary files /dev/null and b/docs/vmpooler-3.8.3.tgz differ diff --git a/docs/vmpooler-3.9.0.tgz b/docs/vmpooler-3.9.0.tgz new file mode 100644 index 0000000..fdffed4 Binary files /dev/null and b/docs/vmpooler-3.9.0.tgz differ diff --git a/docs/vmpooler-3.9.1.tgz b/docs/vmpooler-3.9.1.tgz new file mode 100644 index 0000000..1eb3b0e Binary files /dev/null and b/docs/vmpooler-3.9.1.tgz differ diff --git a/helm-charts/vmpooler/Chart.lock b/helm-charts/vmpooler/Chart.lock index d5fddf2..3c00010 100644 --- a/helm-charts/vmpooler/Chart.lock +++ b/helm-charts/vmpooler/Chart.lock @@ -1,6 +1,6 @@ dependencies: - name: redis - repository: https://charts.bitnami.com/bitnami + repository: https://artifactory.delivery.puppetlabs.net/artifactory/helm__local version: 16.13.2 -digest: sha256:3a3d3cfce254ddfa488e495a3e2e141ee59c0ea4a583ba813093def78ca132cb -generated: "2023-01-24T12:41:13.082268468Z" +digest: sha256:9f085fa04b66dea3610b03474b3eb2e2fd09733c4c6cbbda15a152770a9169b0 +generated: "2025-07-31T09:10:07.046655-07:00" diff --git a/helm-charts/vmpooler/Chart.yaml b/helm-charts/vmpooler/Chart.yaml index 8bcbff2..87822f9 100644 --- a/helm-charts/vmpooler/Chart.yaml +++ b/helm-charts/vmpooler/Chart.yaml @@ -3,9 +3,9 @@ name: vmpooler description: A Helm chart to deploy vmpooler type: application icon: https://github.com/puppetlabs/vmpooler/raw/master/lib/vmpooler/public/img/logo.png -version: 3.0.0 -appVersion: 5.0.0 +version: 3.10.0 +appVersion: 5.8.0 dependencies: - name: redis - repository: https://charts.bitnami.com/bitnami + repository: https://artifactory.delivery.puppetlabs.net/artifactory/helm__local version: 16.13.2 diff --git a/helm-charts/vmpooler/templates/configmap-vmpooler-baseconfig.yaml b/helm-charts/vmpooler/templates/configmap-vmpooler-baseconfig.yaml index e914e3a..5b71e19 100644 --- a/helm-charts/vmpooler/templates/configmap-vmpooler-baseconfig.yaml +++ b/helm-charts/vmpooler/templates/configmap-vmpooler-baseconfig.yaml @@ -12,9 +12,11 @@ data: :tagfilter: project: '^([^/]+)' + {{- if .Values.auth }} :auth: {{- with .Values.auth }} {{- toYaml . | nindent 6 }} {{- end }} + {{- end }} :prometheus: prefix: {{ .Values.vmpoolerInstance }} diff --git a/helm-charts/vmpooler/templates/deployment-manager.yaml b/helm-charts/vmpooler/templates/deployment-manager.yaml index 43091b8..63bda8f 100644 --- a/helm-charts/vmpooler/templates/deployment-manager.yaml +++ b/helm-charts/vmpooler/templates/deployment-manager.yaml @@ -110,11 +110,11 @@ spec: - name: REDIS_SERVER value: 'redis-master' - name: REDIS_CONNECTION_POOL_SIZE - value: "200" + value: '{{ .Values.redis_connection_pool_size }}' - name: REDIS_CONNECTION_POOL_TIMEOUT - value: "40" + value: '{{ .Values.redis_connection_pool_timeout }}' - name: REDIS_RECONNECT_ATTEMPTS - value: "40" + value: '{{ .Values.redis_reconnect_attempts }}' - name: ONDEMAND_REQUEST_TTL value: '{{ .Values.ondemand_request_ttl }}' - name: ONDEMAND_CLONE_LIMIT diff --git a/helm-charts/vmpooler/values.yaml b/helm-charts/vmpooler/values.yaml index f7c1477..e251dfa 100644 --- a/helm-charts/vmpooler/values.yaml +++ b/helm-charts/vmpooler/values.yaml @@ -16,6 +16,10 @@ vm_lifetime: '2' vm_lifetime_auth: '12' timeout: '15' +redis_connection_pool_size: '200' +redis_connection_pool_timeout: '40' +redis_reconnect_attempts: '[0,0.25,0.5,1,2,4,8,16,32,64,128,256,512]' + :dns_configs: :example: dns_class: dynamic-dns @@ -40,8 +44,7 @@ baseconfig_extras: {} # vmware_cluster2: 100 # vmware_cluster4: 180 -auth: - provider: 'dummy' +# auth: # provider: 'ldap' # :ldap: # host: 'ldap.example.com' @@ -67,7 +70,7 @@ api: memory: 2Gi limits: cpu: 2000m - memory: 2Gi + memory: 4Gi manager: resources: @@ -127,6 +130,12 @@ affinity: {} # Redis provided by bitnami/redis # For a full list of parameters see: https://github.com/bitnami/charts/tree/master/bitnami/redis/ redis: + # Override the Redis image + image: + registry: artifactory.delivery.puppetlabs.net + repository: release-engineering/redis + tag: "6.2.7-debian-11-r11" + pullPolicy: IfNotPresent fullnameOverride: redis architecture: standalone networkPolicy: @@ -153,7 +162,19 @@ redis: initialDelaySeconds: 40 periodSeconds: 10 failureThreshold: 10 + lifecycleHooks: + postStart: + exec: + command: + - /bin/sh + - -c + - echo "AUTH $REDIS_PASSWORD\nBGREWRITEAOF" | redis-cli metrics: + image: + registry: artifactory.delivery.puppetlabs.net + repository: release-engineering/redis-exporter + tag: "1.43.0-debian-11-r4" + pullPolicy: IfNotPresent enabled: true resources: requests: diff --git a/helm-package b/helm-package new file mode 100644 index 0000000..d5e9b07 --- /dev/null +++ b/helm-package @@ -0,0 +1,12 @@ +#!/usr/bin/env bash + +set -e +set -x + +helm repo add artifactory https://artifactory.delivery.puppetlabs.net/artifactory/helm__local +cd /apps/helm-charts/vmpooler +helm dependency update +cd /apps/docs +helm package ../helm-charts/* +helm repo index --url https://puppetlabs.github.io/vmpooler-deployment . + diff --git a/update-changelog b/update-changelog index 3cfe85a..9b4f167 100755 --- a/update-changelog +++ b/update-changelog @@ -1,5 +1,11 @@ #!/usr/bin/env bash -docker run -it --rm -e CHANGELOG_GITHUB_TOKEN -v $(pwd):/usr/local/src/your-app \ - githubchangeloggenerator/github-changelog-generator:1.16.2 \ - github_changelog_generator --future-release $(yq .version helm-charts/vmpooler/Chart.yaml) \ No newline at end of file +set -e +set -x + +future_release=$(yq .version helm-charts/vmpooler/Chart.yaml) + +docker run --interactive --tty --rm=true --env=CHANGELOG_GITHUB_TOKEN \ + --volume=$(pwd):/usr/local/src/your-app \ + githubchangeloggenerator/github-changelog-generator:1.16.2 \ + github_changelog_generator --future-release="$future_release" diff --git a/update-chart-lock b/update-chart-lock index 8748596..dff98f5 100755 --- a/update-chart-lock +++ b/update-chart-lock @@ -1,4 +1,4 @@ #!/usr/bin/env bash docker run --rm -it -v $(pwd):/apps --entrypoint /bin/sh alpine/helm \ - -c 'helm repo add bitnami https://charts.bitnami.com/bitnami && cd /apps/helm-charts/vmpooler && helm dependency update' + -c 'helm repo add artifactory https://artifactory.delivery.puppetlabs.net/artifactory/helm__local && cd /apps/helm-charts/vmpooler && helm dependency update'