Skip to content

Commit

Permalink
Merge branch 'main' into issue70
Browse files Browse the repository at this point in the history
Signed-off-by: Rafael Dutra <[email protected]>
  • Loading branch information
raffaeldutra authored Nov 23, 2023
2 parents 9c7c174 + 99f931a commit 0610eeb
Show file tree
Hide file tree
Showing 13 changed files with 56 additions and 24 deletions.
3 changes: 3 additions & 0 deletions .env.config.example
Original file line number Diff line number Diff line change
Expand Up @@ -105,3 +105,6 @@ ENV_DOCKERFILE_ARCH="x86_64"
ENV_HELPER_KUBERNETES_NAMESPACE_ARGOCD="argocd"
ENV_HELPER_KUBERNETES_NAMESPACE_K8S_DASHBOARD="kube-dashboard"
ENV_HELPER_KUBERNETES_NAMESPACE_GRAFANA="monitoring"

# Se deseja adicionar automaticamente o timezone no PS1 para ser mostrado
ENV_DATE_TIMEZONE_PS1=false
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,6 @@ configs/.ssh
.ssh
.DS_store
.env.config
clients
!clients/client1-example
.vscode
4 changes: 0 additions & 4 deletions cli/cli.sh
Original file line number Diff line number Diff line change
Expand Up @@ -82,12 +82,8 @@ Funções para Kubernetes
Services
-klas | KubernetesListAllServices Lista todos os seriços
-klase | KubernetesListServicesIgnoringFromList Lista todos os seriços ignorando os específicados pelo usuário no .env.config
<<<<<<< HEAD
-kas | KubernetesAmountServices Mostra a quantidade de serviços que estão no cluster
=======
-kasin | KubernetesAmountServicesIgnoringNamespaces Mostra quantidade de serviços que estão no cluster ignorando namespaces específicados pelo usuário no .env.config
>>>>>>> main
-ktp | KubernetesListTopPodsBy Lista todos os pods por cpu ou memória (default: memória)
Exemplos:
Listar todos os pods de todos os namespaces por memoria
Expand Down
13 changes: 13 additions & 0 deletions cli/src/terraform.sh
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,17 @@ function TerraformInitCommand() {
fi
}

# @function: TerraformDocsInstall
# @description: Faz instalação do Terraform Docs
# @noargs
# @return: String
# @exitcode 0 Sucesso
function TerraformDocsInstall() {
curl -sSLo /tmp/terraform-docs.tar.gz https://terraform-docs.io/dl/v${TERRAFORM_DOCS_VERSION}/terraform-docs-v${TERRAFORM_DOCS_VERSION}-$(uname)-amd64.tar.gz
tar -xzf /tmp/terraform-docs.tar.gz --directory /usr/bin
chmod +x /usr/bin/terraform-docs
}

# @function: TerraformInstall
# @description: Retorna todas versões que foram instalados no container na variável global TerraformVersionsPath declarada.
# @arg: TerraformArchitecture
Expand Down Expand Up @@ -112,6 +123,7 @@ function TerraformVersionExists() {
# Se não existir o binário para a versão selecionada, chama a função para instalação do Terraform.
if [ ! -e "${TerraformVersionsPath}/${TerraformVersion}/terraform" ]; then
TerraformInstall ${TerraformVersion}
TerraformDocsInstall
fi
}

Expand Down Expand Up @@ -186,6 +198,7 @@ function TerraformGetCurrentWorkspace() {
# Caso não seja encontrado o binário do Terraform, é feito o download na versão do arquivo versions.tf.
if [ ! -e "${TerraformVersionsPath}/${TerraformVersion}/terraform" ]; then
TerraformInstall ${TerraformVersion}
TerraformDocsInstall
fi

# Cria o atalho para a versão correspondente.
Expand Down
2 changes: 1 addition & 1 deletion clients/client1-example/client1-example.containers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ services:
env_file:
- .env.common
- .env.dev
- ../../.credentials/client1-example/envs/env.dev
- ./credentials/envs/env.dev

# Arquivos que devem ser tratados como sensíveis devem ser adicionados aqui e mencionados abaixo na seção secrets
# deste arquivo.
Expand Down
4 changes: 2 additions & 2 deletions clients/client1-example/client1-example.secrets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ secrets:
# aws_credentials_dev é um arquivo que contém as credenciais de acesso à conta AWS em um ambiente de desenvolvimento.
# As credenciais estão armazenadas no arquivo localizado na raiz do projeto no diretório .credentials
aws_credentials_dev:
file: ../.././.credentials/client1-example/secrets/aws.dev
file: ./credentials/secrets/aws.dev

# terraformrc_dev é um arquivo de configuração do Terraform para o ambiente de desenvolvimento. O arquivo está localizado
# na raiz do projeto no diretório .credentials
terraformrc_dev:
file: ../.././.credentials/client1-example/secrets/terraformrc.dev
file: ./credentials/secrets/terraformrc.dev
File renamed without changes.
4 changes: 2 additions & 2 deletions configs/.bash_aliases
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
alias wget='wget -q --show-progress'
alias curl='curl -L --progress-bar'
alias l='ls -lah --color=always'
alias t='terraform 2>/dev/nulll fmt;terraform'
alias terraform='terraform fmt 2>/dev/null;terraform 2>/dev/null'
alias t='terraform fmt;terraform'
alias terraform='terraform fmt;terraform'
alias k='kubectl'
alias i='istioctl'
alias h='helm'
Expand Down
4 changes: 4 additions & 0 deletions configs/.bashrc
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,10 @@ function KubernetesGenerateCacheInformationsPS1() {
function EnvironmentLoadPS1() {
PS1="\n[ \$(OsGetTime) \${CLIENT_NAME} | \${COLOR}\h@\u\${_RESET} :\w ]"

if [ -n ${ENV_DATE_TIMEZONE_PS1} -a ${ENV_DATE_TIMEZONE_PS1} = true ]; then
PS1="\n[ \$(date +%z) \$(OsGetTime) \${CLIENT_NAME} | \${COLOR}\h@\u\${_RESET} :\w ]"
fi

if [ -z "${ENV_CONFIG_BASH}" ]; then
echo "Parâmetro ENV_CONFIG_BASH não foi definido no arquivo .env.config"

Expand Down
17 changes: 2 additions & 15 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ services:
# No momento nao é possivel utilizar como secret o diretorio .ssh, problemas
# com permissionamento quando executar git push retorando bad permissions por
# ser aberto demais.
- ${HOME}/.ssh:/root/.ssh:rw
- ${HOME}/.ssh/${CLIENT_NAME}:/root/.ssh:rw
network_mode: host

# docker-compose run install-tools
Expand All @@ -55,26 +55,13 @@ services:
docker-template-base:
container_name: docker-template-base

# Este arquivo abaixo não será commitada pelo git, portanto em caso de formatar
# sua máquina, este arquivo deverá ser recriado e adicionado na raiz do projeto.
# Mais detalhes podem ser vistos no bloco de configuração deste arquivo em secrets.
environment:
- TF_CLI_CONFIG_FILE=/root/terraformrc
extends:
service: base
volumes:
# Arquivos para linha de comando
- ./cli:/root/cli
- ./cli/cli.sh:/usr/bin/cli

# Local onde montamos o diretório do Terraform na sua máquina. Deverá ser este path
# Caso o diretório não seja encontrado, irá falhar.
# Consulte o arquivo README.md para mais detalhes.
- ../terraform/aws:/root/terraform/aws:cached

# Projetos
- ../projects:/root/projects:cached
stdin_open: true
tty: true
mem_limit: 256M
mem_limit: 1024M
network_mode: host
28 changes: 28 additions & 0 deletions tools.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/usr/bin/env bash

function CreateNewClient() {
local ClientName="${1}"

echo "Criando novo cliente ${ClientName}"

cp -av clients/client1-example clients/${ClientName}

(
cd clients/${ClientName}

mv client1-example.containers.yml ${ClientName}.containers.yml
mv client1-example.secrets.yml ${ClientName}.secrets.yml

sed -i -e "s|CLIENT_NAME=client1-example|CLIENT_NAME=${ClientName}|g" .env.common
)
}

function help() {
echo "-cnc | CreateNewClient"
}

case "$1" in
-cnc )
CreateNewClient ${2} ;;
*) help
esac

0 comments on commit 0610eeb

Please sign in to comment.