From e2dedef4268a3249a8177e7b4cb4600dff1ad1fe Mon Sep 17 00:00:00 2001 From: Jake Spain Date: Tue, 28 Mar 2023 16:49:55 -0400 Subject: [PATCH] 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. --- .dockerignore | 12 --- .github/dependabot.yml | 7 +- README.md | 2 + docker/Dockerfile | 26 ----- docker/Gemfile | 5 - docker/Gemfile.lock | 191 ---------------------------------- docker/docker-compose.yml | 85 --------------- docker/docker-entrypoint.sh | 6 -- docker/update-gemfile-lock.sh | 8 -- 9 files changed, 6 insertions(+), 336 deletions(-) delete mode 100644 .dockerignore delete mode 100644 docker/Dockerfile delete mode 100644 docker/Gemfile delete mode 100644 docker/Gemfile.lock delete mode 100644 docker/docker-compose.yml delete mode 100644 docker/docker-entrypoint.sh delete mode 100755 docker/update-gemfile-lock.sh diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index a5157f5..0000000 --- a/.dockerignore +++ /dev/null @@ -1,12 +0,0 @@ -**/*.yml -**/*.yaml -**/*.md -**/*example -**/Dockerfile* -Rakefile -Vagrantfile -coverage -docs -examples -scripts -vendor diff --git a/.github/dependabot.yml b/.github/dependabot.yml index e9298f4..f5fc2e0 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -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 diff --git a/README.md b/README.md index 03731f3..a05bcec 100644 --- a/README.md +++ b/README.md @@ -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. diff --git a/docker/Dockerfile b/docker/Dockerfile deleted file mode 100644 index 9e18dfd..0000000 --- a/docker/Dockerfile +++ /dev/null @@ -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"] diff --git a/docker/Gemfile b/docker/Gemfile deleted file mode 100644 index a616bbc..0000000 --- a/docker/Gemfile +++ /dev/null @@ -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' diff --git a/docker/Gemfile.lock b/docker/Gemfile.lock deleted file mode 100644 index e03d877..0000000 --- a/docker/Gemfile.lock +++ /dev/null @@ -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 diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml deleted file mode 100644 index af102bd..0000000 --- a/docker/docker-compose.yml +++ /dev/null @@ -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: diff --git a/docker/docker-entrypoint.sh b/docker/docker-entrypoint.sh deleted file mode 100644 index 07d11de..0000000 --- a/docker/docker-entrypoint.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -set -e - -set -- bundle exec vmpooler "$@" - -exec "$@" diff --git a/docker/update-gemfile-lock.sh b/docker/update-gemfile-lock.sh deleted file mode 100755 index e756f73..0000000 --- a/docker/update-gemfile-lock.sh +++ /dev/null @@ -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