Commit f10d1dbd authored by Philippe Valfok's avatar Philippe Valfok

Adicionando documentação

parent 09d02b6d
......@@ -12,6 +12,7 @@ from fabric.operations import put, get
from datetime import datetime
# Estrutura do arquivo .db que será usada como base
PONTO_DB = """$TTL 14400
__domain_name__.pege.com.br. 86400 IN SOA ns1.infatec.net.br. abuse.infatec.net.br. (
__date__01 ;Serial Number
......@@ -35,6 +36,7 @@ whm 14400 IN A 209.126.103.85
webmail 14400 IN A 209.126.103.85
"""
# Estrutura da zona que será adicionada ao named.conf
ZONE = '};\n\n\nzone "__domain_name__.pege.com.br" {\n\ttype ' +\
'master;\n\tfile "/var/named/__file_db_name__";\n};\n\n};'
......@@ -45,6 +47,7 @@ logging.getLogger(
logging.StreamHandler()
)
# Definindo dados do Servidor DNS
env.hosts = [
'209.126.103.85:38652'
]
......@@ -52,6 +55,17 @@ env.user = 'root'
def altera_named(domain_name, file_db_name):
"""
Função para atualizar o arquivo 'named.conf' com o novo subdomínio
Que será adicionado em /etc/named.conf
:param domain_name: Nome do subdomínio
:type domain_name: str
:param file_db_name: Nome do arquivo db
:type file_db_name: str
:returns local_named_path: Localização/Path local do arquivo
:rtype: str
"""
local_named_path = os.path.join(os.getcwd(), 'named.conf')
named_file = open(local_named_path, 'r')
......@@ -79,6 +93,15 @@ def altera_named(domain_name, file_db_name):
def cria_arquivo_db(file_db_name):
"""
Função para criar o arquivo 'subdominio.dominio.com.br.db'
Que será adicionado em /var/named/
:param file_db_name: Nome do arquivo db
:type file_db_name: str
:returns file_path: Localização/Path local do arquivo
:rtype: str
"""
file_path = os.path.join(os.getcwd(), file_db_name)
file_db = open(file_path, 'w')
......@@ -94,6 +117,15 @@ def cria_arquivo_db(file_db_name):
def exec_add_domain(domain_name, droplet_ip):
"""
Função para adicionar subdomínios ao domínio "pege.com.br".
:param domain_name: Nome do subdomínio
:type domain_name: str
:param droplet_ip: O subdomínio apontará para este IP
:type droplet_ip: str
:returns:
"""
server_named_path = "/etc/named.conf"
path_db = '/var/named/'
file_db_name = "%s.pege.com.br.db" % domain_name
......
......@@ -5,8 +5,8 @@ import os
import sys
import logging
from fabric.api import env, run
from fabric.tasks import execute
from fabric.api import env, run
logging.getLogger(
......@@ -15,6 +15,7 @@ logging.getLogger(
logging.StreamHandler()
)
# Definindo dados do MANAGER para acesso remoto.
env.hosts = [
os.environ.get('MANAGER_HOST')
]
......@@ -23,18 +24,28 @@ env.password = os.environ.get('MANAGER_HOST_PASSWORD')
def exec_add_domain(domain_name, droplet_ip):
"""
Função para acessar o servidor MANAGER e iniciar o script que adicionará
o novo subdomínio ao servidor DNS.
:param domain_name: Nome do subdomínio
:type domain_name: str
:param droplet_ip: O subdomínio apontará para este IP
:type droplet_ip: str
:returns:
"""
script_path = "django_apps/DIARIO_MANAGER/scripts/add_domain.py"
result = run("chmod +x %s && %s %s %s" % (script_path, script_path, domain_name, droplet_ip))
if result.failed:
print "Erro ao executar script de criação de domínio. (%s)" % result.command
print "Criação de domínio executada com sucesso."
raise Exception("Erro ao executar script de criação de domínio. (%s)" % result.command)
if __name__ == '__main__':
try:
domain_name = sys.argv[1]
droplet_ip = sys.argv[2]
return execute(exec_add_domain, domain_name, droplet_ip)
execute(exec_add_domain, domain_name, droplet_ip)
print "Criação de domínio executada com sucesso."
except Exception as err:
msg = "Erro ao executar comando! (%s)" % err
print msg
......@@ -86,7 +86,7 @@ def criar_banco(cliente):
con.set_isolation_level(ISOLATION_LEVEL_AUTOCOMMIT)
cur = con.cursor()
cur.execute(f"CREATE DATABASE {cliente.domain_name} ;")
cur.execute("CREATE DATABASE {} ;".format(cliente.domain_name))
except Exception as err:
msg = "Erro ao criar banco de dados. ({})".format(err)
cliente.set_status(msg)
......@@ -103,7 +103,7 @@ def configuracao_cliente_pipeline(cliente):
:raises: Exception
"""
try:
criar_droplet(cliente)
criar_banco(cliente)
criar_droplet(cliente)
except Exception as err:
cliente.set_status(err)
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