piratas / gti

Página do Grupo de Tecnologia Pirata
http://gti.partidopirata.org/
MIT License
21 stars 8 forks source link

abordagem para o site partidopirata.org #14

Open gomex opened 8 years ago

gomex commented 8 years ago

Introdução

A minha proposta é que passemos a adotar uma infraestrutura como código, que é altamente replicável e totalmente rastreável via github, ou seja, todo processo de modificação do ambiente seria feito através de commits em um determinado repositório do github.

Uso de containers

Para tratamento da infraestrutura e isolamento de aplicação e banco de dados, usaríamos o docker que por sua vez possibilita a gerência dessa infraestrutura também por código, ou seja, novamente seríamos capazes de rastrear toda mudança por um código.

Uso de uma solução de integração contínua

A ideia é utilizar um serviço que automaticamente analisa o código modificado e faz interações em nossa infraestrutura, além de gerar alguns testes automatizados antes de realizar alterações em nossos serviços.

Uso de monitoramento para notificação

A ideia é usar algum serviço de monitoria online, sem custo, para monitorar nosso recurso e notificar por email em caso de falha.


Tarefas

iuriguilherme commented 8 years ago

Existe uma questão que é o fato do GTC já ter trabalho de SEO para o domínio e ter um fluxo organizado para uso do wordpress.

Eu cheguei a sugerir migrar o site atual para blog.partidopirata.org. A única coisa que teria que cuidar seria mapear os permalinks do wordpress e criar regras de redirecionamento em um servidor web, mas isto inviabiliza usar estritamente o github pages, correto?

gomex commented 8 years ago

nas propostas atuais não muda o Wordpress. Continua lá. Apena a forma de como construir e manter ele que muda.

iuriguilherme commented 8 years ago

@gomex ah ta, agora entendi

dseeker commented 8 years ago

+1 !!! que o bom senso prevaleça

dseeker commented 8 years ago

recomendo a adoção deste plugin pelos contribuidores para adicionar mais flexibilidade para o trabalho nesta plataforma. https://www.zenhub.io/blog/supercharge-github-workflows-introducing-zenhub-part-i/#zenhub1reducecommentclutterandsuperchargefeedback

iuriguilherme commented 8 years ago

Recomendo instalar o mínimo possível de merda no navegador e se encaminhar pra sair do github e adotar o gitlab conforme consenso já estabelecido anteriormente.

iuriguilherme commented 8 years ago

Seguindo a mesma lógica, é possível servir o site na zeronet, contudo os comentários do wordpress não funcionariam neste caso.

corvolino commented 8 years ago

Qual seria a alternativa para termos comentários?

dseeker commented 8 years ago

algum sistema externo como o http://disqus.com/

iuriguilherme commented 8 years ago

@dseeker Já sugeri disqus em outra ocasião e rechaçaram por não ser software livre, inclusive, apontaram uma alternativa

dseeker commented 8 years ago

agregue aqui para deixar documentado como proposta para solucionar os comentarios

iuriguilherme commented 8 years ago

@dseeker Ta documentado no loomio, porque é que documentar no github é diferente? Toda vez que perguntarem tem que documentar de novo?

dseeker commented 8 years ago

pq vc tem q ser tao dificil? o tempo q te levou pra escrever ai era só postar o link desse outro serviço.

iuriguilherme commented 8 years ago

@dseeker Em menos tempo tu acha na busca do loomio. Procura disqus

dseeker commented 8 years ago

@corvolino https://www.loomio.org/d/04TxR7sa/transferir-a-sess-o-de-coment-rios-da-apresenta-o-do-partidopirata-org-para-outra-p-gina

iuriguilherme commented 8 years ago

@gomex @guilhermebr vamos retomar isto

Uma pergunta que eu tenho, somente o docker é suficiente pra gerenciar o servidor inteiro, não precisando de LXC, OpenVZ, KVM, Xen, etc.?

iannsp commented 8 years ago

@desci, onde estao os servers do piratas? gastamos muito com isso?

iuriguilherme commented 8 years ago

@iannsp Ocasionalmente estará devidamente documentado em https://piratas.xyz/wiki/gti/infra

Por enquanto está fragmentada a informação em vários lugares, eu levei dezenas de meses reunindo pelo menos os links e muito da informação que está disponível.

O que tem de prático e factível que eu posso te adiantar é que agora o servidor principal (entwickler) é doação pessoal de um pirata que garantidamente durará até outubro, e é onde está a maioria das coisas. Este é um KS-2 da ovh (kimsufi.com), e o responsável pagou sozinho por um ano.

Tem duas vmware no servidor do partido sueco que estamos fazendo backup e vamos "formatar" pra tornar a usar. Estes dois servidores são bem fraquinhos e são mais pros sites estáticos e coisas leves, não lembro de cabeça a especificação (vai ter na wiki), mas lembro que de armazenamento é cerca de 6GB cada um. Estes dois servidores no caso são custeados pelo partido sueco, que dão esse espaço meio tosco e podre, uma coisa mais simbólica do que prática, mas que provavelmente é o nosso leningrado.

Inclusive o suecia 1 está com o disco cheio, porque as pessoas acham engraçado ficar tentando bruteforce na senha do root do servidor, sem contar as tentativas de derrubar o apache, o php, etc. que funcionaram - até eu tirar os apontamentos para lá, toda a internet podia ver a senha do banco de dados do wordpress e da mediawiki, do site do partido, do site de transparência, etc. - e por este motivo o site do partido está em um quarto servidor da mesma forma que vários outros sites relacionados ao partido, sendo administrados e financiados de forma autônoma por pessoas e/ou coletivos.

O que não está na página que eu falei (infra) pode ser garimpado na página https://piratas.xyz/wiki/gti/arquivo, mas eu recomendo esperar eu botar a informação precisa lá na página de infra.

O que eu posso adiantar além disto, é que é necessário que as pessoas proponham coisas pra financiamento e sustentabilidade. Isto começou a ser feito em outras ocasiões, algumas iniciativas surgiram, outras insurgiram, mas eu tenho a impressão de que tu quer saber o que pode ser feito daqui pra frente, né?

gomex commented 8 years ago

@desci sobre o Docker, não precisamos de nada além de docker pra essa virtualização. Talvez o Docker compose mas essa é outra história :) Vamos nos organizar? Precisamos de um inventário primeiro e saber onde serão depositados os serviços, para em seguida pensar na arquitetura.

iuriguilherme commented 8 years ago

@gomex E o que é que faltou pra começar então?

Eu li em um tópico antigo que o @guilhermebr queria um CEO, então faz de conta que eu sou CEO e vamos botar essa porra pra funcionar gurizada, que tamo no atraso já!

Me responsabilizo por documentar a infra que existe (no link que eu dei).

Já adianto que na prática o servidor onde está a maioria das coisas e provavelmente vai continuar por enquanto é o entwickler. Mesmo que saia de lá, imagino que o docker milagrosamente "copie e cole" as coisas pra outros lugares, confere? Eu só conheço puppet.

Penso que os servidores da suecia vão ficar sendo os "principais", mas eu já sei e tu já sabe que não da pra botar nada pesado lá (PHP nem pensar), no máximo pode ser o lugar "que não cai nunca" onde vai ficar o nginx controlando o balanço para os servidores remotos, e eventualmente algum site estático de html puro como os que se atualizam pelo github.

gomex commented 8 years ago

Ok! Vamos então. Segunda agora terei mais tempo, vamos marcar um mão na massa inicial?

iuriguilherme commented 8 years ago

@gomex se nada vingar essa semana ainda, eu e tu reunimos no matehackers com 2L de energético e transmitimos ao vivo pra gurizada, com relatoria posterior, e este será (mais um) pontapé inicial.

iannsp commented 8 years ago

@desci , ocasionalmente não é o ideal. E se você quiser fazer de conta que é o CEO, precisa comecar a entender que trabalhar feito um porra louca sem organização vai te fazer dar um volta ao mundo pra chegar no mesmo lugar. ;) Vamos organizar? As coisas ficaram paradas muito tempo e entendo seu sangue nos olhos, mas sem visibilidade a coisa não vai pra frente.

iuriguilherme commented 8 years ago

Pendência: documentar os últimos acontecimentos com o site e com a infra e esclarecer o que aconteceu e em que situação está o site do partido.

iuriguilherme commented 8 years ago

Os arquivos de backup do site do partido (atualmente fora do ar) estão no servidor entwickler, no caminho /home/backups/bastidores.

Estamos criando arquivos para o docker compose para colocar o site no ar no próprio entwickler.

iuriguilherme commented 8 years ago

Tarefas

iuriguilherme commented 8 years ago

Relatório de hoje:

  1. @mtoledo62 enviou os backups que estavam na hostgator, eu extraí os arquivos de plugins, temas e traduções, além do dump do banco de dados.
  2. Criei um Docker Compose com as imagens mariadb e wordpress.
  3. Após iniciar os containers, sobrescrevi o banco de dados com o arquivo de dump sql providenciado;
  4. Corrigi o dono dos arquivos de volume para 33:33 (www-data no container wordpress), e o banco de dados para 999:999 (docker ou mysql, não sei);
  5. Alterei a senha de uma das contas de administrador do site da seguinte forma:
    1. Extraí a parte do arquivo dump sql que versava sobre as contas de usuárias(os);
    2. Gerei um hash md5 em um shell: echo -n "bosta" | md5sum;
    3. Sobrescrevi o campo de senha de um dos usuários administradores com o hash gerado;
    4. Com acesso ao terminal interativo, isto poderia ser feito com o seguinte query sql: USE piratas; UPDATE wp_users SET user_pass= MD5('bosta') WHERE user_nicename = "admin";;
  6. Ativei o tema apropriado e devolvi o status de administrador para os usuários do GTI;
  7. Adicionei todos arquivos menos o banco de dados em um repositório git;
  8. Enviei todos arquivos, inclusive o banco de dados para o servidor entwickler;
  9. Criei o usuário wordpress e adicionei ao grupo docker;
  10. Iniciei os containers com docker-compose up -d;
  11. Configurei o nginx do hypervisor para apontar para a porta local do container do wordpress e reiniciei o serviço;
iuriguilherme commented 8 years ago

Repositório do site criado e disponível em https://github.com/piratas/piratas-site