mirror of
https://github.com/puppetlabs/vmpooler.git
synced 2026-01-26 10:08:40 -05:00
Direct Users to vmpooler-deployment
Since the recommended method of developing and deploying vmpooler is via vmpooler-deployment, I think we should direct users here instead. Also, I don't think there's any sense in maintaining multiple gemfiles and dockerfiles across multiple repos, if one of them should be the source of truth.
This commit is contained in:
parent
b6819de326
commit
e2dedef426
9 changed files with 6 additions and 336 deletions
|
|
@ -1,12 +0,0 @@
|
|||
**/*.yml
|
||||
**/*.yaml
|
||||
**/*.md
|
||||
**/*example
|
||||
**/Dockerfile*
|
||||
Rakefile
|
||||
Vagrantfile
|
||||
coverage
|
||||
docs
|
||||
examples
|
||||
scripts
|
||||
vendor
|
||||
7
.github/dependabot.yml
vendored
7
.github/dependabot.yml
vendored
|
|
@ -4,9 +4,10 @@ updates:
|
|||
directory: "/"
|
||||
schedule:
|
||||
interval: weekly
|
||||
open-pull-requests-limit: 10
|
||||
- package-ecosystem: bundler
|
||||
directory: "/docker/"
|
||||
open-pull-requests-limit: 10\
|
||||
|
||||
- package-ecosystem: github-actions
|
||||
directory: "/"
|
||||
schedule:
|
||||
interval: weekly
|
||||
open-pull-requests-limit: 10
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@ VMPooler provides configurable 'pools' of instantly-available (pre-provisioned)
|
|||
|
||||
At [Puppet, Inc.](http://puppet.com) we run acceptance tests on thousands of disposable VMs every day. VMPooler manages the life cycle of these VMs from request through deletion, with options available to pool ready instances, and provision on demand.
|
||||
|
||||
The recommended method for deploying VMPooler is via [https://github.com/puppetlabs/vmpooler-deployment](vmpooler-deployment).
|
||||
|
||||
### Migrating to v3
|
||||
|
||||
Starting with the v3.x release, management of DNS records is implemented as DNS plugins, similar to compute providers. This means each pool configuration should be pointing to a configuration object in `:dns_config` to determine it's method of record management.
|
||||
|
|
|
|||
|
|
@ -1,26 +0,0 @@
|
|||
# This Dockerfile is intended to be used with the
|
||||
# docker-compose file in the same directory.
|
||||
|
||||
FROM jruby:9.3-jdk
|
||||
|
||||
ENV RACK_ENV=production
|
||||
|
||||
RUN apt-get update -qq && \
|
||||
apt-get install -y --no-install-recommends make git && \
|
||||
apt-get clean autoclean && \
|
||||
apt-get autoremove -y && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY docker/docker-entrypoint.sh /usr/local/bin/
|
||||
|
||||
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
|
||||
|
||||
COPY docker/Gemfile* ./
|
||||
|
||||
COPY ./ ./vmpooler-source
|
||||
|
||||
RUN gem install bundler && \
|
||||
bundle config set --local jobs 3 && \
|
||||
bundle install
|
||||
|
||||
ENTRYPOINT ["docker-entrypoint.sh"]
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
|
||||
|
||||
gem 'vmpooler', path: './vmpooler-source'
|
||||
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'
|
||||
|
|
@ -1,191 +0,0 @@
|
|||
GIT
|
||||
remote: https://github.com/puppetlabs/vmpooler-provider-gce.git
|
||||
revision: 46b9c5aef06184f8a2bd0be6086ae2256b19020a
|
||||
specs:
|
||||
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)
|
||||
|
||||
GIT
|
||||
remote: https://github.com/puppetlabs/vmpooler-provider-vsphere.git
|
||||
revision: a9662622d5574a7f9f6e97ff4c8bc82786982266
|
||||
specs:
|
||||
vmpooler-provider-vsphere (1.5.0)
|
||||
rbvmomi (>= 2.1, < 4.0)
|
||||
|
||||
PATH
|
||||
remote: vmpooler-source
|
||||
specs:
|
||||
vmpooler (2.4.0)
|
||||
concurrent-ruby (~> 1.1)
|
||||
connection_pool (~> 2.2)
|
||||
deep_merge (~> 1.2)
|
||||
net-ldap (~> 0.16)
|
||||
opentelemetry-exporter-jaeger (= 0.20.1)
|
||||
opentelemetry-instrumentation-concurrent_ruby (= 0.19.2)
|
||||
opentelemetry-instrumentation-http_client (= 0.19.4)
|
||||
opentelemetry-instrumentation-redis (= 0.21.3)
|
||||
opentelemetry-instrumentation-sinatra (= 0.19.3)
|
||||
opentelemetry-resource_detectors (= 0.19.1)
|
||||
opentelemetry-sdk (~> 1.0, >= 1.0.2)
|
||||
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 (2.3.0)
|
||||
faraday-net_http (~> 2.0)
|
||||
ruby2_keywords (>= 0.0.4)
|
||||
faraday-net_http (2.0.3)
|
||||
google-apis-compute_v1 (0.44.0)
|
||||
google-apis-core (>= 0.7, < 2.a)
|
||||
google-apis-core (0.7.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.23.0)
|
||||
google-apis-core (>= 0.7, < 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)
|
||||
mustermann (2.0.2)
|
||||
ruby2_keywords (~> 0.0.1)
|
||||
net-ldap (0.17.1)
|
||||
nio4r (2.5.8-java)
|
||||
nokogiri (1.13.8-java)
|
||||
racc (~> 1.4)
|
||||
opentelemetry-api (1.0.2)
|
||||
opentelemetry-common (0.19.6)
|
||||
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.4)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-common (~> 0.19.3)
|
||||
opentelemetry-instrumentation-base (~> 0.19.0)
|
||||
opentelemetry-instrumentation-redis (0.21.3)
|
||||
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-registry (0.1.0)
|
||||
opentelemetry-api (~> 1.0.1)
|
||||
opentelemetry-resource_detectors (0.19.1)
|
||||
google-cloud-env
|
||||
opentelemetry-sdk
|
||||
opentelemetry-sdk (1.1.0)
|
||||
opentelemetry-api (~> 1.0)
|
||||
opentelemetry-common (~> 0.19.3)
|
||||
opentelemetry-registry (~> 0.1)
|
||||
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.4)
|
||||
rack-protection (2.2.2)
|
||||
rack
|
||||
rake (13.0.6)
|
||||
rbvmomi (3.0.0)
|
||||
builder (~> 3.2)
|
||||
json (~> 2.3)
|
||||
nokogiri (~> 1.10)
|
||||
optimist (~> 3.0)
|
||||
redis (4.7.1)
|
||||
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.17.0)
|
||||
addressable (~> 2.8)
|
||||
faraday (>= 0.17.5, < 3.a)
|
||||
jwt (>= 1.5, < 3.0)
|
||||
multi_json (~> 1.10)
|
||||
sinatra (2.2.2)
|
||||
mustermann (~> 2.0)
|
||||
rack (~> 2.2)
|
||||
rack-protection (= 2.2.2)
|
||||
tilt (~> 2.0)
|
||||
spicy-proton (2.1.14)
|
||||
bindata (~> 2.3)
|
||||
statsd-ruby (1.5.0)
|
||||
thrift (0.16.0)
|
||||
tilt (2.0.11)
|
||||
trailblazer-option (0.1.2)
|
||||
uber (0.1.0)
|
||||
webrick (1.7.0)
|
||||
zonefile (1.06)
|
||||
|
||||
PLATFORMS
|
||||
universal-java-1.8
|
||||
|
||||
DEPENDENCIES
|
||||
vmpooler!
|
||||
vmpooler-provider-gce!
|
||||
vmpooler-provider-vsphere!
|
||||
|
||||
BUNDLED WITH
|
||||
2.3.18
|
||||
|
|
@ -1,85 +0,0 @@
|
|||
# For local development run with a dummy provider
|
||||
version: '3.8'
|
||||
services:
|
||||
vmpooler-api:
|
||||
build:
|
||||
context: ../
|
||||
dockerfile: docker/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
|
||||
- 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
|
||||
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
|
||||
redis-commander:
|
||||
container_name: redis-commander
|
||||
hostname: redis-commander
|
||||
image: rediscommander/redis-commander:latest
|
||||
restart: always
|
||||
environment:
|
||||
- REDIS_HOSTS=local:redislocal:6379
|
||||
ports:
|
||||
- "8079:8081"
|
||||
networks:
|
||||
- redis-net
|
||||
depends_on:
|
||||
- redislocal
|
||||
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:
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
set -- bundle exec vmpooler "$@"
|
||||
|
||||
exec "$@"
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
docker run -it --rm \
|
||||
-v $(pwd)/docker:/app \
|
||||
-v $(pwd):/app/vmpooler-source \
|
||||
$(grep ^FROM docker/Dockerfile |cut -d ' ' -f2) \
|
||||
/bin/bash -c 'apt-get update -qq && apt-get install -y --no-install-recommends make git && cd /app && gem install bundler && bundle install --jobs 3 && bundle update; echo "LOCK_FILE_UPDATE_EXIT_CODE=$?"'
|
||||
rmdir docker/vmpooler-source
|
||||
Loading…
Add table
Add a link
Reference in a new issue