Skip to content

Commit 5dc4951

Browse files
feat: QP Conduit v0.1.0
Internal infrastructure layer for on-premises AI deployments. Tunnel gets you in. Conduit connects everything inside. Eight commands for DNS resolution, internal TLS, service routing, and hardware monitoring. Structured JSON audit logging with optional Capsule Protocol sealing.
0 parents  commit 5dc4951

38 files changed

+4670
-0
lines changed

.editorconfig

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# QP Conduit - EditorConfig
2+
# https://editorconfig.org
3+
4+
root = true
5+
6+
# Default for all files
7+
[*]
8+
charset = utf-8
9+
end_of_line = lf
10+
insert_final_newline = true
11+
trim_trailing_whitespace = true
12+
indent_style = space
13+
indent_size = 2
14+
15+
# Shell scripts
16+
[*.sh]
17+
indent_size = 2
18+
19+
# Makefile (requires tabs)
20+
[Makefile]
21+
indent_style = tab
22+
23+
# YAML
24+
[*.{yaml,yml}]
25+
indent_size = 2
26+
27+
# JSON
28+
[*.json]
29+
indent_size = 2
30+
31+
# Markdown
32+
[*.md]
33+
trim_trailing_whitespace = false
34+
indent_size = 2
35+
36+
# Caddyfile
37+
[Caddyfile]
38+
indent_style = tab
39+
40+
# dnsmasq configuration
41+
[*.conf]
42+
indent_size = 2

.env.conduit.example

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# QP Conduit Configuration
2+
# Copy to .env.conduit and customize as needed.
3+
#
4+
# Copyright 2026 Quantum Pipes Technologies, LLC
5+
# SPDX-License-Identifier: Apache-2.0
6+
7+
# Application name (used in paths and logs)
8+
# CONDUIT_APP_NAME=qp-conduit
9+
10+
# Base domain for service DNS entries (e.g., hub.qp.local)
11+
# CONDUIT_DOMAIN=qp.local
12+
13+
# Configuration directory
14+
# CONDUIT_CONFIG_DIR=$HOME/.config/qp-conduit
15+
16+
# DNS (dnsmasq) listen port
17+
# CONDUIT_DNS_PORT=53
18+
19+
# HTTPS reverse proxy listen port (Caddy)
20+
# CONDUIT_PROXY_PORT=443
21+
22+
# Caddy admin API port
23+
# CONDUIT_ADMIN_PORT=2019
24+
25+
# Upstream DNS server for non-Conduit queries
26+
# CONDUIT_UPSTREAM_DNS=1.1.1.1
27+
28+
# Caddy data directory (stores certificates, OCSP, etc.)
29+
# CONDUIT_CADDY_DATA=$CONDUIT_CONFIG_DIR/caddy-data
30+
31+
# Caddy config directory
32+
# CONDUIT_CADDY_CONFIG=$CONDUIT_CONFIG_DIR/caddy-config
33+
34+
# Path to generated Caddyfile
35+
# CONDUIT_CADDYFILE=$CONDUIT_CONFIG_DIR/Caddyfile
36+
37+
# Path to generated dnsmasq config
38+
# CONDUIT_DNSMASQ_CONF=$CONDUIT_CONFIG_DIR/dnsmasq.conf
39+
40+
# TLS certificates directory
41+
# CONDUIT_CERTS_DIR=$CONDUIT_CONFIG_DIR/certs

.github/CODEOWNERS

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# QP Conduit - Code Owners
2+
# These owners will be requested for review when someone opens a pull request.
3+
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
4+
5+
# Default owner for everything
6+
* @quantumpipes/maintainers
7+
8+
# Core library (security-critical)
9+
/lib/ @quantumpipes/maintainers
10+
11+
# Audit and cryptographic operations
12+
/lib/audit.sh @quantumpipes/maintainers
13+
14+
# Security and legal
15+
/SECURITY.md @quantumpipes/maintainers
16+
/PATENTS.md @quantumpipes/maintainers
17+
/LICENSE @quantumpipes/maintainers
18+
19+
# CI/CD
20+
/.github/workflows/ @quantumpipes/maintainers
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
---
2+
name: Bug Report
3+
about: Report a bug to help us improve QP Conduit
4+
title: '[BUG] '
5+
labels: bug
6+
assignees: ''
7+
---
8+
9+
## Description
10+
11+
A clear and concise description of the bug.
12+
13+
## Steps to Reproduce
14+
15+
1. Run `make conduit-setup`
16+
2. Run `make conduit-register NAME=myservice`
17+
3. See error
18+
19+
## Expected Behavior
20+
21+
What you expected to happen.
22+
23+
## Actual Behavior
24+
25+
What actually happened.
26+
27+
## Environment
28+
29+
- **OS**: [e.g., Ubuntu 24.04, Debian 12, Alpine 3.20]
30+
- **Bash version**: [e.g., 5.2.21]
31+
- **jq version**: [e.g., 1.7.1]
32+
- **QP Conduit version**: [from VERSION file]
33+
34+
## Logs
35+
36+
```
37+
Paste relevant logs here (redact any private keys or API tokens)
38+
```
39+
40+
## Audit Trail (if applicable)
41+
42+
If this bug involves an audit operation, include the relevant audit log entry:
43+
44+
```json
45+
Paste audit log entry here
46+
```
47+
48+
## Additional Context
49+
50+
Add any other context about the problem here.
51+
52+
## Checklist
53+
54+
- [ ] I have searched existing issues to ensure this is not a duplicate
55+
- [ ] I have included all relevant information above
56+
- [ ] I can reproduce this issue consistently
57+
- [ ] I have redacted all sensitive information (keys, tokens)

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Documentation
4+
url: https://github.com/quantumpipes/conduit/tree/main/docs
5+
about: Check the documentation before opening an issue
6+
- name: Security Vulnerability
7+
url: https://github.com/quantumpipes/conduit/security/advisories/new
8+
about: Report security vulnerabilities privately
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
name: Feature Request
3+
about: Suggest an idea for QP Conduit
4+
title: '[FEATURE] '
5+
labels: enhancement
6+
assignees: ''
7+
---
8+
9+
## Problem Statement
10+
11+
A clear and concise description of the problem or limitation you're experiencing.
12+
13+
Example: "I want to be able to [...] but currently [...]"
14+
15+
## Proposed Solution
16+
17+
A clear and concise description of what you want to happen.
18+
19+
## Alternatives Considered
20+
21+
A clear and concise description of any alternative solutions or features you've considered.
22+
23+
## Security Impact
24+
25+
Does this feature affect security in any way?
26+
27+
- [ ] This feature maintains the existing security model
28+
- [ ] This feature does not expose private keys or audit data
29+
- [ ] This feature respects input validation requirements
30+
31+
## Use Case
32+
33+
Describe your use case and how this feature would help.
34+
35+
```bash
36+
# Example showing how you'd use this feature
37+
make conduit-new-feature NAME=example
38+
```
39+
40+
## Additional Context
41+
42+
Add any other context, diagrams, or examples about the feature request here.
43+
44+
## Checklist
45+
46+
- [ ] I have searched existing issues to ensure this is not a duplicate
47+
- [ ] I have considered the security implications
48+
- [ ] I am willing to help implement this feature (optional)
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
name: Service Type Request
3+
about: Request support for a new service type or monitoring backend
4+
title: "[Service Type] "
5+
labels: enhancement, service-type
6+
assignees: ''
7+
---
8+
9+
## Service Type Name
10+
11+
Name of the service type or monitoring backend (e.g., Prometheus, Grafana, StatsD, custom health checker).
12+
13+
## Service Category
14+
15+
- [ ] Monitoring backend (metrics collection and alerting)
16+
- [ ] Health check provider (service availability verification)
17+
- [ ] Log aggregator (centralized log collection)
18+
- [ ] Container orchestrator (Docker/Podman/Kubernetes integration)
19+
- [ ] Other (describe below)
20+
21+
## Why This Service Type Matters
22+
23+
Explain the use case. Who benefits from this service type and why?
24+
25+
## API Documentation
26+
27+
Links to the service's API docs, CLI reference, or integration guides.
28+
29+
## Are You Willing to Implement It?
30+
31+
- [ ] Yes, I can submit a PR
32+
- [ ] I can help test but not implement
33+
- [ ] No, just requesting
34+
35+
## Security Considerations
36+
37+
- Does the service type require storing API keys or credentials?
38+
- Does it introduce any external network dependencies?
39+
- How does it handle authentication and key rotation?
40+
41+
## Additional Context
42+
43+
Any other context, diagrams, or examples about the service type request.
44+
45+
## Checklist
46+
47+
- [ ] I have searched existing issues to ensure this is not a duplicate
48+
- [ ] I have verified the service type has public documentation
49+
- [ ] I have considered the security implications

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
## Description
2+
3+
Brief description of the changes in this PR.
4+
5+
## Type of Change
6+
7+
- [ ] Bug fix (non-breaking change that fixes an issue)
8+
- [ ] New feature (non-breaking change that adds functionality)
9+
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
10+
- [ ] Documentation update
11+
- [ ] Refactoring (no functional changes)
12+
- [ ] Test addition or update
13+
14+
## Related Issue
15+
16+
Fixes #(issue number)
17+
18+
## Changes Made
19+
20+
- Change 1
21+
- Change 2
22+
- Change 3
23+
24+
## How Has This Been Tested?
25+
26+
Describe the tests you ran to verify your changes.
27+
28+
```bash
29+
# Commands used to test
30+
make test
31+
make test-smoke
32+
```
33+
34+
- [ ] Unit tests pass (`make test-unit`)
35+
- [ ] Integration tests pass (`make test-integration`)
36+
- [ ] Smoke tests pass (`make test-smoke`)
37+
- [ ] ShellCheck passes with no warnings
38+
39+
## Security Considerations
40+
41+
- [ ] No private keys are logged, leaked, or improperly permissioned
42+
- [ ] All inputs are validated against `[a-zA-Z0-9_-]`
43+
- [ ] No use of `eval`
44+
- [ ] Audit log is written for all state-changing operations
45+
- [ ] New files use `umask 077` for key material
46+
47+
## Documentation
48+
49+
- [ ] I have updated the README if adding commands or configuration
50+
- [ ] I have updated CRYPTO-NOTICE.md if changing cryptographic behavior
51+
- [ ] I have updated the CHANGELOG.md (if applicable)
52+
53+
## Checklist
54+
55+
- [ ] My code follows the project's style guidelines (`set -euo pipefail`, local vars, quoted expansions)
56+
- [ ] I have performed a self-review of my code
57+
- [ ] My changes generate no new ShellCheck warnings
58+
- [ ] I have added tests that prove my fix/feature works
59+
- [ ] New and existing tests pass locally with my changes

.github/dependabot.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "github-actions"
4+
directory: "/"
5+
schedule:
6+
interval: "weekly"
7+
labels:
8+
- "dependencies"
9+
- "ci"
10+
commit-message:
11+
prefix: "ci"

0 commit comments

Comments
 (0)