From 0f03ffa4f4f93ffa2e1f7df6e5886692bf810fab Mon Sep 17 00:00:00 2001 From: Antonio Terceiro Date: Fri, 15 May 2015 17:35:59 -0300 Subject: [PATCH] Documentation v1 --- docs/architecture.dot | 27 --------------------------- docs/arquitetura.png | Bin 0 -> 41679 bytes docs/arquitetura.rst.in | 19 +++++++++++++------ docs/arquitetura.svg | 818 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ docs/backup.rst.in | 10 +++++++++- docs/firewall.rst.in | 32 ++++++++++++++++++++++++++------ docs/local.mk | 10 +++++----- docs/manutencao.rst.in | 10 ++++++++-- 8 files changed, 879 insertions(+), 47 deletions(-) delete mode 100644 docs/architecture.dot create mode 100644 docs/arquitetura.png create mode 100644 docs/arquitetura.svg diff --git a/docs/architecture.dot b/docs/architecture.dot deleted file mode 100644 index e339bc5..0000000 --- a/docs/architecture.dot +++ /dev/null @@ -1,27 +0,0 @@ -digraph architecture { - - subgraph cluster_0 { - style=filled; - color="#d3d7cf"; - label = "Local network"; - node [style=filled,fillcolor=white]; - - reverseproxy [shape=box]; - social [shape=box]; - email [shape=box]; - integration [shape=box]; - database [shape=box]; - - reverseproxy -> social [label="HTTP"]; - social -> integration [label="HTTP"]; - social -> database [label="PostgreSQL (5432)"]; - integration -> database [label="PostgreSQL (5432)"]; - email -> integration [label="SMTP"]; - - } - - internet -> reverseproxy [label="HTTP"]; - internet -> email [label="SMTP"]; - email -> internet [label="SMTP"]; - -} diff --git a/docs/arquitetura.png b/docs/arquitetura.png new file mode 100644 index 0000000..d4bbc32 Binary files /dev/null and b/docs/arquitetura.png differ diff --git a/docs/arquitetura.rst.in b/docs/arquitetura.rst.in index 3fae272..7316e5d 100644 --- a/docs/arquitetura.rst.in +++ b/docs/arquitetura.rst.in @@ -1,18 +1,25 @@ Arquitetura =========== -A figura a seguir representa a arquitetura do SPB. +A arquitetura do SPB consiste em 5 servidores, representados na figura +a seguir. -.. TODO incluir uma figura feita manualmente, a gente deve ter isso de -.. apresentações anterires -.. image:: architecture.png +.. image:: arquitetura.png -TODO: +Servidores e serviços +--------------------- + +*Esta seção é um trabalho em andamento. Ela cobrirá:* * descrever arquitetura * descrever papel de cada máquina * descrever conexões -* adicionar links com o repositório de gestão de configuração +Gestão de configuração +---------------------- + +*Esta seção é um trabalho em andamento. Ela cobrirá:* + +* adicionar links com o repositório de gestão de configuração * descrever repositório de gestão de configuração * descrever como o chake funciona diff --git a/docs/arquitetura.svg b/docs/arquitetura.svg new file mode 100644 index 0000000..4f8cc5b --- /dev/null +++ b/docs/arquitetura.svg @@ -0,0 +1,818 @@ + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + HTTPreverse proxy + + + + database + + + + PostgreSQL + + + + Redis + + + + + + integration + + + + Gitlab + + + + COLAB + + + + Mailman + + + + Mailman-API + + + HTTPreverse proxy + HTTPreverse proxy + HTTP + SQL + SQL + SQL + Protocolonativo + SMTP + SMTP + + + + + + social + + + + Noosfero + + + + + + email + + + + + Postfix + + + + + + + + servidor + + + + Serviço + + + + conexão + + Legenda + + + + + + + reverseproxy + + + + Frontend HTTP + + + + + + + + + + + + + + + + diff --git a/docs/backup.rst.in b/docs/backup.rst.in index 84f0de0..c0dbc6e 100644 --- a/docs/backup.rst.in +++ b/docs/backup.rst.in @@ -1,4 +1,12 @@ +Procedimentos de Backup +======================= + Backup -====== +------ + +*Esta seção é um trabalho em andamento.* +Restore +------- +*Esta seção é um trabalho em andamento.* diff --git a/docs/firewall.rst.in b/docs/firewall.rst.in index 7cf81bd..da9c616 100644 --- a/docs/firewall.rst.in +++ b/docs/firewall.rst.in @@ -4,19 +4,35 @@ Gestão do Firewall Firewall Interno ----------------- -O Portal do Software Público atualmente é composto por diversos serviços funcionando em diferentes servidores. Para o seu correto funcionamento é esperado que estes serviços se comuniquem através de TCP/IP. +O Portal do Software Público atualmente é composto por diversos serviços +funcionando em diferentes servidores. Para o seu correto funcionamento é +esperado que estes serviços se comuniquem através de TCP/IP. -Os scripts de instalação do Portal do Software Público também cuidam da manutenção das regras de firewall. Cada máquina possui um firewall (iptables) local que por padrão nega todos os tipos de conexão de entrada em todas as portas (INPUT rules) mas permite conexões de saída (OUTPUT rules). +Os scripts de instalação do Portal do Software Público também cuidam da +manutenção das regras de firewall. Cada máquina possui um firewall +(iptables) local que por padrão nega todos os tipos de conexão de +entrada em todas as portas (INPUT rules) mas permite conexões de saída +(OUTPUT rules). -Todas as regras de firewall são definidas no cookbook ``firewall``. Para definir regras de comunidacação entre hosts locais, válidas para todos os ambientes (local, produção, homologação, testes, etc) são utilizados templates que podem ser encontrados em ``cookbooks/firewall/templates/``. Para regras de filtro utilize o arquivo ``iptables-filter.erb`` e para regras de nat o arquivo ``iptables-nat.erb``. +Todas as regras de firewall são definidas no cookbook ``firewall``. Para +definir regras de comunidacação entre hosts locais, válidas para todos +os ambientes (local, produção, homologação, testes, etc) são utilizados +templates que podem ser encontrados em +``cookbooks/firewall/templates/``. Para regras de filtro utilize o +arquivo ``iptables-filter.erb`` e para regras de `NAT` o arquivo +``iptables-nat.erb``. -Para adicionar regras específicas de cada ambiente (por exemplo, abrir uma porta diferente em homologação) utilize o arquivo ``config//iptables-filter-rules``. Este arquivo aceita apenas regras de filtro do tipo INPUT. +Para adicionar regras específicas de cada ambiente (por exemplo, abrir +uma porta diferente em homologação) utilize o arquivo +``config/@@SPB_ENV@@/iptables-filter-rules``. Este arquivo aceita apenas +regras de filtro do tipo INPUT. Comunicação Entre Serviços ++++++++++++++++++++++++++++ -Os serviços que compõe o portal e suas portas de entrada são descritos na tabela a seguir: +Os serviços que compõe o portal e suas portas de entrada são descritos +na tabela a seguir: ============= ============= ============== ===== Destino Origem Serviço Porta @@ -49,4 +65,8 @@ reverseproxy OpenSSH (git) 22 **Outros firewalls da rede:** -Além do firewall local é importante que os serviços com origem ``externa`` tenham suas portas de INPUT abertas em todos os firewalls da rede. No caso do host ``email`` a porta **25** também deve estar aberta para OUTPUT (alternativamente o Postfix pode ser configurado para enviar e-mails utilizando um relay interno). +Além do firewall local é importante que os serviços com origem +``externa`` tenham suas portas de INPUT abertas em todos os firewalls da +rede. No caso do host ``email`` a porta **25** também deve estar aberta +para OUTPUT (alternativamente o Postfix pode ser configurado para enviar +e-mails utilizando um relay interno). diff --git a/docs/local.mk b/docs/local.mk index cdab1eb..33bc2dc 100644 --- a/docs/local.mk +++ b/docs/local.mk @@ -1,14 +1,14 @@ # autogenerated DNS documentation +SPB_ENV ?= local + BUILT += dns.rst dns.rst: ../test/dns_test.sh (cd .. && sh test/dns_test.sh --doc) > $@ -BUILT += architecture.png -architecture.png: architecture.dot - dot -Tpng -o $@ $< - -SPB_ENV ?= local +BUILT += arquitetura.png +%.png: %.svg + inkscape --export-area-page --export-width=800 --export-width=600 --export-png=$@ $< BUILT += $(patsubst %.in, %, $(wildcard *.in)) %: %.in build.rb diff --git a/docs/manutencao.rst.in b/docs/manutencao.rst.in index dbe55c3..f5bf380 100644 --- a/docs/manutencao.rst.in +++ b/docs/manutencao.rst.in @@ -1,6 +1,12 @@ Manutenção ========== -* mantendo o sistema atualizado +Mantendo o sistema atualizado +----------------------------- -* modificando configurações +*Esta seção é um trabalho em andamento.* + +Modificando configurações +------------------------- + +*Esta seção é um trabalho em andamento.* -- libgit2 0.21.2