@preventsenior/pvs-cli
v2.3.0
Published
CLI from Prevent Senior Tech
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-cliComandos disponíveis
adicionar-modulologin-awsassumir-rolelogin-ca-awslogin-dockerboundary-configboundary
Documentação
Comando
adicionar-modulo:pvs adicionar-moduloEsse 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-addou-gpara que esses módulos sejam adicionados ao git.pvs adicionar-modulo --git-add ------- pvs adicionar-modulo -gComando
login-aws:Pré-requisitos:
- aws-cli instalado e configurado.
pvs login-awsVocê pode adicionar o parâmetro
--all-login-caou-apara logar no Maven e NPM com CodeArtifact.pvs login-aws --all-login-ca ------- pvs login-aws -aEsse 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/configpara login via SSO, você pode adicioná-lo com o comando abaixo:aws configure ssoApós rodar o comando acima, você será solicitado a informar o
SSO URL,SSO Region,SSO Account ID,SSO Role NameeSSO 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:accessComando
assumir-role:Pré-requisitos:
- aws-cli instalado e configurado.
pvs assumir-roleEsse 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-profileou-ppara que o comando adicione ou atualize o profile e suas credências nos arquivos:~/.aws/confige~/.aws/credentials.pvs assumir-role --add-profile ------- pvs assumir-role -pPor padrão a role que será assumida é a de
dev, mas você pode adicionar o parâmetro--stagingou-spara assumir a role de homologação.pvs assumir-role --staging ------- pvs assumir-role -sComando
login-ca-aws:Pré-requisitos:
- aws-cli instalado e configurado.
pvs login-ca-awsEsse 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
--npmou-npara que o login seja feito somente com NPM.pvs login-ca-aws --npm ------- pvs login-ca-aws -nOu adicionar o parâmetro
--mavenou-mpara que o login seja feito somente com Maven.pvs login-ca-aws --maven ------- pvs login-ca-aws -mAo omitir os parâmetros, o login será feito com NPM e Maven.
Comando
login-docker:Pré-requisitos:
pvs login-dockerEsse 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-configEsse 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-confgou-svisualizar o arquivo de configuração.pvs boundary-config --show-confg ------- pvs boundary-config -sVocê pode adicionar o parâmetro
--squadou-Tpara informar o squad.pvs boundary-config --squad <squad_name> ------- pvs boundary-config -T <squad_name>Você pode adicionar o parâmetro
--environmentou-Epara 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-configexecutado ou--force-login | -finformado junto para logar pela primeira vez.
pvs boundaryEsse comando pode ser rodado em qualquer diretório.
pvs boundaryé um comando para facilitar sua conexão a um host. Se configurado compvs boundary-configele irá listar os hosts disponíveis para conexão. Você pode adicionar o parâmetro--squadou-Tpara 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-loginou-fpara 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-backendPré-requisitos:
- aws-cli instalado e configurado.
pvs login-awsexecutado.
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.warou.jardo 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--snapshotou-spara 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 -sVocê pode adicionar o parâmetro
--typeou-tpara informar o tipo do artefato, pode serwaroujar, 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-createPré-requisitos:
- Projeto TerraForm v3 clonado em sua maquina.
Gitinstalado e configurado para fazer commit e criar PR.
pvs infra-createEsse 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}.tfcom o conteúdo padrão para criação de uma infraestrutura da api-key. Será criado também um arquivo chamadoheader.tfcom 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! 😁
