mentoriadevops / iac-modulo-groundwork

Modulo base (project + rede) para Cloud GCP
1 stars 4 forks source link

Definir se o modulo groundwork vai criar o projeto + network no gcp ou vai considerar o projeto já criado e criar apenas a network #1

Closed afonsoaugusto closed 3 years ago

afonsoaugusto commented 3 years ago

A ideia inicial modulo é fornecer todos os recursos compartilhados de um projeto no Google Cloud. Como recursos compartilhados em uma conta GCP, são os projetos e a network.

E portanto é necessário definir se o modulo irá considerar o projeto já criado, ou se vai cria-lo.

afonsoaugusto commented 3 years ago

@gomex, @somatorio e @rehzende Estava pensando aqui o escopo desde modulo.

Quando falamos no GCP, ele tem a organização e o projeto. Na organization definimos as api que são habilitadas, billing e organização por exemplo.

image

E o google_compute_network é a VPC propriamente dito e ele recebe um projeto como base.

image

Eu ainda estou olhando, mas eu com uma conta grauita (ainda não ativa com um cartão de credito) não tenho uma organização. Vou ativar um cadastro meu no gcp para verificar.

Mas estou mais tendencioso a falarmos que o groundwork tbm contemple o projeto + newtork, e não somente a network

ps: Eu peguei as imagens do modulos do terraform-google-modules só para exemplo msm.

afonsoaugusto commented 3 years ago

Eu realizei o setup inicial dos $300 por 90 dias do trial. Após realizar o setup com o cartão de credito eu vou precisar fazer todos esses passos para ter uma organization:

image

Neste caso é necessário ter um domínio para registrar uma organization.

afonsoaugusto commented 3 years ago

@gomex, fiz mais alguns testes. Eu tenho um dominio e assim eu criei uma organization com ele. Aconteceu que essa organization caiu como um conta nova do GCP e não se associou a essa conta trial. Portanto, terei assinar novamente o Trial do GCP nessa nova conta.

afonsoaugusto commented 3 years ago

Em reunião no dia 15/06 identificamos o desenho abaixo que será anexado pelo @Rehzende que é interessante que o modulo groundwork seja um modulo que implementa outros modulos.

Assim teremos o modulo de network para o gcp (vpc) e posteriormente teremos o modulo de Projetos. Sendo que o modulo de Projeto será opicional a execução.

Assim, também abrimos margem para uma implementação futura neste modulo do mesmo ser multi-account. Podendo ter uma variável indicando qual a implementação que será utilizada.

afonsoaugusto commented 3 years ago

Os modulos serão chamados:

Exemplos futuros

Rehzende commented 3 years ago

image

gomex commented 3 years ago

Eu gostei do modelo, mas uma coisa que seria bem legal é que seja bem simples de consumir o módulo groundwork. Tipo:

module "observabilidade" { source = source_aqui name = blabla feature_flag_de_alguma_funcionalidade = true }

A idéia é que a implementação mesmo esteja no módulo. O como fazer. Quem consome o módulo, ainda mais do groundwork, não precisa ter muita flexibilidade não.

afonsoaugusto commented 3 years ago

Conforme alinhado na implementado do projeto https://github.com/mentoriaiac/iac-modulo-rede-gcp e no desenho da solução https://github.com/mentoriaiac/iac/issues/4. O modulo do groundwork será a combinação de vários modulos. E o projeto irá criar o project no GCP para testar a si proprio e a combinação dos modulos implementados.