Skip to content

Commit 08a1450

Browse files
Ticket ##: Add docker file + start to create kubernetes file with ETCD discovery method
1 parent 2053281 commit 08a1450

File tree

29 files changed

+176
-92
lines changed

29 files changed

+176
-92
lines changed

EventMeshApiDockerFile

Lines changed: 0 additions & 10 deletions
This file was deleted.

EventMeshDockerFile

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
1-
FROM mcr.microsoft.com/dotnet/aspnet:5.0
1+
FROM mcr.microsoft.com/dotnet/aspnet:6.0
22

3-
COPY build/results/services/EventMeshServer/ App/
4-
ENV ASPNETCORE_URLS=http://*:5001
3+
COPY build/results/eventMeshService/ App/
54

6-
EXPOSE 5001
7-
EXPOSE 4000
5+
RUN apt-get update
6+
RUN apt-get --yes --force-yes install libc6-dev libsnappy-dev
7+
8+
EXPOSE 4000/udp
9+
EXPOSE 5672/tcp
10+
EXPOSE 2803/tcp
811

912
WORKDIR /App
1013

11-
ENTRYPOINT ["dotnet", "FaasNet.EventMesh.Runtime.Website.dll"]
14+
ENTRYPOINT ["dotnet", "FaasNet.EventMesh.Service.dll"]

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ For project documentation, please visit [docs](https://simpleidserver.github.io/
1010

1111
| Command | Description |
1212
| -------------------------- | --------------------------------------- |
13-
| psake publishWebsite | Publish website |
13+
| psake publishWebsite | Publish website |
1414
| psake publishDockerCI | Build and publish docker images |
1515
| psake packTemplate | Build template package |
1616

@@ -33,4 +33,10 @@ psake publishWebsite
3333

3434
```
3535
psake packTemplate
36-
```
36+
```
37+
38+
## Deploy EventMesh - Docker
39+
40+
psake publishDockerEventMeshService
41+
docker build -t eventmesh -f EventMeshDockerFile .
42+
docker run --name eventmesh -p 4000:4000/udp eventmesh

default.ps1

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -60,18 +60,16 @@ task publishDocker {
6060
exec { dotnet publish $source_dir\EventMesh\FaasNet.EventMesh.Runtime.Website\FaasNet.EventMesh.Runtime.Website.csproj -c $config -o $result_dir\services\EventMeshServer }
6161
}
6262

63-
task publishEventMeshPlugins {
64-
exec { dotnet publish $source_dir\EventMesh\FaasNet.EventMesh.Protocols.AMQP\FaasNet.EventMesh.Protocols.AMQP.csproj -c $config -o $result_dir\protocolPlugins\FaasNet.EventMesh.Protocols.AMQP }
65-
exec { dotnet publish $source_dir\EventMesh\FaasNet.EventMesh.Protocols.WebSocket\FaasNet.EventMesh.Protocols.WebSocket.csproj -c $config -o $result_dir\protocolPlugins\FaasNet.EventMesh.Protocols.WebSocket }
66-
exec { dotnet publish $source_dir\EventMesh\FaasNet.EventMesh.Sink.AMQP\FaasNet.EventMesh.Sink.AMQP.csproj -c $config -o $result_dir\sinkPlugins\FaasNet.EventMesh.Sink.AMQP }
67-
exec { dotnet publish $source_dir\EventMesh\FaasNet.EventMesh.Sink.Kafka\FaasNet.EventMesh.Sink.Kafka.csproj -c $config -o $result_dir\sinkPlugins\FaasNet.EventMesh.Sink.Kafka }
68-
exec { dotnet publish $source_dir\EventMesh\FaasNet.EventMesh.Sink.VpnBridge\FaasNet.EventMesh.Sink.VpnBridge.csproj -c $config -o $result_dir\sinkPlugins\FaasNet.EventMesh.Sink.VpnBridgea }
69-
exec { dotnet publish $source_dir\RaftConsensus\FaasNet.RaftConsensus.Discovery.Config\FaasNet.RaftConsensus.Discovery.Config.csproj -c $config -o $result_dir\discoveryPlugins\FaasNet.RaftConsensus.Discovery.Config }
70-
exec { dotnet publish $source_dir\RaftConsensus\FaasNet.RaftConsensus.Discovery.Etcd\FaasNet.RaftConsensus.Discovery.Etcd.csproj -c $config -o $result_dir\discoveryPlugins\FaasNet.RaftConsensus.Discovery.Etcd }
71-
}
72-
73-
task publishEventMeshService {
63+
task publishDockerEventMeshService {
64+
rd "$result_dir\eventMeshService" -recurse -force -ErrorAction SilentlyContinue | out-null
7465
exec { dotnet publish $source_dir\EventMesh\FaasNet.EventMesh.Service\FaasNet.EventMesh.Service.csproj -c $config -o $result_dir\eventMeshService }
66+
exec { dotnet publish $source_dir\EventMesh\FaasNet.EventMesh.Protocols.AMQP\FaasNet.EventMesh.Protocols.AMQP.csproj -c $config -o $result_dir\eventMeshService\protocolPlugins\FaasNet.EventMesh.Protocols.AMQP }
67+
exec { dotnet publish $source_dir\EventMesh\FaasNet.EventMesh.Protocols.WebSocket\FaasNet.EventMesh.Protocols.WebSocket.csproj -c $config -o $result_dir\eventMeshService\protocolPlugins\FaasNet.EventMesh.Protocols.WebSocket }
68+
exec { dotnet publish $source_dir\EventMesh\FaasNet.EventMesh.Sink.AMQP\FaasNet.EventMesh.Sink.AMQP.csproj -c $config -o $result_dir\eventMeshService\sinkPlugins\FaasNet.EventMesh.Sink.AMQP }
69+
exec { dotnet publish $source_dir\EventMesh\FaasNet.EventMesh.Sink.Kafka\FaasNet.EventMesh.Sink.Kafka.csproj -c $config -o $result_dir\eventMeshService\sinkPlugins\FaasNet.EventMesh.Sink.Kafka }
70+
exec { dotnet publish $source_dir\EventMesh\FaasNet.EventMesh.Sink.VpnBridge\FaasNet.EventMesh.Sink.VpnBridge.csproj -c $config -o $result_dir\eventMeshService\sinkPlugins\FaasNet.EventMesh.Sink.VpnBridgea }
71+
exec { dotnet publish $source_dir\RaftConsensus\FaasNet.RaftConsensus.Discovery.Config\FaasNet.RaftConsensus.Discovery.Config.csproj -c $config -o $result_dir\eventMeshService\discoveryPlugins\FaasNet.RaftConsensus.Discovery.Config }
72+
exec { dotnet publish $source_dir\RaftConsensus\FaasNet.RaftConsensus.Discovery.Etcd\FaasNet.RaftConsensus.Discovery.Etcd.csproj -c $config -o $result_dir\eventMeshService\discoveryPlugins\FaasNet.RaftConsensus.Discovery.Etcd }
7573
}
7674

7775
task publishEventMeshCLI {
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Architecture

docs/documentation/eventmesh/cli.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Command-line interface
22

3-
`FaasNet.EventMeshCTL.CLI.exe` is the CLI tool that ships with EventMeshServer. It supports a wide range of operations, mostly administrative in nature.
3+
`FaasNet.EventMeshCTL.CLI.exe` is the CLI tool that ships with EventMesh. It supports a wide range of operations, mostly administrative in nature.
44
This includes
55

66
* Access to cluster status.

docs/documentation/eventmesh/clustering.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# Clustering
22

3-
An EventMesh cluster is a logical grouping of one or several peers, each sharing Clients, Virtual Private Network, Sessions.
4-
Any node present in the cluster must be able to process any type of request such as: add VPN client, create subscription session.
3+
An EventMesh cluster is a logical grouping of one or several peer nodes, each sharing Clients, Virtual Private Network, Sessions.
4+
Any peer present in the cluster must be able to process any type of request such as: add VPN client, create subscription session.
55
Only queues are not replicated everywhere.
66

7-
Because queues are not replicated among all the nodes but only on a specific amount. The queue availability cannot be guaranteed on all the nodes.
7+
Because queues are not replicated among all the peers but only on a specific amount. The queue availability cannot be guaranteed on all the peers.
88

99
Two types of data can easily be identified:
1010
* Server data : data needed by a peer to process a request.

docs/documentation/eventmesh/concepts.md

Lines changed: 0 additions & 32 deletions
This file was deleted.
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# EventMesh glossary and concepts
2+
3+
## Peer node
4+
5+
A Peer Node is a communication endpoint capable of treating EventMesh, Raft and Gossip request.
6+
7+
Two or more Peers can form a cluster, they all share the same functionality.
8+
9+
## Cluster
10+
11+
A cluster network is two or more services working together for a common purpose.
12+
13+
These networks take advantage of the parallel processing power. In addition to the increased processing power, can also provide scalability, high availability and failover capabilities.
14+
15+
## Client
16+
17+
Any types of application that implement the EventMesh protocol.
18+
19+
A client is capable of sending and/or receiving messages.
20+
21+
## Session
22+
23+
A session is a communication channel established between one Peer Node and a client.
24+
25+
It is used to send and receive messages.
26+
27+
There are two kinds of session :
28+
* **Subscription** : Subscribe to one or more topics.
29+
* **Publish** : Publish one or more messages.
30+
31+
## Topic
32+
33+
Topic is a mean of classifying information.
34+
35+
## Message Virtual Private Network (VPN)
36+
37+
Allows for the segregation of topic space and clients. Message VPNs also group clients connecting to a network of event broker, such that messages published within a particular group are only visible to that group's clients.
38+
39+
## Message VPN bridge
40+
41+
Link two Message VPNs so that messages published to one message VPN that match the topic subscriptions set for the bridge are also delivered to the linked message VPN.
42+
43+
## CloudEvent
44+
45+
Specification for describing event data in a common way.
-63.5 KB
Binary file not shown.

0 commit comments

Comments
 (0)