Skip to content

Commit 1cc4ebb

Browse files
authored
added security and crypto (#2)
1 parent 4aae867 commit 1cc4ebb

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+1850
-953
lines changed

antora-playbook.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,27 +5,27 @@ site:
55

66
content:
77
sources:
8-
- url: .
9-
branches: HEAD
10-
start_path: .
8+
- url: .
9+
branches: HEAD
10+
start_path: .
1111

1212
antora:
1313
extensions:
14-
- require: '@antora/lunr-extension'
14+
- require: "@antora/lunr-extension"
1515

1616
asciidoc:
1717
extensions:
1818
- asciidoctor-emoji
1919
- asciidoctor-kroki
2020
attributes:
2121
kroki-fetch-diagram: true
22-
experimental: ''
23-
idprefix: ''
24-
idseparator: '-'
25-
page-pagination: ''
22+
experimental: ""
23+
idprefix: ""
24+
idseparator: "-"
25+
page-pagination: ""
2626
highlightjs-theme: monokai
27-
highlightjs-languages: js, elixir, sql, yaml, html, css
28-
27+
highlightjs-languages: js, elixir, sql, yaml, html, css, php
28+
2929
ui:
3030
bundle:
3131
url: https://gitlab.com/antora/antora-ui-default/-/jobs/artifacts/HEAD/raw/build/ui-bundle.zip?job=bundle-stable

docs/abstract.html

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,18 @@ <h3 class="title"><a href="index.html">Elixir Full-Stack</a></h3>
148148
<li class="nav-item" data-depth="1">
149149
<a class="nav-link" href="http/chapter.html">HTTP, JSON y APIS</a>
150150
</li>
151+
</ul>
152+
</li>
153+
<li class="nav-item" data-depth="0">
154+
<button class="nav-item-toggle"></button>
155+
<span class="nav-text">Seguridad</span>
156+
<ul class="nav-list">
157+
<li class="nav-item" data-depth="1">
158+
<a class="nav-link" href="security/security.html">Seguridad de las Aplicaciones</a>
159+
</li>
160+
<li class="nav-item" data-depth="1">
161+
<a class="nav-link" href="security/cryptography.html">Criptografía</a>
162+
</li>
151163
</ul>
152164
</li>
153165
<li class="nav-item" data-depth="0">

docs/afterword.html

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,18 @@ <h3 class="title"><a href="index.html">Elixir Full-Stack</a></h3>
148148
<li class="nav-item" data-depth="1">
149149
<a class="nav-link" href="http/chapter.html">HTTP, JSON y APIS</a>
150150
</li>
151+
</ul>
152+
</li>
153+
<li class="nav-item" data-depth="0">
154+
<button class="nav-item-toggle"></button>
155+
<span class="nav-text">Seguridad</span>
156+
<ul class="nav-list">
157+
<li class="nav-item" data-depth="1">
158+
<a class="nav-link" href="security/security.html">Seguridad de las Aplicaciones</a>
159+
</li>
160+
<li class="nav-item" data-depth="1">
161+
<a class="nav-link" href="security/cryptography.html">Criptografía</a>
162+
</li>
151163
</ul>
152164
</li>
153165
<li class="nav-item" data-depth="0">

docs/authors.html

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,18 @@ <h3 class="title"><a href="index.html">Elixir Full-Stack</a></h3>
148148
<li class="nav-item" data-depth="1">
149149
<a class="nav-link" href="http/chapter.html">HTTP, JSON y APIS</a>
150150
</li>
151+
</ul>
152+
</li>
153+
<li class="nav-item" data-depth="0">
154+
<button class="nav-item-toggle"></button>
155+
<span class="nav-text">Seguridad</span>
156+
<ul class="nav-list">
157+
<li class="nav-item" data-depth="1">
158+
<a class="nav-link" href="security/security.html">Seguridad de las Aplicaciones</a>
159+
</li>
160+
<li class="nav-item" data-depth="1">
161+
<a class="nav-link" href="security/cryptography.html">Criptografía</a>
162+
</li>
151163
</ul>
152164
</li>
153165
<li class="nav-item" data-depth="0">

docs/bibliography.html

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,18 @@ <h3 class="title"><a href="index.html">Elixir Full-Stack</a></h3>
148148
<li class="nav-item" data-depth="1">
149149
<a class="nav-link" href="http/chapter.html">HTTP, JSON y APIS</a>
150150
</li>
151+
</ul>
152+
</li>
153+
<li class="nav-item" data-depth="0">
154+
<button class="nav-item-toggle"></button>
155+
<span class="nav-text">Seguridad</span>
156+
<ul class="nav-list">
157+
<li class="nav-item" data-depth="1">
158+
<a class="nav-link" href="security/security.html">Seguridad de las Aplicaciones</a>
159+
</li>
160+
<li class="nav-item" data-depth="1">
161+
<a class="nav-link" href="security/cryptography.html">Criptografía</a>
162+
</li>
151163
</ul>
152164
</li>
153165
<li class="nav-item" data-depth="0">

docs/book.html

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,18 @@ <h3 class="title"><a href="index.html">Elixir Full-Stack</a></h3>
148148
<li class="nav-item" data-depth="1">
149149
<a class="nav-link" href="http/chapter.html">HTTP, JSON y APIS</a>
150150
</li>
151+
</ul>
152+
</li>
153+
<li class="nav-item" data-depth="0">
154+
<button class="nav-item-toggle"></button>
155+
<span class="nav-text">Seguridad</span>
156+
<ul class="nav-list">
157+
<li class="nav-item" data-depth="1">
158+
<a class="nav-link" href="security/security.html">Seguridad de las Aplicaciones</a>
159+
</li>
160+
<li class="nav-item" data-depth="1">
161+
<a class="nav-link" href="security/cryptography.html">Criptografía</a>
162+
</li>
151163
</ul>
152164
</li>
153165
<li class="nav-item" data-depth="0">

docs/colophon.html

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,18 @@ <h3 class="title"><a href="index.html">Elixir Full-Stack</a></h3>
148148
<li class="nav-item" data-depth="1">
149149
<a class="nav-link" href="http/chapter.html">HTTP, JSON y APIS</a>
150150
</li>
151+
</ul>
152+
</li>
153+
<li class="nav-item" data-depth="0">
154+
<button class="nav-item-toggle"></button>
155+
<span class="nav-text">Seguridad</span>
156+
<ul class="nav-list">
157+
<li class="nav-item" data-depth="1">
158+
<a class="nav-link" href="security/security.html">Seguridad de las Aplicaciones</a>
159+
</li>
160+
<li class="nav-item" data-depth="1">
161+
<a class="nav-link" href="security/cryptography.html">Criptografía</a>
162+
</li>
151163
</ul>
152164
</li>
153165
<li class="nav-item" data-depth="0">

docs/dedication.html

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,18 @@ <h3 class="title"><a href="index.html">Elixir Full-Stack</a></h3>
148148
<li class="nav-item" data-depth="1">
149149
<a class="nav-link" href="http/chapter.html">HTTP, JSON y APIS</a>
150150
</li>
151+
</ul>
152+
</li>
153+
<li class="nav-item" data-depth="0">
154+
<button class="nav-item-toggle"></button>
155+
<span class="nav-text">Seguridad</span>
156+
<ul class="nav-list">
157+
<li class="nav-item" data-depth="1">
158+
<a class="nav-link" href="security/security.html">Seguridad de las Aplicaciones</a>
159+
</li>
160+
<li class="nav-item" data-depth="1">
161+
<a class="nav-link" href="security/cryptography.html">Criptografía</a>
162+
</li>
151163
</ul>
152164
</li>
153165
<li class="nav-item" data-depth="0">

docs/devops/devenvs.html

Lines changed: 24 additions & 146 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,18 @@ <h3 class="title"><a href="../index.html">Elixir Full-Stack</a></h3>
150150
<li class="nav-item" data-depth="1">
151151
<a class="nav-link" href="../http/chapter.html">HTTP, JSON y APIS</a>
152152
</li>
153+
</ul>
154+
</li>
155+
<li class="nav-item" data-depth="0">
156+
<button class="nav-item-toggle"></button>
157+
<span class="nav-text">Seguridad</span>
158+
<ul class="nav-list">
159+
<li class="nav-item" data-depth="1">
160+
<a class="nav-link" href="../security/security.html">Seguridad de las Aplicaciones</a>
161+
</li>
162+
<li class="nav-item" data-depth="1">
163+
<a class="nav-link" href="../security/cryptography.html">Criptografía</a>
164+
</li>
153165
</ul>
154166
</li>
155167
<li class="nav-item" data-depth="0">
@@ -288,35 +300,11 @@ <h2 id="ambiente-local"><a class="anchor" href="#ambiente-local"></a>Ambiente Lo
288300
por uno o más archivos <strong>Dockerfile</strong> con los componentes como servidores y bases de datos
289301
similares a los usados en producción.</p>
290302
</div>
291-
<div class="listingblock kroki-error">
292-
<div class="title">Actividades en ambiente local</div>
303+
<div class="imageblock kroki">
293304
<div class="content">
294-
<pre>@startuml
295-
296-
skin rose
297-
298-
title Ambiente Local
299-
300-
start
301-
:Historia y definición de la tarea a realizar;
302-
303-
:Clonar o actualizar desde el repositorio principal;
304-
:Crear y utilizar rama para los cambios;
305-
while (¿Pasan las pruebas en ambiente local?) is (No)
306-
:Crear o refactorizar pruebas unitarias;
307-
:Crear o refactorizar pruebas funcionales/de contrato;
308-
:Crear o refactorizar pruebas de integración;
309-
:Crear o refactorizar el código de aplicación;
310-
:Evaluar y cambiar código con pruebas estáticas;
311-
:Almacenar cambios en repositorio local;
312-
endwhile (Sí)
313-
314-
:Enviar cambios al repositorio principal en rama separada;
315-
316-
stop
317-
318-
@enduml</pre>
305+
<img src="_images/diag-ea1c7c27bf34145f91f9e04227c599c6b09db91e.svg" alt="Actividades en ambiente local">
319306
</div>
307+
<div class="title">Figure 1. Actividades en ambiente local</div>
320308
</div>
321309
</div>
322310
</div>
@@ -330,49 +318,11 @@ <h2 id="ambiente-dev"><a class="anchor" href="#ambiente-dev"></a>Ambiente Dev</h
330318
<div class="paragraph">
331319
<p>Un servidor dev único es creado automáticamente en cada nuevo <em>PR</em> y tiene una duración máxima de 8 horas. Luego es eliminado automáticamente.</p>
332320
</div>
333-
<div class="listingblock kroki-error">
334-
<div class="title">Actividades en ambiente de desarrollo</div>
321+
<div class="imageblock kroki">
335322
<div class="content">
336-
<pre>@startuml
337-
338-
skin rose
339-
340-
title Ambiente Desarrollo
341-
342-
start
343-
344-
:Crear Pull Request con los cambios hacia la rama principal;
345-
346-
if (¿Pruebas estáticas exitosas?) then (Sí)
347-
348-
:Inicio de revisión de código (Code Review);
349-
350-
if (¿Revisión de código Exitoso?) then (Sí)
351-
:Iniciar pruebas en servidor dev;
352-
:Registrar metadatos y enviar notificaciones;
353-
:Ejecutar pruebas unitarias, funcionales, integración;
354-
:Ejecutar pruebas de aceptación;
355-
356-
if (¿Pruebas exitosas en servidor Dev?) then (Sí)
357-
:Obtener última versión de main;
358-
if(¿Hay conflictos de merge?) then (No)
359-
:Aceptar PR;
360-
:Realizar Squash Commits en rama main (usar conventional commits);
361-
:Eliminar rama del PR;
362-
:Iniciar pruebas en ambiente Staging;
363-
stop
364-
endif
365-
endif
366-
367-
endif
368-
endif
369-
370-
:Rechazar PR;
371-
:Volver al ambiente local;
372-
stop
373-
374-
@enduml</pre>
323+
<img src="_images/diag-54029d3ab172e3e7b974486a1bdb620318b08731.svg" alt="Actividades en ambiente de desarrollo">
375324
</div>
325+
<div class="title">Figure 2. Actividades en ambiente de desarrollo</div>
376326
</div>
377327
</div>
378328
</div>
@@ -383,42 +333,11 @@ <h2 id="ambiente-pruebas-staging"><a class="anchor" href="#ambiente-pruebas-stag
383333
<p>El ambiente staging es un ambiente para realizar pruebas por múltiples equipos. Es el que tiene más recursos que el ambiente dev, pero menos que producción. Tiene una réplica de los datos de producción periódicamente lo que permite realizar pruebas
384334
con datos lo más cercanos a producción. Se recomienda un periodo de función de 24/5. El despliegue es automático en cada commit en la rama <code>main</code> del repositorio principal del proyecto.</p>
385335
</div>
386-
<div class="listingblock kroki-error">
387-
<div class="title">Actividades en ambiente de pruebas</div>
336+
<div class="imageblock kroki">
388337
<div class="content">
389-
<pre>@startuml
390-
391-
skin rose
392-
393-
title Ambiente Pruebas (Staging)
394-
395-
start
396-
397-
:Commit en la rama main;
398-
:Crear nueva versión aumentando número PATCH (tag);
399-
:Iniciar pruebas estáticas;
400-
:Ejecutar pruebas unitarias, funcionales, integración;
401-
402-
if (¿Pruebas exitosas?) then (Sí)
403-
404-
:Iniciar proceso de despliegue a Staging;
405-
:Registrar metadatos y enviar notificaciones;
406-
:Iniciar pruebas en servidor staging;
407-
408-
:Ejecutar pruebas de aceptación;
409-
410-
if (¿Pruebas exitosas en servidor Staging?) then (Sí)
411-
:Marcar versión como aprobada para Prod;
412-
:Iniciar proceso de Despliegue a Prod;
413-
stop
414-
endif
415-
endif
416-
417-
:Marcar versión como fallida;
418-
stop
419-
420-
@enduml</pre>
338+
<img src="_images/diag-0cd9c47b98bcb7b263865989dcc11612b0c0bdd3.svg" alt="Actividades en ambiente de pruebas">
421339
</div>
340+
<div class="title">Figure 3. Actividades en ambiente de pruebas</div>
422341
</div>
423342
</div>
424343
</div>
@@ -428,52 +347,11 @@ <h2 id="ambiente-producción"><a class="anchor" href="#ambiente-producción"></a
428347
<div class="paragraph">
429348
<p>Es el ambiente donde se ejecuta el sistema y el más critico. Todo cambio enviado debe ser aprobado y documentado por personas autorizadas y correctamente informado en los canales de comunicación oficiales. El despliegue es automatizado, pero debe ser autorizado de forma manual. Para el proceso productivo se recomienda utilizar <strong>Canary Deployments</strong>, sobre todo si son sistemas <strong>Tier 0</strong>.</p>
430349
</div>
431-
<div class="listingblock kroki-error">
432-
<div class="title">Actividades en ambiente de producción</div>
350+
<div class="imageblock kroki">
433351
<div class="content">
434-
<pre>@startuml
435-
436-
skin rose
437-
438-
title Ambiente Producción
439-
440-
start
441-
442-
:Versión aprobada en Staging;
443-
:Iniciar pruebas estáticas;
444-
:Ejecutar pruebas unitarias, funcionales, integración;
445-
446-
if (¿Pruebas exitosas?) then (Sí)
447-
448-
:Iniciar proceso de despliegue a Producción;
449-
450-
if (¿Proceso de Aprobación Manual Iniciado?)
451-
:Iniciar pruebas en servidor producción;
452-
:Registrar metadatos y enviar notificaciones;
453-
:Ejecutar pruebas de humo;
454-
:Ejecutar pruebas E2E;
455-
:Ejecutar pruebas de aceptación;
456-
457-
if (¿Pruebas exitosas?) then (Sí)
458-
:Despliegue a producción exitoso;
459-
:Marcar versión como última disponible en producción;
460-
:Ejecutar pruebas de desempeño (opcional, perfomance);
461-
stop
462-
else
463-
:Marcar versión como fallida;
464-
stop
465-
endif
466-
endif
467-
468-
:Esperar la aprobación manual;
469-
stop
470-
endif
471-
472-
:Marcar versión como fallida;
473-
stop
474-
475-
@enduml</pre>
352+
<img src="_images/diag-a95518798f2ceffadc8a055bec12b25248908a85.svg" alt="Actividades en ambiente de producción">
476353
</div>
354+
<div class="title">Figure 4. Actividades en ambiente de producción</div>
477355
</div>
478356
</div>
479357
</div>

0 commit comments

Comments
 (0)