Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
[run]
branch = True

[report]
exclude_lines =
pragma: no cover
def __repr__
if self.debug
raise AssertionError
raise NotImplentedError
if 0:
if __name__ == .__main__.:

ignore_errors = True
2 changes: 2 additions & 0 deletions .darglint
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
[darglint]
docstring_style=google
174 changes: 174 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
node_modules
docs/
.vscode
certs
mcp.db
public/
# VENV
.python37/
.python39/

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# Bak
*.bak

# C extensions
*.so

# Distribution / packaging
.wily/
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py
db.sqlite3

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# IPython
profile_default/
ipython_config.py

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/
.dmypy.json
dmypy.json

# Mac junk
.DS_Store

# MYPY cache
.mypy_cache
.idea/

# Sonar
.scannerwork

# vim
*.swp
*,cover

# Development folders
.git/
attic/
docs/
test/
tests/

# Configuration files
.bumpversion.cfg
.coveragerc
.editorconfig
.flake8
.hadolint.yaml
.pre-commit-config.yaml
.pycodestyle
.pylintrc
.pyre_configuration
.pyspelling.yaml
.ruff.toml
.shellcheckrc
.spellcheck-en.txt
.travis.*
.whitesource
Makefile
mypi.ini
pytest.ini
sonar-code.properties
test.sh
tox.ini
whitesource.config

# Misc
TODO.md
DEVELOPING.md
45 changes: 45 additions & 0 deletions .env.ce.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
###############################################################################
# IBM Cloud Code Engine – deployment-only variables
# • Required *only* when you deploy MCP Gateway to IBM Cloud.
# • These keys are consumed by the Makefile / ibmcloud CLI and are **NOT**
# injected into the running container.
# • Copy this file to `.env.ce`, fill in real values, keep it out of Git.
###############################################################################

# ── Core IBM Cloud context ──────────────────────────────────────────────
# Region where your Code Engine project lives (e.g. us-south, eu-de, au-syd)
IBMCLOUD_REGION=us-south

# Resource group that owns the project (often “default”)
IBMCLOUD_RESOURCE_GROUP=default

# Code Engine project name
IBMCLOUD_PROJECT=my-codeengine-project

# Desired application name in Code Engine
IBMCLOUD_CODE_ENGINE_APP=mcpgateway


# ── Container image details ─────────────────────────────────────────────
# Fully-qualified tag in IBM Container Registry
IBMCLOUD_IMAGE_NAME=us.icr.io/myspace/mcpgateway:latest

# Local tag produced by `make podman` or `make docker`
IBMCLOUD_IMG_PROD=mcpgateway/mcpgateway


# ── Authentication ──────────────────────────────────────────────────────
# IAM API key for scripted logins.
# Leave **blank** if you prefer interactive SSO (`ibmcloud login --sso`)
IBMCLOUD_API_KEY=


# ── Compute sizing (must match a valid CPU/MEM combo) ───────────────────
# Reference table: https://cloud.ibm.com/docs/codeengine?topic=codeengine-mem-cpu-combo
IBMCLOUD_CPU=1
IBMCLOUD_MEMORY=4G


# ── Registry secret ─────────────────────────────────────────────────────
# Name for the pull secret Code Engine uses to fetch from ICR
IBMCLOUD_REGISTRY_SECRET=my-regcred
Loading