Initial curated ITWorx_MCP_Hub source from 368fba691ea8d23403b4d56b53b5ec670d7c5020
This commit is contained in:
commit
cb5be898ea
663 files changed
+82674
No files matched your search
@@ -0,0 +1,29 @@
|
||||
# syntax=docker/dockerfile:1.7
|
||||
FROM python:3.13.14-slim@sha256:6771159cd4fa5d9bba1258caf0b82e6b73458c694d178ad97c5e925c2d0e1a91
|
||||
|
||||
COPY infrastructure/images/install-base-security-updates.sh /tmp/install-base-security-updates.sh
|
||||
RUN sh /tmp/install-base-security-updates.sh \
|
||||
&& rm /tmp/install-base-security-updates.sh
|
||||
|
||||
ARG GIT_REVISION
|
||||
ARG SOURCE_DATE_EPOCH
|
||||
ARG BUILD_DATE
|
||||
|
||||
RUN groupadd --gid 10002 broker \
|
||||
&& useradd --uid 10002 --gid 10002 --create-home --shell /usr/sbin/nologin broker
|
||||
|
||||
COPY services/docker_read_broker /opt/broker/docker_read_broker
|
||||
COPY packages/__init__.py /opt/broker/packages/__init__.py
|
||||
COPY packages/hub_runtime /opt/broker/packages/hub_runtime
|
||||
RUN chown -R 10002:10002 /opt/broker
|
||||
|
||||
LABEL org.opencontainers.image.title="itworx-mcp-hub-docker-read-broker" \
|
||||
org.opencontainers.image.revision="${GIT_REVISION}" \
|
||||
org.opencontainers.image.source="https://gitea.example.com/jens/itworx-mcp-hub" \
|
||||
org.opencontainers.image.created="${BUILD_DATE}" \
|
||||
org.opencontainers.image.vendor="ITWorx"
|
||||
|
||||
WORKDIR /opt/broker
|
||||
USER 10002:10002
|
||||
EXPOSE 8080
|
||||
ENTRYPOINT ["python", "-m", "docker_read_broker.server"]
|
||||
@@ -0,0 +1,27 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import json
|
||||
from http import HTTPStatus
|
||||
from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer
|
||||
|
||||
|
||||
class BrokerHealthHandler(BaseHTTPRequestHandler):
|
||||
server_version = "ITWorxDockerReadBroker/0.1"
|
||||
|
||||
def do_GET(self) -> None: # noqa: N802
|
||||
if self.path != "/healthz":
|
||||
self.send_error(HTTPStatus.NOT_FOUND)
|
||||
return
|
||||
body = json.dumps({"status": "ok", "capability": "health-only-bootstrap"}).encode()
|
||||
self.send_response(HTTPStatus.OK)
|
||||
self.send_header("Content-Type", "application/json")
|
||||
self.send_header("Content-Length", str(len(body)))
|
||||
self.end_headers()
|
||||
self.wfile.write(body)
|
||||
|
||||
def log_message(self, _format: str, *_args: object) -> None:
|
||||
return
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
ThreadingHTTPServer(("0.0.0.0", 8080), BrokerHealthHandler).serve_forever() # noqa: S104
|
||||
Reference in new issue
Block a user