Commit a17fd86366c5c4c89bcd485c145085d56b3e41d0

Authored by Sergio Oliveira
2 parents 81f6188b ad506c07

Merge remote-tracking branch 'origin' into fix_external_firewall

.gitignore
... ... @@ -4,6 +4,7 @@
4 4 /.tmp
5 5 /tmp
6 6 /docs/_build
  7 +/docs/dns.rst
7 8 /.*.html
8 9 /local.rake
9 10 *.swp
... ...
Rakefile
... ... @@ -99,3 +99,5 @@ task :preconfig => ssh_config_file do
99 99 end
100 100 end
101 101 end
  102 +
  103 +Dir.glob('tasks/*.rake').each { |f| load f }
... ...
config/homologa/config.yaml 0 → 100644
... ... @@ -0,0 +1,15 @@
  1 +admins:
  2 + - ["Nayanne Araújo", "nayanne.bonifacio@planejamento.gov.br"]
  3 + - ["Marisa Souza dos Santos", "marisa.santos@planejamento.gov.br"]
  4 +external_hostname: homologa.softwarepublico.gov.br
  5 +external_ip: 189.9.151.65
  6 +site_url: https://homologa.softwarepublico.gov.br
  7 +colab_from_address: '"Portal do Software Publico (homologação)" <noreply@homologa.softwarepublico.gov.br>'
  8 +server_email: '"Portal do Software Publico (homologação)" <noreply@homologa.softwarepublico.gov.br>'
  9 +email_subject_prefix: '[spb]'
  10 +lists_hostname: listas.homologa.softwarepublico.gov.br
  11 +lists_admin: nayanne.bonifacio@planejamento.gov.br
  12 +relay_hostname: relay.homologa.softwarepublico.gov.br
  13 +relay_ip: 189.9.151.66
  14 +alt_ssh_port: 55555
  15 +from_address: noreply@homologa.softwarepublico.gov.br
... ...
config/homologa/ips.yaml 0 → 100644
... ... @@ -0,0 +1,5 @@
  1 +reverseproxy: 10.0.13.2
  2 +database: 10.0.13.6
  3 +social: 10.0.13.4
  4 +email: 10.0.13.5
  5 +integration: 10.0.13.7
... ...
config/homologa/iptables-filter-rules 0 → 100644
... ... @@ -0,0 +1 @@
  1 +# nothing yet
... ...
config/homologa/ssh_config 0 → 100644
... ... @@ -0,0 +1,33 @@
  1 +Host *
  2 + ForwardAgent yes
  3 +
  4 +Host reverseproxy
  5 + Hostname 164.41.9.49
  6 + Port 55555
  7 +
  8 +Host reverseproxy.unconfigured
  9 + Hostname 164.41.9.49
  10 +
  11 +Host database
  12 + Hostname 10.10.40.47
  13 + Port 55555
  14 + # connect via reverseproxy host
  15 + ProxyCommand ssh 164.41.9.49 -p %p nc %h 22
  16 +
  17 +Host social
  18 + Hostname 10.10.40.46
  19 + Port 55555
  20 + # connect via reverseproxy host
  21 + ProxyCommand ssh 164.41.9.49 -p %p nc %h 22
  22 +
  23 +Host email
  24 + Hostname 10.10.40.48
  25 + Port 55555
  26 + # connect via reverseproxy host
  27 + ProxyCommand ssh 164.41.9.49 -p %p nc %h 22
  28 +
  29 +Host integration
  30 + Hostname 10.10.40.45
  31 + Port 55555
  32 + # connect via reverseproxy host
  33 + ProxyCommand ssh 164.41.9.49 -p %p nc %h 22
... ...
config/local/config.yaml
1 1 admins:
2   - -
3   - - Paulo Meirelles
4   - - paulo@softwarelivre.org
5   -external_hostname: softwarepublico.dev
  2 + - ["Paulo Meirelles", "paulo@softwarelivre.org"]
6 3 site_url: https://softwarepublico.dev
  4 +external_hostname: softwarepublico.dev
  5 +external_ip: 10.10.10.6
7 6 colab_from_address: '"Portal do Software Publico" <noreply@softwarepublico.dev>'
8 7 server_email: '"Portal do Software Publico" <noreply@softwarepublico.dev>'
9 8 email_subject_prefix: '[spb]'
10 9 lists_hostname: listas.softwarepublico.dev
11 10 lists_admin: paulo@softwarelivre.org
12 11 relay_hostname: relay.softwarepublico.dev
  12 +relay_ip: 10.10.10.3
13 13 alt_ssh_port: 5555
14 14 from_address: noreply@softwarepublico.dev
... ...
config/production/config.yaml
1 1 admins:
2   - -
3   - - Paulo Meirelles
4   - - paulo@softwarelivre.org
  2 + - ["Paulo Meirelles", "paulo@softwarelivre.org"]
5 3 external_hostname: beta.softwarepublico.gov.br
  4 +external_ip: 164.41.9.49
6 5 site_url: https://beta.softwarepublico.gov.br
7 6 colab_from_address: '"Portal do Software Publico" <noreply@beta.softwarepublico.gov.br>'
8 7 server_email: '"Portal do Software Publico" <noreply@beta.softwarepublico.gov.br>'
... ... @@ -10,5 +9,6 @@ email_subject_prefix: &#39;[spb]&#39;
10 9 lists_hostname: listas.softwarepublico.gov.br
11 10 lists_admin: paulo@softwarelivre.org
12 11 relay_hostname: relay.softwarepublico.gov.br
  12 +relay_ip: 164.41.9.48
13 13 alt_ssh_port: 55555
14 14 from_address: noreply@softwarepublico.gov.br
... ...
docs/Makefile
1   -# Makefile for Sphinx documentation
2   -#
3   -
4   -# You can set these variables from the command line.
5   -SPHINXOPTS =
6   -SPHINXBUILD = sphinx-build
7   -PAPER =
8   -BUILDDIR = _build
9   -
10   -# User-friendly check for sphinx-build
11   -ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
12   -$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
13   -endif
14   -
15   -# Internal variables.
16   -PAPEROPT_a4 = -D latex_paper_size=a4
17   -PAPEROPT_letter = -D latex_paper_size=letter
18   -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
19   -# the i18n builder cannot share the environment and doctrees with the others
20   -I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
21   -
22   -.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
23   -
24   -help:
25   - @echo "Please use \`make <target>' where <target> is one of"
26   - @echo " html to make standalone HTML files"
27   - @echo " dirhtml to make HTML files named index.html in directories"
28   - @echo " singlehtml to make a single large HTML file"
29   - @echo " pickle to make pickle files"
30   - @echo " json to make JSON files"
31   - @echo " htmlhelp to make HTML files and a HTML help project"
32   - @echo " qthelp to make HTML files and a qthelp project"
33   - @echo " devhelp to make HTML files and a Devhelp project"
34   - @echo " epub to make an epub"
35   - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
36   - @echo " latexpdf to make LaTeX files and run them through pdflatex"
37   - @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
38   - @echo " text to make text files"
39   - @echo " man to make manual pages"
40   - @echo " texinfo to make Texinfo files"
41   - @echo " info to make Texinfo files and run them through makeinfo"
42   - @echo " gettext to make PO message catalogs"
43   - @echo " changes to make an overview of all changed/added/deprecated items"
44   - @echo " xml to make Docutils-native XML files"
45   - @echo " pseudoxml to make pseudoxml-XML files for display purposes"
46   - @echo " linkcheck to check all external links for integrity"
47   - @echo " doctest to run all doctests embedded in the documentation (if enabled)"
48   -
49   -clean:
50   - rm -rf $(BUILDDIR)/*
51   -
52   -html:
53   - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
54   - @echo
55   - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
56   -
57   -dirhtml:
58   - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
59   - @echo
60   - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
61   -
62   -singlehtml:
63   - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
64   - @echo
65   - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
66   -
67   -pickle:
68   - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
69   - @echo
70   - @echo "Build finished; now you can process the pickle files."
71   -
72   -json:
73   - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
74   - @echo
75   - @echo "Build finished; now you can process the JSON files."
76   -
77   -htmlhelp:
78   - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
79   - @echo
80   - @echo "Build finished; now you can run HTML Help Workshop with the" \
81   - ".hhp project file in $(BUILDDIR)/htmlhelp."
82   -
83   -qthelp:
84   - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
  1 +all:
  2 + @echo "Usage:"
85 3 @echo
86   - @echo "Build finished; now you can run "qcollectiongenerator" with the" \
87   - ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
88   - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/softwarepublico.qhcp"
89   - @echo "To view the help file:"
90   - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/softwarepublico.qhc"
  4 + @echo "make html Builds the documentation in HTML"
  5 + @echo "make latexpdf Builds the documentation in PDF"
91 6  
92   -devhelp:
93   - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
94   - @echo
95   - @echo "Build finished."
96   - @echo "To view the help file:"
97   - @echo "# mkdir -p $$HOME/.local/share/devhelp/softwarepublico"
98   - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/softwarepublico"
99   - @echo "# devhelp"
100   -
101   -epub:
102   - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
103   - @echo
104   - @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
105   -
106   -latex:
107   - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
108   - @echo
109   - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
110   - @echo "Run \`make' in that directory to run these through (pdf)latex" \
111   - "(use \`make latexpdf' here to do that automatically)."
112   -
113   -latexpdf:
114   - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
115   - @echo "Running LaTeX files through pdflatex..."
116   - $(MAKE) -C $(BUILDDIR)/latex all-pdf
117   - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
118   -
119   -latexpdfja:
120   - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
121   - @echo "Running LaTeX files through platex and dvipdfmx..."
122   - $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
123   - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
124   -
125   -text:
126   - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
127   - @echo
128   - @echo "Build finished. The text files are in $(BUILDDIR)/text."
129   -
130   -man:
131   - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
132   - @echo
133   - @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
134   -
135   -texinfo:
136   - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
137   - @echo
138   - @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
139   - @echo "Run \`make' in that directory to run these through makeinfo" \
140   - "(use \`make info' here to do that automatically)."
  7 +SPB_ENV ?= local
141 8  
142   -info:
143   - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
144   - @echo "Running Texinfo files through makeinfo..."
145   - make -C $(BUILDDIR)/texinfo info
146   - @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
147   -
148   -gettext:
149   - $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
150   - @echo
151   - @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
  9 +# autogenerated DNS documentation
  10 +BUILT += _build/dns.rst
  11 +_build/dns.rst: ../test/dns_test.sh
  12 + (cd .. && sh test/dns_test.sh --doc) > $@
152 13  
153   -changes:
154   - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
155   - @echo
156   - @echo "The overview file is in $(BUILDDIR)/changes."
  14 +BUILT += $(patsubst %.svg, _build/%.png, $(wildcard *.svg))
  15 +_build/%.png: %.svg
  16 + inkscape --export-area-page --export-width=800 --export-width=600 --export-png=$@ $<
157 17  
158   -linkcheck:
159   - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
160   - @echo
161   - @echo "Link check complete; look for any errors in the above output " \
162   - "or in $(BUILDDIR)/linkcheck/output.txt."
  18 +BUILT += $(patsubst %.in, _build/%, $(wildcard *.in))
  19 +_build/%: %.in build.rb
  20 + ruby -p build.rb $< > $@ || ($(RM) $@; false)
163 21  
164   -doctest:
165   - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
166   - @echo "Testing of doctests in the sources finished, look at the " \
167   - "results in $(BUILDDIR)/doctest/output.txt."
  22 +CLEAN_FILES += $(BUILT)
168 23  
169   -xml:
170   - $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
171   - @echo
172   - @echo "Build finished. The XML files are in $(BUILDDIR)/xml."
  24 +html latexpdf: $(BUILT)
  25 + $(MAKE) -C _build $@
173 26  
174   -pseudoxml:
175   - $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
176   - @echo
177   - @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
  27 +clean:
  28 + $(RM) $(BUILT)
  29 + $(MAKE) -C _build $@
... ...
docs/_build/Makefile 0 → 100644
... ... @@ -0,0 +1,177 @@
  1 +# Makefile for Sphinx documentation
  2 +#
  3 +
  4 +# You can set these variables from the command line.
  5 +SPHINXOPTS =
  6 +SPHINXBUILD = sphinx-build
  7 +PAPER =
  8 +BUILDDIR = .
  9 +
  10 +# User-friendly check for sphinx-build
  11 +ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1)
  12 +$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)
  13 +endif
  14 +
  15 +# Internal variables.
  16 +PAPEROPT_a4 = -D latex_paper_size=a4
  17 +PAPEROPT_letter = -D latex_paper_size=letter
  18 +ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
  19 +# the i18n builder cannot share the environment and doctrees with the others
  20 +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
  21 +
  22 +.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
  23 +
  24 +help:
  25 + @echo "Please use \`make <target>' where <target> is one of"
  26 + @echo " html to make standalone HTML files"
  27 + @echo " dirhtml to make HTML files named index.html in directories"
  28 + @echo " singlehtml to make a single large HTML file"
  29 + @echo " pickle to make pickle files"
  30 + @echo " json to make JSON files"
  31 + @echo " htmlhelp to make HTML files and a HTML help project"
  32 + @echo " qthelp to make HTML files and a qthelp project"
  33 + @echo " devhelp to make HTML files and a Devhelp project"
  34 + @echo " epub to make an epub"
  35 + @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
  36 + @echo " latexpdf to make LaTeX files and run them through pdflatex"
  37 + @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
  38 + @echo " text to make text files"
  39 + @echo " man to make manual pages"
  40 + @echo " texinfo to make Texinfo files"
  41 + @echo " info to make Texinfo files and run them through makeinfo"
  42 + @echo " gettext to make PO message catalogs"
  43 + @echo " changes to make an overview of all changed/added/deprecated items"
  44 + @echo " xml to make Docutils-native XML files"
  45 + @echo " pseudoxml to make pseudoxml-XML files for display purposes"
  46 + @echo " linkcheck to check all external links for integrity"
  47 + @echo " doctest to run all doctests embedded in the documentation (if enabled)"
  48 +
  49 +clean:
  50 + rm -rf $(BUILDDIR)/[a-z]*
  51 +
  52 +html:
  53 + $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
  54 + @echo
  55 + @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
  56 +
  57 +dirhtml:
  58 + $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
  59 + @echo
  60 + @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
  61 +
  62 +singlehtml:
  63 + $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
  64 + @echo
  65 + @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
  66 +
  67 +pickle:
  68 + $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
  69 + @echo
  70 + @echo "Build finished; now you can process the pickle files."
  71 +
  72 +json:
  73 + $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
  74 + @echo
  75 + @echo "Build finished; now you can process the JSON files."
  76 +
  77 +htmlhelp:
  78 + $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
  79 + @echo
  80 + @echo "Build finished; now you can run HTML Help Workshop with the" \
  81 + ".hhp project file in $(BUILDDIR)/htmlhelp."
  82 +
  83 +qthelp:
  84 + $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
  85 + @echo
  86 + @echo "Build finished; now you can run "qcollectiongenerator" with the" \
  87 +
  88 + @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/softwarepublico.qhcp"
  89 + @echo
  90 + @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/softwarepublico.qhc"
  91 +
  92 +devhelp:
  93 + $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
  94 + @echo
  95 + @echo "Build finished."
  96 + @echo
  97 + @echo "# mkdir -p $$HOME/.local/share/devhelp/softwarepublico"
  98 + @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/softwarepublico"
  99 + @echo "# devhelp"
  100 +
  101 +epub:
  102 + $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
  103 + @echo
  104 + @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
  105 +
  106 +latex:
  107 + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
  108 + @echo
  109 + @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
  110 + @echo "Run \`make' in that directory to run these through (pdf)latex" \
  111 + "(use \`make latexpdf' here to do that automatically)."
  112 +
  113 +latexpdf:
  114 + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
  115 + @echo "Running LaTeX files through pdflatex..."
  116 + $(MAKE) -C $(BUILDDIR)/latex all-pdf
  117 + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
  118 +
  119 +latexpdfja:
  120 + $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
  121 + @echo "Running LaTeX files through platex and dvipdfmx..."
  122 + $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
  123 + @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
  124 +
  125 +text:
  126 + $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
  127 + @echo
  128 + @echo "Build finished. The text files are in $(BUILDDIR)/text."
  129 +
  130 +man:
  131 + $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
  132 + @echo
  133 + @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
  134 +
  135 +texinfo:
  136 + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
  137 + @echo
  138 + @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
  139 + @echo "Run \`make' in that directory to run these through makeinfo" \
  140 + "(use \`make info' here to do that automatically)."
  141 +
  142 +info:
  143 + $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
  144 + @echo "Running Texinfo files through makeinfo..."
  145 + make -C $(BUILDDIR)/texinfo info
  146 + @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
  147 +
  148 +gettext:
  149 + $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
  150 + @echo
  151 + @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
  152 +
  153 +changes:
  154 + $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
  155 + @echo
  156 + @echo "The overview file is in $(BUILDDIR)/changes."
  157 +
  158 +linkcheck:
  159 + $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
  160 + @echo
  161 + @echo "Link check complete; look for any errors in the above output " \
  162 + "or in $(BUILDDIR)/linkcheck/output.txt."
  163 +
  164 +doctest:
  165 + $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
  166 + @echo "Testing of doctests in the sources finished, look at the " \
  167 + "results in $(BUILDDIR)/doctest/output.txt."
  168 +
  169 +xml:
  170 + $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
  171 + @echo
  172 + @echo "Build finished. The XML files are in $(BUILDDIR)/xml."
  173 +
  174 +pseudoxml:
  175 + $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
  176 + @echo
  177 + @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
... ...
docs/architecture.dot
... ... @@ -1,27 +0,0 @@
1   -digraph architecture {
2   -
3   - subgraph cluster_0 {
4   - style=filled;
5   - color="#d3d7cf";
6   - label = "Local network";
7   - node [style=filled,fillcolor=white];
8   -
9   - reverseproxy [shape=box];
10   - social [shape=box];
11   - email [shape=box];
12   - integration [shape=box];
13   - database [shape=box];
14   -
15   - reverseproxy -> social [label="HTTP"];
16   - social -> integration [label="HTTP"];
17   - social -> database [label="PostgreSQL (5432)"];
18   - integration -> database [label="PostgreSQL (5432)"];
19   - email -> integration [label="SMTP"];
20   -
21   - }
22   -
23   - internet -> reverseproxy [label="HTTP"];
24   - internet -> email [label="SMTP"];
25   - email -> internet [label="SMTP"];
26   -
27   -}
docs/arquitetura.rst.in 0 → 100644
... ... @@ -0,0 +1,25 @@
  1 +Arquitetura
  2 +===========
  3 +
  4 +A arquitetura do SPB consiste em 5 servidores, representados na figura
  5 +a seguir.
  6 +
  7 +.. image:: arquitetura.png
  8 +
  9 +Servidores e serviços
  10 +---------------------
  11 +
  12 +*Esta seção é um trabalho em andamento. Ela cobrirá:*
  13 +
  14 +* descrever arquitetura
  15 +* descrever papel de cada máquina
  16 +* descrever conexões
  17 +
  18 +Gestão de configuração
  19 +----------------------
  20 +
  21 +*Esta seção é um trabalho em andamento. Ela cobrirá:*
  22 +
  23 +* adicionar links com o repositório de gestão de configuração
  24 +* descrever repositório de gestão de configuração
  25 +* descrever como o chake funciona
... ...
docs/arquitetura.svg 0 → 100644
... ... @@ -0,0 +1,818 @@
  1 +<?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2 +<!-- Created with Inkscape (http://www.inkscape.org/) -->
  3 +
  4 +<svg
  5 + xmlns:dc="http://purl.org/dc/elements/1.1/"
  6 + xmlns:cc="http://creativecommons.org/ns#"
  7 + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  8 + xmlns:svg="http://www.w3.org/2000/svg"
  9 + xmlns="http://www.w3.org/2000/svg"
  10 + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
  11 + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
  12 + width="1052.3622"
  13 + height="744.09448"
  14 + id="svg2"
  15 + version="1.1"
  16 + inkscape:version="0.91 r13725"
  17 + sodipodi:docname="arquitetura.svg">
  18 + <defs
  19 + id="defs4">
  20 + <marker
  21 + inkscape:stockid="Arrow2Lend"
  22 + orient="auto"
  23 + refY="0.0"
  24 + refX="0.0"
  25 + id="Arrow2Lend"
  26 + style="overflow:visible;">
  27 + <path
  28 + id="path4235"
  29 + style="fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round;"
  30 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
  31 + transform="scale(1.1) rotate(180) translate(1,0)" />
  32 + </marker>
  33 + <marker
  34 + inkscape:stockid="Arrow1Lend"
  35 + orient="auto"
  36 + refY="0.0"
  37 + refX="0.0"
  38 + id="Arrow1Lend"
  39 + style="overflow:visible;">
  40 + <path
  41 + id="path4217"
  42 + d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
  43 + style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;"
  44 + transform="scale(0.8) rotate(180) translate(12.5,0)" />
  45 + </marker>
  46 + <marker
  47 + inkscape:stockid="Arrow2Lstart"
  48 + orient="auto"
  49 + refY="0.0"
  50 + refX="0.0"
  51 + id="Arrow2Lstart"
  52 + style="overflow:visible">
  53 + <path
  54 + id="path4232"
  55 + style="fill-rule:evenodd;stroke-width:0.62500000;stroke-linejoin:round"
  56 + d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
  57 + transform="scale(1.1) translate(1,0)" />
  58 + </marker>
  59 + <marker
  60 + inkscape:stockid="Arrow2Lstart"
  61 + orient="auto"
  62 + refY="0"
  63 + refX="0"
  64 + id="Arrow2Lstart-4"
  65 + style="overflow:visible">
  66 + <path
  67 + inkscape:connector-curvature="0"
  68 + id="path4232-0"
  69 + style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
  70 + d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
  71 + transform="matrix(1.1,0,0,1.1,1.1,0)" />
  72 + </marker>
  73 + </defs>
  74 + <sodipodi:namedview
  75 + id="base"
  76 + pagecolor="#ffffff"
  77 + bordercolor="#666666"
  78 + borderopacity="1.0"
  79 + inkscape:pageopacity="0.0"
  80 + inkscape:pageshadow="2"
  81 + inkscape:zoom="0.65045503"
  82 + inkscape:cx="526.18109"
  83 + inkscape:cy="372.04724"
  84 + inkscape:document-units="px"
  85 + inkscape:current-layer="layer6"
  86 + showgrid="false"
  87 + inkscape:window-width="1366"
  88 + inkscape:window-height="702"
  89 + inkscape:window-x="0"
  90 + inkscape:window-y="27"
  91 + inkscape:window-maximized="1" />
  92 + <metadata
  93 + id="metadata7">
  94 + <rdf:RDF>
  95 + <cc:Work
  96 + rdf:about="">
  97 + <dc:format>image/svg+xml</dc:format>
  98 + <dc:type
  99 + rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
  100 + <dc:title />
  101 + </cc:Work>
  102 + </rdf:RDF>
  103 + </metadata>
  104 + <g
  105 + inkscape:label="Camada 1"
  106 + inkscape:groupmode="layer"
  107 + id="layer1"
  108 + transform="translate(0,-308.2677)"
  109 + style="display:inline">
  110 + <g
  111 + inkscape:groupmode="layer"
  112 + id="layer4"
  113 + inkscape:label="Release 1"
  114 + style="display:inline">
  115 + <text
  116 + xml:space="preserve"
  117 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"
  118 + x="642.34241"
  119 + y="491.6839"
  120 + id="text5794"
  121 + sodipodi:linespacing="125%"><tspan
  122 + style="font-size:16.46647072px"
  123 + id="tspan5796"
  124 + sodipodi:role="line"
  125 + x="642.34241"
  126 + y="491.6839">HTTP</tspan><tspan
  127 + style="font-size:16.46647072px"
  128 + id="tspan5798"
  129 + sodipodi:role="line"
  130 + x="642.34241"
  131 + y="512.26697">reverse proxy</tspan></text>
  132 + <g
  133 + id="g4382"
  134 + transform="matrix(0.68610294,0,0,0.68610294,325.50286,328.94289)">
  135 + <g
  136 + transform="translate(-104.51642,-10.919621)"
  137 + id="g4315">
  138 + <rect
  139 + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#babdb6;fill-opacity:0.61568627;fill-rule:nonzero;stroke:#2e3436;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate"
  140 + id="rect4317"
  141 + width="703.53589"
  142 + height="193.43335"
  143 + x="45.238449"
  144 + y="819.93018"
  145 + rx="24.959101"
  146 + ry="24.959101" />
  147 + <text
  148 + xml:space="preserve"
  149 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.92820835px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;letter-spacing:0px;word-spacing:0px;fill:#555753;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  150 + x="62.26289"
  151 + y="991.02106"
  152 + id="text4319"
  153 + sodipodi:linespacing="125%"><tspan
  154 + sodipodi:role="line"
  155 + id="tspan4321"
  156 + x="62.26289"
  157 + y="991.02106"
  158 + style="font-size:22.5px;fill:#555753">database</tspan></text>
  159 + </g>
  160 + <g
  161 + style="display:inline"
  162 + id="g4246"
  163 + transform="matrix(1.0487632,0,0,1.0487632,-73.081866,298.25531)">
  164 + <rect
  165 + transform="translate(0,308.2677)"
  166 + ry="24.959145"
  167 + rx="24.959145"
  168 + y="205.91293"
  169 + x="99.836578"
  170 + height="106.07636"
  171 + width="215.27261"
  172 + id="rect4248"
  173 + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.55984557;marker:none;enable-background:accumulate" />
  174 + <text
  175 + sodipodi:linespacing="125%"
  176 + id="text4250"
  177 + y="575.53479"
  178 + x="143.37675"
  179 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
  180 + xml:space="preserve"><tspan
  181 + y="575.53479"
  182 + x="143.37675"
  183 + id="tspan4252"
  184 + sodipodi:role="line">PostgreSQL</tspan></text>
  185 + </g>
  186 + <g
  187 + transform="matrix(1.0487632,0,0,1.0487632,218.62813,298.25532)"
  188 + id="g4263"
  189 + style="display:inline">
  190 + <rect
  191 + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.55984557;marker:none;enable-background:accumulate"
  192 + id="rect4265"
  193 + width="215.27261"
  194 + height="106.07636"
  195 + x="99.836578"
  196 + y="205.91293"
  197 + rx="24.959145"
  198 + ry="24.959145"
  199 + transform="translate(0,308.2677)" />
  200 + <text
  201 + xml:space="preserve"
  202 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
  203 + x="178.57445"
  204 + y="575.53479"
  205 + id="text4267"
  206 + sodipodi:linespacing="125%"><tspan
  207 + sodipodi:role="line"
  208 + id="tspan4269"
  209 + x="178.57445"
  210 + y="575.53479">Redis</tspan></text>
  211 + </g>
  212 + </g>
  213 + <g
  214 + id="g4396"
  215 + transform="matrix(0.68610294,0,0,0.68610294,548.29673,158.97368)">
  216 + <g
  217 + id="g4307"
  218 + transform="translate(-73.317486,-262.07101)">
  219 + <rect
  220 + ry="24.959101"
  221 + rx="24.959101"
  222 + y="819.93018"
  223 + x="45.238449"
  224 + height="385.60645"
  225 + width="641.40228"
  226 + id="rect4309"
  227 + style="color:#000000;display:inline;overflow:visible;visibility:visible;opacity:1;fill:#babdb6;fill-opacity:0.61568627;fill-rule:nonzero;stroke:#2e3436;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;marker:none;enable-background:accumulate" />
  228 + <text
  229 + sodipodi:linespacing="125%"
  230 + id="text4311"
  231 + y="1185.0211"
  232 + x="62.26289"
  233 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:15.92820835px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;letter-spacing:0px;word-spacing:0px;fill:#555753;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
  234 + xml:space="preserve"><tspan
  235 + style="font-size:22.5px;fill:#555753"
  236 + y="1185.0211"
  237 + x="62.26289"
  238 + id="tspan4313"
  239 + sodipodi:role="line">integration</tspan></text>
  240 + </g>
  241 + <g
  242 + transform="matrix(1.0487632,0,0,1.0487632,-79.431935,244.40644)"
  243 + id="g3018"
  244 + style="display:inline">
  245 + <rect
  246 + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.55984557;marker:none;enable-background:accumulate"
  247 + id="rect3020"
  248 + width="215.27261"
  249 + height="106.07636"
  250 + x="99.836578"
  251 + y="205.91293"
  252 + transform="translate(0,308.2677)"
  253 + rx="24.959145"
  254 + ry="24.959145" />
  255 + <text
  256 + xml:space="preserve"
  257 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
  258 + x="175.63876"
  259 + y="575.49884"
  260 + id="text3022"
  261 + sodipodi:linespacing="125%"><tspan
  262 + sodipodi:role="line"
  263 + id="tspan3024"
  264 + x="175.63876"
  265 + y="575.49884">Gitlab</tspan></text>
  266 + </g>
  267 + <g
  268 + transform="matrix(1.0487632,0,0,1.0487632,-80.194985,44.124888)"
  269 + id="g3034"
  270 + style="display:inline">
  271 + <rect
  272 + transform="translate(0,308.2677)"
  273 + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.55984557;marker:none;enable-background:accumulate"
  274 + id="rect3036"
  275 + width="215.27261"
  276 + height="106.07636"
  277 + x="99.836578"
  278 + y="205.91293"
  279 + rx="24.959145"
  280 + ry="24.959145" />
  281 + <text
  282 + xml:space="preserve"
  283 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
  284 + x="169.5842"
  285 + y="575.53479"
  286 + id="text3038"
  287 + sodipodi:linespacing="125%"><tspan
  288 + sodipodi:role="line"
  289 + id="tspan3040"
  290 + x="169.5842"
  291 + y="575.53479">COLAB</tspan></text>
  292 + </g>
  293 + <g
  294 + transform="matrix(1.0487632,0,0,1.0487632,226.64988,243.33747)"
  295 + id="g4271"
  296 + style="display:inline">
  297 + <rect
  298 + transform="translate(0,308.2677)"
  299 + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.55984557;marker:none;enable-background:accumulate"
  300 + id="rect4273"
  301 + width="215.27261"
  302 + height="106.07636"
  303 + x="99.836578"
  304 + y="205.91293"
  305 + rx="24.959145"
  306 + ry="24.959145" />
  307 + <text
  308 + xml:space="preserve"
  309 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
  310 + x="163.01907"
  311 + y="575.53479"
  312 + id="text4275"
  313 + sodipodi:linespacing="125%"><tspan
  314 + sodipodi:role="line"
  315 + id="tspan4277"
  316 + x="163.01907"
  317 + y="575.53479">Mailman</tspan></text>
  318 + </g>
  319 + <g
  320 + style="display:inline"
  321 + id="g4288"
  322 + transform="matrix(1.0487632,0,0,1.0487632,226.64988,125.74526)">
  323 + <rect
  324 + ry="24.959145"
  325 + rx="24.959145"
  326 + y="205.91293"
  327 + x="99.836578"
  328 + height="106.07636"
  329 + width="215.27261"
  330 + id="rect4290"
  331 + style="color:#000000;display:inline;overflow:visible;visibility:visible;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.55984557;marker:none;enable-background:accumulate"
  332 + transform="translate(0,308.2677)" />
  333 + <text
  334 + sodipodi:linespacing="125%"
  335 + id="text4292"
  336 + y="575.53479"
  337 + x="140.90532"
  338 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none"
  339 + xml:space="preserve"><tspan
  340 + y="575.53479"
  341 + x="140.90532"
  342 + id="tspan4294"
  343 + sodipodi:role="line">Mailman-API</tspan></text>
  344 + </g>
  345 + </g>
  346 + <text
  347 + sodipodi:linespacing="125%"
  348 + id="text4541"
  349 + y="619.28687"
  350 + x="457.85617"
  351 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"
  352 + xml:space="preserve"><tspan
  353 + y="619.28687"
  354 + x="457.85617"
  355 + sodipodi:role="line"
  356 + id="tspan4543"
  357 + style="font-size:16.46647072px">HTTP</tspan><tspan
  358 + y="639.86993"
  359 + x="457.85617"
  360 + sodipodi:role="line"
  361 + id="tspan4545"
  362 + style="font-size:16.46647072px">reverse proxy</tspan></text>
  363 + <text
  364 + xml:space="preserve"
  365 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"
  366 + x="649.13086"
  367 + y="657.7215"
  368 + id="text4547"
  369 + sodipodi:linespacing="125%"><tspan
  370 + style="font-size:16.46647072px;text-align:start;text-anchor:start"
  371 + id="tspan4549"
  372 + sodipodi:role="line"
  373 + x="649.13086"
  374 + y="657.7215">HTTP</tspan><tspan
  375 + style="font-size:16.46647072px;text-align:start;text-anchor:start"
  376 + id="tspan4551"
  377 + sodipodi:role="line"
  378 + x="649.13086"
  379 + y="678.30457">reverse proxy</tspan></text>
  380 + <text
  381 + sodipodi:linespacing="125%"
  382 + id="text4553"
  383 + y="566.24707"
  384 + x="769.04694"
  385 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"
  386 + xml:space="preserve"><tspan
  387 + y="566.24707"
  388 + x="769.04694"
  389 + sodipodi:role="line"
  390 + id="tspan4557"
  391 + style="font-size:16.46647072px;text-align:start;text-anchor:start">HTTP</tspan></text>
  392 + <text
  393 + xml:space="preserve"
  394 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"
  395 + x="345.62704"
  396 + y="851.43207"
  397 + id="text4561"
  398 + sodipodi:linespacing="125%"><tspan
  399 + style="font-size:16.46647072px"
  400 + id="tspan4565"
  401 + sodipodi:role="line"
  402 + x="345.62704"
  403 + y="851.43207">SQL</tspan></text>
  404 + <text
  405 + sodipodi:linespacing="125%"
  406 + id="text4569"
  407 + y="753.59344"
  408 + x="485.86237"
  409 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"
  410 + xml:space="preserve"><tspan
  411 + y="753.59344"
  412 + x="485.86237"
  413 + sodipodi:role="line"
  414 + id="tspan4571"
  415 + style="font-size:16.46647072px">SQL</tspan></text>
  416 + <text
  417 + xml:space="preserve"
  418 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"
  419 + x="513.03973"
  420 + y="822.08044"
  421 + id="text4573"
  422 + sodipodi:linespacing="125%"><tspan
  423 + style="font-size:16.46647072px"
  424 + id="tspan4575"
  425 + sodipodi:role="line"
  426 + x="513.03973"
  427 + y="822.08044">SQL</tspan></text>
  428 + <text
  429 + sodipodi:linespacing="125%"
  430 + id="text4577"
  431 + y="850.34491"
  432 + x="643.99384"
  433 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;display:inline;fill:#000000;fill-opacity:1;stroke:none"
  434 + xml:space="preserve"><tspan
  435 + y="850.34491"
  436 + x="643.99384"
  437 + sodipodi:role="line"
  438 + id="tspan4579"
  439 + style="font-size:16.46647072px;text-align:start;text-anchor:start">Protocolo</tspan><tspan
  440 + y="870.92798"
  441 + x="643.99384"
  442 + sodipodi:role="line"
  443 + style="font-size:16.46647072px;text-align:start;text-anchor:start"
  444 + id="tspan4581">nativo</tspan></text>
  445 + <text
  446 + sodipodi:linespacing="125%"
  447 + id="text4589"
  448 + y="556.0722"
  449 + x="177.66902"
  450 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"
  451 + xml:space="preserve"><tspan
  452 + y="556.0722"
  453 + x="177.66902"
  454 + sodipodi:role="line"
  455 + id="tspan4591"
  456 + style="font-size:16.46647072px">SMTP</tspan></text>
  457 + <text
  458 + sodipodi:linespacing="125%"
  459 + id="text4597"
  460 + y="505.26852"
  461 + x="432.2182"
  462 + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:24.06708527px;line-height:125%;font-family:Cantarell;-inkscape-font-specification:Cantarell;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;display:inline;fill:#000000;fill-opacity:1;stroke:none"
  463 + xml:space="preserve"><tspan
  464 + y="505.2685