Compare commits

..

154 commits

Author SHA1 Message Date
Mahima Singh
42b04b2110
Merge pull request #172 from puppetlabs/update-vmpooler-3.8.1
Update vmpooler to 3.8.1
2026-01-15 15:42:45 +05:30
Mahima Singh
22172631d6 Update vmpooler to 3.8.1 2026-01-14 23:31:57 +05:30
isaac-hammes
c57291bcfa
Merge pull request #167 from puppetlabs/3.9.1-release
(maint) Release prep for version 3.9.1
2025-08-01 08:19:13 -07:00
isaac-hammes
61fa8fb2d5 (maint) Release prep for version 3.9.1 2025-08-01 08:16:55 -07:00
isaac-hammes
2bb5f07305
Merge pull request #166 from puppetlabs/P4DEVOPS-7373
(P4DEVOPS-7373) Use artifactory instead of bitnami repos
2025-08-01 07:33:28 -07:00
isaac-hammes
113ffd968d (P4DEVOPS-7373) Use artifactory instead of bitnami repos 2025-08-01 07:07:50 -07:00
isaac-hammes
c2e04310aa
Merge pull request #165 from puppetlabs/3.9.0-release
(maint) Fix changelog again for 3.9.0 release
2025-06-05 08:22:43 -07:00
isaac-hammes
f93a15aabc (maint) Fix changelog again for 3.9.0 release 2025-06-05 08:19:37 -07:00
isaac-hammes
f26cba9f5b
Merge pull request #164 from puppetlabs/3.9.0-release
(maint) Fix changelog for 3.9.0 release
2025-06-05 08:16:28 -07:00
isaac-hammes
1d55e86fe9 (maint) Fix changelog for 3.9.0 release 2025-06-05 08:12:08 -07:00
isaac-hammes
15d8311ffc
Merge pull request #163 from puppetlabs/3.9.0-release
(maint) Release prep for vmpooler-deployment 3.9.0
2025-06-05 08:00:17 -07:00
isaac-hammes
db111afa6f (maint) Release prep for vmpooler-deployment 3.9.0 2025-06-04 11:25:12 -07:00
isaac-hammes
61eb22f540
Merge pull request #162 from puppetlabs/update_vmpooler_3.7.0
(maint) Update vmpooler to version 3.7.0
2025-06-04 10:52:26 -07:00
isaac-hammes
5a67e997b0 (maint) Update vmpooler to version 3.7.0 2025-06-04 10:45:12 -07:00
Mohit Kalra
0f6b6ec22f
Merge pull request #160 from puppetlabs/P4DEVOPS-4531
Bumped chart version to 3.8.3
2025-01-30 19:00:04 +05:30
Mohit Kalra
aeb9ae7ce9 Bumped chart version to 3.8.3 2025-01-30 18:57:20 +05:30
Mohit Kalra
6ea4a9e0a3
Merge pull request #159 from puppetlabs/P4DEVOPS-4531
Update memory limit for api pod to 4G
2025-01-29 13:34:37 +05:30
Mohit Kalra
30658b048c updated memory limit for api pod to 4G 2025-01-29 12:23:12 +05:30
Eric Griswold
25c979d998
Merge pull request #157 from puppetlabs/3.8.2-release
(RE-16207) Prep for 3.8.2 release
2024-07-25 12:34:06 -07:00
Eric Griswold
7aaf1e1de2 (RE-16207) Prep for 3.8.2 release 2024-07-25 12:06:10 -07:00
Eric Griswold
85540728fd
Merge pull request #152 from puppetlabs/dependabot/docker/docker/jruby-9.4.7.0-jdk11
Bump jruby from 9.4.5.0-jdk11 to 9.4.7.0-jdk11 in /docker
2024-07-25 11:58:18 -07:00
Eric Griswold
808260d0d8
Merge branch 'main' into dependabot/docker/docker/jruby-9.4.7.0-jdk11 2024-07-25 11:56:20 -07:00
Eric Griswold
683e1e6882
Merge pull request #156 from puppetlabs/3.8.1-release
(maint) Burn the 3.8.0 release and try building again
2024-07-25 11:49:17 -07:00
Eric Griswold
561ff56248 (maint) Burn the 3.8.0 release and try building again
Messing up github label; looks like we may need to burn the 3.8.0 release.
Trying again with 3.8.1
2024-07-08 14:22:19 -07:00
Eric Griswold
bb1cf473fd
Merge pull request #155 from puppetlabs/3.8.0-release
(maint) empty commit for redeploy attempt
2024-07-08 14:16:48 -07:00
Eric Griswold
3a989a5f40 (maint) empty commit for redeploy attempt 2024-07-08 13:34:00 -07:00
Eric Griswold
6763ebcb5f
Merge pull request #154 from puppetlabs/RE-16207
RE-16207: Create a 3.8.0 release / script cleanup
2024-07-08 12:34:50 -07:00
Eric Griswold
b18a443e4b RE-16207: Create a 3.8.0 release / script cleanup
In the process of doing a 3.8.0 release, I also found some places where scripts needed some care and documentation updated/clarified.
2024-07-01 14:16:04 -07:00
dependabot[bot]
a4c9d2b43f
Bump jruby from 9.4.5.0-jdk11 to 9.4.7.0-jdk11 in /docker
Bumps jruby from 9.4.5.0-jdk11 to 9.4.7.0-jdk11.

---
updated-dependencies:
- dependency-name: jruby
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-06 02:51:19 +00:00
Jake Spain
5ac8fb98ed
Merge pull request #149 from puppetlabs/dependabot/docker/docker/jruby-9.4.5.0-jdk11
Bump jruby from 9.4.3.0-jdk11 to 9.4.5.0-jdk11 in /docker
2023-12-14 08:20:26 -05:00
dependabot[bot]
623736921f
Bump jruby from 9.4.3.0-jdk11 to 9.4.5.0-jdk11 in /docker
Bumps jruby from 9.4.3.0-jdk11 to 9.4.5.0-jdk11.

---
updated-dependencies:
- dependency-name: jruby
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-06 02:56:04 +00:00
Jake Spain
dea151dd1d
Merge pull request #147 from puppetlabs/docker-compose-add-grafana
(RE-15696) Local Development - Add Grafana and remove redis mount
2023-10-20 12:47:53 -04:00
Jake Spain
bcefcaec8c
Add prometheus and grafana container for visualizing metrics and traces 2023-10-20 12:17:57 -04:00
Jake Spain
1d2f93fc1c
Remove storing redis data on host 2023-10-20 12:08:56 -04:00
Jake Spain
4fd3b39ef0
Merge pull request #146 from puppetlabs/3.7.0-release
3.7.0 release prep
2023-10-05 16:01:11 -04:00
Jake Spain
2029d224f2
3.7.0 release prep 2023-10-05 15:55:12 -04:00
Jake Spain
3b20890ab6
Merge pull request #145 from puppetlabs/update_gems
Gem dependency updates
2023-10-05 15:52:23 -04:00
Jake Spain
8580fb7c60
Gem dependency updates 2023-10-05 15:48:41 -04:00
Jake Spain
e0c3671d93
Merge pull request #144 from puppetlabs/RE-15163
(RE-15163) Call BGREWRITEAOF on the redis database every restart to reduce aof file size
2023-10-02 08:33:26 -04:00
isaac-hammes
8852b9ad50 (RE-15163) Call BGREWRITEAOF on the redis database every restart to reduce aof file size 2023-09-29 05:44:11 -07:00
Jake Spain
8b10896e93
Merge pull request #143 from puppetlabs/3.6.0-release
3.6.0 release prep
2023-09-07 11:27:04 -04:00
Jake Spain
039f70113e
3.6.0 release prep 2023-09-07 11:18:05 -04:00
Jake Spain
69309c5e47
Merge pull request #142 from puppetlabs/customize_auth_config
(RE-15565) Make auth config customizable and remove default dummy auth
2023-09-07 11:15:23 -04:00
Jake Spain
03ad06d827
Make auth config customizable and remove default dummy auth 2023-09-07 10:00:38 -04:00
isaac-hammes
e819e3d409
Merge pull request #140 from puppetlabs/3.5.3-release-prep
(maint) Release prep for version 3.5.3
2023-08-30 09:58:48 -07:00
isaac-hammes
2f30837151 (maint) Release prep for version 3.5.3 2023-08-30 09:54:45 -07:00
isaac-hammes
1fba5199a0
Merge pull request #139 from puppetlabs/update_vsphere_provider_gem
(maint) Update vmpooler-provider-vsphere to 3.3.4
2023-08-30 09:51:42 -07:00
isaac-hammes
bd5cfa0bac (maint) Update vmpooler-provider-vsphere to 3.3.4 2023-08-30 09:46:26 -07:00
isaac-hammes
464aae26f6
Merge pull request #138 from puppetlabs/3.5.2-release-prep
(maint) Release prep for version 3.5.2
2023-08-28 09:08:35 -07:00
isaac-hammes
48bd8be125 (maint) Release prep for version 3.5.2 2023-08-28 08:41:14 -07:00
isaac-hammes
0516d1c5b6
Merge pull request #137 from puppetlabs/update_vsphere
(maint) Update vmpooler-provider-vsphere to 3.3.3
2023-08-28 08:36:47 -07:00
isaac-hammes
a0338197fd (maint) Update vmpooler-provider-vsphere to 3.3.3 2023-08-28 08:32:52 -07:00
isaac-hammes
46ed897e5d
Merge pull request #134 from puppetlabs/3.5.1-release-prep
(maint) Release prep for version 3.5.1
2023-08-24 08:12:24 -07:00
isaac-hammes
c277f3c94d (maint) Release prep for version 3.5.1 2023-08-24 08:07:24 -07:00
Jake Spain
a735c70056
Merge pull request #135 from puppetlabs/bump_vmpooler
(maint) Bump vmpooler gem to 3.5.1
2023-08-24 11:00:14 -04:00
Jake Spain
21cb8f4ba9
Bump vmpooler gem to 3.5.1 2023-08-24 10:57:24 -04:00
isaac-hammes
4ae86b1d08
Merge pull request #132 from puppetlabs/3.5.0-release-prep
(maint) Release prep for version 3.5.0
2023-08-23 06:47:04 -07:00
isaac-hammes
636210678f (maint) Release prep for version 3.5.0 2023-08-23 06:43:15 -07:00
isaac-hammes
ca5d7d194b
Merge pull request #131 from puppetlabs/update_vmpooler_and_vsphere_gems
(maint) Update vmpooler to 3.5.0 and vmpooler-provider-vsphere to 3.3.2
2023-08-23 06:37:28 -07:00
isaac-hammes
869b576c10 (maint) Update vmpooler to 3.5.0 and vmpooler-provider-vsphere to 3.3.2 2023-08-23 06:32:17 -07:00
Jake Spain
4492374677
Merge pull request #130 from puppetlabs/3.4.1-release-prep
3.4.1 release prep
2023-08-22 08:37:41 -04:00
Jake Spain
9f363f46f3
3.4.1 release prep 2023-08-22 08:35:01 -04:00
Jake Spain
e0aa5fdc66
Merge pull request #129 from puppetlabs/bump-vsphere-gem
(RE-15710) Bump vmpooler-provider-vsphere gem to 3.3.1
2023-08-22 08:31:25 -04:00
Jake Spain
fefb9de659
Bump vmpooler-provider-vsphere gem to 3.3.1 2023-08-22 08:29:20 -04:00
isaac-hammes
635e5e1519
Merge pull request #127 from puppetlabs/fix_340
(maint) Fix changelog for vmpooler 3.4.0 release
2023-08-21 09:04:34 -07:00
isaac-hammes
0e36465279 (maint) Fix changelog for vmpooler 3.4.0 release 2023-08-21 08:54:04 -07:00
Jake Spain
d4a6c6a109
Merge pull request #126 from puppetlabs/3.4.0-release-prep
(maint) Release prep for 3.4.0
2023-08-21 10:25:33 -04:00
isaac-hammes
62a36d699c (maint) Release prep for 3.4.0 2023-08-21 07:20:17 -07:00
isaac-hammes
3a3afd58b6
Merge pull request #124 from puppetlabs/update_providers_and_vmpooler_gem
(maint) Update vmpooler to 3.4.0, vmpooler-provider-gce to 1.3.0, and…
2023-08-21 06:57:41 -07:00
isaac-hammes
909689d0ea (maint) Update vmpooler to 3.4.0, vmpooler-provider-gce to 1.3.0, and vmpooler-provider-vsphere to 3.3.0 2023-08-21 06:53:30 -07:00
Jake Spain
d32d3d2930
Merge pull request #117 from puppetlabs/fix-release-330
Fix 3.3.0 in changelog
2023-08-16 17:12:11 -04:00
Jake Spain
7920c66622
Fix 3.3.0 in changelog 2023-08-16 17:10:23 -04:00
Jake Spain
1a3e98de84
Merge pull request #116 from puppetlabs/3.3.0-release-prep
3.3.0 release prep
2023-08-16 17:04:43 -04:00
isaac-hammes
d4ca3760f2 3.3.0 release prep 2023-08-16 13:50:40 -07:00
Jake Spain
7a41b9f25f
Merge pull request #114 from puppetlabs/update_redis
(maint) update redis_reconnect_attempts format and vmpooler gem
2023-08-16 16:01:17 -04:00
isaac-hammes
f8495f2ad5 (maint) Update vmpooler to 3.3.0 2023-08-16 12:57:50 -07:00
isaac-hammes
7d84560248 (maint) update redis_reconnect_attempts format 2023-08-16 12:57:50 -07:00
Jake Spain
92f9b7891c
Merge pull request #113 from puppetlabs/improve-devx
(RE-15696) Improve development experience
2023-08-14 15:17:27 -04:00
Jake Spain
45388de4e1
Improve development experience 2023-08-14 14:17:11 -04:00
Jake Spain
3f34b85dcb
Merge pull request #111 from puppetlabs/3.2.0-release-prep
3.2.0 release prep
2023-08-10 15:44:28 -04:00
Jake Spain
b4a270100a
3.2.0 release prep 2023-08-10 15:40:28 -04:00
Jake Spain
11617df909
Merge pull request #108 from puppetlabs/add_redis_connect_options
(RE-15638) Make redis connection options configurable
2023-08-10 15:36:05 -04:00
Jake Spain
54951bdc5f
Make redis connection options configurable 2023-08-10 15:26:45 -04:00
Jake Spain
55afa20e71
Merge pull request #110 from puppetlabs/fix-dns-class-load-bug
Bump jruby and all vmpooler gems
2023-08-10 15:25:35 -04:00
Jake Spain
3648ff006a
Bump jruby and all vmpooler gems 2023-08-10 13:18:36 -04:00
Jake Spain
fcad67b3d9
Merge pull request #109 from puppetlabs/revert_issue_management
Revert issue management change
2023-07-11 07:14:36 -04:00
Jake Spain
b17bc80b2d
Revert "Comment changelog validation until jira support is added"
This reverts commit b32768e36f.
2023-07-10 15:47:05 -04:00
Jake Spain
48a8085e2d
Revert "Migrate issue management to Jira"
This reverts commit 4e34a72133.
2023-07-10 15:46:56 -04:00
Jake Spain
cdd56c8429
Merge pull request #104 from puppetlabs/3.1.0-release-prep
3.1.0 release prep
2023-05-01 09:58:02 -04:00
Jake Spain
b32768e36f
Comment changelog validation until jira support is added 2023-05-01 09:34:17 -04:00
Jake Spain
e8c9ffba9e
3.1.0 release prep 2023-05-01 09:33:50 -04:00
Jake Spain
9dafadb3cc
Merge pull request #103 from puppetlabs/bump-vmpooler-gems
Bump all vmpooler gems
2023-05-01 09:30:56 -04:00
Jake Spain
049537636c
Bump all vmpooler gems 2023-05-01 09:11:59 -04:00
Jake Spain
28643d416c
Merge pull request #102 from puppetlabs/migrate-issues
Migrate issue management to Jira
2023-04-20 09:55:52 -04:00
Jake Spain
4e34a72133
Migrate issue management to Jira 2023-04-20 08:52:47 -04:00
Jake Spain
034c85e068
Merge pull request #99 from puppetlabs/dependabot/docker/docker/jruby-9.4.2.0-jdk11
Bump jruby from 9.4.1.0-jdk11 to 9.4.2.0-jdk11 in /docker
2023-04-20 08:31:55 -04:00
dependabot[bot]
b814f5f0bf
Bump jruby from 9.4.1.0-jdk11 to 9.4.2.0-jdk11 in /docker
Bumps jruby from 9.4.1.0-jdk11 to 9.4.2.0-jdk11.

---
updated-dependencies:
- dependency-name: jruby
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-20 12:25:27 +00:00
Jake Spain
397c40147d
Merge pull request #101 from puppetlabs/3.0.0-release
Chart 3.0.0/app 5.0.0 release prep
2023-04-19 11:58:02 -04:00
Jake Spain
6a0aa176c8
Chart 3.0.0/app 5.0.0 release prep 2023-04-19 11:10:39 -04:00
Jake Spain
70a41b89d9
Merge pull request #92 from puppetlabs/add-google-clouddns
(RE-15124) Bump vmpooler, providers, and add new dns gem
2023-04-19 11:06:00 -04:00
Jake Spain
db4058f1be
Bump vmpooler, providers, and add new dns gem 2023-04-19 10:57:41 -04:00
Jake Spain
eac0ccf62e
Update liveness and readiness to v3 api 2023-04-19 10:57:39 -04:00
Jake Spain
e4515e6d03
Remove domain from helm chart 2023-04-19 10:57:38 -04:00
Jake Spain
c081251826
Update local development for vmpooler 3.0 2023-04-19 10:57:32 -04:00
Jake Spain
9b123644b4
Merge pull request #98 from puppetlabs/release_prep
2.2.0 release prep
2023-03-06 16:54:28 -05:00
Jake Spain
ebd6c4e482
2.2.0 release prep 2023-03-06 16:02:15 -05:00
Jake Spain
f3b9cf019f
Merge pull request #97 from puppetlabs/bump-jruby-remove-tcpsocket
(RE-15161) Bump jruby to 9.4.1.0 and remove tcpsocket usage
2023-03-06 15:57:30 -05:00
Jake Spain
631f28c8fe
Add bundle install script (sans update) 2023-03-06 15:27:52 -05:00
Jake Spain
f1284ea0fc
Bump jruby to 9.4.1.0, java11, and all vmpooler gems 2023-03-06 15:23:20 -05:00
Jake Spain
0521dfad8b
Merge pull request #96 from puppetlabs/release_prep
2.1.0 release prep
2023-03-02 11:28:45 -05:00
Jake Spain
d00c02bc5c
2.1.0 release prep 2023-03-02 11:15:51 -05:00
Jake Spain
38bf04c54a
Merge pull request #95 from puppetlabs/configure-ondemand-ttl
(maint) Make additional options configurable in values file
2023-03-02 09:24:58 -05:00
Jake Spain
07fef6275e
Make additional options configurable in values file 2023-03-02 09:21:27 -05:00
Jake Spain
fca7ca06a0
Merge pull request #90 from puppetlabs/revert_helm_release_process
Manually generate chart due to github limitation
2023-01-30 13:33:45 -05:00
Jake Spain
00c3c4058b
Manually generate chart due to github limitation 2023-01-30 13:30:51 -05:00
Jake Spain
95807dee75
Merge pull request #89 from puppetlabs/fix_helm_deps_release
Fix helm packaging in release
2023-01-30 12:37:05 -05:00
Jake Spain
f4de3c6ccb
Fix helm packaging in release and docker push 2023-01-30 12:34:37 -05:00
Jake Spain
22d6698d31
Merge pull request #88 from puppetlabs/fix_release_context
Fix docker context and git add in release
2023-01-30 12:21:06 -05:00
Jake Spain
86ce404158
Fix docker context and git add in release 2023-01-30 12:18:15 -05:00
Jake Spain
432a2c5ae3
Merge pull request #87 from puppetlabs/release_prep_again
Release 2.0.0 prep again
2023-01-30 12:11:14 -05:00
Jake Spain
b1db7fbd6a
Corrected 2.0.0 release prep
Oops I broke the instructions. The chart is built upon release so that the chart does not exist before the docker tag.
2023-01-30 12:08:50 -05:00
Jake Spain
f258405c7b
Revert "2.0.0 release prep"
This reverts commit 5c54ce4f2b.
2023-01-30 12:04:55 -05:00
Jake Spain
6e349fcef7
Merge pull request #86 from puppetlabs/release_prep
2.0.0 release prep
2023-01-30 12:01:13 -05:00
Jake Spain
5c54ce4f2b
2.0.0 release prep 2023-01-30 11:16:55 -05:00
Jake Spain
1c8447f5a0
Merge pull request #84 from puppetlabs/bump_vsphere
[WIP] Bump vmpooler-provider-vsphere
2023-01-30 11:05:23 -05:00
Jake Spain
21e8add1eb
Remove amd64 prefix causing inability to update gemfile on Apple SIlicon 2023-01-30 10:45:41 -05:00
Jake Spain
cfb405b208
Add artifactory helm upload example 2023-01-30 10:45:40 -05:00
Jake Spain
8fc46771e3
Bump vsphere gem. ec2 not fully ready yet 2023-01-30 10:45:35 -05:00
Jake Spain
c2fba039d8
Bump vmpooler-provider-vsphere 2023-01-27 16:05:20 -05:00
Jake Spain
36fa26f4c7
Merge pull request #81 from puppetlabs/refactor-docs-and-deployment
[WIP] Refactor docs and deployment
2023-01-27 12:04:29 -05:00
Jake Spain
91c3c98904
Add test and release workflow 2023-01-27 11:55:42 -05:00
Jake Spain
f1563ed601
Bump redis chart as the current version doesn't exist 2023-01-27 11:55:42 -05:00
Jake Spain
6573bb6dd7
Add build on pull request 2023-01-27 11:55:42 -05:00
Jake Spain
08d2180307
Add changelog 2023-01-27 11:55:42 -05:00
Jake Spain
71b4edcd1d
Consolidate dockerfiles and add docs for development
This will reduce the number of files that need to be managed and dependencies that need updated at the same time.
2023-01-27 11:44:48 -05:00
Jake Spain
3a771dfadd
Fixes #39
Ignore dependency charts directory
2023-01-23 08:16:01 -05:00
Jake Spain
ef4c3edf08
Merge pull request #60 from puppetlabs/update_codeowners
(RE-14811) Remove DIO as codeowners
2022-08-26 10:34:39 -04:00
Jake Spain
39bc6355b9
Remove DIO as codeowners 2022-08-26 09:36:37 -04:00
Jake Spain
c9e7f5ecf2
Merge pull request #55 from puppetlabs/update-codeowners
Add release-engineering to codeowners
2022-08-08 15:04:01 -04:00
Jake Spain
d5a01612c1
Add release-engineering to codeowners 2022-08-08 14:36:16 -04:00
Erik Hansen
fbc80f5dac
Merge pull request #54 from puppetlabs/add-ec2-provider
(maint) Add the ec2 provider to our prod-all-providers Gemfile
2022-08-02 11:57:28 -07:00
Samuel Beaulieu
9cd9505193
(maint) Add the ec2 provider to our prod-all-providers Gemfile
this will allow to build a prod image that includes the ec2 code
2022-08-02 13:43:25 -05:00
Erik Hansen
229b926ef9
Merge pull request #52 from puppetlabs/maint-fix-jruby
(maint) Fix jruby startup
2022-07-26 11:46:12 -07:00
Samuel Beaulieu
9ee5c1941b
(maint) Fix jruby startup
Added a required package netbase for jruby to startup without a warning
Added an optoin for ec2 to specify the root_keys_script to use
2022-07-26 13:41:33 -05:00
Erik Hansen
aeab4e875d
Merge pull request #51 from puppetlabs/main-remove-invokedynamic
(maint) Remove invokedymanicyield=false that was a workaround for jru…
2022-07-26 08:32:38 -07:00
Samuel Beaulieu
f0be6484cf
(maint) Remove invokedymanicyield=false that was a workaround for jruby-9.2 2022-07-26 10:30:03 -05:00
Erik Hansen
85c9b57581
Merge pull request #50 from puppetlabs/maint-upgrade-jruby-9.3.6-fix
(maint) missing the archive
2022-07-25 14:31:42 -07:00
Samuel Beaulieu
50b2dbfbbf
(maint) missing the archive 2022-07-25 16:27:54 -05:00
Samuel
38a79d0ab6
Merge pull request #49 from puppetlabs/maint-upgrade-jruby-9.3.6
(maint) Upgrade to latest vmpooler with jruby 9.3.6
2022-07-25 16:03:08 -05:00
Samuel Beaulieu
16be4e20aa
(maint) Upgrade to latest vmpooler with jruby 9.3.6
Will deploy the prod image as v 1.7.0-prod-all-providers

Chart version 1.17.0
2022-07-25 16:01:29 -05:00
Samuel
75902ada65
Merge pull request #48 from puppetlabs/DIO-3229-v2
(DIO-3229) Add non sensitive parameters as ENV vars, and expect the s…
2022-07-08 09:23:45 -05:00
Samuel Beaulieu
4781c47e49
(DIO-3229) Add non sensitive parameters as ENV vars, and expect the secrets to be passed as provider config
remove the change to support an override of the command as the entrypoint is needed
2022-07-08 09:07:04 -05:00
Erik Hansen
20c48c8f8f
Merge pull request #47 from puppetlabs/DIO-3229
Add a new values parameter overrideCmd
2022-07-07 09:37:59 -07:00
Samuel Beaulieu
c96029fa87
Add a new values parameter overrideCmd
when set the parameter overrides the container.command that defaults to the entrypoint
Updated the test-all-providers Dockerfile to match prod file
Updated test-all-providers Gemfile to import the new ec2 provider
2022-07-07 11:24:03 -05:00
82 changed files with 1800 additions and 1002 deletions

View file

@ -1,35 +1,13 @@
version: 2 version: 2
updates: updates:
# /docker/dev folder
- package-ecosystem: docker - package-ecosystem: docker
directory: "/docker/dev/" directory: "/docker/"
schedule: schedule:
interval: daily interval: weekly
time: "13:00"
open-pull-requests-limit: 10 open-pull-requests-limit: 10
# /docker/prod-all-providers folder
- package-ecosystem: bundler - package-ecosystem: bundler
directory: "/docker/prod-all-providers/" directory: "/docker/"
schedule: schedule:
interval: daily interval: weekly
time: "13:00"
open-pull-requests-limit: 10
- package-ecosystem: docker
directory: "/docker/prod-all-providers/"
schedule:
interval: daily
time: "13:00"
open-pull-requests-limit: 10
# /docker/test-all-providers folder
- package-ecosystem: bundler
directory: "/docker/test-all-providers/"
schedule:
interval: daily
time: "13:00"
open-pull-requests-limit: 10
- package-ecosystem: docker
directory: "/docker/test-all-providers/"
schedule:
interval: daily
time: "13:00"
open-pull-requests-limit: 10 open-pull-requests-limit: 10

37
.github/workflows/build.yml vendored Normal file
View file

@ -0,0 +1,37 @@
name: Docker Build
on: pull_request
permissions:
contents: read
packages: write
jobs:
build:
name: Docker Build and Push
if: contains(github.event.pull_request.labels.*.name, 'documentation') != true
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
ref: ${{ github.ref }}
clean: true
fetch-depth: 0
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v3
with:
context: docker
push: true
tags: ghcr.io/${{ github.repository }}/vmpooler:pr${{ github.event.pull_request.number }}-${{ github.event.pull_request.head.sha }}

View file

@ -1,47 +0,0 @@
---
name: Container with all prod providers
on:
workflow_dispatch:
inputs:
tag:
description: 'Tag in semver format'
required: true
jobs:
container_prod_all_providers:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2 # Checking out the repo
- name: Build and Publish Docker image
uses: VaultVulp/gp-docker-action@1.2.0
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
image-name: vmpooler
build-context: ./docker/prod-all-providers/
dockerfile: ./docker/prod-all-providers/Dockerfile
image-tag: ${{ github.event.inputs.tag }}-prod-all-providers
- name: Generate Release Body
env:
RELEASE_BODY_FILE: "${{ github.event.inputs.tag }}-prod-all-providers-release-body.md"
run: |
echo "## Components" > ${RELEASE_BODY_FILE}
echo "" >> ${RELEASE_BODY_FILE}
echo "This release includes the following:" >> ${RELEASE_BODY_FILE}
echo "" >> ${RELEASE_BODY_FILE}
echo "### Source image" >> ${RELEASE_BODY_FILE}
echo "" >> ${RELEASE_BODY_FILE}
echo "- $(grep ^FROM ./docker/prod-all-providers/Dockerfile |cut -d ' ' -f2) + OS updates" >> ${RELEASE_BODY_FILE}
echo "" >> ${RELEASE_BODY_FILE}
echo "### Gems" >> ${RELEASE_BODY_FILE}
echo "" >> ${RELEASE_BODY_FILE}
echo "$(grep -e 'vmpooler ([0-9]' docker/prod-all-providers/Gemfile.lock | xargs -L1 echo -)" >> ${RELEASE_BODY_FILE}
echo "$(grep -e 'vmpooler-provider-.* ([0-9]' docker/prod-all-providers/Gemfile.lock | xargs -L1 echo -)" >> ${RELEASE_BODY_FILE}
- name: Tag Release
uses: ncipollo/release-action@v1
with:
tag: ${{ github.event.inputs.tag }}-prod-all-providers
token: ${{ secrets.GITHUB_TOKEN }}
draft: false
prerelease: false
bodyFile: ${{ github.event.inputs.tag }}-prod-all-providers-release-body.md
generateReleaseNotes: true

View file

@ -1,68 +0,0 @@
---
name: Release Helm charts
on:
workflow_dispatch:
inputs:
tag:
description: 'Tag in semver format'
required: true
type: string
jobs:
container_prod_all_providers:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0 # ct list-changed below needs this
- uses: azure/setup-helm@v1
- uses: actions/setup-python@v2
with:
python-version: 3.7
- name: Set up chart-testing
uses: helm/chart-testing-action@v2.1.0
- name: Run chart-testing (list-changed)
id: list-changed
run: |
changed=$(ct list-changed --chart-dirs helm-charts --target-branch main)
if [[ -n "$changed" ]]; then
echo "::set-output name=changed::true"
fi
- name: Run chart-testing (lint)
run: ct lint --chart-dirs helm-charts --all --validate-maintainers=false --chart-repos bitnami=https://charts.bitnami.com/bitnami
- name: Package charts
run: |
set -e
cd docs/
helm package ../helm-charts/*
helm repo index --url https://puppetlabs.github.io/vmpooler-deployment/ .
- uses: EndBug/add-and-commit@v9 # You can change this to use a specific version.
with:
add: docs
message: release helm-chart version ${{ github.event.inputs.tag }}
- name: Generate Release Body
env:
RELEASE_BODY_FILE: "${{ github.event.inputs.tag }}-prod-all-providers-release-body.md"
run: |
echo "#Components" > ${RELEASE_BODY_FILE}
echo "" >> ${RELEASE_BODY_FILE}
echo "This release includes the following:" >> ${RELEASE_BODY_FILE}
echo "" >> ${RELEASE_BODY_FILE}
echo "##Source image" >> ${RELEASE_BODY_FILE}
echo "" >> ${RELEASE_BODY_FILE}
echo "- $(grep ^FROM ./docker/prod-all-providers/Dockerfile |cut -d ' ' -f2) + OS updates" >> ${RELEASE_BODY_FILE}
echo "" >> ${RELEASE_BODY_FILE}
echo "##Gems" >> ${RELEASE_BODY_FILE}
echo "" >> ${RELEASE_BODY_FILE}
echo "$(grep -e 'vmpooler ([0-9]' docker/prod-all-providers/Gemfile.lock | xargs -L1 echo -)" >> ${RELEASE_BODY_FILE}
echo "$(grep -e 'vmpooler-provider-.* ([0-9]' docker/prod-all-providers/Gemfile.lock | xargs -L1 echo -)" >> ${RELEASE_BODY_FILE}
echo "${RELEASE_BODY_FILE}"
- name: Tag Release
uses: ncipollo/release-action@v1
with:
tag: ${{ github.event.inputs.tag }}-prod-all-providers
token: ${{ secrets.GITHUB_TOKEN }}
draft: false
prerelease: false
bodyFile: ${{ github.event.inputs.tag }}-prod-all-providers-release-body.md
generateReleaseNotes: true

167
.github/workflows/release.yml vendored Normal file
View file

@ -0,0 +1,167 @@
name: Docker and Helm Release
on:
workflow_dispatch:
permissions:
contents: write
issues: read
pull-requests: read
packages: write
jobs:
release:
name: Validate Docs, Tag, and Docker Push & Helm Push
runs-on: ubuntu-latest
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: |
version=$(yq .version helm-charts/vmpooler/Chart.yaml)
appVersion=$(yq .appVersion helm-charts/vmpooler/Chart.yaml)
echo "version=$version" >> $GITHUB_OUTPUT
echo "appVersion=$appVersion" >> $GITHUB_OUTPUT
echo "Found version $version from helm-charts/vmpooler/Chart.yaml"
echo "Found appVersion $appVersion from helm-charts/vmpooler/Chart.yaml"
- name: Get Current Chart Version
uses: actions/github-script@v6
id: cv
with:
script: |
const { data: response } = await github.rest.repos.getLatestRelease({
owner: context.repo.owner,
repo: context.repo.repo,
})
console.log(`The latest release is ${response.tag_name}`)
return response.tag_name
result-encoding: string
- name: Get Current Docker Tag
uses: actions/github-script@v6
id: dv
with:
script: |
// concat to build "vmpooler-deployment%2Fvmpooler"
const packageName = [context.repo.repo, 'vmpooler'].join('/');
const shouldRunDockerBuild = async () => {
let runDockerBuild = true;
// Iterate through all pages of list of package versions
for await (const response of github.paginate.iterator(
github.rest.packages.getAllPackageVersionsForPackageOwnedByOrg,
{
package_type: 'container',
package_name: packageName,
org: context.repo.owner,
}
)) {
// Loop through each version, destructure down to the tags array and search for existing tag
for (const data of response.data) {
const { metadata: { container: { tags }}} = data;
console.log('List of docker tags:', tags);
if (tags.includes("${{ steps.nv.outputs.appVersion }}")) {
// Existing tag found, return false so that docker build does not run
console.log('Found existing tag for', "${{ steps.nv.outputs.appVersion }}");
runDockerBuild = false;
break;
};
};
};
return runDockerBuild;
};
const returnValue = await shouldRunDockerBuild();
console.log('return:', returnValue);
return returnValue;
- name: Generate Changelog
uses: docker://githubchangeloggenerator/github-changelog-generator:1.16.2
with:
args: >-
--future-release ${{ steps.nv.outputs.version }}
env:
CHANGELOG_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Validate Changelog
run : |
set -e
if [[ -n $(git status --porcelain) ]]; then
echo "Here is the current git status:"
git status
echo
echo "The following changes were detected:"
git --no-pager diff
echo "Uncommitted PRs found in the changelog. Please submit a release prep PR of changes after running '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 ${{ steps.nv.outputs.version }}'"
exit 1
fi
- name: Generate Release Notes
uses: docker://githubchangeloggenerator/github-changelog-generator:1.16.2
with:
args: >-
--since-tag ${{ steps.cv.outputs.result }}
--future-release ${{ steps.nv.outputs.version }}
--output release-notes.md
env:
CHANGELOG_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push Docker
if: ${{ steps.dv.outputs.result == 'true' }}
uses: docker/build-push-action@v3
with:
context: docker
push: true
tags: |
ghcr.io/${{ github.repository }}/vmpooler:${{ steps.nv.outputs.appVersion }}
ghcr.io/${{ github.repository }}/vmpooler:latest
- uses: azure/setup-helm@v3
- uses: actions/setup-python@v4
with:
python-version: 3.9
- name: Package Helm charts
run: |
set -e
helm dependency update helm-charts/vmpooler
cd docs/
helm package ../helm-charts/*
helm repo index --url https://puppetlabs.github.io/vmpooler-deployment/ .
# Re-enable this and remove step 4 for manually building the chart if/when
# GitHub allows a way to bypass required status checks on a protected branch.
# - name: Git Commit and Push Helm Charts
# run: |
# git config user.name "puppetlabs-jenkins"
# git config user.email "team-quality-engineering@puppet.com"
# git add docs
# git commit -m "release helm-chart version ${{ steps.nv.outputs.version }}"
# git push
- name: Tag Release
uses: ncipollo/release-action@v1
with:
tag: ${{ steps.nv.outputs.version }}
token: ${{ secrets.GITHUB_TOKEN }}
bodyfile: release-notes.md
draft: false
prerelease: false

33
.github/workflows/test.yml vendored Normal file
View file

@ -0,0 +1,33 @@
name: Helm Test
on: pull_request
jobs:
test:
name: Test Helm Chart
if: contains(github.event.pull_request.labels.*.name, 'documentation') != true
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
ref: ${{ github.ref }}
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
with:
python-version: 3.9
- name: Set up chart-testing
uses: helm/chart-testing-action@v2
- name: Run chart-testing (lint)
run: ct lint --chart-dirs helm-charts --all --validate-maintainers=false --chart-repos artifactory=https://artifactory.delivery.puppetlabs.net/artifactory/helm__local

View file

@ -0,0 +1,3 @@
project=vmpooler-deployment
user=puppetlabs
exclude_labels=maintenance

6
.gitignore vendored
View file

@ -1,4 +1,6 @@
/*/**/vendor/bundle/ /*/**/vendor/bundle/
/docker/**/vmpooler.yaml /docker/data/vmpooler*.yaml
/docker/data/*.json
.vagrant/ .vagrant/
.idea/ .idea/
helm-charts/vmpooler/charts/

317
CHANGELOG.md Normal file
View file

@ -0,0 +1,317 @@
# 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)
**Breaking changes:**
- \(RE-15124\) Bump vmpooler, providers, and add new dns gem [\#92](https://github.com/puppetlabs/vmpooler-deployment/pull/92) ([yachub](https://github.com/yachub))
## [2.2.0](https://github.com/puppetlabs/vmpooler-deployment/tree/2.2.0) (2023-03-06)
[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/2.1.0...2.2.0)
**Implemented enhancements:**
- \(RE-15161\) Bump jruby to 9.4.1.0 and remove tcpsocket usage [\#97](https://github.com/puppetlabs/vmpooler-deployment/pull/97) ([yachub](https://github.com/yachub))
## [2.1.0](https://github.com/puppetlabs/vmpooler-deployment/tree/2.1.0) (2023-03-02)
[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/2.0.0...2.1.0)
**Merged pull requests:**
- \(maint\) Make additional options configurable in values file [\#95](https://github.com/puppetlabs/vmpooler-deployment/pull/95) ([yachub](https://github.com/yachub))
## [2.0.0](https://github.com/puppetlabs/vmpooler-deployment/tree/2.0.0) (2023-01-30)
[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/1.19.0...2.0.0)
**Implemented enhancements:**
- Bump vmpooler-provider-vsphere [\#84](https://github.com/puppetlabs/vmpooler-deployment/pull/84) ([yachub](https://github.com/yachub))
- Refactor docs and deployment [\#81](https://github.com/puppetlabs/vmpooler-deployment/pull/81) ([yachub](https://github.com/yachub))
**Fixed bugs:**
- .gitignore missed charts directory [\#39](https://github.com/puppetlabs/vmpooler-deployment/issues/39)
## [1.19.0](https://github.com/puppetlabs/vmpooler-deployment/tree/1.19.0) (2022-08-26)
[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/1.8.0-prod-all-providers...1.19.0)
**Merged pull requests:**
- \(RE-14811\) Remove DIO as codeowners [\#60](https://github.com/puppetlabs/vmpooler-deployment/pull/60) ([yachub](https://github.com/yachub))
- Add release-engineering to codeowners [\#55](https://github.com/puppetlabs/vmpooler-deployment/pull/55) ([yachub](https://github.com/yachub))
- \(maint\) Add the ec2 provider to our prod-all-providers Gemfile [\#54](https://github.com/puppetlabs/vmpooler-deployment/pull/54) ([sbeaulie](https://github.com/sbeaulie))
## [1.8.0-prod-all-providers](https://github.com/puppetlabs/vmpooler-deployment/tree/1.8.0-prod-all-providers) (2022-07-26)
[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/1.7.0-prod-all-providers...1.8.0-prod-all-providers)
**Merged pull requests:**
- \(maint\) Fix jruby startup [\#52](https://github.com/puppetlabs/vmpooler-deployment/pull/52) ([sbeaulie](https://github.com/sbeaulie))
- \(maint\) Remove invokedymanicyield=false that was a workaround for jru… [\#51](https://github.com/puppetlabs/vmpooler-deployment/pull/51) ([sbeaulie](https://github.com/sbeaulie))
- \(maint\) missing the archive [\#50](https://github.com/puppetlabs/vmpooler-deployment/pull/50) ([sbeaulie](https://github.com/sbeaulie))
## [1.7.0-prod-all-providers](https://github.com/puppetlabs/vmpooler-deployment/tree/1.7.0-prod-all-providers) (2022-07-25)
[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/1.6.0-prod-all-providers...1.7.0-prod-all-providers)
**Merged pull requests:**
- \(maint\) Upgrade to latest vmpooler with jruby 9.3.6 [\#49](https://github.com/puppetlabs/vmpooler-deployment/pull/49) ([sbeaulie](https://github.com/sbeaulie))
- \(DIO-3229\) Add non sensitive parameters as ENV vars, and expect the s… [\#48](https://github.com/puppetlabs/vmpooler-deployment/pull/48) ([sbeaulie](https://github.com/sbeaulie))
- Add a new values parameter overrideCmd [\#47](https://github.com/puppetlabs/vmpooler-deployment/pull/47) ([sbeaulie](https://github.com/sbeaulie))
## [1.6.0-prod-all-providers](https://github.com/puppetlabs/vmpooler-deployment/tree/1.6.0-prod-all-providers) (2022-06-21)
[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/1.5.0-prod-all-providers...1.6.0-prod-all-providers)
**Implemented enhancements:**
- \(DIO-3162\) Add support for disk\_type in gce [\#43](https://github.com/puppetlabs/vmpooler-deployment/pull/43) ([sbeaulie](https://github.com/sbeaulie))
**Merged pull requests:**
- \(DIO-3157\) Update ingress for k8s 1.22 [\#42](https://github.com/puppetlabs/vmpooler-deployment/pull/42) ([suckatrash](https://github.com/suckatrash))
- Update release-helm-charts.yml [\#41](https://github.com/puppetlabs/vmpooler-deployment/pull/41) ([sbeaulie](https://github.com/sbeaulie))
- Update release-helm-charts.yml [\#40](https://github.com/puppetlabs/vmpooler-deployment/pull/40) ([sbeaulie](https://github.com/sbeaulie))
- \(DIO-2812\) Add CI for charts [\#21](https://github.com/puppetlabs/vmpooler-deployment/pull/21) ([genebean](https://github.com/genebean))
## [1.5.0-prod-all-providers](https://github.com/puppetlabs/vmpooler-deployment/tree/1.5.0-prod-all-providers) (2022-04-19)
[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/1.4.0-prod-all-providers...1.5.0-prod-all-providers)
**Implemented enhancements:**
- Bump vmpooler-provider-gce gem to include hostname fix [\#37](https://github.com/puppetlabs/vmpooler-deployment/pull/37) ([yachub](https://github.com/yachub))
**Merged pull requests:**
- Deploy v1.11.1 [\#36](https://github.com/puppetlabs/vmpooler-deployment/pull/36) ([sbeaulie](https://github.com/sbeaulie))
## [1.4.0-prod-all-providers](https://github.com/puppetlabs/vmpooler-deployment/tree/1.4.0-prod-all-providers) (2022-04-07)
[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/1.3.0-prod-all-providers...1.4.0-prod-all-providers)
**Merged pull requests:**
- \(DIO-2833\) Bump the gemfile too since this is used for building the i… [\#35](https://github.com/puppetlabs/vmpooler-deployment/pull/35) ([sbeaulie](https://github.com/sbeaulie))
- \(DIO-2833\) Chart version using the latest code from vmpooler to suppo… [\#34](https://github.com/puppetlabs/vmpooler-deployment/pull/34) ([sbeaulie](https://github.com/sbeaulie))
## [1.3.0-prod-all-providers](https://github.com/puppetlabs/vmpooler-deployment/tree/1.3.0-prod-all-providers) (2022-03-30)
[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/1.2.0-prod-all-providers...1.3.0-prod-all-providers)
**Merged pull requests:**
- fix annotations [\#33](https://github.com/puppetlabs/vmpooler-deployment/pull/33) ([sbeaulie](https://github.com/sbeaulie))
- \(maint\) set extra\_config the same way we do the manager app [\#32](https://github.com/puppetlabs/vmpooler-deployment/pull/32) ([sbeaulie](https://github.com/sbeaulie))
- deploy chart v1.9.0 [\#31](https://github.com/puppetlabs/vmpooler-deployment/pull/31) ([sbeaulie](https://github.com/sbeaulie))
- \(maint\) Update redis version, add env REDIS\_RECONNECT\_ATTEMPTS [\#30](https://github.com/puppetlabs/vmpooler-deployment/pull/30) ([sbeaulie](https://github.com/sbeaulie))
- Including vmpooler-provider-gce in the Gemfile [\#22](https://github.com/puppetlabs/vmpooler-deployment/pull/22) ([sbeaulie](https://github.com/sbeaulie))
## [1.2.0-prod-all-providers](https://github.com/puppetlabs/vmpooler-deployment/tree/1.2.0-prod-all-providers) (2021-12-13)
[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/1.1.0-prod-all-providers...1.2.0-prod-all-providers)
**Merged pull requests:**
- Update vmpooler chart to accept image tag override [\#20](https://github.com/puppetlabs/vmpooler-deployment/pull/20) ([genebean](https://github.com/genebean))
## [1.1.0-prod-all-providers](https://github.com/puppetlabs/vmpooler-deployment/tree/1.1.0-prod-all-providers) (2021-12-13)
[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/1.0.0-prod-all-providers...1.1.0-prod-all-providers)
**Merged pull requests:**
- Update gemfiles post vsphere provider 1.5 release [\#19](https://github.com/puppetlabs/vmpooler-deployment/pull/19) ([genebean](https://github.com/genebean))
## [1.0.0-prod-all-providers](https://github.com/puppetlabs/vmpooler-deployment/tree/1.0.0-prod-all-providers) (2021-12-09)
[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/0.1.1-prod-all-providers...1.0.0-prod-all-providers)
**Merged pull requests:**
- General updates related to packaging [\#18](https://github.com/puppetlabs/vmpooler-deployment/pull/18) ([genebean](https://github.com/genebean))
## [0.1.1-prod-all-providers](https://github.com/puppetlabs/vmpooler-deployment/tree/0.1.1-prod-all-providers) (2021-12-09)
[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/0.1.0-prod-all-providers...0.1.1-prod-all-providers)
**Merged pull requests:**
- Update build workflow output [\#17](https://github.com/puppetlabs/vmpooler-deployment/pull/17) ([genebean](https://github.com/genebean))
## [0.1.0-prod-all-providers](https://github.com/puppetlabs/vmpooler-deployment/tree/0.1.0-prod-all-providers) (2021-12-09)
[Full Changelog](https://github.com/puppetlabs/vmpooler-deployment/compare/074778d0b021afefdffed1931228954f9adbd9f6...0.1.0-prod-all-providers)
**Merged pull requests:**
- Add dockerfile param to CI workflow [\#16](https://github.com/puppetlabs/vmpooler-deployment/pull/16) ([genebean](https://github.com/genebean))
- Add prod container setup [\#15](https://github.com/puppetlabs/vmpooler-deployment/pull/15) ([genebean](https://github.com/genebean))
- Add prod container setup [\#13](https://github.com/puppetlabs/vmpooler-deployment/pull/13) ([genebean](https://github.com/genebean))
- Bump vmpooler from `5f89131` to `3c61050` in /docker/test-all-providers [\#12](https://github.com/puppetlabs/vmpooler-deployment/pull/12) ([dependabot[bot]](https://github.com/apps/dependabot))
- Update docker setup for testing [\#11](https://github.com/puppetlabs/vmpooler-deployment/pull/11) ([genebean](https://github.com/genebean))
- Revert api's extra\_config param [\#10](https://github.com/puppetlabs/vmpooler-deployment/pull/10) ([genebean](https://github.com/genebean))
- Fix templating in api deployment [\#9](https://github.com/puppetlabs/vmpooler-deployment/pull/9) ([genebean](https://github.com/genebean))
- Bump default timoutes for redis health checks [\#8](https://github.com/puppetlabs/vmpooler-deployment/pull/8) ([genebean](https://github.com/genebean))
- Add more details to Helm repo section [\#5](https://github.com/puppetlabs/vmpooler-deployment/pull/5) ([genebean](https://github.com/genebean))
- Create Helm repository [\#4](https://github.com/puppetlabs/vmpooler-deployment/pull/4) ([genebean](https://github.com/genebean))
- Add icon to Helm chart [\#3](https://github.com/puppetlabs/vmpooler-deployment/pull/3) ([genebean](https://github.com/genebean))
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*

View file

@ -1,10 +1,10 @@
# This will cause DIO to be assigned review of any opened PRs against # This will cause RE to be assigned review of any opened PRs against
# the branches containing this file. # the branches containing this file.
# See https://help.github.com/en/articles/about-code-owners for info on how to # See https://help.github.com/en/articles/about-code-owners for info on how to
# take ownership of parts of the code base that should be reviewed by another # take ownership of parts of the code base that should be reviewed by another
# team. # team.
# DIO will be the default owners for everything in the repo. # RE will be the default owners for everything in the repo.
* @puppetlabs/dio * @puppetlabs/release-engineering

125
README.md
View file

@ -1,38 +1,131 @@
# vmpooler-deployment # vmpooler-deployment
This repo contains Dockerfiles and a Helm chart that can be used to deploy [VMPooler](https://github.com/puppetlabs/vmpooler). The DIO team at Puppet uses the code here as part of operating our VMPooler instances. - [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)
Contains Dockerfiles and a Helm chart that are used to deploy [VMPooler](https://github.com/puppetlabs/vmpooler).
## 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)
- [VMPooler EC2 Provider](https://github.com/puppetlabs/vmpooler-provider-ec2)
- [VMPooler GCE Provider](https://github.com/puppetlabs/vmpooler-provider-gce)
- [VMPooler vSphere Provider](https://github.com/puppetlabs/vmpooler-provider-vsphere)
## Docker Registry ## 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
Containers are organized using image tags: The vmpooler released docker image tags use semantic versioning; the version increments correlate to the increments in any of the gems at `docker/Gemfile`.
- `x.y.z-prod-all-providers` represents images built using the Dockerfile in `docker/prod-all-providers`. These images use the Gemfile in the same directory to pull in current versions of the `vmpooler` gem and the gems for all known production-grade providers. Image tags starting with `pr<PULL REQUEST NUMBER>-<GIT SHA>` are generated when opening and pushing to a pull request and will periodically be cleaned up.
## Helm Repository ## 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 ```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 "vmpooler-deployment" has been added to your repositories
``` ```
### Adding / updating charts ### Adding / updating charts
```bash Update the helm chart in helm-charts/vmpooler. Run `./update-chart`.
cd docs/
helm package ../helm-charts/*
helm repo index --url https://puppetlabs.github.io/vmpooler-deployment/ .
git add .
cd ..
git commit -a
```
## Contributing ## Development
We welcome and encourage contributions! Prerequisites:
- [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 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)
- If you are not using Dynamic DNS, then the following DNS plugins can be used to manage records across different compute providers:
- [VMPooler Google CloudDNS Plugin](https://github.com/puppetlabs/vmpooler-dns-google-clouddns)
2. Chose a Development method:
- Develop via local source:
1. Clone all of the known vmpooler projects listed at [vmpooler-components](#vmpooler-components) under a common directory, for example:
```bash
|-- vmpooler-projects
| |--vmpooler
| |--vmpooler-deployment
| |--vmpooler-dns-gcp
| |--vmpooler-provider-ec2
| |--vmpooler-provider-gce
| |--vmpooler-provider-vsphere
```
2. From the `vmpooler-projects/vmpooler-deployment` directory run `docker compose -f docker/docker-compose.dev.yml up --build`
- Develop via Git source:
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, 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 service in either `docker/docker-compose.yml` or `docker/docker-compose.local.yml`.
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 | <http://localhost:8080> (Credentials: `admin:admin`) |
| Jaeger | <http://localhost:8081> |
| VMPooler API | <http://localhost:8082/api/v3> |
| VMPooler Dashboard | <http://localhost:8082/dashboard> |
| Metrics (API) | <http://localhost:8082/prometheus> |
| Metrics (Manager) | <http://localhost:8083/prometheus> |
| Prometheus Server | <http://localhost:9090> |
| Grafana Server | <http://localhost:3000> (Credentials: `admin:admin`) |
### Deploy Chart for Testing
Helm charts are hosted with GitHub Pages since GitHub Packages does not support Helm, so you will need to build the chart locally and push the chart to your own helm repository. Follow these steps to generate a chart to host internally:
1. Update the "appVersion" key in `helm-charts/vmpooler/Chart.yaml` to the docker image tag that was generated by opening a pull request.
2. Update the "version" key to a pre-release tag, something like "x.y.z-rc.1", then run `./build-chart` to build the chart locally, and upload it to your desired location.
Artifactory Example:
`curl -H 'X-JFrog-Art-Api:<YOUR_API_KEY>' -T vmpooler-x.y.z-rc.1.tgz "https://artifactory.example.com/artifactory/helm__local/vmpooler-x.y.z-rc.1.tgz"`
## Releasing
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 publish the helm chart pointing to a nonexistent docker tag until the release workflow is run.
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. 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.
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.
## License ## License

7
build-chart Executable file
View file

@ -0,0 +1,7 @@
#!/usr/bin/env bash
set -e
set -x
docker run --rm --interactive --tty --volume=$(pwd):/apps \
--entrypoint /bin/sh alpine/helm ./helm-package

8
docker/.dockerignore Normal file
View file

@ -0,0 +1,8 @@
# Exclude everything by default; explicitly include necessary files
*
!.rerun
!docker-entrypoint.dev.sh
!docker-entrypoint.sh
!Gemfile
!Gemfile.dev
!Gemfile.lock

2
docker/.rerun Normal file
View file

@ -0,0 +1,2 @@
--dir /opt/vmpooler-projects/
--pattern **/lib/**/*.{erb,rb}

View file

@ -8,7 +8,7 @@
# RUN: # RUN:
# docker run -e VMPOOLER_CONFIG -p 80:4567 -it vmpooler # docker run -e VMPOOLER_CONFIG -p 80:4567 -it vmpooler
FROM jruby:9.2-jdk FROM jruby:9.4.7.0-jdk11
LABEL org.opencontainers.image.description "VMPooler plus all known providers" LABEL org.opencontainers.image.description "VMPooler plus all known providers"
@ -18,13 +18,12 @@ ENV RACK_ENV=production
RUN apt-get update -qq && \ RUN apt-get update -qq && \
apt-get upgrade -y && \ apt-get upgrade -y && \
apt-get install -y --no-install-recommends make && \ apt-get install -y --no-install-recommends make git netbase && \
apt-get clean autoclean && \ apt-get clean autoclean && \
apt-get autoremove -y && \ apt-get autoremove -y && \
rm -rf /var/lib/apt/lists/* rm -rf /var/lib/apt/lists/*
RUN gem install bundler && \ RUN gem install bundler
gem update --system 3.2.3
COPY ./docker-entrypoint.sh /usr/local/bin/ COPY ./docker-entrypoint.sh /usr/local/bin/
@ -32,7 +31,7 @@ RUN chmod +x /usr/local/bin/docker-entrypoint.sh
COPY ./Gemfile* ./ COPY ./Gemfile* ./
RUN bundle config set --local jobs 3 && \ RUN bundle config set --local jobs 3 without development && \
bundle install bundle install
ENTRYPOINT ["docker-entrypoint.sh"] ENTRYPOINT ["docker-entrypoint.sh"]

38
docker/Dockerfile.dev Normal file
View file

@ -0,0 +1,38 @@
# For local development of vmpooler core and provider gems instead of using a
# git source ensure the following directory structure:
# |-- vmpooler-projects
# | |--vmpooler-deployment
# | |--vmpooler-provider-ec2
# | |--vmpooler-provider-gce
# | |--vmpooler-provider-vsphere
#
# Then change directory into vmpooler-projects and build with:
FROM jruby:9.4.7.0-jdk11
LABEL org.opencontainers.image.description "VMPooler plus all known providers"
ENV DEBIAN_FRONTEND=noninteractive
ENV LOGFILE=/dev/stdout
ENV RACK_ENV=production
RUN apt-get update -qq && \
apt-get upgrade -y && \
apt-get install -y --no-install-recommends make git netbase && \
apt-get clean autoclean && \
apt-get autoremove -y && \
rm -rf /var/lib/apt/lists/*
RUN gem install bundler
COPY docker-entrypoint.dev.sh /usr/local/bin/docker-entrypoint.sh
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
COPY Gemfile.dev ./Gemfile
COPY .rerun ./.rerun
RUN bundle config set --local jobs 3
ENTRYPOINT ["docker-entrypoint.sh"]

15
docker/Gemfile Normal file
View file

@ -0,0 +1,15 @@
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
gem 'vmpooler', '~> 3.0'
gem 'vmpooler-dns-gcp', '~> 1.0'
# Remove temporarily until a stable minor release is published
# gem 'vmpooler-provider-ec2', '~> 0.0.1'
gem 'vmpooler-provider-gce', '~> 1.0'
gem 'vmpooler-provider-vsphere', '~> 3.0'
# For development install via a git branch use something like:
# gem 'vmpooler', git: 'https://github.com/puppetlabs/vmpooler.git', branch: 'my-feature'
# gem 'vmpooler-dns-gcp', git: 'https://github.com/puppetlabs/vmpooler-dns-gcp.git', branch: 'my-feature'
# gem 'vmpooler-provider-ec2', git: 'https://github.com/puppetlabs/vmpooler-provider-ec2.git', branch: 'my-feature'
# gem 'vmpooler-provider-gce', git: 'https://github.com/puppetlabs/vmpooler-provider-gce.git', branch: 'my-feature'
# gem 'vmpooler-provider-vsphere', git: 'https://github.com/puppetlabs/vmpooler-provider-vsphere.git', branch: 'my-feature'

11
docker/Gemfile.dev Normal file
View file

@ -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

208
docker/Gemfile.lock Normal file
View file

@ -0,0 +1,208 @@
GEM
remote: https://rubygems.org/
specs:
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.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.3)
addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.16.2, < 2.a)
httpclient (>= 2.8.1, < 3.a)
mini_mime (~> 1.0)
representable (~> 3.0)
retriable (>= 2.0, < 4.a)
rexml
google-apis-dns_v1 (0.36.0)
google-apis-core (>= 0.11.0, < 2.a)
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 (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)
memoist (~> 0.16)
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
signet (>= 0.16, < 2.a)
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.5)
multi_json (1.19.1)
mustermann (3.0.4)
ruby2_keywords (~> 0.0.1)
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.7.0)
opentelemetry-common (0.20.1)
opentelemetry-api (~> 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.22.3)
opentelemetry-api (~> 1.0)
opentelemetry-registry (~> 0.1)
opentelemetry-instrumentation-concurrent_ruby (0.21.1)
opentelemetry-api (~> 1.0)
opentelemetry-instrumentation-base (~> 0.22.1)
opentelemetry-instrumentation-http_client (0.22.2)
opentelemetry-api (~> 1.0)
opentelemetry-common (~> 0.20.0)
opentelemetry-instrumentation-base (~> 0.22.1)
opentelemetry-instrumentation-rack (0.23.4)
opentelemetry-api (~> 1.0)
opentelemetry-common (~> 0.20.0)
opentelemetry-instrumentation-base (~> 0.22.1)
opentelemetry-instrumentation-redis (0.25.3)
opentelemetry-api (~> 1.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.24.2)
google-cloud-env
opentelemetry-sdk (~> 1.0)
opentelemetry-sdk (1.10.0)
opentelemetry-api (~> 1.1)
opentelemetry-common (~> 0.20)
opentelemetry-registry (~> 0.2)
opentelemetry-semantic_conventions
opentelemetry-semantic_conventions (1.36.0)
opentelemetry-api (~> 1.0)
optimist (3.2.1)
os (1.1.4)
ostruct (0.6.3)
pickup (0.0.11)
prometheus-client (4.2.5)
base64
public_suffix (6.0.2)
puma (6.6.1-java)
nio4r (~> 2.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 (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.4.4)
ruby2_keywords (0.0.5)
signet (0.21.0)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.a)
jwt (>= 1.5, < 4.0)
multi_json (~> 1.10)
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.22.0)
tilt (2.7.0)
trailblazer-option (0.1.2)
uber (0.1.0)
uri (1.1.1)
vmpooler (3.8.1)
concurrent-ruby (~> 1.1)
connection_pool (~> 2.4)
deep_merge (~> 1.2)
net-ldap (~> 0.16)
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, < 5)
puma (>= 5.0.4, < 7)
rack (>= 2.2, < 4.0)
rake (~> 13.0)
redis (~> 5.0)
sinatra (>= 2, < 4)
spicy-proton (~> 2.1)
statsd-ruby (~> 1.4)
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.3.0)
google-apis-compute_v1 (~> 0.14)
googleauth (>= 0.16.2, < 1.4.0)
vmpooler (~> 3.0)
vmpooler-provider-vsphere (3.3.4)
rbvmomi2 (>= 3.1, < 4.0)
vmpooler (~> 3.0)
zonefile (1.06)
PLATFORMS
universal-java-11
DEPENDENCIES
vmpooler (~> 3.0)
vmpooler-dns-gcp (~> 1.0)
vmpooler-provider-gce (~> 1.0)
vmpooler-provider-vsphere (~> 3.0)
BUNDLED WITH
2.4.12

View file

@ -1,3 +0,0 @@
.bundle/
vendor/
update-gemfile-lock.sh

View file

@ -1,38 +0,0 @@
# Run vmpooler in a Docker container! Configuration can either be embedded
# and built within the current working directory, or stored in a
# VMPOOLER_CONFIG environment value and passed to the Docker daemon.
#
# BUILD:
# docker build -t vmpooler .
#
# RUN:
# docker run -e VMPOOLER_CONFIG -p 80:4567 -it vmpooler
FROM jruby:9.2-jdk
ENV DEBIAN_FRONTEND=noninteractive
ENV RACK_ENV=production
RUN apt-get update -qq && \
apt-get upgrade -y && \
apt-get install -y --no-install-recommends make && \
apt-get clean autoclean && \
apt-get autoremove -y && \
rm -rf /var/lib/apt/lists/*
COPY docker/docker-entrypoint.sh /usr/local/bin/
COPY ./Gemfile ./
COPY ./vmpooler.gemspec ./
COPY ./lib/vmpooler/version.rb ./lib/vmpooler/version.rb
RUN gem install bundler && \
bundle config set --local jobs 3 && \
bundle install
COPY ./ ./
RUN gem build vmpooler.gemspec && \
gem install vmpooler*.gem && \
chmod +x /usr/local/bin/docker-entrypoint.sh
ENTRYPOINT ["docker-entrypoint.sh"]

View file

@ -1,39 +0,0 @@
# Run vmpooler in a Docker container! Configuration can either be embedded
# and built within the current working directory, or stored in a
# VMPOOLER_CONFIG environment value and passed to the Docker daemon.
#
# BUILD:
# docker build -t vmpooler .
#
# RUN:
# docker run -e VMPOOLER_CONFIG -p 80:4567 -it vmpooler
FROM jruby:9.2.9-jdk
RUN mkdir -p /var/lib/vmpooler
WORKDIR /var/lib/vmpooler
RUN echo "deb http://httpredir.debian.org/debian jessie main" >/etc/apt/sources.list.d/jessie-main.list
RUN apt-get update -qq && \
apt-get install -y --no-install-recommends make redis-server && \
apt-get clean autoclean && \
apt-get autoremove -y && \
rm -rf /var/lib/apt/lists/*
ADD Gemfile* /var/lib/vmpooler/
RUN bundle install --system
RUN ln -s /opt/jruby/bin/jruby /usr/bin/jruby
COPY . /var/lib/vmpooler
ENV VMPOOLER_LOG /var/log/vmpooler.log
CMD \
/etc/init.d/redis-server start \
&& /var/lib/vmpooler/scripts/vmpooler_init.sh start \
&& while [ ! -f ${VMPOOLER_LOG} ]; do sleep 1; done ; \
tail -f ${VMPOOLER_LOG}

View file

@ -1,73 +0,0 @@
# For local development run with a dummy provider
version: '3.8'
services:
vmpooler-api:
build:
context: ../
dockerfile: docker/Dockerfile_local
volumes:
- type: bind
source: ${PWD}/vmpooler.yaml
target: /etc/vmpooler/vmpooler.yaml
ports:
- "8080:4567"
networks:
- redis-net
environment:
- VMPOOLER_DEBUG=true # for use of dummy auth
- VMPOOLER_CONFIG_FILE=/etc/vmpooler/vmpooler.yaml
- REDIS_SERVER=redislocal
- LOGFILE=/dev/null
- JRUBY_OPTS=-Xinvokedynamic.yield=false
- VMPOOLER_TRACING_ENABLED=true
- VMPOOLER_TRACING_JAEGER_HOST=http://jaeger-aio:14268/api/traces
image: vmpooler-local
command: api
depends_on:
- redislocal
vmpooler-manager:
build:
context: ../
dockerfile: docker/Dockerfile_local
volumes:
- type: bind
source: ${PWD}/vmpooler.yaml
target: /etc/vmpooler/vmpooler.yaml
ports:
- "8081:4567"
networks:
- redis-net
environment:
- VMPOOLER_DEBUG=true # for use of dummy auth
- VMPOOLER_CONFIG_FILE=/etc/vmpooler/vmpooler.yaml
- REDIS_SERVER=redislocal
- LOGFILE=/dev/null
- JRUBY_OPTS=-Xinvokedynamic.yield=false
- VMPOOLER_TRACING_ENABLED=true
- VMPOOLER_TRACING_JAEGER_HOST=http://jaeger-aio:14268/api/traces
image: vmpooler-local
command: manager
depends_on:
- redislocal
redislocal:
image: redis
# Uncomment this if you don't want the redis data to persist
#command: "redis-server --save '' --appendonly no"
ports:
- "6379:6379"
networks:
- redis-net
jaeger-aio:
image: jaegertracing/all-in-one:1.18
ports:
- "14250:14250"
- "8082:16686"
networks:
- redis-net
user: '1001'
read_only: true
cap_drop:
- ALL
networks:
redis-net:

View file

@ -0,0 +1,117 @@
# For local development run with a dummy provider
version: '3.8'
services:
redis-server:
# This should match the major version used in the vmpooler helm chart
image: redis:6
command: "redis-server --requirepass vmpooler"
ports:
- "6379:6379"
redis-commander:
image: rediscommander/redis-commander:latest
environment:
- REDIS_HOST=redis-server
- REDIS_PASSWORD=vmpooler
- HTTP_USER=admin
- HTTP_PASSWORD=admin
ports:
- 8080:8081
links:
- redis-server
jaeger-aio:
image: jaegertracing/all-in-one:1
ports:
- "14250:14250"
- "8081:16686"
user: '1001'
read_only: true
cap_drop:
- ALL
vmpooler-api:
# See image build instructions in README and Dockerfile.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
# - type: bind
# source: ./data/vmpooler-example-key.json
# target: /etc/vmpooler/vmpooler-example-key.json
ports:
- "8082:4567"
environment:
- VMPOOLER_DEBUG=true # for use of dummy auth
- DEBUG_FLAG=true
- VMPOOLER_CONFIG_FILE=/etc/vmpooler/vmpooler.yaml
- REDIS_SERVER=redis-server
- REDIS_PASSWORD=vmpooler
- LOGFILE=/dev/null
- VMPOOLER_TRACING_ENABLED=true
- VMPOOLER_TRACING_JAEGER_HOST=http://jaeger-aio:14268/api/traces
# - GOOGLE_APPLICATION_CREDENTIALS=/etc/vmpooler/vmpooler-example-key.json
command: api
links:
- redis-server
- jaeger-aio
vmpooler-manager:
# See image build instructions in README and Dockerfile.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
# - type: bind
# source: ./data/vmpooler-example-key.json
# target: /etc/vmpooler/vmpooler-example-key.json
ports:
- "8083:4567"
environment:
- VMPOOLER_DEBUG=true # for use of dummy auth
- DEBUG_FLAG=true
- VMPOOLER_CONFIG_FILE=/etc/vmpooler/vmpooler.yaml
- REDIS_SERVER=redis-server
- REDIS_PASSWORD=vmpooler
- LOGFILE=/dev/null
- VMPOOLER_TRACING_ENABLED=true
- VMPOOLER_TRACING_JAEGER_HOST=http://jaeger-aio:14268/api/traces
# - GOOGLE_APPLICATION_CREDENTIALS=/etc/vmpooler/vmpooler-example-key.json
command: manager
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

105
docker/docker-compose.yml Normal file
View file

@ -0,0 +1,105 @@
# For local development run with a dummy provider
version: '3.8'
services:
redis-server:
# This should match the major version used in the vmpooler helm chart
image: redis:6
command: "redis-server --requirepass vmpooler"
ports:
- "6379:6379"
redis-commander:
image: rediscommander/redis-commander:latest
environment:
- REDIS_HOST=redis-server
- REDIS_PASSWORD=vmpooler
- HTTP_USER=admin
- HTTP_PASSWORD=admin
ports:
- 8080:8081
links:
- redis-server
jaeger-aio:
image: jaegertracing/all-in-one:1
ports:
- "14250:14250"
- "8081:16686"
user: '1001'
read_only: true
cap_drop:
- ALL
vmpooler-api:
# Uncomment image and comment out build, which will allow you to use an
# image with local gem source instead of from a git source.
# See build instructions in Dockerfile.local
# image: vmpooler-local
build:
context: ./
dockerfile: Dockerfile
volumes:
- type: bind
source: ./data/vmpooler.yaml
target: /etc/vmpooler/vmpooler.yaml
ports:
- "8082:4567"
environment:
- VMPOOLER_DEBUG=true # for use of dummy auth
- VMPOOLER_CONFIG_FILE=/etc/vmpooler/vmpooler.yaml
- REDIS_SERVER=redis-server
- REDIS_PASSWORD=vmpooler
- LOGFILE=/dev/null
- VMPOOLER_TRACING_ENABLED=true
- VMPOOLER_TRACING_JAEGER_HOST=http://jaeger-aio:14268/api/traces
command: api
links:
- redis-server
- jaeger-aio
vmpooler-manager:
# Uncomment image and comment out build, which will allow you to use an
# image with local gem source instead of from a git source.
# See build instructions in Dockerfile.local
# image: vmpooler-local
build:
context: ./
dockerfile: Dockerfile
volumes:
- type: bind
source: ./data/vmpooler.yaml
target: /etc/vmpooler/vmpooler.yaml
ports:
- "8083:4567"
environment:
- VMPOOLER_DEBUG=true # for use of dummy auth
- VMPOOLER_CONFIG_FILE=/etc/vmpooler/vmpooler.yaml
- REDIS_SERVER=redis-server
- REDIS_PASSWORD=vmpooler
- LOGFILE=/dev/null
- VMPOOLER_TRACING_ENABLED=true
- VMPOOLER_TRACING_JAEGER_HOST=http://jaeger-aio:14268/api/traces
command: manager
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

View file

@ -0,0 +1,8 @@
#!/bin/sh
set -e
bundle install
set -- rerun -- bundle exec vmpooler "$@"
exec "$@"

View file

@ -0,0 +1,10 @@
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
url: http://prometheus:9090
- name: Jaeger
type: jaeger
url: http://jaeger-aio:16686

View file

@ -3,4 +3,4 @@
docker run -it --rm \ docker run -it --rm \
-v $(pwd):/app \ -v $(pwd):/app \
$(grep ^FROM ./Dockerfile |cut -d ' ' -f2) \ $(grep ^FROM ./Dockerfile |cut -d ' ' -f2) \
/bin/bash -c 'apt-get update -qq && apt-get install -y --no-install-recommends make && cd /app && gem install bundler && bundle install --jobs 3 && bundle update; echo "LOCK_FILE_UPDATE_EXIT_CODE=$?"' /bin/bash -c 'apt-get update -qq && apt-get install -y --no-install-recommends make git netbase && cd /app && gem install bundler && bundle install --jobs 3; echo "LOCK_FILE_UPDATE_EXIT_CODE=$?"'

View file

@ -1,2 +0,0 @@
---
BUNDLE_PATH: "vendor/bundle"

View file

@ -1,3 +0,0 @@
.bundle/
vendor/
update-gemfile-lock.sh

View file

@ -1,5 +0,0 @@
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
gem 'vmpooler', '~> 2.3'
gem 'vmpooler-provider-vsphere', '~> 1.5'
gem 'vmpooler-provider-gce', '~> 0.3'

View file

@ -1,196 +0,0 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
bindata (2.4.10)
builder (3.2.4)
concurrent-ruby (1.1.10)
connection_pool (2.2.5)
declarative (0.0.20)
deep_merge (1.2.2)
faraday (1.10.0)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-httpclient (~> 1.0)
faraday-multipart (~> 1.0)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.0)
faraday-patron (~> 1.0)
faraday-rack (~> 1.0)
faraday-retry (~> 1.0)
ruby2_keywords (>= 0.0.4)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.4)
multipart-post (~> 2)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)
google-apis-compute_v1 (0.39.0)
google-apis-core (>= 0.6, < 2.a)
google-apis-core (0.6.0)
addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.16.2, < 2.a)
httpclient (>= 2.8.1, < 3.a)
mini_mime (~> 1.0)
representable (~> 3.0)
retriable (>= 2.0, < 4.a)
rexml
webrick
google-apis-dns_v1 (0.21.0)
google-apis-core (>= 0.5, < 2.a)
google-cloud-core (1.6.0)
google-cloud-env (~> 1.0)
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.2.0)
googleauth (1.1.3)
faraday (>= 0.17.3, < 3.a)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
signet (>= 0.16, < 2.a)
httpclient (2.8.3)
json (2.6.2-java)
jwt (2.4.1)
memoist (0.16.2)
mini_mime (1.1.2)
multi_json (1.15.0)
multipart-post (2.2.3)
mustermann (1.1.1)
ruby2_keywords (~> 0.0.1)
net-ldap (0.17.1)
nio4r (2.5.8-java)
nokogiri (1.12.5-java)
racc (~> 1.4)
opentelemetry-api (1.0.2)
opentelemetry-common (0.19.3)
opentelemetry-api (~> 1.0)
opentelemetry-exporter-jaeger (0.20.1)
opentelemetry-api (~> 1.0)
opentelemetry-common (~> 0.19.2)
opentelemetry-sdk (~> 1.0)
thrift
opentelemetry-instrumentation-base (0.19.0)
opentelemetry-api (~> 1.0)
opentelemetry-instrumentation-concurrent_ruby (0.19.2)
opentelemetry-api (~> 1.0)
opentelemetry-instrumentation-base (~> 0.19.0)
opentelemetry-instrumentation-http_client (0.19.3)
opentelemetry-api (~> 1.0)
opentelemetry-common (~> 0.19.3)
opentelemetry-instrumentation-base (~> 0.19.0)
opentelemetry-instrumentation-redis (0.21.2)
opentelemetry-api (~> 1.0)
opentelemetry-common (~> 0.19.3)
opentelemetry-instrumentation-base (~> 0.19.0)
opentelemetry-instrumentation-sinatra (0.19.3)
opentelemetry-api (~> 1.0)
opentelemetry-common (~> 0.19.3)
opentelemetry-instrumentation-base (~> 0.19.0)
opentelemetry-resource_detectors (0.19.1)
google-cloud-env
opentelemetry-sdk
opentelemetry-sdk (1.0.2)
opentelemetry-api (~> 1.0)
opentelemetry-common (~> 0.19.3)
opentelemetry-instrumentation-base (~> 0.19.0)
opentelemetry-semantic_conventions
opentelemetry-semantic_conventions (1.8.0)
opentelemetry-api (~> 1.0)
optimist (3.0.1)
os (1.1.4)
pickup (0.0.11)
prometheus-client (2.1.0)
public_suffix (4.0.7)
puma (5.6.4-java)
nio4r (~> 2.0)
racc (1.6.0-java)
rack (2.2.3.1)
rack-protection (2.2.0)
rack
rake (13.0.6)
rbvmomi (3.0.0)
builder (~> 3.2)
json (~> 2.3)
nokogiri (~> 1.10)
optimist (~> 3.0)
redis (4.6.0)
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)
ruby2_keywords (0.0.5)
signet (0.16.1)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.0)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
sinatra (2.2.0)
mustermann (~> 1.0)
rack (~> 2.2)
rack-protection (= 2.2.0)
tilt (~> 2.0)
spicy-proton (2.1.14)
bindata (~> 2.3)
statsd-ruby (1.5.0)
thrift (0.16.0)
tilt (2.0.10)
trailblazer-option (0.1.2)
uber (0.1.0)
vmpooler (2.3.0)
concurrent-ruby (~> 1.1)
connection_pool (~> 2.2)
deep_merge (~> 1.2)
net-ldap (~> 0.16)
nokogiri (~> 1.10)
opentelemetry-exporter-jaeger (= 0.20.1)
opentelemetry-instrumentation-concurrent_ruby (= 0.19.2)
opentelemetry-instrumentation-http_client (= 0.19.3)
opentelemetry-instrumentation-redis (= 0.21.2)
opentelemetry-instrumentation-sinatra (= 0.19.3)
opentelemetry-resource_detectors (= 0.19.1)
opentelemetry-sdk (~> 1.0, >= 1.0.2)
pickup (~> 0.0.11)
prometheus-client (~> 2.0)
puma (~> 5.0, >= 5.0.4)
rack (~> 2.2)
rake (~> 13.0)
redis (~> 4.1)
sinatra (~> 2.0)
spicy-proton (~> 2.1)
statsd-ruby (~> 1.4)
vmpooler-provider-gce (0.3.0)
google-apis-compute_v1 (~> 0.14)
google-cloud-dns (~> 0.35.1)
googleauth (>= 0.16.2, < 1.2.0)
vmpooler-provider-vsphere (1.5.0)
rbvmomi (>= 2.1, < 4.0)
webrick (1.7.0)
zonefile (1.06)
PLATFORMS
universal-java-1.8
DEPENDENCIES
vmpooler (~> 2.3)
vmpooler-provider-gce (~> 0.3)
vmpooler-provider-vsphere (~> 1.5)
BUNDLED WITH
2.3.16

View file

@ -1,73 +0,0 @@
# For local development run with a dummy provider
version: '3.8'
services:
vmpooler-api:
build:
context: ./
dockerfile: Dockerfile
volumes:
- type: bind
source: ${PWD}/vmpooler.yaml
target: /etc/vmpooler/vmpooler.yaml
ports:
- "8080:4567"
networks:
- redis-net
environment:
- VMPOOLER_DEBUG=true # for use of dummy auth
- VMPOOLER_CONFIG_FILE=/etc/vmpooler/vmpooler.yaml
- REDIS_SERVER=redislocal
- LOGFILE=/dev/null
- JRUBY_OPTS=-Xinvokedynamic.yield=false
- VMPOOLER_TRACING_ENABLED=true
- VMPOOLER_TRACING_JAEGER_HOST=http://jaeger-aio:14268/api/traces
image: vmpooler-local
command: api
depends_on:
- redislocal
vmpooler-manager:
build:
context: ./
dockerfile: Dockerfile
volumes:
- type: bind
source: ${PWD}/vmpooler.yaml
target: /etc/vmpooler/vmpooler.yaml
ports:
- "8081:4567"
networks:
- redis-net
environment:
- VMPOOLER_DEBUG=true # for use of dummy auth
- VMPOOLER_CONFIG_FILE=/etc/vmpooler/vmpooler.yaml
- REDIS_SERVER=redislocal
- LOGFILE=/dev/null
- JRUBY_OPTS=-Xinvokedynamic.yield=false
- VMPOOLER_TRACING_ENABLED=true
- VMPOOLER_TRACING_JAEGER_HOST=http://jaeger-aio:14268/api/traces
image: vmpooler-local
command: manager
depends_on:
- redislocal
redislocal:
image: redis
# Uncomment this if you don't want the redis data to persist
#command: "redis-server --save '' --appendonly no"
ports:
- "6379:6379"
networks:
- redis-net
jaeger-aio:
image: jaegertracing/all-in-one:1.18
ports:
- "14250:14250"
- "8082:16686"
networks:
- redis-net
user: '1001'
read_only: true
cap_drop:
- ALL
networks:
redis-net:

View file

@ -1,6 +0,0 @@
#!/bin/sh
set -e
set -- bundle exec vmpooler "$@"
exec "$@"

14
docker/prometheus.yml Normal file
View file

@ -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']

View file

@ -1,2 +0,0 @@
---
BUNDLE_PATH: "vendor/bundle"

View file

@ -1,3 +0,0 @@
.bundle/
vendor/
update-gemfile-lock.sh

View file

@ -1,36 +0,0 @@
# Run vmpooler in a Docker container! Configuration can either be embedded
# and built within the current working directory, or stored in a
# VMPOOLER_CONFIG environment value and passed to the Docker daemon.
#
# BUILD:
# docker build -t vmpooler .
#
# RUN:
# docker run -e VMPOOLER_CONFIG -p 80:4567 -it vmpooler
FROM jruby:9.2-jdk
LABEL org.opencontainers.image.description "VMPooler and known providers pulled directly from Git"
ENV DEBIAN_FRONTEND=noninteractive
ENV LOGFILE=/dev/stdout
ENV RACK_ENV=production
RUN apt-get update -qq && \
apt-get upgrade -y && \
apt-get install -y --no-install-recommends make && \
apt-get clean autoclean && \
apt-get autoremove -y && \
rm -rf /var/lib/apt/lists/*
COPY ./docker-entrypoint.sh /usr/local/bin/
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
COPY ./Gemfile* ./
RUN gem install bundler && \
bundle config set --local jobs 3 && \
bundle install
ENTRYPOINT ["docker-entrypoint.sh"]

View file

@ -1,6 +0,0 @@
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
gem 'vmpooler', git: 'https://github.com/puppetlabs/vmpooler.git'
gem 'vmpooler-provider-gce', git: 'https://github.com/puppetlabs/vmpooler-provider-gce.git'
gem 'vmpooler-provider-vsphere', git: 'https://github.com/puppetlabs/vmpooler-provider-vsphere.git'

View file

@ -1,219 +0,0 @@
GIT
remote: https://github.com/puppetlabs/vmpooler-provider-gce.git
revision: c6533af9eda0f80c2aeb5bdba0b870256e44b523
specs:
vmpooler-provider-gce (0.2.0)
google-apis-compute_v1 (~> 0.14)
google-cloud-dns (~> 0.35.1)
googleauth (>= 0.16.2, < 1.2.0)
GIT
remote: https://github.com/puppetlabs/vmpooler-provider-vsphere.git
revision: a9662622d5574a7f9f6e97ff4c8bc82786982266
specs:
vmpooler-provider-vsphere (1.5.0)
rbvmomi (>= 2.1, < 4.0)
GIT
remote: https://github.com/puppetlabs/vmpooler.git
revision: c3a6fd25278092c2c1763e761dbcc68cfbc91390
specs:
vmpooler (2.3.0)
concurrent-ruby (~> 1.1)
connection_pool (~> 2.2)
deep_merge (~> 1.2)
net-ldap (~> 0.16)
nokogiri (~> 1.10)
opentelemetry-exporter-jaeger (= 0.20.1)
opentelemetry-instrumentation-concurrent_ruby (= 0.19.2)
opentelemetry-instrumentation-http_client (= 0.19.3)
opentelemetry-instrumentation-redis (= 0.21.2)
opentelemetry-instrumentation-sinatra (= 0.19.3)
opentelemetry-resource_detectors (= 0.19.1)
opentelemetry-sdk (~> 1.0, >= 1.0.2)
pickup (~> 0.0.11)
prometheus-client (~> 2.0)
puma (~> 5.0, >= 5.0.4)
rack (~> 2.2)
rake (~> 13.0)
redis (~> 4.1)
sinatra (~> 2.0)
spicy-proton (~> 2.1)
statsd-ruby (~> 1.4)
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
bindata (2.4.10)
builder (3.2.4)
concurrent-ruby (1.1.10)
connection_pool (2.2.5)
declarative (0.0.20)
deep_merge (1.2.2)
faraday (1.10.0)
faraday-em_http (~> 1.0)
faraday-em_synchrony (~> 1.0)
faraday-excon (~> 1.1)
faraday-httpclient (~> 1.0)
faraday-multipart (~> 1.0)
faraday-net_http (~> 1.0)
faraday-net_http_persistent (~> 1.0)
faraday-patron (~> 1.0)
faraday-rack (~> 1.0)
faraday-retry (~> 1.0)
ruby2_keywords (>= 0.0.4)
faraday-em_http (1.0.0)
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.3)
multipart-post (>= 1.2, < 3)
faraday-net_http (1.0.1)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)
google-apis-compute_v1 (0.32.0)
google-apis-core (>= 0.4, < 2.a)
google-apis-core (0.4.2)
addressable (~> 2.5, >= 2.5.1)
googleauth (>= 0.16.2, < 2.a)
httpclient (>= 2.8.1, < 3.a)
mini_mime (~> 1.0)
representable (~> 3.0)
retriable (>= 2.0, < 4.a)
rexml
webrick
google-apis-dns_v1 (0.19.0)
google-apis-core (>= 0.4, < 2.a)
google-cloud-core (1.6.0)
google-cloud-env (~> 1.0)
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.2.0)
googleauth (1.1.2)
faraday (>= 0.17.3, < 3.a)
jwt (>= 1.4, < 3.0)
memoist (~> 0.16)
multi_json (~> 1.11)
os (>= 0.9, < 2.0)
signet (>= 0.16, < 2.a)
httpclient (2.8.3)
json (2.6.1)
json (2.6.1-java)
jwt (2.3.0)
memoist (0.16.2)
mini_mime (1.1.2)
multi_json (1.15.0)
multipart-post (2.1.1)
mustermann (1.1.1)
ruby2_keywords (~> 0.0.1)
net-ldap (0.17.0)
nio4r (2.5.8)
nio4r (2.5.8-java)
nokogiri (1.12.5-java)
racc (~> 1.4)
nokogiri (1.12.5-x86_64-linux)
racc (~> 1.4)
opentelemetry-api (1.0.1)
opentelemetry-common (0.19.3)
opentelemetry-api (~> 1.0)
opentelemetry-exporter-jaeger (0.20.1)
opentelemetry-api (~> 1.0)
opentelemetry-common (~> 0.19.2)
opentelemetry-sdk (~> 1.0)
thrift
opentelemetry-instrumentation-base (0.19.0)
opentelemetry-api (~> 1.0)
opentelemetry-instrumentation-concurrent_ruby (0.19.2)
opentelemetry-api (~> 1.0)
opentelemetry-instrumentation-base (~> 0.19.0)
opentelemetry-instrumentation-http_client (0.19.3)
opentelemetry-api (~> 1.0)
opentelemetry-common (~> 0.19.3)
opentelemetry-instrumentation-base (~> 0.19.0)
opentelemetry-instrumentation-redis (0.21.2)
opentelemetry-api (~> 1.0)
opentelemetry-common (~> 0.19.3)
opentelemetry-instrumentation-base (~> 0.19.0)
opentelemetry-instrumentation-sinatra (0.19.3)
opentelemetry-api (~> 1.0)
opentelemetry-common (~> 0.19.3)
opentelemetry-instrumentation-base (~> 0.19.0)
opentelemetry-resource_detectors (0.19.1)
google-cloud-env
opentelemetry-sdk
opentelemetry-sdk (1.0.2)
opentelemetry-api (~> 1.0)
opentelemetry-common (~> 0.19.3)
opentelemetry-instrumentation-base (~> 0.19.0)
opentelemetry-semantic_conventions
opentelemetry-semantic_conventions (1.8.0)
opentelemetry-api (~> 1.0)
optimist (3.0.1)
os (1.1.4)
pickup (0.0.11)
prometheus-client (2.1.0)
public_suffix (4.0.7)
puma (5.6.4)
nio4r (~> 2.0)
puma (5.6.4-java)
nio4r (~> 2.0)
racc (1.6.0)
racc (1.6.0-java)
rack (2.2.3)
rack-protection (2.2.0)
rack
rake (13.0.6)
rbvmomi (3.0.0)
builder (~> 3.2)
json (~> 2.3)
nokogiri (~> 1.10)
optimist (~> 3.0)
redis (4.6.0)
representable (3.1.1)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
retriable (3.1.2)
rexml (3.2.5)
ruby2_keywords (0.0.5)
signet (0.16.1)
addressable (~> 2.8)
faraday (>= 0.17.5, < 3.0)
jwt (>= 1.5, < 3.0)
multi_json (~> 1.10)
sinatra (2.2.0)
mustermann (~> 1.0)
rack (~> 2.2)
rack-protection (= 2.2.0)
tilt (~> 2.0)
spicy-proton (2.1.14)
bindata (~> 2.3)
statsd-ruby (1.5.0)
thrift (0.16.0)
tilt (2.0.10)
trailblazer-option (0.1.2)
uber (0.1.0)
webrick (1.7.0)
zonefile (1.06)
PLATFORMS
universal-java-1.8
x86_64-linux
DEPENDENCIES
vmpooler!
vmpooler-provider-gce!
vmpooler-provider-vsphere!
BUNDLED WITH
2.3.11

View file

@ -1,73 +0,0 @@
# For local development run with a dummy provider
version: '3.8'
services:
vmpooler-api:
build:
context: ./
dockerfile: Dockerfile
volumes:
- type: bind
source: ${PWD}/vmpooler.yaml
target: /etc/vmpooler/vmpooler.yaml
ports:
- "8080:4567"
networks:
- redis-net
environment:
- VMPOOLER_DEBUG=true # for use of dummy auth
- VMPOOLER_CONFIG_FILE=/etc/vmpooler/vmpooler.yaml
- REDIS_SERVER=redislocal
- LOGFILE=/dev/null
- JRUBY_OPTS=-Xinvokedynamic.yield=false
- VMPOOLER_TRACING_ENABLED=true
- VMPOOLER_TRACING_JAEGER_HOST=http://jaeger-aio:14268/api/traces
image: vmpooler-local
command: api
depends_on:
- redislocal
vmpooler-manager:
build:
context: ./
dockerfile: Dockerfile
volumes:
- type: bind
source: ${PWD}/vmpooler.yaml
target: /etc/vmpooler/vmpooler.yaml
ports:
- "8081:4567"
networks:
- redis-net
environment:
- VMPOOLER_DEBUG=true # for use of dummy auth
- VMPOOLER_CONFIG_FILE=/etc/vmpooler/vmpooler.yaml
- REDIS_SERVER=redislocal
- LOGFILE=/dev/null
- JRUBY_OPTS=-Xinvokedynamic.yield=false
- VMPOOLER_TRACING_ENABLED=true
- VMPOOLER_TRACING_JAEGER_HOST=http://jaeger-aio:14268/api/traces
image: vmpooler-local
command: manager
depends_on:
- redislocal
redislocal:
image: redis
# Uncomment this if you don't want the redis data to persist
#command: "redis-server --save '' --appendonly no"
ports:
- "6379:6379"
networks:
- redis-net
jaeger-aio:
image: jaegertracing/all-in-one:1.18
ports:
- "14250:14250"
- "8082:16686"
networks:
- redis-net
user: '1001'
read_only: true
cap_drop:
- ALL
networks:
redis-net:

View file

@ -1,6 +0,0 @@
#!/bin/sh
set -e
set -- bundle exec vmpooler "$@"
exec "$@"

View file

@ -3,4 +3,4 @@
docker run -it --rm \ docker run -it --rm \
-v $(pwd):/app \ -v $(pwd):/app \
$(grep ^FROM ./Dockerfile |cut -d ' ' -f2) \ $(grep ^FROM ./Dockerfile |cut -d ' ' -f2) \
/bin/bash -c 'apt-get update -qq && apt-get install -y --no-install-recommends make && cd /app && gem install bundler && gem update --system 3.2.3 && bundle install --jobs 3 && bundle update; echo "LOCK_FILE_UPDATE_EXIT_CODE=$?"' /bin/bash -c 'apt-get update -qq && apt-get install -y --no-install-recommends make git netbase && cd /app && gem install bundler && bundle install --jobs 3 && bundle update; echo "LOCK_FILE_UPDATE_EXIT_CODE=$?"'

54
docker/vmpooler.yaml Normal file
View file

@ -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'

View file

@ -1,9 +1,414 @@
apiVersion: v1 apiVersion: v1
entries: entries:
vmpooler: 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: "2025-08-01T14:47:26.336021044Z"
dependencies:
- name: redis
repository: https://charts.bitnami.com/bitnami
version: 16.13.2
description: A Helm chart to deploy vmpooler
digest: 461df9462b36159d6126be34584c94bae36d0f4b9f641d0e8e0002f5893ea553
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.0.0.tgz
version: 3.0.0
- apiVersion: v2
appVersion: 4.1.0
created: "2025-08-01T14:47:26.324819648Z"
dependencies:
- name: redis
repository: https://charts.bitnami.com/bitnami
version: 16.13.2
description: A Helm chart to deploy vmpooler
digest: f262772f2ed9e644c9cb76986896cc1bfdc5db3dbf57411b611ca69cd337432b
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-2.2.0.tgz
version: 2.2.0
- apiVersion: v2
appVersion: 4.0.0
created: "2025-08-01T14:47:26.314076098Z"
dependencies:
- name: redis
repository: https://charts.bitnami.com/bitnami
version: 16.13.2
description: A Helm chart to deploy vmpooler
digest: 752ed0e78d312da33b022240df9070fbb182e3644cd277e6dffc6c1a90c1a666
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-2.1.0.tgz
version: 2.1.0
- apiVersion: v2
appVersion: 4.0.0
created: "2025-08-01T14:47:26.3025029Z"
dependencies:
- name: redis
repository: https://charts.bitnami.com/bitnami
version: 16.13.2
description: A Helm chart to deploy vmpooler
digest: 80398ade361e8e01187cdff841749083929e27023abd7da31fba80eceb43a2b8
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-2.0.0.tgz
version: 2.0.0
- apiVersion: v2
appVersion: 1.7.0-prod-all-providers
created: "2025-08-01T14:47:26.217686479Z"
dependencies:
- name: redis
repository: https://charts.bitnami.com/bitnami
version: 16.10.1
description: A Helm chart to deploy vmpooler
digest: fe0c76c54b8d65c0010e13fc09de9c37c9f054548758ac459271f63a4ad5ba1b
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-1.19.0.tgz
version: 1.19.0
- apiVersion: v2
appVersion: 1.7.0-prod-all-providers
created: "2025-08-01T14:47:26.20615313Z"
dependencies:
- name: redis
repository: https://charts.bitnami.com/bitnami
version: 16.10.1
description: A Helm chart to deploy vmpooler
digest: 3bba114db08966a44c7448130cbf11fdfc0e749ba08a096a20333928286bf9f7
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-1.18.0.tgz
version: 1.18.0
- apiVersion: v2
appVersion: 1.7.0-prod-all-providers
created: "2025-08-01T14:47:26.192913076Z"
dependencies:
- name: redis
repository: https://charts.bitnami.com/bitnami
version: 16.10.1
description: A Helm chart to deploy vmpooler
digest: 056d0d527bad056b7911fa7b1abaa1b765edbc5731cb6964099a14614b61318f
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-1.17.0.tgz
version: 1.17.0
- apiVersion: v2 - apiVersion: v2
appVersion: 1.6.0-prod-all-providers appVersion: 1.6.0-prod-all-providers
created: "2022-06-21T09:34:10.994204-05:00" created: "2025-08-01T14:47:26.180016696Z"
dependencies:
- name: redis
repository: https://charts.bitnami.com/bitnami
version: 16.10.1
description: A Helm chart to deploy vmpooler
digest: 586eed077d8a3fbc58c2dd3ca3c5e2315d367204d462d9203a9a8e3cbd4674bc
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-1.16.0.tgz
version: 1.16.0
- apiVersion: v2
appVersion: 1.6.0-prod-all-providers
created: "2025-08-01T14:47:26.163482559Z"
dependencies:
- name: redis
repository: https://charts.bitnami.com/bitnami
version: 16.10.1
description: A Helm chart to deploy vmpooler
digest: bec45ee506f5fcb1dc069511fcee8fc44a66bb40659f8756f7dccca31327e263
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-1.15.0.tgz
version: 1.15.0
- apiVersion: v2
appVersion: 1.6.0-prod-all-providers
created: "2025-08-01T14:47:26.148027262Z"
dependencies: dependencies:
- name: redis - name: redis
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
@ -18,7 +423,7 @@ entries:
version: 1.14.0 version: 1.14.0
- apiVersion: v2 - apiVersion: v2
appVersion: 1.5.0-prod-all-providers appVersion: 1.5.0-prod-all-providers
created: "2022-06-21T09:34:10.988782-05:00" created: "2025-08-01T14:47:26.129088412Z"
dependencies: dependencies:
- name: redis - name: redis
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
@ -33,7 +438,7 @@ entries:
version: 1.13.0 version: 1.13.0
- apiVersion: v2 - apiVersion: v2
appVersion: 1.5.0-prod-all-providers appVersion: 1.5.0-prod-all-providers
created: "2022-06-21T09:34:10.982767-05:00" created: "2025-08-01T14:47:26.115192635Z"
dependencies: dependencies:
- name: redis - name: redis
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
@ -48,7 +453,7 @@ entries:
version: 1.12.0 version: 1.12.0
- apiVersion: v2 - apiVersion: v2
appVersion: 1.4.0-prod-all-providers appVersion: 1.4.0-prod-all-providers
created: "2022-06-21T09:34:10.975765-05:00" created: "2025-08-01T14:47:26.104012949Z"
dependencies: dependencies:
- name: redis - name: redis
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
@ -63,7 +468,7 @@ entries:
version: 1.11.1 version: 1.11.1
- apiVersion: v2 - apiVersion: v2
appVersion: 1.3.0-prod-all-providers appVersion: 1.3.0-prod-all-providers
created: "2022-06-21T09:34:10.971488-05:00" created: "2025-08-01T14:47:26.094249573Z"
dependencies: dependencies:
- name: redis - name: redis
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
@ -78,7 +483,7 @@ entries:
version: 1.11.0 version: 1.11.0
- apiVersion: v2 - apiVersion: v2
appVersion: 1.2.0-prod-all-providers appVersion: 1.2.0-prod-all-providers
created: "2022-06-21T09:34:10.966822-05:00" created: "2025-08-01T14:47:26.08366946Z"
dependencies: dependencies:
- name: redis - name: redis
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
@ -93,7 +498,7 @@ entries:
version: 1.10.1 version: 1.10.1
- apiVersion: v2 - apiVersion: v2
appVersion: 1.2.0-prod-all-providers appVersion: 1.2.0-prod-all-providers
created: "2022-06-21T09:34:10.960126-05:00" created: "2025-08-01T14:47:26.073735253Z"
dependencies: dependencies:
- name: redis - name: redis
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
@ -108,7 +513,7 @@ entries:
version: 1.10.0 version: 1.10.0
- apiVersion: v2 - apiVersion: v2
appVersion: 1.2.0-prod-all-providers appVersion: 1.2.0-prod-all-providers
created: "2022-06-21T09:34:11.025219-05:00" created: "2025-08-01T14:47:26.292230858Z"
dependencies: dependencies:
- name: redis - name: redis
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
@ -123,7 +528,7 @@ entries:
version: 1.9.0 version: 1.9.0
- apiVersion: v2 - apiVersion: v2
appVersion: 1.2.0-prod-all-providers appVersion: 1.2.0-prod-all-providers
created: "2022-06-21T09:34:11.021768-05:00" created: "2025-08-01T14:47:26.282594053Z"
dependencies: dependencies:
- name: redis - name: redis
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
@ -138,7 +543,7 @@ entries:
version: 1.8.0 version: 1.8.0
- apiVersion: v2 - apiVersion: v2
appVersion: 1.0.0-prod-all-providers appVersion: 1.0.0-prod-all-providers
created: "2022-06-21T09:34:11.018298-05:00" created: "2025-08-01T14:47:26.274204699Z"
dependencies: dependencies:
- name: redis - name: redis
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
@ -153,7 +558,7 @@ entries:
version: 1.7.1 version: 1.7.1
- apiVersion: v2 - apiVersion: v2
appVersion: 1.0.0-prod-all-providers appVersion: 1.0.0-prod-all-providers
created: "2022-06-21T09:34:11.013709-05:00" created: "2025-08-01T14:47:26.265409971Z"
dependencies: dependencies:
- name: redis - name: redis
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
@ -168,7 +573,7 @@ entries:
version: 1.7.0 version: 1.7.0
- apiVersion: v2 - apiVersion: v2
appVersion: 1.3.0 appVersion: 1.3.0
created: "2022-06-21T09:34:11.009666-05:00" created: "2025-08-01T14:47:26.256953201Z"
dependencies: dependencies:
- name: redis - name: redis
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
@ -183,7 +588,7 @@ entries:
version: 1.6.3 version: 1.6.3
- apiVersion: v2 - apiVersion: v2
appVersion: 1.3.0 appVersion: 1.3.0
created: "2022-06-21T09:34:11.00618-05:00" created: "2025-08-01T14:47:26.246802746Z"
dependencies: dependencies:
- name: redis - name: redis
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
@ -198,7 +603,7 @@ entries:
version: 1.6.2 version: 1.6.2
- apiVersion: v2 - apiVersion: v2
appVersion: 1.3.0 appVersion: 1.3.0
created: "2022-06-21T09:34:11.001745-05:00" created: "2025-08-01T14:47:26.238207026Z"
dependencies: dependencies:
- name: redis - name: redis
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
@ -213,7 +618,7 @@ entries:
version: 1.6.1 version: 1.6.1
- apiVersion: v2 - apiVersion: v2
appVersion: 1.3.0 appVersion: 1.3.0
created: "2022-06-21T09:34:10.998149-05:00" created: "2025-08-01T14:47:26.228886776Z"
dependencies: dependencies:
- name: redis - name: redis
repository: https://charts.bitnami.com/bitnami repository: https://charts.bitnami.com/bitnami
@ -226,4 +631,4 @@ entries:
urls: urls:
- https://puppetlabs.github.io/vmpooler-deployment/vmpooler-1.6.0.tgz - https://puppetlabs.github.io/vmpooler-deployment/vmpooler-1.6.0.tgz
version: 1.6.0 version: 1.6.0
generated: "2022-06-21T09:34:10.955364-05:00" generated: "2025-08-01T14:47:26.062605037Z"

BIN
docs/vmpooler-1.15.0.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-1.16.0.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-1.17.0.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-1.18.0.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-1.19.0.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-2.0.0.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-2.1.0.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-2.2.0.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-3.0.0.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-3.1.0.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-3.2.0.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-3.3.0.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-3.4.0.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-3.4.1.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-3.5.0.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-3.5.1.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-3.5.2.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-3.5.3.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-3.6.0.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-3.7.0.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-3.8.0.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-3.8.1.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-3.8.2.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-3.8.3.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-3.9.0.tgz Normal file

Binary file not shown.

BIN
docs/vmpooler-3.9.1.tgz Normal file

Binary file not shown.

View file

@ -1,6 +1,6 @@
dependencies: dependencies:
- name: redis - name: redis
repository: https://charts.bitnami.com/bitnami repository: https://artifactory.delivery.puppetlabs.net/artifactory/helm__local
version: 16.10.1 version: 16.13.2
digest: sha256:b4278d10dd3a151323b761106d2ab00a742b08984d05e9102f852815d69d1a6a digest: sha256:9f085fa04b66dea3610b03474b3eb2e2fd09733c4c6cbbda15a152770a9169b0
generated: "2022-06-03T11:04:59.151842094-07:00" generated: "2025-07-31T09:10:07.046655-07:00"

View file

@ -3,9 +3,9 @@ name: vmpooler
description: A Helm chart to deploy vmpooler description: A Helm chart to deploy vmpooler
type: application type: application
icon: https://github.com/puppetlabs/vmpooler/raw/master/lib/vmpooler/public/img/logo.png icon: https://github.com/puppetlabs/vmpooler/raw/master/lib/vmpooler/public/img/logo.png
version: 1.14.0 version: 3.10.0
appVersion: 1.6.0-prod-all-providers appVersion: 5.8.0
dependencies: dependencies:
- name: redis - name: redis
repository: https://charts.bitnami.com/bitnami repository: https://artifactory.delivery.puppetlabs.net/artifactory/helm__local
version: 16.10.1 version: 16.13.2

View file

@ -12,9 +12,11 @@ data:
:tagfilter: :tagfilter:
project: '^([^/]+)' project: '^([^/]+)'
{{- if .Values.auth }}
:auth: :auth:
{{- with .Values.auth }} {{- with .Values.auth }}
{{- toYaml . | nindent 6 }} {{- toYaml . | nindent 6 }}
{{- end }} {{- end }}
{{- end }}
:prometheus: :prometheus:
prefix: {{ .Values.vmpoolerInstance }} prefix: {{ .Values.vmpoolerInstance }}

View file

@ -46,25 +46,23 @@ spec:
- 'api' - 'api'
livenessProbe: livenessProbe:
httpGet: httpGet:
path: /api/v1/status path: /api/v3/status
port: {{ .Values.service.port }} port: {{ .Values.service.port }}
initialDelaySeconds: 40 initialDelaySeconds: 40
periodSeconds: 10 periodSeconds: 10
readinessProbe: readinessProbe:
httpGet: httpGet:
path: /api/v1/status path: /api/v3/status
port: {{ .Values.service.port }} port: {{ .Values.service.port }}
initialDelaySeconds: 40 initialDelaySeconds: 40
periodSeconds: 10 periodSeconds: 10
env: env:
- name: JRUBY_OPTS - name: JRUBY_OPTS
value: '-J-XX:+UseG1GC' value: '{{ .Values.jruby_opts }}'
- name: PORT - name: PORT
value: {{ .Values.service.port | quote }} value: {{ .Values.service.port | quote }}
- name: SITE_NAME - name: SITE_NAME
value: '<b>{{ .Values.vmpoolerInstance }}</b>.{{ .Values.ingress.domain }}' value: '<b>{{ .Values.vmpoolerInstance }}</b>.{{ .Values.ingress.domain }}'
- name: DOMAIN
value: {{ .Values.sut_domain }}
- name: EXPERIMENTAL_FEATURES - name: EXPERIMENTAL_FEATURES
value: 'true' value: 'true'
- name: USAGE_STATS - name: USAGE_STATS
@ -80,15 +78,15 @@ spec:
- name: REDIS_SERVER - name: REDIS_SERVER
value: 'redis-master' value: 'redis-master'
- name: ONDEMAND_REQUEST_TTL - name: ONDEMAND_REQUEST_TTL
value: "50" value: '{{ .Values.ondemand_request_ttl }}'
- name: ONDEMAND_CLONE_LIMIT - name: ONDEMAND_CLONE_LIMIT
value: "50" value: '{{ .Values.ondemand_clone_limit }}'
- name: MAX_LIFETIME_UPPER_LIMIT - name: MAX_LIFETIME_UPPER_LIMIT
value: "336" value: '{{ .Values.max_lifetime_upper_limit }}'
- name: VM_LIFETIME - name: VM_LIFETIME
value: '2' value: '{{ .Values.vm_lifetime }}'
- name: VM_LIFETIME_AUTH - name: VM_LIFETIME_AUTH
value: '12' value: '{{ .Values.vm_lifetime_auth }}'
- name: REDIS_PASSWORD - name: REDIS_PASSWORD
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:

View file

@ -65,16 +65,20 @@ spec:
env: env:
- name: GOOGLE_APPLICATION_CREDENTIALS - name: GOOGLE_APPLICATION_CREDENTIALS
value: '{{ .Values.gce.keyfile }}' value: '{{ .Values.gce.keyfile }}'
- name: AWS_KEY_FILE_LOCATION
value: '{{ .Values.ec2.keyfile }}'
- name: ROOT_KEYS_SCRIPT
value: '{{ .Values.ec2.root_keys_script }}'
- name: JRUBY_OPTS - name: JRUBY_OPTS
value: '-J-XX:+UseG1GC -Xinvokedynamic.yield=false' value: '{{ .Values.jruby_opts }}'
- name: TASK_LIMIT - name: TASK_LIMIT
value: '30' value: '30'
- name: MIGRATION_LIMIT - name: MIGRATION_LIMIT
value: '10' value: '10'
- name: VM_LIFETIME - name: VM_LIFETIME
value: '2' value: '{{ .Values.vm_lifetime }}'
- name: VM_LIFETIME_AUTH - name: VM_LIFETIME_AUTH
value: '12' value: '{{ .Values.vm_lifetime_auth }}'
- name: VM_CHECKTIME - name: VM_CHECKTIME
value: '1' value: '1'
- name: CREATE_FOLDERS - name: CREATE_FOLDERS
@ -89,8 +93,6 @@ spec:
value: '20' value: '20'
- name: PURGE_UNCONFIGURED_FOLDERS - name: PURGE_UNCONFIGURED_FOLDERS
value: 'true' value: 'true'
- name: DOMAIN
value: {{ .Values.sut_domain }}
- name: VMPOOLER_CONFIG_FILE - name: VMPOOLER_CONFIG_FILE
value: /etc/vmpooler/vmpooler.yaml value: /etc/vmpooler/vmpooler.yaml
- name: VMPOOLER_TRACING_ENABLED - name: VMPOOLER_TRACING_ENABLED
@ -102,21 +104,21 @@ spec:
- name: EXTRA_CONFIG - name: EXTRA_CONFIG
value: '{{ .Values.additionalConfigFiles }}' value: '{{ .Values.additionalConfigFiles }}'
- name: TIMEOUT - name: TIMEOUT
value: '15' value: '{{ .Values.timeout }}'
- name: READY_TTL - name: READY_TTL
value: "480" value: "480"
- name: REDIS_SERVER - name: REDIS_SERVER
value: 'redis-master' value: 'redis-master'
- name: REDIS_CONNECTION_POOL_SIZE - name: REDIS_CONNECTION_POOL_SIZE
value: "200" value: '{{ .Values.redis_connection_pool_size }}'
- name: REDIS_CONNECTION_POOL_TIMEOUT - name: REDIS_CONNECTION_POOL_TIMEOUT
value: "40" value: '{{ .Values.redis_connection_pool_timeout }}'
- name: REDIS_RECONNECT_ATTEMPTS - name: REDIS_RECONNECT_ATTEMPTS
value: "40" value: '{{ .Values.redis_reconnect_attempts }}'
- name: ONDEMAND_REQUEST_TTL - name: ONDEMAND_REQUEST_TTL
value: "50" value: '{{ .Values.ondemand_request_ttl }}'
- name: ONDEMAND_CLONE_LIMIT - name: ONDEMAND_CLONE_LIMIT
value: "50" value: '{{ .Values.ondemand_clone_limit }}'
- name: REDIS_PASSWORD - name: REDIS_PASSWORD
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:

View file

@ -6,14 +6,33 @@ image:
repository: ghcr.io/puppetlabs/vmpooler-deployment/vmpooler repository: ghcr.io/puppetlabs/vmpooler-deployment/vmpooler
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
jruby_opts: '-J-XX:+UseG1GC'
configmapName: 'vmpooler-baseconfig' configmapName: 'vmpooler-baseconfig'
sut_domain: 'vmpooler.example.com'
usage_stats: true usage_stats: true
ondemand_request_ttl: '50'
ondemand_clone_limit: '50'
max_lifetime_upper_limit: '336'
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
domain: 'vmpooler.example.com'
# .json private key, set in ENV var # .json private key, set in ENV var
gce: gce:
keyfile: '/vault/secrets/gce-keyfile.json' keyfile: '/vault/secrets/gce-keyfile.json'
ec2:
keyfile: '/vault/secrets/ec2-keyfile.rsa'
root_keys_script: ''
tracing: tracing:
enabled: 'false' enabled: 'false'
# jaegerHost: 'http://otel-collector.otel-collector.svc:14268/api/traces' # jaegerHost: 'http://otel-collector.otel-collector.svc:14268/api/traces'
@ -25,8 +44,7 @@ baseconfig_extras: {}
# vmware_cluster2: 100 # vmware_cluster2: 100
# vmware_cluster4: 180 # vmware_cluster4: 180
auth: # auth:
provider: 'dummy'
# provider: 'ldap' # provider: 'ldap'
# :ldap: # :ldap:
# host: 'ldap.example.com' # host: 'ldap.example.com'
@ -52,7 +70,7 @@ api:
memory: 2Gi memory: 2Gi
limits: limits:
cpu: 2000m cpu: 2000m
memory: 2Gi memory: 4Gi
manager: manager:
resources: resources:
@ -112,6 +130,12 @@ affinity: {}
# Redis provided by bitnami/redis # Redis provided by bitnami/redis
# For a full list of parameters see: https://github.com/bitnami/charts/tree/master/bitnami/redis/ # For a full list of parameters see: https://github.com/bitnami/charts/tree/master/bitnami/redis/
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 fullnameOverride: redis
architecture: standalone architecture: standalone
networkPolicy: networkPolicy:
@ -138,7 +162,19 @@ redis:
initialDelaySeconds: 40 initialDelaySeconds: 40
periodSeconds: 10 periodSeconds: 10
failureThreshold: 10 failureThreshold: 10
lifecycleHooks:
postStart:
exec:
command:
- /bin/sh
- -c
- echo "AUTH $REDIS_PASSWORD\nBGREWRITEAOF" | redis-cli
metrics: metrics:
image:
registry: artifactory.delivery.puppetlabs.net
repository: release-engineering/redis-exporter
tag: "1.43.0-debian-11-r4"
pullPolicy: IfNotPresent
enabled: true enabled: true
resources: resources:
requests: requests:

12
helm-package Normal file
View file

@ -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 .

11
update-changelog Executable file
View file

@ -0,0 +1,11 @@
#!/usr/bin/env bash
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"

4
update-chart-lock Executable file
View file

@ -0,0 +1,4 @@
#!/usr/bin/env bash
docker run --rm -it -v $(pwd):/apps --entrypoint /bin/sh alpine/helm \
-c 'helm repo add artifactory https://artifactory.delivery.puppetlabs.net/artifactory/helm__local && cd /apps/helm-charts/vmpooler && helm dependency update'