Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refatorar processamento dos manifestos #15

Open
lukerops opened this issue Jul 1, 2024 · 0 comments
Open

Refatorar processamento dos manifestos #15

lukerops opened this issue Jul 1, 2024 · 0 comments
Labels
enhancement New feature or request
Milestone

Comments

@lukerops
Copy link
Owner

lukerops commented Jul 1, 2024

Contexto:

O processamento dos manifestos é separado em 2 fluxos diferentes:

1 - O processamento dos CustomResourceDefinitions

Consiste na leitura do manifesto, verificando a estrutura do mesmo e gerando o schema que será utilizado na validação de outros manifestos.

2 - O processamento dos manifestos de recursos

Consiste na validação do manifesto utilizando as regras presentes nos schemas gerados no passo anterior.

Como se é percebido, o resultado de um passo está completamente acoplado com o próximo, o que torna necessário o casamento dos dados entre eles, porém, da forma que está sendo implementado pelo PR #14, as regras dos dois fluxos ficarão separadas, deixando a manutenção desses códigos mais complicada.

Proposta

A ideia proposta nessa issue é a adição de um novo conceito chamado de Schema Processor. O Schema Processor será um bloco de código, único para cada tipo de dado, que terá a função de ler as regras do CustomResourceDefinition, gerar um schema e depois validar se um manifesto cumpre as regras do schema gerado.

Como antes, isso ocorrerá em 2 etapas, como descrito no diagrama:
image

O que a proposta resolve?

Essa proposta resolve o espalhamento das regras de validação pelo código, além de tornar possível a reutilização do código de processamento do CustomResourceDefinition, tornando a criação de uma nova versão da interface YAML mais rápida, simples e fácil, evitando um "copia e cola" de vários arquivos.

@lukerops lukerops added the enhancement New feature or request label Jul 1, 2024
@lukerops lukerops changed the title Adicionar processamento dos manifestos Refatorar processamento dos manifestos Jul 1, 2024
@lukerops lukerops added this to the v0.2.0 milestone Jul 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant