@preventsenior/pvs-cli
v1.7.0
Published
CLI from Prevent Senior Tech
Downloads
318
Readme
PVS CLI - A ferramenta CLI da Prevent Senior
O PVS-CLI é uma ferramenta de linha de comando que permite a execução de comandos de forma automatizada, facilitando a execução de tarefas repetitivas e a manutenção de ambientes de desenvolvimento.
Pré-requisitos
Instalação
Instale o PVS-CLI globalmente com o npm:
npm install -g @preventsenior/pvs-cli
Comandos disponíveis
adicionar-modulo
login-aws
assumir-role
login-ca-aws
login-docker
boundary-config
boundary
Documentação
Comando
adicionar-modulo
:pvs adicionar-modulo
Esse comando deve ser rodado na raiz do projeto que deseja adicionar um módulo, esse projeto deve conter a árvore de diretórios criados pelo Gravity da Prevent. Ele irá adicionar um ou mais módulos ao projeto, seguindo o padrão de módulos da Prevent Senior. Você posse adicionar o parâmetro
--git-add
ou-g
para que esses módulos sejam adicionados ao git.pvs adicionar-modulo --git-add ------- pvs adicionar-modulo -g
Comando
login-aws
:Pré-requisitos:
- aws-cli instalado e configurado.
pvs login-aws
Você pode adicionar o parâmetro
--all-login-ca
ou-a
para logar no Maven e NPM com CodeArtifact.pvs login-aws --all-login-ca ------- pvs login-aws -a
Esse comando pode ser rodado em qualquer diretório. Ele irá fazer login na AWS via SSO com base no profile definido no arquivo
~/.aws/config
. Não se preocupe se você tiver mais de um profile configurado, serão todos listados para que você selecione qual deseja se autenticar. Ao final da autenticação lhe será perguntado se quer se autenticar no CodeArtifact com NPM ou Maven (Para facilitar sua vida 😁). Caso você não tenha configurado o profile no arquivo~/.aws/config
para login via SSO, você pode adicioná-lo com o comando abaixo:aws configure sso
Após rodar o comando acima, você será solicitado a informar o
SSO URL
,SSO Region
,SSO Account ID
,SSO Role Name
eSSO Start URL
. Após informar esses dados, você terá um profile mais ou menos assim:[profile Developer] sso_session = SessionDeveloper sso_account_id = 000000000000 sso_role_name = Developer region = sa-east-1 output = json [sso-session SessionDeveloper] sso_start_url = https://sso-da-sua-empresa/start#/ sso_region = sa-east-1 sso_registration_scopes = sso:account:access
Comando
assumir-role
:Pré-requisitos:
- aws-cli instalado e configurado.
pvs assumir-role
Esse comando deve ser rodado no diretório raiz do projeto que queira assumir a role. Será assumida uma role padrão para apps da Prevent Senior.
Ex:
arn:aws:iam::000000000000:role/app/${env}-${app_name} | arn:aws:iam::000000000000:role/app/dev-pvs-cli
. Essa role é criada (quando solicitado) para o seu app com as permissões necessárias.Você pode adicionar o parâmetro
--add-profile
ou-p
para que o comando adicione ou atualize o profile e suas credências nos arquivos:~/.aws/config
e~/.aws/credentials
.pvs assumir-role --add-profile ------- pvs assumir-role -p
Por padrão a role que será assumida é a de
dev
, mas você pode adicionar o parâmetro--staging
ou-s
para assumir a role de homologação.pvs assumir-role --staging ------- pvs assumir-role -s
Comando
login-ca-aws
:Pré-requisitos:
- aws-cli instalado e configurado.
pvs login-ca-aws
Esse comando pode ser rodado em qualquer diretório. Ele irá fazer a autenticação no CodeArtifact da AWS com base no profile selecionado. Você posse adicionar o parâmetro
--npm
ou-n
para que o login seja feito somente com NPM.pvs login-ca-aws --npm ------- pvs login-ca-aws -n
Ou adicionar o parâmetro
--maven
ou-m
para que o login seja feito somente com Maven.pvs login-ca-aws --maven ------- pvs login-ca-aws -m
Ao omitir os parâmetros, o login será feito com NPM e Maven.
Comando
login-docker
:Pré-requisitos:
pvs login-docker
Esse comando pode ser rodado em qualquer diretório. Ele irá fazer login no Docker apontando para o ERC com base no profile selecionado.
Comandos adicionados na versão 1.1.0
Comando
boundary-config
:Este comando sempre irá forçar um novo login no boundary, lembre-se de estar autenticado com sua conta a_{cpf} no navegador
Pré-requisitos:
- boundary na versão 0.16.0 ou superior instalado.
pvs boundary-config
Esse comando pode ser rodado em qualquer diretório. Ele irá criar um arquivo de configuração para o boundary, deixando sempre um squad e um ambiente para acesso rápido. Você pode usar o parâmetro
--show-confg
ou-s
visualizar o arquivo de configuração.pvs boundary-config --show-confg ------- pvs boundary-config -s
Você pode adicionar o parâmetro
--squad
ou-T
para informar o squad.pvs boundary-config --squad <squad_name> ------- pvs boundary-config -T <squad_name>
Você pode adicionar o parâmetro
--environment
ou-E
para informar o ambiente, as opções são [dev,hom,prd].pvs boundary-config --environment <environment_name> ------- pvs boundary-config -E <environment_name>
Ao omitir os parâmetros, será listado as squads que você tem permissão para selecionar, e posteriormente o ambiente.
Comando
boundary
:Pré-requisitos:
- boundary na versão 0.16.0 ou superior instalado.
pvs boundary-config
executado ou--force-login | -f
informado junto para logar pela primeira vez.
pvs boundary
Esse comando pode ser rodado em qualquer diretório.
pvs boundary
é um comando para facilitar sua conexão a um host. Se configurado compvs boundary-config
ele irá listar os hosts disponíveis para conexão. Você pode adicionar o parâmetro--squad
ou-T
para informar a squad, o comando irá ignorar a configuração feita com opv boundary-config
, e irá lhe perguntar em qual ambiente deseja listar os hosts.pvs boundary --squad <squad_name> ------- pvs boundary -T <squad_name>
Você pode adicionar o parâmetro
--force-login
ou-f
para que o comando force um novo login no boundary.pvs boundary --force-login ------- pvs boundary -f
Comandos adicionados na versão 1.2.0
Comando
download-artifact-backend
Pré-requisitos:
- aws-cli instalado e configurado.
pvs login-aws
executado.
pvs download-artifact-backend <artifact_name> <artifact_version>
Esse comando pode ser rodado em qualquer diretório (Mas lembre-se, o artefato será baixado no diretório que o comando rodar).
pvs download-artifact-backend
é um comando para facilitar o download de um artefato.war
ou.jar
do CodeArtifact. Os parâmetros<artifact_name>
e<artifact_version>
são obrigatórios, e você deve informar o nome do artefato e a versão que deseja baixar. Você pode adicionar o parâmetro--snapshot
ou-s
para informar que o artefato encontra-se no repositório snapshots do CodeArtifact.pvs download-artifact-backend portalweb-impl 1.0.0-SNAPSHOT --snapshot ------- pvs download-artifact-backend portalweb-impl 1.0.0-SNAPSHOT -s
Você pode adicionar o parâmetro
--type
ou-t
para informar o tipo do artefato, pode serwar
oujar
, por padrão, ao não informar o parâmetro, o tipo seráwar
.pvs download-artifact-backend portalweb-impl 1.0.0 --type jar ------- pvs download-artifact-backend portalweb-impl 1.0.0 -t jar
Comandos adicionados na versão 1.4.0
Comando
infra-create
Pré-requisitos:
- Projeto TerraForm v3 clonado em sua maquina.
Git
instalado e configurado para fazer commit e criar PR.
pvs infra-create
Esse comando deve ser rodado no diretório do projeto terraform-v3. Ao rodar o comando, será perguntado o nome do projeto, o ambiente, o nome do squad e o nome do componente. Com essas informações, o comando irá criar um diretório com o nome do projeto, ambiente e squad, e dentro desse diretório, será criado um arquivo
api_key_${project_name}.tf
com o conteúdo padrão para criação de uma infraestrutura da api-key. Será criado também um arquivo chamadoheader.tf
com o conteúdo padrão para criação de um header caso ainda não exista para o projeto.
Obrigado por usar o PVS-CLI! 🚀
Se tiver alguma dúvida ou sugestão, entre em contato com time Sculptor, ficaremos felizes em ajudar! 😁