go-lanai

module
v0.14.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2024 License: Apache-2.0

README

go-lanai

Tests Coverage Apache 2.0

go-lanai is an application frameworks and a set of modules that make writing applications easy. It provides everything you need to embrace go-lang in an enterprise environment. You can use it for many kinds of architectures depending on your need, from microservice to standalone application.

go-lanai is inspired by the Spring framework and the family of Spring projects. Developers looking to port a Spring application to go-lang can use go-lanai as a feature by feature replacement of Spring in most cases.

go-lanai's dependency injection functionality is provided by uber-go/fx. Basic understanding of dependency injection is helpful when using go-lanai.

Examples

  • The auth example is a web service that can serve as the Oauth2 authorization server.
  • The data example is a web service that stores and retrieves data from the database.
  • In the skeleton example, we demonstrate how to create a service from scratch using an OpenAPI spec.
  • In the opa example, we create a web service that uses open policy agent for RBAC.

Tutorials

  • The web app security tutorial shows you how to build a web application with a private API, while using SAML sign on as the authentication method.

Documentations

What's Next

Explore the go-lanai modules:

Contributing to go-lanai

Thanks for your interest in contributing! There are many ways to contribute to this project.

Get started with our Contributing Guide (WIP).

Please note that our contributing guide is still "work in progress".

Directories

Path Synopsis
cmd
internal
pkg
actuator/health/endpoint
Package healthep Contains implementation of health endpoint as a separate package to avoid cyclic package dependency.
Package healthep Contains implementation of health endpoint as a separate package to avoid cyclic package dependency.
aws
certs
Package certs Defines necessary interfaces and types for certificate management
Package certs Defines necessary interfaces and types for certificate management
certs/init
Package certsinit Initialize certificate manager with various of certificate sources
Package certsinit Initialize certificate manager with various of certificate sources
discovery/sd
Package sd, provide base implementation of discovery.Client and discovery.Instancer.
Package sd, provide base implementation of discovery.Client and discovery.Instancer.
dsync
Package dsync Provides distributed synchronization support of microservices and provide common usage patterns around distributed lock, such as lock-based service leader election.
Package dsync Provides distributed synchronization support of microservices and provide common usage patterns around distributed lock, such as lock-based service leader election.
log
opa
web
consultest
Package consultest Leveraging ittest package and HTTP VCR to record and replay consul operations
Package consultest Leveraging ittest package and HTTP VCR to record and replay consul operations
mocks/authmock
Package mock_security is a generated GoMock package.
Package mock_security is a generated GoMock package.
mocks/internal
Package internal is an internal package that help to test generated mocks
Package internal is an internal package that help to test generated mocks
mocks/redismock
Package redismock is a generated GoMock package.
Package redismock is a generated GoMock package.
mocks/sessionmock
Package mock_session is a generated GoMock package.
Package mock_session is a generated GoMock package.
sdtest
Package sdtest test utilities to mock service discovery client
Package sdtest test utilities to mock service discovery client
utils/golden
Package golden will contain some utility functions for golden file testing
Package golden will contain some utility functions for golden file testing

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL