mirror of
https://github.com/puppetlabs/vmpooler-deployment.git
synced 2026-01-26 03:28:41 -05:00
Initial commit
This commit is contained in:
commit
074778d0b0
34 changed files with 1381 additions and 0 deletions
3
docker/dev/.dockerignore
Normal file
3
docker/dev/.dockerignore
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
.bundle/
|
||||
vendor/
|
||||
update-gemfile-lock.sh
|
||||
36
docker/dev/Dockerfile
Normal file
36
docker/dev/Dockerfile
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
# 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 RACK_ENV=production
|
||||
|
||||
RUN apt-get update -qq && \
|
||||
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"]
|
||||
39
docker/dev/Dockerfile-aio
Normal file
39
docker/dev/Dockerfile-aio
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
# 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}
|
||||
73
docker/dev/docker-compose.yml
Normal file
73
docker/dev/docker-compose.yml
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
# 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:
|
||||
6
docker/dev/docker-entrypoint.sh
Normal file
6
docker/dev/docker-entrypoint.sh
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
set -- bundle exec vmpooler "$@"
|
||||
|
||||
exec "$@"
|
||||
Loading…
Add table
Add a link
Reference in a new issue