Publish curated ITWorx_MCP_Hub source from 931c7aca4392dc771dad004a65d54f2b1c430c37
This commit is contained in:
1 parent
f26354e16c
commit
77946d62c4
3 files changed
+15
-5
No files matched your search
@@ -1,3 +1,3 @@
|
|||||||
# Public source export
|
# Public source export
|
||||||
|
|
||||||
This source snapshot was generated from the private canonical repository at revision `9ec6419178e8ddc76a698e84bde72d5ff4472411`. It contains no private Git history or operational evidence. Changes are published from the canonical repository.
|
This source snapshot was generated from the private canonical repository at revision `931c7aca4392dc771dad004a65d54f2b1c430c37`. It contains no private Git history or operational evidence. Changes are published from the canonical repository.
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"schemaVersion": 1,
|
"schemaVersion": 1,
|
||||||
"sourceRevision": "9ec6419178e8ddc76a698e84bde72d5ff4472411",
|
"sourceRevision": "931c7aca4392dc771dad004a65d54f2b1c430c37",
|
||||||
"files": [
|
"files": [
|
||||||
{
|
{
|
||||||
"path": ".dockerignore",
|
"path": ".dockerignore",
|
||||||
@@ -24,8 +24,8 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "README.md",
|
"path": "README.md",
|
||||||
"sha256": "c28e62e042725efa4fd8421d596b2f779d5b9cfe4eab0ef36a6f43f9c7f2ea4f",
|
"sha256": "6904a3e448be6e2952d01445d0c78d4b62f6a7184d56a36e7fc86679f4abea86",
|
||||||
"bytes": 4528
|
"bytes": 5374
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "SECURITY.md",
|
"path": "SECURITY.md",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ flowchart LR
|
|||||||
|
|
||||||
## Deployment
|
## Deployment
|
||||||
|
|
||||||
Requirements: Docker with Compose, Python 3.13, Node.js 24 and pnpm 10.33. The production stack is intentionally configuration-driven and has no universal one-command public demo.
|
Container deployment requires Docker with Compose, configured images and external services. Source development/build tooling uses Python 3.13, Node.js 24 and pnpm 10.33. The production stack is intentionally configuration-driven and has no universal one-command public demo.
|
||||||
|
|
||||||
1. Copy `infrastructure/compose/.env.example` to an untracked `.env` in that directory.
|
1. Copy `infrastructure/compose/.env.example` to an untracked `.env` in that directory.
|
||||||
2. Replace every `REPLACE_*` input: dedicated host paths, bind addresses, OIDC issuer/client settings, project/resource bindings and immutable owned image references.
|
2. Replace every `REPLACE_*` input: dedicated host paths, bind addresses, OIDC issuer/client settings, project/resource bindings and immutable owned image references.
|
||||||
@@ -51,6 +51,16 @@ External OIDC, registries and connector services are operator-supplied dependenc
|
|||||||
|
|
||||||
See [Client onboarding](docs/04-mcp/CLIENT_ONBOARDING.md) and [Security invariants](docs/02-security/SECURITY_INVARIANTS.md). A visible tool is not authorization to use it: project, environment, resource identity and caller privileges are checked independently. Report issues privately according to [SECURITY.md](SECURITY.md).
|
See [Client onboarding](docs/04-mcp/CLIENT_ONBOARDING.md) and [Security invariants](docs/02-security/SECURITY_INVARIANTS.md). A visible tool is not authorization to use it: project, environment, resource identity and caller privileges are checked independently. Report issues privately according to [SECURITY.md](SECURITY.md).
|
||||||
|
|
||||||
|
## Onboard one client before expanding access
|
||||||
|
|
||||||
|
1. Register one project, environment and client identity with explicit resource bindings.
|
||||||
|
2. Configure only the connector required for that use case and inspect its readiness.
|
||||||
|
3. Discover the client's permitted tools and invoke one bounded read operation.
|
||||||
|
4. Check the corresponding policy decision and audit attribution.
|
||||||
|
5. Confirm that an out-of-scope request is denied before granting additional capabilities.
|
||||||
|
|
||||||
|
Tool discovery, connector reachability and authorization are separate checks. An empty tool list can reflect missing bindings or denied scope; it is not a reason to grant global access. Preserve database state, external secret files and the deployment configuration together for recovery.
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
Python dependencies are locked by `uv.lock`; Node workspaces are locked by `pnpm-lock.yaml`. Tests cover authorization, contracts and runtime behavior. Canonical `python scripts/verify.py` additionally checks private design/evidence metadata; that complete archival gate belongs to the private repository. For public source development, install locked dependencies and run the relevant unit/integration tests and `apps/web` build. Integration/browser tests require their documented external services.
|
Python dependencies are locked by `uv.lock`; Node workspaces are locked by `pnpm-lock.yaml`. Tests cover authorization, contracts and runtime behavior. Canonical `python scripts/verify.py` additionally checks private design/evidence metadata; that complete archival gate belongs to the private repository. For public source development, install locked dependencies and run the relevant unit/integration tests and `apps/web` build. Integration/browser tests require their documented external services.
|
||||||
|
|||||||
Reference in new issue
Block a user