Skip to content

Commit 86b6281

Browse files
authored
Build and publish remote MCP server to ghrc automatically (#2675)
1 parent fe65c40 commit 86b6281

4 files changed

Lines changed: 16 additions & 140 deletions

File tree

.github/workflows/build-mcp-lambda.yml

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

.github/workflows/deploy-mcp-lambda.yml

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

build/Targets.fs

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -107,23 +107,21 @@ let private runLocalContainer _ =
107107

108108
let private publishContainers _ =
109109

110-
let createImage project =
110+
let createImage projectPath containerName =
111111
let ci = Environment.environVarOrNone "GITHUB_ACTIONS"
112112
let pr = prNumber()
113-
let baseImageTag =
114-
match project with
115-
| _ -> "9.0-noble-chiseled-aot"
113+
let baseImageTag = "9.0-noble-chiseled-aot"
116114
let labels = imageTags()
117115
let args =
118-
["publish"; $"src/tooling/%s{project}/%s{project}.csproj"]
116+
["publish"; projectPath]
119117
@ [
120118
"/t:PublishContainer";
121119
"-p"; "DebugType=none";
122120
"-p"; $"ContainerBaseImage=mcr.microsoft.com/dotnet/nightly/runtime-deps:%s{baseImageTag}";
123121
"-p"; $"ContainerImageTags=\"%s{labels};%s{Software.Version.Normalize()}\""
124-
"-p"; $"ContainerRepository=elastic/%s{project}"
122+
"-p"; $"ContainerRepository=elastic/%s{containerName}"
125123
]
126-
124+
127125
let noPublish = Environment.environVarOrNone "DOCKER_NO_PUBLISH"
128126
let registry =
129127
match (ci, pr, noPublish) with
@@ -133,7 +131,8 @@ let private publishContainers _ =
133131
]
134132
| _ -> []
135133
exec { run "dotnet" (args @ registry) }
136-
createImage "docs-builder"
134+
createImage "src/tooling/docs-builder/docs-builder.csproj" "docs-builder"
135+
createImage "src/api/Elastic.Documentation.Mcp.Lambda/Elastic.Documentation.Mcp.Lambda.csproj" "docs-builder-mcp"
137136

138137
let private runTests (testSuite: TestSuite) _ =
139138
let testFilter =

src/api/Elastic.Documentation.Mcp.Lambda/Dockerfile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,12 @@ RUN arch=$TARGETARCH \
3232
&& echo $TARGETOS-$arch > /tmp/rid
3333

3434
RUN dotnet publish src/api/Elastic.Documentation.Mcp.Lambda -r linux-x64 -c Release
35+
36+
# Runtime stage for ECS Fargate deployment
37+
FROM public.ecr.aws/amazonlinux/amazonlinux:2023-minimal AS runtime
38+
WORKDIR /app
39+
COPY --from=base /app/.artifacts/publish/Elastic.Documentation.Mcp.Lambda/release_linux-x64/bootstrap /app/bootstrap
40+
RUN chmod +x /app/bootstrap
41+
EXPOSE 8080
42+
ENV ASPNETCORE_URLS=http://+:8080
43+
ENTRYPOINT ["/app/bootstrap"]

0 commit comments

Comments
 (0)