Skip to content

A unified adapter to support multiple protocols for message-producing and consuming from and to Memphis.dev stations

License

Notifications You must be signed in to change notification settings

superstreamlabs/memphis-protocol-adapter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MEMPHIS PROTOCOL ADAPTER

Structure of the repository

memphis-protocol-adapter
├── cmd
│   ├── protocol-adapter
│   │   ├── blocks.yaml
│   │   ├── config.json
│   │   └── main.go
│   ├── rest-gateway
│   │   ├── blocks.yaml
│   │   ├── config.json
│   │   └── main.go
│   └── syslog-adapter
│       ├── blocks.yaml
│       ├── config.json
│       └── main.go
├── go.mod
├── LICENSE
├── Makefile
├── pkg
│   ├── rest
│   │   ├── producer.go
│   │   └── receiver.go
│   ├── server
│   │   ├── config.go
│   │   ├── connector.go
│   │   └── logger.go
│   └── syslog
│       ├── producer.go
│       └── receiver.go
├── README.md
└── scripts

/cmd

Applications for this project:

  • syslog-adapter
  • rest-gateway
  • protocol-adapter

/cmd/syslog-adapter

Executable includes support for syslog (see blocks.yaml)

Blocks:
- Name: syslogreceiver
  Responsibility: syslogreceiver
- Name: syslogproducer
  Responsibility: syslogproducer

It includes 2 Blocks:

  • syslogreceiver - receives syslogs from the clients
    • implemented in pkg/syslog/receiver.go
  • syslogproducer - acts as memphis client, produces syslog events
    • implemented in pkg/syslog/producer.go

/cmd/rest-gateway

Executable includes support for REST-HTTP (see blocks.yaml)

Blocks:
- Name: restreceiver
  Responsibility: restreceiver
- Name: restproducer
  Responsibility: restproducer

It includes 2 Blocks:

  • restreceiver - receives HTTP REST requests from the clients
    • implemented in pkg/rest/receiver.go
  • restproducer - acts as memphis client
    • implemented in pkg/rest/producer.go

/cmd/protocol-adapter

Executable includes support for syslog and rest (see blocks.yaml)

Blocks:
- Name: syslogreceiver
  Responsibility: syslogreceiver
- Name: syslogproducer
  Responsibility: syslogproducer
- Name: restreceiver
  Responsibility: restreceiver
- Name: restproducer
  Responsibility: restproducer  

/pkg

Packages of the project

About

A unified adapter to support multiple protocols for message-producing and consuming from and to Memphis.dev stations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages