Skip to content

Commit 859394c

Browse files
feat: prepare for open source release
Add comprehensive documentation and governance files: Documentation: - README.md: Complete project overview with architecture diagram - docs/ARCHITECTURE.md: Technical architecture and components - docs/THREAT_MODEL.md: Security threat analysis - docs/ROADMAP.md: Development phases and milestones - System Design.md: High-level system design Governance: - CODE_OF_CONDUCT.md: Community standards (Contributor Covenant) - CONTRIBUTING.md: Updated contribution guidelines - GOVERNANCE.md: Project decision-making process - MAINTAINERS.md: Maintainer list structure - SECURITY.md: Updated security policy - CHANGELOG.md: Version tracking (Keep a Changelog format) CI/CD & Quality: - .github/workflows/ci.yml: Build, test, lint, security scan - .github/workflows/security.yml: Daily security checks - .github/dependabot.yml: Automated dependency updates - .golangci.yml: Linter configuration - .gitignore: Exclude binaries and build artifacts Templates: - .github/ISSUE_TEMPLATE/bug_report.yml - .github/ISSUE_TEMPLATE/feature_request.yml - .github/PULL_REQUEST_TEMPLATE.md Cleanup: - Remove internal PERSON*_ files (52 files) - Remove internal Vietnamese design docs - Remove compiled binaries from git - Remove old internal docs and summaries This commit prepares ShieldX for public open source release with production-ready documentation, CI/CD pipelines, and community governance structure.
1 parent e6e997d commit 859394c

File tree

86 files changed

+1422
-32614
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

86 files changed

+1422
-32614
lines changed
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Bug Report
2+
description: Report a reproducible problem
3+
labels: [bug]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thanks for taking the time to file a bug.
9+
- type: input
10+
id: summary
11+
attributes:
12+
label: Summary
13+
placeholder: Short description
14+
validations:
15+
required: true
16+
- type: textarea
17+
id: steps
18+
attributes:
19+
label: Steps to Reproduce
20+
description: Provide exact steps
21+
placeholder: |
22+
1. ...
23+
2. ...
24+
validations:
25+
required: true
26+
- type: textarea
27+
id: expected
28+
attributes:
29+
label: Expected Behavior
30+
validations:
31+
required: true
32+
- type: textarea
33+
id: actual
34+
attributes:
35+
label: Actual Behavior / Logs
36+
- type: input
37+
id: version
38+
attributes:
39+
label: Version / Commit
40+
- type: dropdown
41+
id: severity
42+
attributes:
43+
label: Severity
44+
options: [low, medium, high, critical]
45+
- type: textarea
46+
id: env
47+
attributes:
48+
label: Environment
49+
placeholder: OS, Go version, Docker version, etc.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Feature Request
2+
description: Suggest an idea or enhancement
3+
labels: [enhancement]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: Thank you for helping improve the project.
8+
- type: input
9+
id: summary
10+
attributes:
11+
label: Summary
12+
validations:
13+
required: true
14+
- type: textarea
15+
id: motivation
16+
attributes:
17+
label: Motivation / Problem
18+
description: What problem does this solve?
19+
- type: textarea
20+
id: proposal
21+
attributes:
22+
label: Proposed Solution
23+
- type: textarea
24+
id: alternatives
25+
attributes:
26+
label: Alternatives Considered
27+
- type: textarea
28+
id: additional
29+
attributes:
30+
label: Additional Context / Dependencies

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
## Description
2+
Describe what this PR does and why.
3+
4+
## Type of Change
5+
- [ ] Bug fix
6+
- [ ] Feature
7+
- [ ] Breaking change
8+
- [ ] Security hardening
9+
- [ ] Documentation
10+
- [ ] Refactor / chore
11+
12+
## Checklist
13+
- [ ] Tests added / updated
14+
- [ ] `make lint` passes
15+
- [ ] `make test` (race) passes
16+
- [ ] CHANGELOG updated (user-visible change)
17+
- [ ] Docs updated (if needed)
18+
- [ ] No sensitive info added
19+
20+
## How Has This Been Tested?
21+
Explain test strategy.
22+
23+
## Security Considerations
24+
Explain any security impact.
25+
26+
## Screenshots / Logs (if UI or relevant)
27+
28+
## Follow-up Work
29+
Optional: list future tasks.

.github/dependabot.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: "github-actions"
4+
directory: "/"
5+
schedule:
6+
interval: "daily"
7+
- package-ecosystem: "gomod"
8+
directory: "/"
9+
schedule:
10+
interval: "daily"
11+
- package-ecosystem: "docker"
12+
directory: "/docker"
13+
schedule:
14+
interval: "weekly"

.github/workflows/ci.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
name: CI
2+
3+
on:
4+
pull_request:
5+
branches: [ main ]
6+
push:
7+
branches: [ main ]
8+
9+
permissions:
10+
contents: read
11+
12+
jobs:
13+
build-test:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- uses: actions/checkout@v4
17+
- name: Set up Go
18+
uses: actions/setup-go@v5
19+
with:
20+
go-version-file: go.mod
21+
- name: Cache Go Build
22+
uses: actions/cache@v4
23+
with:
24+
path: |
25+
~/go/pkg/mod
26+
~/.cache/go-build
27+
key: go-${{ runner.os }}-${{ hashFiles('**/go.sum') }}
28+
restore-keys: |
29+
go-${{ runner.os }}-
30+
- name: Verify Modules
31+
run: go mod tidy && git diff --exit-code || (echo 'Run go mod tidy' && exit 1)
32+
- name: Lint
33+
uses: golangci/golangci-lint-action@v6
34+
with:
35+
version: latest
36+
args: --timeout=5m
37+
- name: Build
38+
run: go build ./...
39+
- name: Run Tests (race + coverage)
40+
run: |
41+
go test -race -coverprofile=coverage.out ./...
42+
- name: Upload Coverage Artifact
43+
uses: actions/upload-artifact@v4
44+
with:
45+
name: coverage
46+
path: coverage.out
47+
- name: Govulncheck
48+
uses: golang/govulncheck-action@v1
49+
with:
50+
go-version-file: go.mod
51+
args: ./...

.github/workflows/security.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Security Scans
2+
3+
on:
4+
schedule:
5+
- cron: '0 3 * * *'
6+
workflow_dispatch:
7+
pull_request:
8+
paths:
9+
- '**/*.go'
10+
- 'go.mod'
11+
- 'go.sum'
12+
13+
permissions:
14+
contents: read
15+
security-events: write
16+
17+
jobs:
18+
static-analysis:
19+
runs-on: ubuntu-latest
20+
steps:
21+
- uses: actions/checkout@v4
22+
- uses: actions/setup-go@v5
23+
with:
24+
go-version-file: go.mod
25+
- name: Govulncheck
26+
uses: golang/govulncheck-action@v1
27+
with:
28+
go-version-file: go.mod
29+
args: ./...
30+
- name: Install gosec
31+
run: go install github.com/securego/gosec/v2/cmd/gosec@latest
32+
- name: Run gosec
33+
run: gosec -no-fail -fmt sarif -out gosec.sarif ./...
34+
- name: Upload SARIF
35+
uses: github/codeql-action/upload-sarif@v3
36+
with:
37+
sarif_file: gosec.sarif
38+
dependency-review:
39+
runs-on: ubuntu-latest
40+
steps:
41+
- uses: actions/checkout@v4
42+
- uses: actions/dependency-review-action@v4

.gitignore

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
# Binaries for programs and plugins
2+
*.exe
3+
*.exe~
4+
*.dll
5+
*.so
6+
*.dylib
7+
8+
# Test binary, built with `go test -c`
9+
*.test
10+
11+
# Output of the go coverage tool, specifically when used with LiteIDE
12+
*.out
13+
14+
# Go workspace file
15+
go.work
16+
17+
# Compiled binaries (built locally, should be rebuilt from source)
18+
/guardian
19+
/ingress
20+
/orchestrator
21+
/locator
22+
/ml-orchestrator
23+
/policy-rollout
24+
/policyctl
25+
/verifier-pool
26+
27+
# Build artifacts
28+
/bin/
29+
/dist/
30+
/build/
31+
32+
# Temporary files
33+
*.tmp
34+
*.swp
35+
*.swo
36+
*~
37+
.DS_Store
38+
39+
# IDE and editor files
40+
.vscode/
41+
.idea/
42+
*.iml
43+
*.code-workspace
44+
45+
# Environment and secrets
46+
.env
47+
.env.local
48+
*.key
49+
*.pem
50+
*.crt
51+
*.p12
52+
*.jks
53+
secrets/
54+
credentials/
55+
56+
# Database files
57+
*.db
58+
*.sqlite
59+
*.sqlite3
60+
61+
# Logs
62+
*.log
63+
logs/
64+
/data/logs/
65+
66+
# Dependencies
67+
vendor/
68+
69+
# Docker volumes and data
70+
/data/postgres/
71+
/data/redis/
72+
/data/prometheus/
73+
/data/grafana/
74+
75+
# OS generated files
76+
Thumbs.db
77+
ehthumbs.db
78+
Desktop.ini
79+
80+
# Test coverage
81+
coverage.txt
82+
coverage.html
83+
*.coverprofile
84+
85+
# Terraform
86+
.terraform/
87+
*.tfstate
88+
*.tfstate.*
89+
*.tfvars
90+
.terraform.lock.hcl
91+
92+
# Kubernetes secrets
93+
*-secret.yaml
94+
*-secrets.yaml
95+
96+
# Development databases
97+
postgres_data/
98+
redis_data/
99+
100+
# Backup files
101+
*.bak
102+
*.backup
103+
104+
# Personal notes (if any developer keeps local notes)
105+
TODO.md
106+
NOTES.md
107+
*_LOCAL.md
108+
*_PERSONAL.md

.golangci.yml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
run:
2+
timeout: 5m
3+
tests: true
4+
skip-dirs:
5+
- dist
6+
7+
linters:
8+
enable:
9+
- govet
10+
- gosec
11+
- staticcheck
12+
- gosimple
13+
- unused
14+
- errcheck
15+
- ineffassign
16+
- misspell
17+
- revive
18+
disable:
19+
- depguard
20+
21+
linters-settings:
22+
misspell:
23+
locale: US
24+
revive:
25+
confidence: 0.8
26+
severity: warning
27+
28+
issues:
29+
exclude-use-default: false
30+
max-per-linter: 0
31+
max-same-issues: 0
32+
exclude-rules:
33+
- path: _test.go
34+
linters: [gosec]
35+
reason: Security checks often noisy in tests

CHANGELOG.md

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
Format: Keep a Changelog (https://keepachangelog.com), and Semantic Versioning once stable.
6+
7+
## [Unreleased]
8+
### Added
9+
- Initial open-source readiness: governance, code of conduct, issue/pr templates, CI & security workflows, architecture & threat model docs.
10+
11+
### Changed
12+
- Replaced placeholder README with comprehensive overview.
13+
14+
### Security
15+
- Baseline security scanning workflow established.
16+
17+
## [0.1.0] - YYYY-MM-DD
18+
Initial internal prototype (tag retroactive when released).

0 commit comments

Comments
 (0)