mirror of
https://github.com/ansible/awx.git
synced 2026-02-01 01:28:09 -03:30
Updating development tooling to be more generic
* Not assuming GCR is being used for image hosting * Breaking out the dev environment bootstrapping from service starting
This commit is contained in:
@@ -16,7 +16,7 @@ services:
|
||||
- "15672:15672"
|
||||
awx_1:
|
||||
privileged: true
|
||||
image: gcr.io/ansible-tower-engineering/awx_devel:${TAG}
|
||||
image: ${DEV_DOCKER_TAG_BASE}/awx_devel:${TAG}
|
||||
hostname: awx_1
|
||||
environment:
|
||||
RABBITMQ_HOST: rabbitmq_1
|
||||
@@ -30,7 +30,7 @@ services:
|
||||
|
||||
awx_2:
|
||||
privileged: true
|
||||
image: gcr.io/ansible-tower-engineering/awx_devel:${TAG}
|
||||
image: ${DEV_DOCKER_TAG_BASE}/awx_devel:${TAG}
|
||||
hostname: awx_2
|
||||
environment:
|
||||
RABBITMQ_HOST: rabbitmq_2
|
||||
@@ -43,7 +43,7 @@ services:
|
||||
- "../:/awx_devel"
|
||||
awx_3:
|
||||
privileged: true
|
||||
image: gcr.io/ansible-tower-engineering/awx_devel:${TAG}
|
||||
image: ${DEV_DOCKER_TAG_BASE}/awx_devel:${TAG}
|
||||
hostname: awx_3
|
||||
environment:
|
||||
RABBITMQ_HOST: rabbitmq_3
|
||||
@@ -55,16 +55,16 @@ services:
|
||||
volumes:
|
||||
- "../:/awx_devel"
|
||||
rabbitmq_1:
|
||||
image: gcr.io/ansible-tower-engineering/rabbit_cluster_node:latest
|
||||
image: ${DEV_DOCKER_TAG_BASE}/rabbit_cluster_node:latest
|
||||
hostname: rabbitmq_1
|
||||
rabbitmq_2:
|
||||
image: gcr.io/ansible-tower-engineering/rabbit_cluster_node:latest
|
||||
image: ${DEV_DOCKER_TAG_BASE}/rabbit_cluster_node:latest
|
||||
hostname: rabbitmq_2
|
||||
environment:
|
||||
- CLUSTERED=true
|
||||
- CLUSTER_WITH=rabbitmq_1
|
||||
rabbitmq_3:
|
||||
image: gcr.io/ansible-tower-engineering/rabbit_cluster_node:latest
|
||||
image: ${DEV_DOCKER_TAG_BASE}/rabbit_cluster_node:latest
|
||||
hostname: rabbitmq_3
|
||||
environment:
|
||||
- CLUSTERED=true
|
||||
|
||||
@@ -2,7 +2,7 @@ version: '3'
|
||||
services:
|
||||
# Primary AWX Development Container
|
||||
awx:
|
||||
image: gcr.io/ansible-tower-engineering/awx_devel:${TAG}
|
||||
image: ${DEV_DOCKER_TAG_BASE}/awx_devel:${TAG}
|
||||
hostname: awx
|
||||
environment:
|
||||
RABBITMQ_HOST: rabbitmq
|
||||
|
||||
@@ -26,6 +26,7 @@ ADD tools/docker-compose/awx.egg-info /tmp/awx.egg-info
|
||||
RUN ln -Ffs /awx_devel/tools/docker-compose/nginx.conf /etc/nginx/nginx.conf
|
||||
RUN ln -Ffs /awx_devel/tools/docker-compose/nginx.vh.default.conf /etc/nginx/conf.d/nginx.vh.default.conf
|
||||
RUN ln -s /awx_devel/tools/docker-compose/start_development.sh /start_development.sh
|
||||
RUN ln -s /awx_devel/tools/docker-compose/bootstrap_development.sh /bootstrap_development.sh
|
||||
RUN openssl req -nodes -newkey rsa:2048 -keyout /etc/nginx/nginx.key -out /etc/nginx/nginx.csr -subj "/C=US/ST=North Carolina/L=Durham/O=Ansible/OU=AWX Development/CN=awx.localhost"
|
||||
RUN openssl x509 -req -days 365 -in /etc/nginx/nginx.csr -signkey /etc/nginx/nginx.key -out /etc/nginx/nginx.crt
|
||||
WORKDIR /tmp
|
||||
|
||||
36
tools/docker-compose/bootstrap_development.sh
Executable file
36
tools/docker-compose/bootstrap_development.sh
Executable file
@@ -0,0 +1,36 @@
|
||||
#!/bin/bash
|
||||
set +x
|
||||
|
||||
# Wait for the databases to come up
|
||||
ansible -i "127.0.0.1," -c local -v -m wait_for -a "host=postgres port=5432" all
|
||||
ansible -i "127.0.0.1," -c local -v -m wait_for -a "host=memcached port=11211" all
|
||||
ansible -i "127.0.0.1," -c local -v -m wait_for -a "host=${RABBITMQ_HOST} port=5672" all
|
||||
|
||||
# In case AWX in the container wants to connect to itself, use "docker exec" to attach to the container otherwise
|
||||
# TODO: FIX
|
||||
#/etc/init.d/ssh start
|
||||
|
||||
|
||||
ansible -i "127.0.0.1," -c local -v -m postgresql_user -U postgres -a "name=awx-dev password=AWXsome1 login_user=postgres login_host=postgres" all
|
||||
ansible -i "127.0.0.1," -c local -v -m postgresql_db -U postgres -a "name=awx-dev owner=awx-dev login_user=postgres login_host=postgres" all
|
||||
|
||||
# Move to the source directory so we can bootstrap
|
||||
if [ -f "/awx_devel/manage.py" ]; then
|
||||
cd /awx_devel
|
||||
else
|
||||
echo "Failed to find awx source tree, map your development tree volume"
|
||||
fi
|
||||
|
||||
cp -R /tmp/awx.egg-info /awx_devel/ || true
|
||||
sed -i "s/placeholder/$(git describe --long | sed 's/\./\\./g')/" /awx_devel/awx.egg-info/PKG-INFO
|
||||
cp /tmp/awx.egg-link /venv/awx/lib/python2.7/site-packages/awx.egg-link
|
||||
ln -s /awx_devel/tools/rdb.py /venv/awx/lib/python2.7/site-packages/rdb.py || true
|
||||
yes | cp -rf /awx_devel/tools/docker-compose/supervisor.conf /supervisor.conf
|
||||
|
||||
# AWX bootstrapping
|
||||
make version_file
|
||||
make migrate
|
||||
make init
|
||||
|
||||
mkdir -p /awx_devel/awx/public/static
|
||||
mkdir -p /awx_devel/awx/ui/static
|
||||
@@ -1,42 +1,10 @@
|
||||
#!/bin/bash
|
||||
set +x
|
||||
|
||||
# Wait for the databases to come up
|
||||
ansible -i "127.0.0.1," -c local -v -m wait_for -a "host=postgres port=5432" all
|
||||
ansible -i "127.0.0.1," -c local -v -m wait_for -a "host=memcached port=11211" all
|
||||
ansible -i "127.0.0.1," -c local -v -m wait_for -a "host=${RABBITMQ_HOST} port=5672" all
|
||||
|
||||
# In case AWX in the container wants to connect to itself, use "docker exec" to attach to the container otherwise
|
||||
# TODO: FIX
|
||||
#/etc/init.d/ssh start
|
||||
|
||||
|
||||
ansible -i "127.0.0.1," -c local -v -m postgresql_user -U postgres -a "name=awx-dev password=AWXsome1 login_user=postgres login_host=postgres" all
|
||||
ansible -i "127.0.0.1," -c local -v -m postgresql_db -U postgres -a "name=awx-dev owner=awx-dev login_user=postgres login_host=postgres" all
|
||||
|
||||
# Move to the source directory so we can bootstrap
|
||||
if [ -f "/awx_devel/manage.py" ]; then
|
||||
cd /awx_devel
|
||||
else
|
||||
echo "Failed to find awx source tree, map your development tree volume"
|
||||
fi
|
||||
|
||||
cp -R /tmp/awx.egg-info /awx_devel/ || true
|
||||
sed -i "s/placeholder/$(git describe --long | sed 's/\./\\./g')/" /awx_devel/awx.egg-info/PKG-INFO
|
||||
cp /tmp/awx.egg-link /venv/awx/lib/python2.7/site-packages/awx.egg-link
|
||||
ln -s /awx_devel/tools/rdb.py /venv/awx/lib/python2.7/site-packages/rdb.py || true
|
||||
yes | cp -rf /awx_devel/tools/docker-compose/supervisor.conf /supervisor.conf
|
||||
|
||||
# AWX bootstrapping
|
||||
make version_file
|
||||
make migrate
|
||||
make init
|
||||
|
||||
mkdir -p /awx_devel/awx/public/static
|
||||
mkdir -p /awx_devel/awx/ui/static
|
||||
|
||||
# Start the service
|
||||
/bootstrap_development.sh
|
||||
|
||||
cd /awx_devel
|
||||
# Start the services
|
||||
if [ -f "/awx_devel/tools/docker-compose/use_dev_supervisor.txt" ]; then
|
||||
make supervisor
|
||||
else
|
||||
|
||||
@@ -8,7 +8,7 @@ services:
|
||||
- isolated
|
||||
# Isolated Rampart Container
|
||||
isolated:
|
||||
image: gcr.io/ansible-tower-engineering/awx_isolated:${TAG}
|
||||
image: ${DEV_DOCKER_TAG_BASE}/awx_isolated:${TAG}
|
||||
hostname: isolated
|
||||
volumes:
|
||||
- "../awx/main/isolated:/awx_devel"
|
||||
|
||||
Reference in New Issue
Block a user