Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .env
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@
PROJECT_EXTERNAL_DNS_NAME_OR_IP=localhost

# The docker image version
DOCKER_IMAGE_TAG=5.0.0
DOCKER_IMAGE_TAG=6.0.0
4 changes: 2 additions & 2 deletions .github/workflows/build_and_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: Build test and pack

on:
push:
branches: [ main ]
branches: [ main, develop ]
pull_request:
branches: [ main ]
branches: [ main, develop ]

jobs:
build:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/dockerhub-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:
description: "Image Version"

# Default value if no value is explicitly provided
default: "5.0.0"
default: "6.0.0"

# Input has to be provided for the workflow to run
required: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/nuget-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:
description: "Packages Version"

# Default value if no value is explicitly provided
default: "5.0.0"
default: "6.0.0"

# Input has to be provided for the workflow to run
required: true
Expand Down
60 changes: 46 additions & 14 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,59 @@
### Changelog
# Changelog

All notable changes to this project will be documented in this file. Dates are displayed in UTC.
All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).

## [6.0.0-preview.2.0](https://github.com/Genocs/genocs-library/compare/v5.0.0-preview.4.0...6.0.0-preview.2.0) - 2024-07-19

### Merged

- Bump prometheus-net from 5.0.2 to 8.2.1 [`#54`](https://github.com/Genocs/genocs-library/pull/54)
- Bump System.IdentityModel.Tokens.Jwt from 7.0.3 to 7.1.2 in /src/Genocs.Auth [`#56`](https://github.com/Genocs/genocs-library/pull/56)
- Bump Polly from 8.2.0 to 8.2.1 [`#55`](https://github.com/Genocs/genocs-library/pull/55)
- Bump Microsoft.VisualStudio.Azure.Containers.Tools.Targets from 1.19.5 to 1.19.6 [`#53`](https://github.com/Genocs/genocs-library/pull/53)
- Bump Moq from 4.20.69 to 4.20.70 [`#52`](https://github.com/Genocs/genocs-library/pull/52)
- Net8 [`#35`](https://github.com/Genocs/genocs-library/pull/35)
- Bump Serilog.Sinks.Seq from 5.1.0 to 5.2.3 [`#21`](https://github.com/Genocs/genocs-library/pull/21)
- Bump Serilog.Sinks.ElasticSearch from 8.4.1 to 9.0.3 [`#18`](https://github.com/Genocs/genocs-library/pull/18)

### Commits

- Added documentation and more control over types [`3d4c17e`](https://github.com/Genocs/genocs-library/commit/3d4c17e0e501d9174160f01569d2523472085a04)
- Refactor configs and update docs across projects [`504fc40`](https://github.com/Genocs/genocs-library/commit/504fc40ee05a1ed6bc838a5b08195cb285feb8c1)
- Merge issues [`cc6c097`](https://github.com/Genocs/genocs-library/commit/cc6c097d28854b584d3df34f9dc3ea6c4be78db9)

## [v5.0.0-preview.4.0](https://github.com/Genocs/genocs-library/compare/v5.0.0-preview.3.0...v5.0.0-preview.4.0) - 2023-07-15

## [0.0.1](https://github.com/Genocs/telegram-integration/compare/v0.1.0...v0.1.1) (2023-06-02)
### Merged

### Features
- April 2023 [`#17`](https://github.com/Genocs/genocs-library/pull/17)
- Create ml.yml [`#14`](https://github.com/Genocs/genocs-library/pull/14)
- April 2023 [`#12`](https://github.com/Genocs/genocs-library/pull/12)
- April 2023 [`#11`](https://github.com/Genocs/genocs-library/pull/11)

- Added [editorconfig](https://editorconfig.org/)
- Added StyleCop
- Updated logo
- Updated readme
### Commits

### Bug Fixes
- Preview 4.x [`d619840`](https://github.com/Genocs/genocs-library/commit/d619840033c146a60bdb5fe6f37ea7e6e7ae5de7)
- Start removing legacy MongoDB legacy database [`f4ca960`](https://github.com/Genocs/genocs-library/commit/f4ca9609ef11ad550c789e05dbfd6c0984fa312b)
- Refactory to remove legacy Mongodb [`7accdcb`](https://github.com/Genocs/genocs-library/commit/7accdcba26edb9e38ebf0583966348f80a2d31b1)

*
## v5.0.0-preview.3.0 - 2023-05-13

### Documentation
### Merged

*
- March 2023 [`#9`](https://github.com/Genocs/genocs-library/pull/9)
- Create docker-image.yml [`#6`](https://github.com/Genocs/genocs-library/pull/6)
- Create nuget-deploy.yml [`#5`](https://github.com/Genocs/genocs-library/pull/5)
- Added explicitly build [`#3`](https://github.com/Genocs/genocs-library/pull/3)
- Develop [`#2`](https://github.com/Genocs/genocs-library/pull/2)
- Bump Microsoft.AspNetCore.Authentication.JwtBearer from 5.0.6 to 5.0.9 in /src/Genocs.Core.Demo.WebApi [`#1`](https://github.com/Genocs/genocs-library/pull/1)

### Dependencies
### Commits

*
- Added SignalR service [`8a6faee`](https://github.com/Genocs/genocs-library/commit/8a6faeef4c6c2dec473abb1e86fe55a9e24f87c5)
- Added template [`98884b0`](https://github.com/Genocs/genocs-library/commit/98884b034910bc8d4c912344fe2ce0f54b4e7aaa)
- Upated to net7 [`2cbc3f8`](https://github.com/Genocs/genocs-library/commit/2cbc3f8b6cefb5cfe153b3aba8a28d5f425804dc)
19 changes: 18 additions & 1 deletion Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,26 @@
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>

<AdditionalFiles Include="$(MSBuildThisFileDirectory)stylecop.json" Link="Properties\stylecop.json" />
<AdditionalFiles Include="$(MSBuildThisFileDirectory).editorconfig" Link="Properties\.editorconfig" />
</ItemGroup>

<!--
This Directory.Build.props files sets default properties that apply to all projects found in
this folder or subfolders, recursively.
-->
<PropertyGroup>
<!-- Enable Build Acceleration in Visual Studio. -->
<AccelerateBuildsInVisualStudio>true</AccelerateBuildsInVisualStudio>

<!--
If you target a framework earlier than .NET 5 (including .NET Framework and .NET Standard),
you should set ProduceReferenceAssembly to true in order to speed incremental builds.
If you multi-target and any target is before .NET 5, you need this.
Even if you target .NET 5 or later, having this property is fine.
-->
<ProduceReferenceAssembly>true</ProduceReferenceAssembly>
</PropertyGroup>

</Project>
80 changes: 46 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@

# Genocs .NET library

This repo contains a set of libraries designed by Genocs. The library is built on top of .NET8.
This repo contains a set of libraries to build LOB (Line Of Business) applications. The library is open source and built to be PRODUCTION READY. The library is built on top of .NET8, it is designed and maintained by Genocs.

Packages are available on [NuGet Genocs](https://www.nuget.org/profiles/gioema_nocco).

Expand All @@ -59,10 +59,16 @@ Building a software library to be cloud agnostic has several advantages. First,

The advantages of using containers are numerous. Containers provide a lightweight, portable, and isolated environment for applications to run in, allowing them to be easily moved between different systems. This makes it easier to deploy applications quickly and reliably across different environments. Additionally, containers can help reduce resource consumption by running multiple applications on the same host, as each container is isolated from the others. This helps to improve efficiency and scalability. Finally, containers provide an additional layer of security, as they are isolated from the underlying operating system and other applications.

## Documentation

You can find a useful documentation about how to use the library. The documentation contains the complete set of libraries, template, CLI that altogether make the *genocs ecosystem* a comprensive set of tools to build enterprise solutions.

Documentation available at [Genocs Blog](https://genocs-blog.netlify.app/library/)

## Infrastructure

In this section you can find the infrastructure components to setup the environment.
You will use ***Docker compose*** to setup the infrastructure components.
In this section you can find the infrastructure components you need to execute the solution. Infrastucture components are the database, the enterprice servise bus, the distributed logging, monitoring, tracing systems along with database and many more.
You can use **Docker compose** to setup the infrastructure components just by running few commands.


``` bash
Expand All @@ -83,31 +89,40 @@ docker compose -f ./infrastructure-elk.yml --env-file ./.env --project-name geno
docker compose -f ./infrastructure-ml.yml --env-file ./.env --project-name genocs up -d
```

`infrastructure-bare.yml` allows to install the basic infrastructure components. Basic components are the [RabbitMQ](https://rabbitmq.com), [Redis](https://redis.io), [Mongo](https://mongodb.com), [Postgres](https://www.postgresql.org/).
`infrastructure-bare.yml` allows to install the basic infrastructure components. They are:
- [RabbitMQ](https://rabbitmq.com)
- [Redis](https://redis.io)
- [MongoDB](https://mongodb.com)
- [Postgres](https://www.postgresql.org/).

You can run them locally:

- [rabbitmq](http://localhost:15672/)
- Redis
- MongoDb
- PostgreSQL
- [RabbitMQ](http://localhost:15672): `localhost:15672`
- Redis: `localhost:6379`
- MongoDB: `localhost:27017`
- Postgres: `localhost:5432`


`infrastructure-monitoring.yml` allows to install the monitoring infrastructure components.
`infrastructure-monitoring.yml` allows to install the monitoring infrastructure components. They are:
- [Prometheus](https://prometheus.io/)
- [Grafana](https://grafana.com/)
- [InfluxDB](https://www.influxdata.com/)
- [Jaeger](https://www.jaegertracing.io/)
- [Seq](https://datalust.co/seq)

Inside the file you can find:

- Prometheus
- Grafana
- influxdb
- jaeger
- seq
You can run them locally:

`infrastructure-scaling.yml` allows to install the scaling infrastructure components.
- [Prometheus](localhost:9090): `localhost:9090`
- [Grafana](localhost:3000): `localhost:3000`
- [InfluxDB](localhost:8086): `localhost:8086`
- [Jaeger](localhost:16686): `localhost:16686`
- [Seq](localhost:5341): `localhost:5341`

Inside the file you can find:

`infrastructure-scaling.yml` allows to install the scaling infrastructure components. They are:
- Fabio
- consul
- Consul

`infrastructure-security.yml` allows to install the security infrastructure components.

Expand Down Expand Up @@ -136,16 +151,8 @@ You can setup the application inside a Kubernetes cluster.
Check the repo [enterprise-containers](https://github.com/Genocs/enterprise-containers) to setup a Kubernetes cluster.
There you can find scripts, configuration files and documentation to setup a cluster from scratch.

## **Libraries**
You can find a full documentation on:
[**Documentation**](https://genocs-blog.netlify.app/library/)



## Support



Use [**api-workbench**](./api-workbench.rest) inside Visual Studio code with [REST Client](https://marketplace.visualstudio.com/items?itemName=humao.rest-client) plugin

## Configuration
Expand Down Expand Up @@ -260,7 +267,7 @@ Use [**api-workbench**](./api-workbench.rest) inside Visual Studio code with [RE
"enabled": false,
"endpoint": "/metrics"
},
"mongo": {
"mongodb": {
"connectionString": "mongodb://localhost:27017",
"database": "genocs-users-service",
"seed": false
Expand Down Expand Up @@ -335,6 +342,11 @@ Use [**api-workbench**](./api-workbench.rest) inside Visual Studio code with [RE
"header": "Certificate"
}
},
"azureKeyVault": {
"enabled": false,
"name": "gnx-keyvault",
"managedIdentityId": "secret",
},
"vault": {
"enabled": false,
"url": "http://localhost:8200",
Expand Down Expand Up @@ -371,7 +383,8 @@ Use [**api-workbench**](./api-workbench.rest) inside Visual Studio code with [RE
## Demo Application
Inside the library there is a simple demo application you can use to test the library.

Some commands
Following are the commands to build and run the demo application.

``` bash
# Build the solution
dotnet build
Expand Down Expand Up @@ -411,13 +424,11 @@ docker build -t genocs/demo-worker:2.0.0 -t genocs/demo-worker:latest -f ./demo-
docker push genocs/demo-worker:2.0.0
docker push genocs/demo-worker:latest
```

---
---

## Enterprise Application


Take a look inside **./src/apps** folder. There you can find a full-fledged application composed by:
Inside **./src/apps** folder you can find a full-fledged application composed by:
- ApiGateway
- Identity Service
- Order Service
Expand All @@ -426,6 +437,7 @@ Take a look inside **./src/apps** folder. There you can find a full-fledged appl

In that way you can test the entire flow.

**TODO**: Add a architecture diagram to show the components and how they interact with each other.

### How to BUILD & RUN the application

Expand Down Expand Up @@ -495,9 +507,9 @@ You can deploy Demo Application with one click in Heroku, Microsoft Azure, or Go

This project is licensed with the [MIT license](LICENSE).

## Changelogs
## Changelog

View Complete [Changelogs](https://github.com/Genocs/microservice-template/blob/main/CHANGELOGS.md).
View Complete [Changelog](https://github.com/Genocs/microservice-template/blob/main/CHANGELOG.md).

## Community

Expand Down
File renamed without changes.
2 changes: 0 additions & 2 deletions containers/infrastructure-bare.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
version: "3.9"

services:
rabbitmq:
image: masstransit/rabbitmq
Expand Down
2 changes: 0 additions & 2 deletions containers/infrastructure-elk.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
version: "3.9"

services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.3.2
Expand Down
2 changes: 0 additions & 2 deletions containers/infrastructure-ml.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
version: "3.9"

services:
image_labeling:
image: heartexlabs/label-studio:latest
Expand Down
2 changes: 0 additions & 2 deletions containers/infrastructure-monitoring.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
version: "3.9"

services:
grafana:
image: grafana/grafana
Expand Down
2 changes: 0 additions & 2 deletions containers/infrastructure-scaling.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
version: "3.9"

services:
consul:
image: hashicorp/consul
Expand Down
2 changes: 0 additions & 2 deletions containers/infrastructure-security.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
version: "3.9"

services:
vault:
image: hashicorp/vault
Expand Down
2 changes: 0 additions & 2 deletions containers/infrastructure-sqlserver.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
version: "3.9"

services:

sqlserver:
Expand Down
2 changes: 0 additions & 2 deletions demo-docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
version: '3.9'

services:
application.webapi:
image: genocs/demo-webapi:2.0.0
Expand Down
Loading