Commit 703a7f8f authored by Philippe Valfok's avatar Philippe Valfok

Adicionando Pipfiles, iniciando task para criação automática de domínios

parent 7ac9d6ff
......@@ -10,7 +10,11 @@ RUN set -ex && mkdir /src
# -- Adding Compose Folder
ADD /compose/*.sh /
RUN chmod +x /*.sh
RUN set -ex && chmod +x /*.sh
# -- Make Scripts Executables
ADD /scripts/*.py /
RUN set -ex && chmod +x /*.py
WORKDIR /src
......@@ -19,4 +23,14 @@ ADD Pipfile /
ADD Pipfile.lock /
# -- Install dependencies:
RUN set -ex && pipenv install --deploy --system
\ No newline at end of file
RUN set -ex && pipenv install --deploy --system
# -- Install Python2 to run Fabric Tasks
RUN set -ex && apt-get update
RUN set -ex && apt-get install -y python-pip
RUN set -ex && apt-get install -y python-dev
RUN set -ex && pip2 install setuptools --upgrade
RUN set -ex && pip2 install cryptography --upgrade
RUN set -ex && pip2 install fabric --upgrade
RUN set -ex && pip2 install enum --upgrade
RUN set -ex && pip2 install ipaddress --upgrade
\ No newline at end of file
......@@ -22,6 +22,7 @@ python-decouple = "*"
unipath = "*"
python-digitalocean = "*"
gunicorn = "*"
"python2" = "*"
[requires]
......
{
"_meta": {
"hash": {
"sha256": "3cf09d52c00bece1036b2af1412bb627954f172bb539df46b3e46eca2d615507"
"sha256": "8591da5304523e6f55ccd7381bf591176b281c80b9e5b20e2d45d3a8bffbf354"
},
"host-environment-markers": {
"implementation_name": "cpython",
......@@ -146,6 +146,12 @@
],
"version": "==1.13.2"
},
"python2": {
"hashes": [
"sha256:9219352345a5cfcdf2e104c469bcbfe5b959b8e15f194988809b984a3fcdda55"
],
"version": "==1.2"
},
"pytz": {
"hashes": [
"sha256:80af0f3008046b9975242012a985f04c5df1f01eed4ec1633d56cc47a75a6a48",
......@@ -296,11 +302,11 @@
},
"typing": {
"hashes": [
"sha256:349b1f9c109c84b53ac79ac1d822eaa68fc91d63b321bd9392df15098f746f53",
"sha256:63a8255fe7c6269916baa440eb9b6a67139b0b97a01af632e7bd2842e1e02f15",
"sha256:d514bd84b284dd3e844f0305ac07511f097e325171f6cc4a20878d11ad771849"
"sha256:b2c689d54e1144bbcfd191b0832980a21c2dbcf7b5ff7a66248a60c90e951eb8",
"sha256:3a887b021a77b292e151afb75323dea88a7bc1b3dfa92176cff8e44c8b68bddf",
"sha256:d400a9344254803a2368533e4533a4200d21eb7b6b729c173bc38201a74db3f2"
],
"version": "==3.6.2"
"version": "==3.6.4"
},
"urllib3": {
"hashes": [
......
......@@ -29,6 +29,9 @@ services:
DEBUG: "False"
DATABASE_URL: "postgres://postgres:infatecbdadmin@165.227.205.36/diario_manager"
SECRET_KEY: "=b+8s@l*rnqjd*=1rrsp!op82-qcgubm6oysex+thbu1+myen-"
MANAGER_HOST: "165.227.205.48"
MANAGER_HOST_USER: "infatec"
MANAGER_HOST_PASSWORD: "adminfatec"
restart: always
links:
- redis
......
......@@ -3,10 +3,128 @@
{
"selected_items":
[
[
"data",
"database_url\tstatement"
],
[
"url",
"urlparse\tfunction"
],
[
"cr",
"criar_droplet\tfunction"
],
[
"se",
"set_status"
],
[
"drop",
"droplet_status\tstatement"
],
[
"crea",
"create_droplet_pipeline\tmodule"
],
[
"djan",
"django_rq\tmodule"
],
[
"TIME",
"TIME_ZONE\tstatement"
],
[
"chave",
"chave_ssh"
],
[
"verbo",
"verbose_name_plural"
],
[
"str",
"__str__"
],
[
"def",
"default"
]
]
},
"buffers":
[
{
"file": "docker-compose.yml",
"settings":
{
"buffer_size": 1145,
"encoding": "UTF-8",
"line_ending": "Unix"
}
},
{
"file": "Dockerfile",
"settings":
{
"buffer_size": 784,
"encoding": "UTF-8",
"line_ending": "Unix"
}
},
{
"file": ".dockerignore",
"settings":
{
"buffer_size": 5,
"encoding": "UTF-8",
"line_ending": "Unix"
}
},
{
"file": "src/settings/base.py",
"settings":
{
"buffer_size": 2093,
"encoding": "UTF-8",
"line_ending": "Unix"
}
},
{
"file": "Pipfile",
"settings":
{
"buffer_size": 369,
"line_ending": "Unix"
}
},
{
"file": "Pipfile.lock",
"settings":
{
"buffer_size": 15588,
"line_ending": "Unix"
}
},
{
"file": "src/backend/core/models/cliente.py",
"settings":
{
"buffer_size": 1823,
"encoding": "UTF-8",
"line_ending": "Unix"
}
},
{
"file": "/home/infatec/do_ssh.py",
"settings":
{
"buffer_size": 253,
"encoding": "UTF-8",
"line_ending": "Unix"
}
}
],
"build_system": "",
"build_system_choices":
......@@ -16,13 +134,49 @@
"command_palette":
{
"height": 392.0,
"last_filter": "tm",
"last_filter": "refre",
"selected_items":
[
[
"refre",
"Project: Refresh Folders"
],
[
"vtsb",
"View: Toggle Side Bar"
],
[
"toggle mnu",
"View: Toggle Menu"
],
[
"ssym",
"Set Syntax: YAML"
],
[
"ssdjan",
"Set Syntax: Python (Django)"
],
[
"tm",
"HTML: Encode Special Characters"
],
[
"tside",
"View: Toggle Side Bar"
],
[
"lower",
"Convert Case: Lower Case"
],
[
"tme",
"View: Toggle Menu"
],
[
"pep8",
"Anaconda: Autoformat PEP8 Errors"
],
[
"tsb",
"View: Toggle Status Bar"
......@@ -77,16 +231,52 @@
},
"expanded_folders":
[
"/home/infatec/infatec_mega/diario_manager"
"/home/infatec/infatec_mega/diario_manager",
"/home/infatec/infatec_mega/diario_manager/compose",
"/home/infatec/infatec_mega/diario_manager/config",
"/home/infatec/infatec_mega/diario_manager/scripts",
"/home/infatec/infatec_mega/diario_manager/src",
"/home/infatec/infatec_mega/diario_manager/src/backend",
"/home/infatec/infatec_mega/diario_manager/src/settings"
],
"file_history":
[
"/home/infatec/infatec_mega/diario_manager/src/backend/scripts/__init__.py",
"/home/infatec/infatec_mega/diario_manager/src/backend/scripts/add_domain.py",
"/home/infatec/infatec_mega/diario_manager/src/backend/scripts/run_add_domain.py",
"/home/infatec/infatec_mega/diario_manager/compose/run_django.sh",
"/home/infatec/infatec_mega/diario_manager/compose/run_django_rq.sh",
"/home/infatec/infatec_mega/diario_manager/src/backend/core/models/configuracao.py",
"/home/infatec/infatec_mega/diario_manager/src/backend/core/admin.py",
"/home/infatec/infatec_mega/diario_manager/src/backend/urls.py",
"/home/infatec/infatec_mega/diario_manager/src/settings/base.py",
"/home/infatec/infatec_mega/diario_manager/src/manage.py",
"/home/infatec/infatec_mega/diario_manager/src/backend/core/models/cliente.py",
"/home/infatec/infatec_mega/diario_manager/src/backend/core/tasks.py",
"/home/infatec/infatec_mega/diario_manager/src/settings.ini",
"/home/infatec/infatec_mega/diario_manager/src/settings/__init__.py",
"/home/infatec/infatec_mega/diario_manager/src/backend/__init__.py",
"/home/infatec/infatec_mega/diario_manager/docker-compose.yml",
"/home/infatec/infatec_mega/diario_manager/src/backend/core/models/__init__.py",
"/home/infatec/infatec_mega/diario_manager/src/backend/core/signals.py",
"/home/infatec/infatec_mega/diario_manager/src/backend/celery.py",
"/home/infatec/infatec_mega/diario_manager/src/settings/celery.py",
"/home/infatec/infatec_mega/diario_manager/.gitignore",
"/home/infatec/infatec_mega/diario_manager/src/config.env",
"/home/infatec/infatec_mega/diario_manager/src/backend/core/models/chave_ssh.py",
"/home/infatec/infatec_mega/diario_manager/src/backend/core/models.py",
"/home/infatec/infatec_mega/diario_manager/config/requirements/production.pip",
"/home/infatec/deploy_manager.groovy",
"/home/infatec/deploy_manager2.groovy",
"/home/infatec/rastreia.py",
"/home/infatec/.config/sublime-text-3/Packages/User/Anaconda.sublime-settings",
"/home/infatec/.config/sublime-text-3/Packages/Anaconda/Anaconda.sublime-settings",
"/home/infatec/.config/sublime-text-3/Packages/User/Plain text.sublime-settings",
"/home/infatec/.zshrc"
],
"find":
{
"height": 0.0
"height": 21.0
},
"find_in_files":
{
......@@ -100,6 +290,11 @@
"case_sensitive": false,
"find_history":
[
"RUN set -ex && ",
" networks:\n - app-tier",
"SiteConfiguration",
"line",
"pep8"
],
"highlight": true,
"in_selection": false,
......@@ -117,18 +312,289 @@
"groups":
[
{
"selected": 7,
"sheets":
[
{
"buffer": 0,
"file": "docker-compose.yml",
"semi_transient": false,
"settings":
{
"buffer_size": 1145,
"regions":
{
},
"selection":
[
[
856,
856
]
],
"settings":
{
"history_list_is_closing": true,
"syntax": "Packages/YAML/YAML.sublime-syntax",
"tab_size": 2,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 2,
"type": "text"
},
{
"buffer": 1,
"file": "Dockerfile",
"semi_transient": false,
"settings":
{
"buffer_size": 784,
"regions":
{
},
"selection":
[
[
298,
298
]
],
"settings":
{
"syntax": "Packages/Text/Plain text.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 1,
"type": "text"
},
{
"buffer": 2,
"file": ".dockerignore",
"semi_transient": false,
"settings":
{
"buffer_size": 5,
"regions":
{
},
"selection":
[
[
5,
5
]
],
"settings":
{
"syntax": "Packages/Text/Plain text.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 6,
"type": "text"
},
{
"buffer": 3,
"file": "src/settings/base.py",
"semi_transient": false,
"settings":
{
"buffer_size": 2093,
"regions":
{
},
"selection":
[
[
1502,
1502
]
],
"settings":
{
"auto_complete_triggers":
[
{
"characters": ".",
"selector": "source.python - string - comment - constant.numeric"
},
{
"characters": ".",
"selector": "source.python - string - constant.numeric"
}
],
"syntax": "Packages/Djaneiro/Syntaxes/Python Django.tmLanguage",
"tab_size": 4,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 7,
"type": "text"
},
{
"buffer": 4,
"file": "Pipfile",
"semi_transient": false,
"settings":
{
"buffer_size": 369,
"regions":
{
},
"selection":
[
[
353,
353
]
],
"settings":
{
"syntax": "Packages/Text/Plain text.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 5,
"type": "text"
},
{
"buffer": 5,
"file": "Pipfile.lock",
"semi_transient": false,
"settings":
{
"buffer_size": 15588,
"regions":
{
},
"selection":
[
[
0,
0
]
],
"settings":
{
"syntax": "Packages/Text/Plain text.tmLanguage",
"tab_size": 4,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 1782.0,
"zoom_level": 1.0
},
"stack_index": 4,
"type": "text"
},
{
"buffer": 6,
"file": "src/backend/core/models/cliente.py",
"semi_transient": false,
"settings":
{
"buffer_size": 1823,
"regions":
{
},
"selection":
[
[
1600,
1604
]
],
"settings":
{
"auto_complete_triggers":
[
{
"characters": ".",
"selector": "source.python - string - comment - constant.numeric"
},
{
"characters": ".",
"selector": "source.python - string - constant.numeric"
},
{
"characters": ".",
"selector": "source.python - string - constant.numeric"
}
],
"syntax": "Packages/Djaneiro/Syntaxes/Python Django.tmLanguage",
"tab_size": 4,
"translate_tabs_to_spaces": true
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 3,
"type": "text"
},
{
"buffer": 7,
"file": "/home/infatec/do_ssh.py",
"semi_transient": false,
"settings":
{
"buffer_size": 253,
"regions":
{
},
"selection":
[
[
253,
253
]
],
"settings":
{
"auto_complete_triggers":
[
{
"characters": ".",
"selector": "source.python - string - comment - constant.numeric"
},
{
"characters": ".",
"selector": "source.python - string - constant.numeric"
}
],
"syntax": "Packages/Djaneiro/Syntaxes/Python Django.tmLanguage"
},
"translation.x": 0.0,
"translation.y": 0.0,
"zoom_level": 1.0
},
"stack_index": 0,
"type": "text"
}
]
}
],
"incremental_find":
{
"height": 0.0
"height": 21.0
},
"input":
{
"height": 0.0
"height": 50.0
},
"layout":
{
......@@ -152,7 +618,7 @@
1.0
]
},
"menu_visible": true,
"menu_visible": false,
"output.find_results":
{
"height": 0.0
......@@ -161,7 +627,7 @@
"project": "manager.sublime-project",
"replace":
{
"height": 0.0
"height": 38.0
},
"save_all_on_build": true,
"select_file":
......@@ -170,6 +636,26 @@
"last_filter": "",
"selected_items":
[
[
"docker",
"docker-compose.yml"
],
[
"modelsinit",
"src/backend/core/models/__init__.py"
],
[
"clie",
"src/backend/core/models/cliente.py"
],
[
"confi",
"src/backend/core/models/configuracao.py"
],
[
"tas",
"src/backend/core/tasks.py"
]
],
"width": 0.0
},
......@@ -195,12 +681,12 @@
"settings":
{
},
"show_minimap": true,
"show_minimap": false,
"show_open_files": false,
"show_tabs": true,
"side_bar_visible": true,
"side_bar_width": 238.0,
"status_bar_visible": false,
"side_bar_width": 292.0,
"status_bar_visible": true,
"template_settings":
{
}
......
#!/usr/bin/python2
print "olha eu aqui!"
\ No newline at end of file
#!/usr/bin/python2
# -*- coding: utf-8 -*-
import os
import sys
import logging
from fabric.api import env, run, settings, show, hide
from fabric.tasks import execute
logging.getLogger(
'paramiko.transport'
).addHandler(
logging.StreamHandler()
)
env.hosts = [
os.environ.get('MANAGER_HOST')
]
env.user = os.environ.get('MANAGER_HOST_USER')
env.password = os.environ.get('MANAGER_HOST_PASSWORD')
def exec_add_domain(domain_name):
script_path = "django_apps/DIARIO_MANAGER/scripts/add_domain.py"
with settings(hide('everything'), show('running')):
result = run("chmod +x %s && %s %s" % (script_path, script_path, domain_name))
if result.failed:
return "Erro ao executar script de criação de domínio. (%s)" % result.command
return "Erro ao executar script de criação de domínio"
if __name__ == '__main__':
try:
domain_name = sys.argv[1]
execute(exec_add_domain, domain_name)
except Exception as err:
msg = "Erro ao executar comando! (%s)" % err
print msg
# Generated by Django 2.0.1 on 2018-01-25 11:50
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('core', '0009_auto_20180124_1052'),
]
operations = [
migrations.AddField(
model_name='configuracao',
name='chave_ssh',
field=models.TextField(blank=True),
),
]
# Generated by Django 2.0.1 on 2018-01-25 14:03
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('core', '0010_configuracao_chave_ssh'),
]
operations = [
migrations.RemoveField(
model_name='configuracao',
name='chave_ssh',
),
]
......@@ -10,8 +10,6 @@ class Configuracao(SingletonModel):
"""Model definition for COnfigurations"""
token = models.CharField(max_length=255)
chave_ssh = models.TextField(blank=True)
droplets_region = models.CharField(_('Região dos Droplets'), max_length=50, default="nyc1")
droplets_image = models.CharField(_('Imagem/SO dos Droplets'), max_length=50, default="ubuntu-16-04-x64")
droplets_size = models.CharField(_('Tamanho dos Droplets'), max_length=50, default="s-1vcpu-1gb")
......
......@@ -59,14 +59,6 @@ ROOT_URLCONF = 'backend.urls'
SITE_ID = 1
WSGI_APPLICATION = 'backend.wsgi.application'
# RQ_QUEUES = {
# 'default': {
# 'HOST': 'localhost',
# 'PORT': 6379,
# 'DB': 0
# }
# }
# RQ (Redis Queue)
# http://python-rq.org/
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment