chore: initial open source release (v0.1.0)#1
Merged
sainathsapa merged 6 commits intomainfrom Apr 6, 2026
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PR: KeyNetra v0.1.0 Initial Release Hardening (Headless-First, API+CLI+Embedded)
Summary
This PR finalizes KeyNetra v0.1.0 as a production-ready, headless authorization platform that
works in three modes without UI dependency:
It also standardizes config-driven startup, policy/model file loading, admin login flow, Docker
runtime behavior, and terminal startup/log UX.
Why
To ensure KeyNetra can be operated in real environments where UI may not exist and can be integrated
into backend systems directly with stable API/CLI/embedded interfaces.
Scope
1) Headless engine and embedded usage
from keynetra import KeyNetraKeyNetra.from_config(...)load_policies(...)load_model(...)check_access(...)from keynetra.engine import KeyNetraEngineFiles
keynetra/__init__.pykeynetra/headless.pykeynetra/engine/__init__.pykeynetra/engine/keynetra_engine.py2) Config file loader (YAML/JSON/TOML)
--configflow.Files
keynetra/config/config_loader.pykeynetra/config/settings.pykeynetra/cli.py3) Policy/model file support
.yaml/.yml.json.polar.yaml/.yml.json.tomlFiles
keynetra/config/file_loaders.pykeynetra/api/main.py4) CLI extensions for headless operation
servestart(compat alias)checksimulateimpactcompile-policiesdoctorversionhelp-cliadmin-loginFiles
keynetra/cli.pykeynetra/version.py5) Admin login (username/password)
POST /admin/loginKEYNETRA_ADMIN_USERNAME+KEYNETRA_ADMIN_PASSWORDFiles
keynetra/api/routes/admin_auth.pykeynetra/config/admin_auth.pykeynetra/config/settings.pycontracts/openapi/keynetra-v0.1.0.yaml(parity update)6) Startup terminal UX + colored logs
pyfiglet(slant) + Rich layout.KEYNETRA_LOG_FORMAT=richKEYNETRA_FORCE_COLOR=1Files
keynetra/cli.pykeynetra/infrastructure/logging.py7) Docker runtime and compose modernization
docker-compose.yml(main stack)docker-compose.dev.yml(dev stack)Files
docker-compose.ymldocker-compose.dev.ymlDockerfileinfra/docker/start.sh.env.example8) Examples and operational config
Files
examples/keynetra.yamlexamples/auth-model.yamlexamples/policies/*examples/policy_tests.yamlAPI Changes
Added
POST /admin/loginConfirmed available
POST /check-accessPOST /check-access-batchPOST /simulatePOST /simulate-policyPOST /impact-analysisPOST /auth-modelGET /auth-modelPOST /aclGET /acl/{resource_type}/{resource_id}DELETE /acl/{acl_id}GET /metricsGET /healthGET /health/liveGET /health/readyBackward Compatibility
startcommand retained as alias forserve.Risk Assessment
Low/medium risk areas
Mitigations
Validation Performed
/admin/login.Release Checklist (v0.1.0)
pyproject.toml,keynetra/version.py, OpenAPI info)