/leapp-daemon

Primary LanguageGoMozilla Public License 2.0MPL-2.0

Leapp Daemon

logo

Leapp-daemon is the core Business logic of the Leapp project.

The daemon is the engine designed to manage and secure cloud access in multi-account environments.

FAQ

🚧 The project is in active development to replace the current core logic of Leapp

🤙 To jumpstart your contribution come to our Slack and have a chat with us; we will point you in the right direction.

🔽 If you wanted to download Leapp click here to download the stable version

Contributing

Please read through our contributing guidelines and code of conduct. We included directions for opening issues, coding standards, and notes on development.

Editor preferences are available in the editor config for easy use in common text editors. Read more and download plugins at editorconfig.org.

Developing

Development on leapp-daemon can be done on Mac, Windows, or Linux as long as you have Go installed. See the go.mod file located in the project root for the correct Go version.

Quickstart

  • Clone the repository with git clone https://github.com/Noovolari/leapp-daemon
  • Change directory into the project root
  • Install dependencies with go get ./...
  • Run the server with go run main.go
  • Check the good first issues

Basic functionality

Leapp-daemon is a set of REST APIs wrapped around an http client exposed on port 8080.

Main elements and entry-point
  • The entry point is main.go file located in the project root
  • The configuration represent the current state of the software
  • The http-engine to respond to API calls
  • The websocket for enabling full-duplex communication against multiple consumers
  • The timer to auto-rotate credentials
Project Structure
  • api - interfaces for interacting with core logic
  • core - business logic
  • service - middleware that serves as communication between api and core

Testing

To test business logic you can use any API client like Insomnia or Postman.

Logs

Documentation

Here you can find our documentation.

Links

  • Roadmap: view our next steps and stay up to date
  • Contributing: follow the guidelines if you'd like to contribute to the project

License

Mozilla Public License v2.0