====== Nova Devops ======
A Nova Devops é o movimento que busca fornecer aos desenvolvedores da DevTIC uma maior autonomia na realização de tarefas relacionadas à infraestrutura necessárias ao desenvolvimento de seus softwares. Isso se dá por meio do forte uso de orquestração de contêineres.
===== Cluster swarm-devops =====
O cluster swarm-devops é um cluster [[https://docs.docker.com/engine/swarm/|Docker Swarm]] dedicado para devops. Ele pode ser acessado através da interface Web https://portainer.tic.ufrj.br.
==== Escopo ====
* implantação de softwares de apoio ao desenvolvimento. Por exemplo: (jenkins, graylog, grafana etc.).
* implantação de ambientes de não-produção (desenvolvimento ou homologação).
* implantação de bases de dados efêmeras (que não precisam de backup nem equipe especializada de apoio).
==== Proxy reverso ====
O cluster swarm-devops utiliza o [[https://www.haproxy.com/|HAProxy]] como [[devops:proxy_reverso|proxy reverso]] para expor suas aplicações Web. A configuração desse ''haproxy'' é realizada automagicamente através da anotação dos serviços com [[https://docs.docker.com/config/labels-custom-metadata/|rótulos]] específicos.
==== Gerenciamento de certificados ====
!!! Em construção !!!
===== Operações elementares =====
* [[devops:subir_stack|Subir uma stack]]
* [[devops:remover_stack|Remover uma stack]]
* [[devops:atualizar_stack|Atualizar uma stack]]
* [[devops:reverter_stack|Reverter uma stack para o seu estado anterior]]
* [[devops:ver_logs_servico|Ver os logs de um servico]]
* [[devops:interromper_servico|Interromper um servico]]
* [[devops:retomar_servico|Retomar um servico]]
* [[devops:criar_volume|Criar um volume]]
* [[devops:visualizar_volume|Visualizar um volume]]
* [[devops:remover_volume|Remover um volume]]
===== Operações comuns =====
* [[devops:configurar_proxy_reverso|Configurar o proxy reverso para um serviço]]
===== Receitas de construção de imagens Docker =====
* [[devops:dockerfile:conteudo_web|Dockerfile para servir conteúdo web estático]]
* [[devops:dockerfile:nodejs|Dockerfile para servir aplicação nodejs]]
* [[devops:dockerfile:php|Dockerfile para servir aplicação php]]
* [[devops:dockerfile:jar|Dockerfile para servir .jar]]
* [[devops:dockerfile:war|Dockerfile para servir .war]]
===== Guias devops =====
* [[devops:subir_app_php|Subir aplicação PHP]]
* [[devops:subir_app_laravel|Subir aplicação Laravel]]
* [[devops:subir_app_node|Subir aplicação Node]]
* [[devops:subir_app_java|Subir aplicação Java]]
* [[devops:subir_wordpress|Subir Wordpress]]
* [[devops:subir_base_mysql|Subir base MySQL]]
* [[devops:subir_base_mysql|Subir base MongoDB]]
* [[devops:subir_base_postgres|Subir base Postgres]]
**Este conteúdo pode estar no material específico sobre mongo**.
===== MongoDB =====
Visto que a versão 5.0 requer AVX ((https://docs.mongodb.com/v5.0/administration/production-notes)).
Visto que não há pacotes oficiais no ArchLinux e no Linux Alpine ((https://wiki.archlinux.org/title/MongoDB)).
Usamos a versão 4 do MongoDB.