Skip to content
This repository has been archived by the owner on Mar 8, 2023. It is now read-only.

Commit

Permalink
feat: consul
Browse files Browse the repository at this point in the history
  • Loading branch information
sysatom committed Jun 8, 2021
1 parent a263d3e commit 20bd755
Show file tree
Hide file tree
Showing 40 changed files with 434 additions and 364 deletions.
118 changes: 59 additions & 59 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,60 +1,60 @@
# Assistant Bot

![Build](https://github.com/tsundata/assistant/workflows/Build/badge.svg)
![CodeQL](https://github.com/tsundata/assistant/workflows/CodeQL/badge.svg)
![Lint](https://github.com/tsundata/assistant/workflows/Lint/badge.svg)
[![Go Report Card](https://goreportcard.com/badge/github.com/tsundata/assistant)](https://goreportcard.com/report/github.com/tsundata/assistant)
![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/tsundata/assistant)
![GitHub](https://img.shields.io/github/license/tsundata/assistant)

Assistant Bot is a workflow engine for chatbot

## Features

- Chat bot
- Message Publish/Subscribe Hub
- Message Cron, Trigger, Task, Pipeline
- Workflow Action ([Syntax](./doc/action_syntax.md))

## Architecture

<img src="./doc/architecture.png" alt="Architecture" align="center" width="100%" />

## Applications used

- Github
- Pocket
- Pushover
- Dropbox
- Slack
- Rollbar
- Email

## Requirements

This project requires Go 1.16 or newer

## Installation

- install MySQL, Redis, etcd, influx, jaeger, nats, xconf

- import sql files

- Configuration
```
cp ./configs/*.yml.example ./config/*.yml
```

- Build binary
```
make build
```

- Run
```
./dist/* -f configs/*.yml
```

# License

# Assistant Bot

![Build](https://github.com/tsundata/assistant/workflows/Build/badge.svg)
![CodeQL](https://github.com/tsundata/assistant/workflows/CodeQL/badge.svg)
![Lint](https://github.com/tsundata/assistant/workflows/Lint/badge.svg)
[![Go Report Card](https://goreportcard.com/badge/github.com/tsundata/assistant)](https://goreportcard.com/report/github.com/tsundata/assistant)
![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/tsundata/assistant)
![GitHub](https://img.shields.io/github/license/tsundata/assistant)

Assistant Bot is a workflow engine for chatbot

## Features

- Chat bot
- Message Publish/Subscribe Hub
- Message Cron, Trigger, Task, Pipeline
- Workflow Action ([Syntax](./doc/action_syntax.md))

## Architecture

<img src="./doc/architecture.png" alt="Architecture" align="center" width="100%" />

## Applications used

- Github
- Pocket
- Pushover
- Dropbox
- Slack
- Rollbar
- Email

## Requirements

This project requires Go 1.16 or newer

## Installation

- install MySQL, Redis, etcd, influx, jaeger, nats, consul

- import sql files

- Configuration
```
cp ./configs/*.yml.example ./config/*.yml
```

- Build binary
```
make build
```

- Run
```
./dist/* -f configs/*.yml
```

# License

Assistant Bot is licensed under the [MIT license](https://opensource.org/licenses/MIT).
7 changes: 6 additions & 1 deletion cmd/agent/redis/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,18 @@ import (
"github.com/tsundata/assistant/internal/pkg/app"
"github.com/tsundata/assistant/internal/pkg/config"
"github.com/tsundata/assistant/internal/pkg/logger"
"github.com/tsundata/assistant/internal/pkg/middleware/consul"
"github.com/tsundata/assistant/internal/pkg/middleware/influx"
"github.com/tsundata/assistant/internal/pkg/middleware/redis"
"github.com/tsundata/assistant/internal/pkg/vendors/rollbar"
)

func CreateApp() (*app.Application, error) {
appConfig := config.NewConfig()
c, err := consul.New()
if err != nil {
return nil, err
}
appConfig := config.NewConfig(c)

r := rollbar.New(appConfig)

Expand Down
7 changes: 6 additions & 1 deletion cmd/agent/server/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,17 @@ import (
"github.com/tsundata/assistant/internal/pkg/app"
"github.com/tsundata/assistant/internal/pkg/config"
"github.com/tsundata/assistant/internal/pkg/logger"
"github.com/tsundata/assistant/internal/pkg/middleware/consul"
"github.com/tsundata/assistant/internal/pkg/middleware/influx"
"github.com/tsundata/assistant/internal/pkg/vendors/rollbar"
)

func CreateApp() (*app.Application, error) {
appConfig := config.NewConfig()
c, err := consul.New()
if err != nil {
return nil, err
}
appConfig := config.NewConfig(c)

r := rollbar.New(appConfig)

Expand Down
2 changes: 2 additions & 0 deletions cmd/cron/wire.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import (
"github.com/tsundata/assistant/internal/pkg/app"
"github.com/tsundata/assistant/internal/pkg/config"
"github.com/tsundata/assistant/internal/pkg/logger"
"github.com/tsundata/assistant/internal/pkg/middleware/consul"
"github.com/tsundata/assistant/internal/pkg/middleware/etcd"
"github.com/tsundata/assistant/internal/pkg/middleware/influx"
"github.com/tsundata/assistant/internal/pkg/middleware/jaeger"
Expand All @@ -30,6 +31,7 @@ var providerSet = wire.NewSet(
redis.ProviderSet,
cron.ProviderSet,
rollbar.ProviderSet,
consul.ProviderSet,
)

func CreateApp() (*app.Application, error) {
Expand Down
13 changes: 9 additions & 4 deletions cmd/cron/wire_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions cmd/finance/wire.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"github.com/tsundata/assistant/internal/pkg/app"
"github.com/tsundata/assistant/internal/pkg/config"
"github.com/tsundata/assistant/internal/pkg/logger"
"github.com/tsundata/assistant/internal/pkg/middleware/consul"
"github.com/tsundata/assistant/internal/pkg/middleware/etcd"
"github.com/tsundata/assistant/internal/pkg/middleware/influx"
"github.com/tsundata/assistant/internal/pkg/middleware/jaeger"
Expand All @@ -30,6 +31,7 @@ var providerSet = wire.NewSet(
finance.ProviderSet,
mysql.ProviderSet,
rollbar.ProviderSet,
consul.ProviderSet,
)

func CreateApp() (*app.Application, error) {
Expand Down
13 changes: 9 additions & 4 deletions cmd/finance/wire_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions cmd/gateway/wire.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import (
"github.com/tsundata/assistant/internal/pkg/config"
"github.com/tsundata/assistant/internal/pkg/event"
"github.com/tsundata/assistant/internal/pkg/logger"
"github.com/tsundata/assistant/internal/pkg/middleware/consul"
"github.com/tsundata/assistant/internal/pkg/middleware/etcd"
"github.com/tsundata/assistant/internal/pkg/middleware/influx"
"github.com/tsundata/assistant/internal/pkg/middleware/jaeger"
Expand All @@ -36,6 +37,7 @@ var providerSet = wire.NewSet(
rollbar.ProviderSet,
nats.ProviderSet,
event.ProviderSet,
consul.ProviderSet,
)

func CreateApp() (*app.Application, error) {
Expand Down
13 changes: 9 additions & 4 deletions cmd/gateway/wire_gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions cmd/message/wire.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import (
"github.com/tsundata/assistant/internal/pkg/config"
"github.com/tsundata/assistant/internal/pkg/event"
"github.com/tsundata/assistant/internal/pkg/logger"
"github.com/tsundata/assistant/internal/pkg/middleware/consul"
"github.com/tsundata/assistant/internal/pkg/middleware/etcd"
"github.com/tsundata/assistant/internal/pkg/middleware/influx"
"github.com/tsundata/assistant/internal/pkg/middleware/jaeger"
Expand Down Expand Up @@ -38,6 +39,7 @@ var providerSet = wire.NewSet(
repository.ProviderSet,
nats.ProviderSet,
event.ProviderSet,
consul.ProviderSet,
)

func CreateApp() (*app.Application, error) {
Expand Down
Loading

0 comments on commit 20bd755

Please sign in to comment.