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
11 changes: 9 additions & 2 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,13 @@ jobs:
git diff --stat
exit 1
}

# Future: testing
- name: Install nemocheck external plugin dependencies
working-directory: ./plugins/examples/nemocheck
run: |
echo "Running nemocheck ext plugin tests.."
uv sync --all-groups
- name: Run nemocheck external plugin tests
working-directory: ./plugins/examples/nemocheck
run: uv run pytest tests

# - name: Test
4 changes: 4 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ deploy:

lint:
uv run ruff check --fix
uv run ruff format

redeploy: delete deploy

Expand All @@ -60,6 +61,9 @@ push_image_quay: build
all: build load redeploy
@echo "All done!"

port-forward-nemo:
kubectl port-forward -n istio-system service/nemo-guardrails-service 8000:8000

deploy_quay: IMAGE=quay.io/julian_stephen/$(IMAGE_PUSH)
deploy_quay:
$(CONTAINER_RUNTIME) pull $(IMAGE)
Expand Down
363 changes: 363 additions & 0 deletions plugins/examples/nemocheck/.dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,363 @@
# syntax=docker/dockerfile:1
#----------------------------------------------------------------------
# Docker Build Context Optimization
#
# This .dockerignore file excludes unnecessary files from the Docker
# build context to improve build performance and security.
#----------------------------------------------------------------------

#----------------------------------------------------------------------
# 1. Development and source directories (not needed in production)
#----------------------------------------------------------------------
agent_runtimes/
charts/
deployment/
docs/
deployment/k8s/
mcp-servers/
tests/
test/
attic/
*.md
.benchmarks/

# Development environment directories
.devcontainer/
.github/
.vscode/
.idea/

#----------------------------------------------------------------------
# 2. Version control
#----------------------------------------------------------------------
.git/
.gitignore
.gitattributes
.gitmodules

#----------------------------------------------------------------------
# 3. Python build artifacts and caches
#----------------------------------------------------------------------
# Byte-compiled files
__pycache__/
*.py[cod]
*.pyc
*$py.class

# C extensions
*.so

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

# PyInstaller
*.manifest
*.spec

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

# Translations
*.mo
*.pot

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

# Pyre type checker
.pyre/
.pytype/

# Cython debug symbols
cython_debug/

#----------------------------------------------------------------------
# 4. Virtual environments
#----------------------------------------------------------------------
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
.python37/
.python39/
.python-version

# PDM
pdm.lock
.pdm.toml
.pdm-python

#----------------------------------------------------------------------
# 5. Package managers and dependencies
#----------------------------------------------------------------------
# Node.js
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.npm
.yarn

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

#----------------------------------------------------------------------
# 6. Docker and container files (avoid recursive copies)
#----------------------------------------------------------------------
Dockerfile
Dockerfile.*
Containerfile
Containerfile.*
docker-compose.yml
docker-compose.*.yml
podman-compose*.yaml
.dockerignore

#----------------------------------------------------------------------
# 7. IDE and editor files
#----------------------------------------------------------------------
# JetBrains
.idea/
*.iml
*.iws
*.ipr

# VSCode
.vscode/
*.code-workspace

# Vim
*.swp
*.swo
*~

# Emacs
*~
\#*\#
.\#*

# macOS
.DS_Store
.AppleDouble
.LSOverride

#----------------------------------------------------------------------
# 8. Build tools and CI/CD configurations
#----------------------------------------------------------------------
# Testing configurations
.coveragerc
.pylintrc
.flake8
pytest.ini
tox.ini
.pytest.ini

# Linting and formatting
.hadolint.yaml
.pre-commit-config.yaml
.pycodestyle
.pyre_configuration
.pyspelling.yaml
.ruff.toml
.shellcheckrc

# Build configurations
Makefile
setup.cfg
pyproject.toml.bak
MANIFEST.in

# CI/CD
.travis.*
.gitlab-ci.yml
.circleci/
.github/
azure-pipelines.yml
Jenkinsfile

# Code quality
sonar-code.properties
sonar-project.properties
.scannerwork/
whitesource.config
.whitesource

# Other tools
.bumpversion.cfg
.editorconfig
mypy.ini

#----------------------------------------------------------------------
# 9. Application runtime files (should not be in image)
#----------------------------------------------------------------------
# Databases
*.db
*.sqlite
*.sqlite3
mcp.db
db.sqlite3

# Logs
*.log
logs/
log/

# Certificates and secrets
certs/
*.pem
*.key
*.crt
*.csr
.env
.env.*

# Generated files
public/
static/
media/

# Application instances
instance/
local_settings.py

#----------------------------------------------------------------------
# 10. Framework-specific files
#----------------------------------------------------------------------
# Django
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
media/

# Flask
instance/
.webassets-cache

# Scrapy
.scrapy

# Sphinx documentation
docs/_build/
docs/build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints
*.ipynb

# IPython
profile_default/
ipython_config.py

# celery
celerybeat-schedule
celerybeat.pid

# SageMath parsed files
*.sage.py

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

#----------------------------------------------------------------------
# 11. Backup and temporary files
#----------------------------------------------------------------------
*.bak
*.backup
*.tmp
*.temp
*.orig
*.rej
.backup/
backup/
tmp/
temp/

#----------------------------------------------------------------------
# 12. Documentation and miscellaneous
#----------------------------------------------------------------------
*.md
!README.md
LICENSE
CHANGELOG
AUTHORS
CONTRIBUTORS
TODO
TODO.md
DEVELOPING.md
CONTRIBUTING.md

# Spelling
.spellcheck-en.txt
*.dic

# Shell scripts (if not needed in container)
test.sh
scripts/test/
scripts/dev/

#----------------------------------------------------------------------
# 13. OS-specific files
#----------------------------------------------------------------------
# Windows
Thumbs.db
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/

# Linux
*~
.fuse_hidden*
.directory
.Trash-*
.nfs*

#----------------------------------------------------------------------
# End of .dockerignore
#----------------------------------------------------------------------
Loading