mirror of
https://github.com/chylex/Minecraft-Phantom-Panel.git
synced 2024-11-25 16:42:54 +01:00
Compare commits
2 Commits
d2e7fcd823
...
8911a2257a
Author | SHA1 | Date | |
---|---|---|---|
8911a2257a | |||
a1dec2f117 |
@ -81,7 +81,7 @@ sealed record LaunchInstanceProcedure(InstanceConfiguration Configuration, IServ
|
|||||||
}
|
}
|
||||||
|
|
||||||
context.SetStatus(InstanceStatus.Running);
|
context.SetStatus(InstanceStatus.Running);
|
||||||
context.ReportEvent(InstanceEvent.LaunchSucceded);
|
context.ReportEvent(InstanceEvent.LaunchSucceeded);
|
||||||
return launchSuccess.Process;
|
return launchSuccess.Process;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
namespace Phantom.Common.Data.Web.EventLog;
|
namespace Phantom.Common.Data.Web.EventLog;
|
||||||
|
|
||||||
public enum EventLogEventType {
|
public enum EventLogEventType {
|
||||||
InstanceLaunchSucceded,
|
InstanceLaunchSucceeded,
|
||||||
InstanceLaunchFailed,
|
InstanceLaunchFailed,
|
||||||
InstanceCrashed,
|
InstanceCrashed,
|
||||||
InstanceStopped,
|
InstanceStopped,
|
||||||
@ -12,7 +12,7 @@ public enum EventLogEventType {
|
|||||||
|
|
||||||
public static class EventLogEventTypeExtensions {
|
public static class EventLogEventTypeExtensions {
|
||||||
private static readonly Dictionary<EventLogEventType, EventLogSubjectType> SubjectTypes = new () {
|
private static readonly Dictionary<EventLogEventType, EventLogSubjectType> SubjectTypes = new () {
|
||||||
{ EventLogEventType.InstanceLaunchSucceded, EventLogSubjectType.Instance },
|
{ EventLogEventType.InstanceLaunchSucceeded, EventLogSubjectType.Instance },
|
||||||
{ EventLogEventType.InstanceLaunchFailed, EventLogSubjectType.Instance },
|
{ EventLogEventType.InstanceLaunchFailed, EventLogSubjectType.Instance },
|
||||||
{ EventLogEventType.InstanceCrashed, EventLogSubjectType.Instance },
|
{ EventLogEventType.InstanceCrashed, EventLogSubjectType.Instance },
|
||||||
{ EventLogEventType.InstanceStopped, EventLogSubjectType.Instance },
|
{ EventLogEventType.InstanceStopped, EventLogSubjectType.Instance },
|
||||||
|
@ -4,7 +4,7 @@ using Phantom.Common.Data.Backups;
|
|||||||
namespace Phantom.Common.Data.Instance;
|
namespace Phantom.Common.Data.Instance;
|
||||||
|
|
||||||
[MemoryPackable]
|
[MemoryPackable]
|
||||||
[MemoryPackUnion(0, typeof(InstanceLaunchSuccededEvent))]
|
[MemoryPackUnion(0, typeof(InstanceLaunchSucceededEvent))]
|
||||||
[MemoryPackUnion(1, typeof(InstanceLaunchFailedEvent))]
|
[MemoryPackUnion(1, typeof(InstanceLaunchFailedEvent))]
|
||||||
[MemoryPackUnion(2, typeof(InstanceCrashedEvent))]
|
[MemoryPackUnion(2, typeof(InstanceCrashedEvent))]
|
||||||
[MemoryPackUnion(3, typeof(InstanceStoppedEvent))]
|
[MemoryPackUnion(3, typeof(InstanceStoppedEvent))]
|
||||||
@ -14,7 +14,7 @@ public partial interface IInstanceEvent {
|
|||||||
}
|
}
|
||||||
|
|
||||||
[MemoryPackable(GenerateType.VersionTolerant)]
|
[MemoryPackable(GenerateType.VersionTolerant)]
|
||||||
public sealed partial record InstanceLaunchSuccededEvent : IInstanceEvent {
|
public sealed partial record InstanceLaunchSucceededEvent : IInstanceEvent {
|
||||||
public void Accept(IInstanceEventVisitor visitor) {
|
public void Accept(IInstanceEventVisitor visitor) {
|
||||||
visitor.OnLaunchSucceeded(this);
|
visitor.OnLaunchSucceeded(this);
|
||||||
}
|
}
|
||||||
@ -49,7 +49,7 @@ public sealed partial record InstanceBackupCompletedEvent([property: MemoryPackO
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static class InstanceEvent {
|
public static class InstanceEvent {
|
||||||
public static readonly IInstanceEvent LaunchSucceded = new InstanceLaunchSuccededEvent();
|
public static readonly IInstanceEvent LaunchSucceeded = new InstanceLaunchSucceededEvent();
|
||||||
public static readonly IInstanceEvent Crashed = new InstanceCrashedEvent();
|
public static readonly IInstanceEvent Crashed = new InstanceCrashedEvent();
|
||||||
public static readonly IInstanceEvent Stopped = new InstanceStoppedEvent();
|
public static readonly IInstanceEvent Stopped = new InstanceStoppedEvent();
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
namespace Phantom.Common.Data.Instance;
|
namespace Phantom.Common.Data.Instance;
|
||||||
|
|
||||||
public interface IInstanceEventVisitor {
|
public interface IInstanceEventVisitor {
|
||||||
void OnLaunchSucceeded(InstanceLaunchSuccededEvent e);
|
void OnLaunchSucceeded(InstanceLaunchSucceededEvent e);
|
||||||
void OnLaunchFailed(InstanceLaunchFailedEvent e);
|
void OnLaunchFailed(InstanceLaunchFailedEvent e);
|
||||||
void OnCrashed(InstanceCrashedEvent e);
|
void OnCrashed(InstanceCrashedEvent e);
|
||||||
void OnStopped(InstanceStoppedEvent e);
|
void OnStopped(InstanceStoppedEvent e);
|
||||||
|
@ -24,8 +24,8 @@ sealed partial class EventLogManager {
|
|||||||
this.instanceGuid = instanceGuid;
|
this.instanceGuid = instanceGuid;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnLaunchSucceeded(InstanceLaunchSuccededEvent e) {
|
public void OnLaunchSucceeded(InstanceLaunchSucceededEvent e) {
|
||||||
eventLogManager.EnqueueItem(eventGuid, utcTime, agentGuid, EventLogEventType.InstanceLaunchSucceded, instanceGuid.ToString());
|
eventLogManager.EnqueueItem(eventGuid, utcTime, agentGuid, EventLogEventType.InstanceLaunchSucceeded, instanceGuid.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnLaunchFailed(InstanceLaunchFailedEvent e) {
|
public void OnLaunchFailed(InstanceLaunchFailedEvent e) {
|
||||||
|
@ -7,8 +7,6 @@ ARG TARGETARCH
|
|||||||
ADD . /app
|
ADD . /app
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
RUN mkdir /data && chmod 777 /data
|
|
||||||
|
|
||||||
RUN dotnet publish PhantomPanel.sln \
|
RUN dotnet publish PhantomPanel.sln \
|
||||||
/p:DebugType=None \
|
/p:DebugType=None \
|
||||||
/p:DebugSymbols=false \
|
/p:DebugSymbols=false \
|
||||||
@ -23,6 +21,7 @@ RUN find .artifacts/publish/*/* -maxdepth 0 -execdir mv '{}' 'release' \;
|
|||||||
# +---------------------+
|
# +---------------------+
|
||||||
FROM mcr.microsoft.com/dotnet/nightly/runtime:8.0 AS phantom-agent
|
FROM mcr.microsoft.com/dotnet/nightly/runtime:8.0 AS phantom-agent
|
||||||
|
|
||||||
|
RUN mkdir /data && chmod 777 /data
|
||||||
WORKDIR /data
|
WORKDIR /data
|
||||||
|
|
||||||
COPY --from=eclipse-temurin:8-jre /opt/java/openjdk /opt/java/8
|
COPY --from=eclipse-temurin:8-jre /opt/java/openjdk /opt/java/8
|
||||||
@ -49,6 +48,7 @@ ENTRYPOINT ["dotnet", "/app/Phantom.Agent.dll"]
|
|||||||
# +--------------------------+
|
# +--------------------------+
|
||||||
FROM mcr.microsoft.com/dotnet/nightly/runtime:8.0 AS phantom-controller
|
FROM mcr.microsoft.com/dotnet/nightly/runtime:8.0 AS phantom-controller
|
||||||
|
|
||||||
|
RUN mkdir /data && chmod 777 /data
|
||||||
WORKDIR /data
|
WORKDIR /data
|
||||||
|
|
||||||
COPY --from=phantom-builder --chmod=755 /app/.artifacts/publish/Phantom.Controller/release /app
|
COPY --from=phantom-builder --chmod=755 /app/.artifacts/publish/Phantom.Controller/release /app
|
||||||
@ -61,6 +61,7 @@ ENTRYPOINT ["dotnet", "/app/Phantom.Controller.dll"]
|
|||||||
# +-------------------+
|
# +-------------------+
|
||||||
FROM mcr.microsoft.com/dotnet/nightly/aspnet:8.0 AS phantom-web
|
FROM mcr.microsoft.com/dotnet/nightly/aspnet:8.0 AS phantom-web
|
||||||
|
|
||||||
|
RUN mkdir /data && chmod 777 /data
|
||||||
WORKDIR /data
|
WORKDIR /data
|
||||||
|
|
||||||
COPY --from=phantom-builder --chmod=755 /app/.artifacts/publish/Phantom.Web/release /app
|
COPY --from=phantom-builder --chmod=755 /app/.artifacts/publish/Phantom.Web/release /app
|
||||||
|
Loading…
Reference in New Issue
Block a user