Skip to main content

Adicionando em um projeto existente

Para configurar o projeto colibri-sdk-go em um projeto existente, é necessário fazer algumas configurações manuais para que tudo funciona perfeitamente

Adicionar dependência

go get github.com/colibriproject-dev/colibri-sdk-go

Definir variáveis de ambiente

Existem algumas variáveis de ambiente mínimas dnecessárias para configuração do colibri-sdk-go que sao listadas abaixo

ENVIRONMENT=development
APP_NAME=my-awesome-go-project
APP_TYPE=service
CLOUD=gcp
  1. Na linha 1 definimos a variável ENVIRONMENT que define qual ambiente estamos executando o projeto, ela aceita os valores:
    • development: Ambiente de desenvolvimento local, quando definica prepara algumas configurações para execução local, como formatação dos logs.
    • sandbox: Ambiente de validação do projeto.
    • test: é definido quando estamos executando os testes unitários ou de integração.
    • production: Ambiente de produção onde o serviço está sendo executado.
  2. Na linha 2 definimos a variável APP_NAME que define o nome da aplicação que será utilizada na identificação dos logs e monitorameto.
  3. Na linha 3 definimos a variável APP_TYPE que define o tipo da aplicação, ela aceita os valores:
    • service: Padrão para deploy de microsserviços.
    • serverless: Padrão para deploy de cloud functions/lambdas.
    • cli: Padrão para criação de aplicações de linha de comando.
  4. Na linha 4 definimos a variável CLOUD que define qual cloud provider estamos utilizando, ela aceita os valores:
    • aws: Configura ambiente da AWS.
    • gcp: Configura ambiente do GCP.
    • none: Utilizado para aplicações de linha de comando.

Por padrão, o colibri-sdk-go carrega as variáveis de ambientes definidas no arquivo .env disponível na raiz de execução do projeto.

Configurar arquivo main.go

package main

import (
"github.com/colibriproject-dev/colibri-sdk-go"
"github.com/colibriproject-dev/colibri-sdk-go/pkg/web/restserver"
)

func main() {
colibri.InitializeApp()

// my main code

restserver.ListenAndServe()
}

Na linha 9 inicializamos o colibri-sdk-go, nesse passo é onde as variáveis de ambiente serão carregadas e as definições básicas do projeto serão feitas. Na linha 13 inicializados o serviço web, por padrão é utilizada a porta 8080, mas essa configuração pode ser alterada através da variável de ambiente PORT.

Executando o projeto

Após realizar as configurações, podemos iniciar o projeto através do comando:

go run main.go

Se tudo foi configurado corretamente, um log será apresetando como abaixo


. _ _ _ _ _
{ \/'o;=== | (_) | (_)
.----'-/'-/ ___ ___ | |_| |__ _ __ _
'-..-| / / __ / _ \| | | '_ \| '__| |
/\/\ | (__| (_) | | | |_) | | | |
'--' \___ \___/|_|_|_.__/|_| |_|
project

# my-awesome-go-project #

{"time":"2025-05-01T18:00:56.707132641-03:00","level":"INFO","msg":"Initializing GCP","caller":"cloud.Initialize"}
{"time":"2025-05-01T18:00:56.70717939-03:00","level":"INFO","msg":"Cloud provider connected","caller":"cloud.Initialize"}
{"time":"2025-05-01T18:00:56.707335553-03:00","level":"INFO","msg":"Registered route [ GET] /health","caller":"restserver.fiberWebServer.injectRoutes"}
{"time":"2025-05-01T18:00:56.707347852-03:00","level":"INFO","msg":"Registered route [ GET] /api-docs","caller":"restserver.fiberWebServer.injectRoutes"}
{"time":"2025-05-01T18:00:56.707352964-03:00","level":"INFO","msg":"Service 'WEB-REST' running in 8080 port","caller":"restserver.ListenAndServe"}

Com isso seu projeto está apto a evoluir, parabéns.