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
- Na linha
1
definimos a variávelENVIRONMENT
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.
- Na linha
2
definimos a variávelAPP_NAME
que define o nome da aplicação que será utilizada na identificação dos logs e monitorameto. - Na linha
3
definimos a variávelAPP_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.
- Na linha
4
definimos a variávelCLOUD
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.