Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/graniticio/granitic
Web/micro-services and IoC framework for Golang developers
https://github.com/graniticio/granitic
application-framework application-server configuration-management dependency-injection devops golang inversion-of-control ioc iot json microservice microservices scheduler validation webservices xml
Last synced: about 2 months ago
JSON representation
Web/micro-services and IoC framework for Golang developers
- Host: GitHub
- URL: https://github.com/graniticio/granitic
- Owner: graniticio
- License: apache-2.0
- Created: 2016-07-25T11:23:29.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-02-05T11:11:59.000Z (12 months ago)
- Last Synced: 2024-11-17T12:27:50.059Z (2 months ago)
- Topics: application-framework, application-server, configuration-management, dependency-injection, devops, golang, inversion-of-control, ioc, iot, json, microservice, microservices, scheduler, validation, webservices, xml
- Language: Go
- Homepage: https://granitic.io/
- Size: 1.75 MB
- Stars: 35
- Watchers: 4
- Forks: 12
- Open Issues: 25
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Granitic
Granitic is a framework and lightweight application server for building and running web and micro services written in Go.
## Features
* A web service aware HTTP server with support for load-management and Identity Access Management (IAM) integration.
* A fully-featured Inversion of Control (IoC) container.
* A flexible and customisable request processing pipeline including:
* Full support for JSON and plain XML web services.
* Automatic binding of request bodies, query parameters and path parameters.
* Declarative, rule driven validation.
* A comprehensive error management system including full templating of all system and application error messages and
HTTP response code mapping.
* Component based error logging.
* Query management for data sources.
* RDMBS integration with an interface designed to promote more readable code.
* A flexible task schedulerAdditionally, Granitic is designed to be 'DevOps friendly' and offers:
* Fully externalised configuration, with support for configuration files stored locally or served over HTTP.
* Low memory footprint and fast startup times (compared to JVM/CLR equivalents).
* Runtime control of deployed applications (including suspension/resumption).
* Runtime control of log levels (e.g. temporarily enable debugging without restarts).
* Runtime monitoring and control of scheduled activities.## Getting started
Read and follow the [installation instructions](https://granitic.io/getting-started-installing-granitic)
then work through [the tutorials](https://granitic.io/tutorials/)The GoDoc for Granitic can be [found here](https://godoc.org/github.com/graniticio/granitic/v2)
Visit the [granitic.io](https://granitic.io) website to read the complete [reference manual](https://granitic.io/ref)
## Testing
Once you have followed the installation instructions, you can run Granitic's unit tests by running
```
cd $GRANITIC_HOME
go test ./...
```
## ContributingWe are always delighted to receive contributions from the community. Please read the
[Contributing](CONTRIBUTING.md) and [Code of Conduct](CODE_OF_CONDUCT.md) guides and
then have a look at the [open issues](https://github.com/graniticio/granitic/issues)## Get in touch
* Twitter: @GraniticIO
* Email: [email protected]