Ver Fonte

Merged in FD3-742 (pull request #40)

FD3-742

Approved-by: Guillermo Espinoza <guillermo@interlink.com.ar>
Gabriel Gosparo há 6 anos atrás
pai
commit
6712ba0d85
3 ficheiros alterados com 79 adições e 77 exclusões
  1. 76 76
      .drone.yml
  2. 1 1
      letsencrypt/googledns.py
  3. 2 0
      tools/src/Release.php

+ 76 - 76
.drone.yml

@@ -1,11 +1,11 @@
-#services:
-#  selenium:
-#    image: selenium/standalone-firefox-debug:3.1
-#  docker:
-#    image: docker:17.10-dind
-#    privileged: true
-#    command: [ "--storage-driver=vfs", "--tls=false" ]
-
+##services:
+##  selenium:
+##    image: selenium/standalone-firefox-debug:3.1
+##  docker:
+##    image: docker:17.10-dind
+##    privileged: true
+##    command: [ "--storage-driver=vfs", "--tls=false" ]
+#
 pipeline:
   build:
     image: python:2.7
@@ -15,72 +15,72 @@ pipeline:
       - export CLIENT=fd3
       - apt update 
       - apt install netcat -yq
-      #- pip install --upgrade pip ansible==2.2.0 markupsafe ecdsa pyOpenSSL;
-      # - curl -OL https://github.com/digitalocean/doctl/releases/download/v1.8.0/doctl-1.8.0-linux-amd64.tar.gz
-      # - tar xf doctl-1.8.0-linux-amd64.tar.gz
-        #- ./doctl auth init -t 083d19437d43fc51983c8926e5060bdb5039032e7d2a933395b2513573c799d3
-        #- ID=$(./doctl compute droplet create test-installer-fd3 --wait --format "ID" --size s-6vcpu-16gb --image debian-9-x64 --region nyc3 --ssh-keys b4:2b:5f:4c:0c:be:6e:77:50:85:96:ca:70:55:db:aa --tag-names test,fd3-test,installer | tail -1)
-        #- echo $ID
-        #- ./doctl compute droplet get $ID --format "PublicIPv4" --no-header > dd.id
-      - FD3IP=165.227.7.103
-        #- timeout 30 sh -c 'until nc -z $0 $1; do sleep 1; done' $FD3IP 22
-#ssh con IP doctl
-      - chmod 0600 tools/keys/bitbucket.id_rsa
-      - eval $(ssh-agent) ; ssh-add tools/keys/bitbucket.id_rsa
-      - ssh -i bitbucket.id_rsa -o StrictHostKeyChecking=no root@$FD3IP apt-get update
-      
-      - ssh -i bitbucket.id_rsa -o StrictHostKeyChecking=no root@$FD3IP apt-get install curl git python python-pip -yq
-      - ssh root@$FD3IP 'ssh-keyscan -H -p 22  bitbucket.org >> ~/.ssh/known_hosts'
-      #- ssh -i bitbucket.id_rsa -o StrictHostKeyChecking=no root@$FD3IP curl https://bootstrap.pypa.io/get-pip.py | python
-      #- curl -fsSL get.docker.com | ssh -i bitbucket.id_rsa -o StrictHostKeyChecking=no root@$FD3IP 
-      - ssh -i bitbucket.id_rsa -o StrictHostKeyChecking=no root@$FD3IP 'pip install docker-compose'
-
-#      - ssh -i bitbucket.id_rsa -o StrictHostKeyChecking=no root@$FD3IP 'curl -sSL https://agent.digitalocean.com/install.sh | sh'
-
-####. Crear un directorio para la instalación, puede ser en cualquier lugar del sistema. Tener en cuenta que en este directorio se descargará código fuente.
-      - ssh -i bitbucket.id_rsa -o StrictHostKeyChecking=no root@$FD3IP 'docker stop $(docker ps -qa) || exit 0'
-
-####. Descargar el fuente de instalación.   
-#- ssh -A -o StrictHostKeyChecking=no root@$FD3IP git clone git@bitbucket.org:ikflowdat/installer.git /opt/installer
-      - ssh -A -o StrictHostKeyChecking=no root@$FD3IP rm -rf /opt/flowdat
-      - ssh -i bitbucket.id_rsa -o StrictHostKeyChecking=no root@$FD3IP rm -rf /opt/flowdat /opt/installer/
-      - ssh -A -o StrictHostKeyChecking=no root@$FD3IP mkdir -p /opt/installer
-      - ssh -i bitbucket.id_rsa -o StrictHostKeyChecking=no root@$FD3IP mkdir /opt/flowdat
-      - scp -r -o StrictHostKeyChecking=no tools root@$FD3IP:/opt/installer/
-
-####. Construir el docker que se utilizará durante la instalación.
-      - ssh -o StrictHostKeyChecking=no root@$FD3IP 'cd /opt/installer/tools; docker build --build-arg DIR_INSTALL=$(pwd) -t dind .'
-
-####. Instalamos con composer elementos adicionales.
-#      - ssh -o StrictHostKeyChecking=no root@$FD3IP docker run -v $(pwd):$(pwd) -v /var/run/docker.sock:/tmp/docker.sock dind composer install
-
-####. Crear los archivos necesarios para la instalción. Dentro del directorio actual se crea un nuevo directorio con el nombre de la empresa.
-      - ssh -o StrictHostKeyChecking=no root@$FD3IP 'docker run -v /opt/flowdat:/opt/flowdat -v /var/run/docker.sock:/tmp/docker.sock dind make:install /opt/flowdat --client=fd3'
-
-####. Una vez dentro del docker entramos al directorio de instalación. Obtener los fuentes desde bitbucket
-      - ssh -o StrictHostKeyChecking=no root@$FD3IP 'cd /opt/flowdat ; docker run -v /opt/flowdat:/opt/flowdat -v /var/run/docker.sock:/tmp/docker.sock dind get:source $(pwd)/git.ini --timeout=120'
-      - echo "get:source DONE!"
-
-####. Renombramos los archivos innecesarios para el nginx.    
-      #- ssh -o StrictHostKeyChecking=no root@$FD3IP 'docker run -v /opt/flowdat:/opt/flowdat -v /var/run/docker.sock:/tmp/docker.sock dind fix:nginx /opt/flowdat'
-
-####. Entramos al docker para correr ansible y terminar la configuración. Una vez dentro del docker entramos al directorio de instalación. Corremos ansible para finalizar la configuración e instalación
-      - scp -o StrictHostKeyChecking=no tools/installer.sh root@$FD3IP:/opt/flowdat
-      - ssh -o StrictHostKeyChecking=no root@$FD3IP 'docker run -v /opt/flowdat:/opt/flowdat -v /var/run/docker.sock:/tmp/docker.sock -w /opt/flowdat --entrypoint=./installer.sh dind'
-
-### Compose UP
-      - ssh -o StrictHostKeyChecking=no root@$FD3IP 'cd /opt/flowdat ; docker-compose up -d'
-
-### Los container se levantan por systemctl. Ejecutar fuera del dind
-#      - ssh -o StrictHostKeyChecking=no root@$FD3IP ln -sf /opt/flowdat/docker-compose.service /etc/systemd/system/docker-compose.service
-#      - ssh -o StrictHostKeyChecking=no root@$FD3IP systemctl enable docker-compose.service
-
-      - ssh -o StrictHostKeyChecking=no root@$FD3IP 'cd /opt/flowdat ; docker-compose up -d'
-      - ssh -o StrictHostKeyChecking=no root@$FD3IP 'cd /opt/flowdat ; docker-compose ps'
-      - ssh -o StrictHostKeyChecking=no root@$FD3IP 'cd /opt/flowdat ; docker-compose rm -sf'
-
-      - END=$(date +%s);
-      - echo $((END-START)) | awk '{print int($1/60)":"int($1%60)}'
-#      - ./doctl compute droplet delete -f $ID
-      - exit 0
+#      #- pip install --upgrade pip ansible==2.2.0 markupsafe ecdsa pyOpenSSL;
+#      # - curl -OL https://github.com/digitalocean/doctl/releases/download/v1.8.0/doctl-1.8.0-linux-amd64.tar.gz
+#      # - tar xf doctl-1.8.0-linux-amd64.tar.gz
+#        #- ./doctl auth init -t 083d19437d43fc51983c8926e5060bdb5039032e7d2a933395b2513573c799d3
+#        #- ID=$(./doctl compute droplet create test-installer-fd3 --wait --format "ID" --size s-6vcpu-16gb --image debian-9-x64 --region nyc3 --ssh-keys b4:2b:5f:4c:0c:be:6e:77:50:85:96:ca:70:55:db:aa --tag-names test,fd3-test,installer | tail -1)
+#        #- echo $ID
+#        #- ./doctl compute droplet get $ID --format "PublicIPv4" --no-header > dd.id
+#      - FD3IP=165.227.7.103
+#        #- timeout 30 sh -c 'until nc -z $0 $1; do sleep 1; done' $FD3IP 22
+##ssh con IP doctl
+#      - chmod 0600 tools/keys/bitbucket.id_rsa
+#      - eval $(ssh-agent) ; ssh-add tools/keys/bitbucket.id_rsa
+#      - ssh -i bitbucket.id_rsa -o StrictHostKeyChecking=no root@$FD3IP apt-get update
+#      
+#      - ssh -i bitbucket.id_rsa -o StrictHostKeyChecking=no root@$FD3IP apt-get install curl git python python-pip -yq
+#      - ssh root@$FD3IP 'ssh-keyscan -H -p 22  bitbucket.org >> ~/.ssh/known_hosts'
+#      #- ssh -i bitbucket.id_rsa -o StrictHostKeyChecking=no root@$FD3IP curl https://bootstrap.pypa.io/get-pip.py | python
+#      #- curl -fsSL get.docker.com | ssh -i bitbucket.id_rsa -o StrictHostKeyChecking=no root@$FD3IP 
+#      - ssh -i bitbucket.id_rsa -o StrictHostKeyChecking=no root@$FD3IP 'pip install docker-compose'
+#
+##      - ssh -i bitbucket.id_rsa -o StrictHostKeyChecking=no root@$FD3IP 'curl -sSL https://agent.digitalocean.com/install.sh | sh'
+#
+#####. Crear un directorio para la instalación, puede ser en cualquier lugar del sistema. Tener en cuenta que en este directorio se descargará código fuente.
+#      - ssh -i bitbucket.id_rsa -o StrictHostKeyChecking=no root@$FD3IP 'docker stop $(docker ps -qa) || exit 0'
+#
+#####. Descargar el fuente de instalación.   
+##- ssh -A -o StrictHostKeyChecking=no root@$FD3IP git clone git@bitbucket.org:ikflowdat/installer.git /opt/installer
+#      - ssh -A -o StrictHostKeyChecking=no root@$FD3IP rm -rf /opt/flowdat
+#      - ssh -i bitbucket.id_rsa -o StrictHostKeyChecking=no root@$FD3IP rm -rf /opt/flowdat /opt/installer/
+#      - ssh -A -o StrictHostKeyChecking=no root@$FD3IP mkdir -p /opt/installer
+#      - ssh -i bitbucket.id_rsa -o StrictHostKeyChecking=no root@$FD3IP mkdir /opt/flowdat
+#      - scp -r -o StrictHostKeyChecking=no tools root@$FD3IP:/opt/installer/
+#
+#####. Construir el docker que se utilizará durante la instalación.
+#      - ssh -o StrictHostKeyChecking=no root@$FD3IP 'cd /opt/installer/tools; docker build --build-arg DIR_INSTALL=$(pwd) -t dind .'
+#
+#####. Instalamos con composer elementos adicionales.
+##      - ssh -o StrictHostKeyChecking=no root@$FD3IP docker run -v $(pwd):$(pwd) -v /var/run/docker.sock:/tmp/docker.sock dind composer install
+#
+#####. Crear los archivos necesarios para la instalción. Dentro del directorio actual se crea un nuevo directorio con el nombre de la empresa.
+#      - ssh -o StrictHostKeyChecking=no root@$FD3IP 'docker run -v /opt/flowdat:/opt/flowdat -v /var/run/docker.sock:/tmp/docker.sock dind make:install /opt/flowdat --client=fd3'
+#
+#####. Una vez dentro del docker entramos al directorio de instalación. Obtener los fuentes desde bitbucket
+#      - ssh -o StrictHostKeyChecking=no root@$FD3IP 'cd /opt/flowdat ; docker run -v /opt/flowdat:/opt/flowdat -v /var/run/docker.sock:/tmp/docker.sock dind get:source $(pwd)/git.ini --timeout=120'
+#      - echo "get:source DONE!"
+#
+#####. Renombramos los archivos innecesarios para el nginx.    
+#      #- ssh -o StrictHostKeyChecking=no root@$FD3IP 'docker run -v /opt/flowdat:/opt/flowdat -v /var/run/docker.sock:/tmp/docker.sock dind fix:nginx /opt/flowdat'
+#
+#####. Entramos al docker para correr ansible y terminar la configuración. Una vez dentro del docker entramos al directorio de instalación. Corremos ansible para finalizar la configuración e instalación
+#      - scp -o StrictHostKeyChecking=no tools/installer.sh root@$FD3IP:/opt/flowdat
+#      - ssh -o StrictHostKeyChecking=no root@$FD3IP 'docker run -v /opt/flowdat:/opt/flowdat -v /var/run/docker.sock:/tmp/docker.sock -w /opt/flowdat --entrypoint=./installer.sh dind'
+#
+#### Compose UP
+#      - ssh -o StrictHostKeyChecking=no root@$FD3IP 'cd /opt/flowdat ; docker-compose up -d'
+#
+#### Los container se levantan por systemctl. Ejecutar fuera del dind
+##      - ssh -o StrictHostKeyChecking=no root@$FD3IP ln -sf /opt/flowdat/docker-compose.service /etc/systemd/system/docker-compose.service
+##      - ssh -o StrictHostKeyChecking=no root@$FD3IP systemctl enable docker-compose.service
+#
+#      - ssh -o StrictHostKeyChecking=no root@$FD3IP 'cd /opt/flowdat ; docker-compose up -d'
+#      - ssh -o StrictHostKeyChecking=no root@$FD3IP 'cd /opt/flowdat ; docker-compose ps'
+#      - ssh -o StrictHostKeyChecking=no root@$FD3IP 'cd /opt/flowdat ; docker-compose rm -sf'
+#
+##      - END=$(date +%s);
+#      - echo $((END-START)) | awk '{print int($1/60)":"int($1%60)}'
+##      - ./doctl compute droplet delete -f $ID
+#      - exit 0
 

+ 1 - 1
letsencrypt/googledns.py

@@ -14,7 +14,7 @@ except ImportError:
 
 # Globals
 google_client = None
-app_subdomains = ['base', 'radius', 'cablemodem', 'ftth', 'dhcp', 'mapas', 'stats', 'grafana', 'geoserver', 'api', 'swagger']
+app_subdomains = ['base', 'radius', 'cablemodem', 'ftth', 'dhcp', 'mapas', 'stats', 'grafana', 'geoserver', 'api', 'swagger', 'pma']
 
 
 def main(argv):

+ 2 - 0
tools/src/Release.php

@@ -973,6 +973,7 @@ class Release extends Command
             ->addLinks("mysql")
             ->addLinks("base")
             ->addLinks("nginx", $this->getDomain("base"))
+            ->addLinks("nginx", $this->getDomain("dhcp"))
             ->addEnv_file("running.env")
             ->addEnv_file("host.env")
             ->addEnv_file("cablemodem.host.env")
@@ -988,6 +989,7 @@ class Release extends Command
             ->addLinks("mysql")
             ->addLinks("base")
             ->addLinks("nginx", $this->getDomain("base"))
+            ->addLinks("nginx", $this->getDomain("cablemodem"))
             ->addEnv_file("running.env")
             ->addEnv_file("host.env")
             ->addEnv_file("dhcp.host.env")