Skip to content
This repository was archived by the owner on Sep 3, 2024. It is now read-only.

Commit 9f3c341

Browse files
docker?
1 parent eabb74c commit 9f3c341

3 files changed

Lines changed: 23 additions & 80 deletions

File tree

src/Dockerfile

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
FROM microsoft/dotnet:2.1.301-sdk-alpine3.7 AS build
2+
WORKDIR /src
3+
4+
# copy csproj and restore as distinct layers
5+
COPY SqlStreamStore.HAL/*.csproj ./SqlStreamStore.HAL/
6+
COPY SqlStreamStore.HAL.DevServer/*.csproj ./SqlStreamStore.HAL.DevServer/
7+
8+
WORKDIR /src/SqlStreamStore.HAL.DevServer
9+
RUN dotnet restore
10+
11+
# copy everything else and build app
12+
WORKDIR /src
13+
COPY SqlStreamStore.HAL/. ./SqlStreamStore.HAL/
14+
COPY SqlStreamStore.HAL.DevServer/. ./SqlStreamStore.HAL.DevServer/
15+
WORKDIR /src/SqlStreamStore.HAL.DevServer
16+
RUN dotnet publish -c Release -o /build
17+
18+
FROM microsoft/dotnet:2.1.1-aspnetcore-runtime-alpine3.7 AS runtime
19+
EXPOSE 80
20+
WORKDIR /app
21+
COPY --from=build /build ./
22+
ENTRYPOINT ["dotnet", "SqlStreamStore.HAL.DevServer.dll"]

src/SqlStreamStore.HAL.DevServer/Program.cs

Lines changed: 1 addition & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -5,98 +5,22 @@
55
using System.Threading;
66
using System.Threading.Tasks;
77
using Microsoft.AspNetCore.Hosting;
8-
using SqlStreamStore.Streams;
98

109
internal static class Program
1110
{
12-
private static readonly Random s_random = new Random();
13-
private const int DefaultPort = 8001;
14-
1511
public static async Task<int> Main(string[] args)
1612
{
17-
if(!int.TryParse(args.FirstOrDefault(), out var port))
18-
{
19-
port = DefaultPort;
20-
}
21-
22-
var url = new UriBuilder { Port = port }.Uri.ToString();
23-
2413
using(var cts = new CancellationTokenSource())
2514
using(var streamStore = new InMemoryStreamStore())
2615
using(var host = new WebHostBuilder()
27-
.UseUrls(url)
2816
.UseKestrel()
2917
.UseStartup(new DevServerStartup(streamStore))
3018
.Build())
3119
{
32-
33-
var serverTask = host.RunAsync(cts.Token);
34-
35-
DisplayMenu(streamStore, url);
36-
37-
await serverTask;
20+
await host.RunAsync(cts.Token);
3821
}
3922

4023
return 0;
4124
}
42-
43-
private static void DisplayMenu(IStreamStore streamStore, string url)
44-
{
45-
while(true)
46-
{
47-
Console.WriteLine("Using stream store: {0}", streamStore.GetType().Name);
48-
Console.WriteLine("Press w to write 10 messages each to 100 streams");
49-
Console.WriteLine("Press t to write 100 messages each to 10 streams");
50-
Console.WriteLine("Press ESC to exit");
51-
52-
var key = Console.ReadKey();
53-
54-
switch(key.Key)
55-
{
56-
case ConsoleKey.Escape:
57-
return;
58-
case ConsoleKey.W:
59-
Write(streamStore, url, 10, 100);
60-
break;
61-
case ConsoleKey.T:
62-
Write(streamStore, url, 100, 10);
63-
break;
64-
default:
65-
Console.WriteLine("Computer says no");
66-
break;
67-
}
68-
}
69-
}
70-
71-
private static void Write(IStreamStore streamStore, string url, int messageCount, int streamCount)
72-
{
73-
var streams = Enumerable.Range(0, streamCount).Select(_ => $"test-{Guid.NewGuid():n}").ToList();
74-
75-
var streamIds = string.Join("\n", streams.Select(streamid => $"{url}streams/{streamid}"));
76-
77-
Console.WriteLine("\nAbout to create the following streams: ");
78-
Console.WriteLine(streamIds);
79-
80-
Task.Run(() => Task.WhenAll(
81-
from streamId in streams
82-
select streamStore.AppendToStream(streamId,
83-
ExpectedVersion.NoStream,
84-
GenerateMessages(messageCount))));
85-
}
86-
87-
private static NewStreamMessage[] GenerateMessages(int messageCount)
88-
{
89-
return Enumerable.Range(0, messageCount)
90-
.Select(_ => new NewStreamMessage(
91-
Guid.NewGuid(),
92-
"test",
93-
$@"{{ ""foo"": ""{Guid.NewGuid()}"", ""baz"": {{ }}, ""qux"": [ {
94-
string.Join(", ",
95-
Enumerable
96-
.Range(0, messageCount).Select(max => s_random.Next(max)))
97-
} ] }}",
98-
"{}"))
99-
.ToArray();
100-
}
10125
}
10226
}

src/SqlStreamStore.HAL/Constants.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
11
namespace SqlStreamStore.HAL
22
{
3-
using System.Collections.Generic;
4-
using System.Collections.ObjectModel;
5-
63
internal static class Constants
74
{
85
public static class Headers

0 commit comments

Comments
 (0)