From d77c91a46dffae8ca93858d1fe753353fed79a3e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 15 Nov 2025 11:36:57 +0000 Subject: [PATCH 1/2] Initial plan From b7efabdc3d790dfe02c9d8b6a57ec42adb058fcb Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 15 Nov 2025 11:45:27 +0000 Subject: [PATCH 2/2] Create complete organization profile with security-first branding and templates Co-authored-by: anrysys <1523609+anrysys@users.noreply.github.com> --- .github/FUNDING.yml | 13 + .github/ISSUE_TEMPLATE/bug_report.yml | 124 ++++++++ .github/ISSUE_TEMPLATE/config.yml | 14 + .github/ISSUE_TEMPLATE/documentation.yml | 93 ++++++ .github/ISSUE_TEMPLATE/feature_request.yml | 143 +++++++++ .github/ISSUE_TEMPLATE/security_issue.yml | 108 +++++++ .github/pull_request_template.md | 105 ++++++ CODE_OF_CONDUCT.md | 135 ++++++++ CONTRIBUTING.md | 299 ++++++++++++++++++ LICENSE | 176 +++++++++++ README.md | 90 +++++- SECURITY.md | 214 +++++++++++++ SUPPORT.md | 243 ++++++++++++++ profile/README.md | 56 ++++ workflow-templates/k8s-deploy.properties.json | 7 + workflow-templates/k8s-deploy.yml | 224 +++++++++++++ workflow-templates/rust-ci.properties.json | 7 + workflow-templates/rust-ci.yml | 197 ++++++++++++ .../security-scan.properties.json | 7 + workflow-templates/security-scan.yml | 217 +++++++++++++ 20 files changed, 2471 insertions(+), 1 deletion(-) create mode 100644 .github/FUNDING.yml create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/documentation.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/ISSUE_TEMPLATE/security_issue.yml create mode 100644 .github/pull_request_template.md create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 LICENSE create mode 100644 SECURITY.md create mode 100644 SUPPORT.md create mode 100644 profile/README.md create mode 100644 workflow-templates/k8s-deploy.properties.json create mode 100644 workflow-templates/k8s-deploy.yml create mode 100644 workflow-templates/rust-ci.properties.json create mode 100644 workflow-templates/rust-ci.yml create mode 100644 workflow-templates/security-scan.properties.json create mode 100644 workflow-templates/security-scan.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..0459b07 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,13 @@ +# These are supported funding model platforms + +github: [] # Add GitHub Sponsors username(s) +patreon: # Add Patreon username +open_collective: # Add Open Collective project +ko_fi: # Add Ko-fi username +tidelift: # Add Tidelift package-manager/package-name +community_bridge: # Add Community Bridge project name +liberapay: # Add Liberapay username +issuehunt: # Add IssueHunt username +otechie: # Add Otechie username +lfx_crowdfunding: # Add LFX Crowdfunding project name +custom: [] # Add custom funding links diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 0000000..d769561 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,124 @@ +name: πŸ› Bug Report +description: Report a bug or unexpected behavior +title: "[Bug]: " +labels: ["bug", "triage"] +assignees: [] + +body: + - type: markdown + attributes: + value: | + Thanks for taking the time to report a bug! Please fill out the information below to help us resolve the issue. + + - type: checkboxes + id: pre-check + attributes: + label: Pre-submission Checklist + options: + - label: I have searched existing issues to ensure this bug hasn't been reported + required: true + - label: I am using the latest version + required: true + - label: This is not a security vulnerability (use Security Policy instead) + required: true + + - type: textarea + id: description + attributes: + label: Bug Description + description: A clear and concise description of the bug + placeholder: What went wrong? + validations: + required: true + + - type: textarea + id: expected + attributes: + label: Expected Behavior + description: What should happen? + placeholder: Describe the expected behavior + validations: + required: true + + - type: textarea + id: actual + attributes: + label: Actual Behavior + description: What actually happened? + placeholder: Describe what actually happened + validations: + required: true + + - type: textarea + id: reproduction + attributes: + label: Steps to Reproduce + description: Step-by-step instructions to reproduce the bug + placeholder: | + 1. + 2. + 3. + value: | + 1. + 2. + 3. + validations: + required: true + + - type: textarea + id: environment + attributes: + label: Environment + description: Provide details about your environment + value: | + - OS: [e.g., Ubuntu 22.04] + - Rust Version: [e.g., 1.75.0] + - Project Version: [e.g., 0.1.0] + - Kubernetes Version (if applicable): [e.g., 1.28] + validations: + required: true + + - type: textarea + id: logs + attributes: + label: Relevant Logs/Errors + description: Paste any relevant logs or error messages + render: shell + placeholder: Paste logs here + + - type: textarea + id: minimal-example + attributes: + label: Minimal Reproducible Example + description: If possible, provide a minimal code example that reproduces the issue + render: rust + placeholder: | + fn main() { + // Your code here + } + + - type: dropdown + id: severity + attributes: + label: Severity + description: How severe is this bug? + options: + - Critical (system crash, data loss) + - High (major feature broken) + - Medium (feature partially broken) + - Low (minor issue, workaround available) + validations: + required: true + + - type: textarea + id: additional + attributes: + label: Additional Context + description: Any other context, screenshots, or information about the bug + + - type: checkboxes + id: volunteer + attributes: + label: Contribution + options: + - label: I would like to work on fixing this bug diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..30d8be3 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,14 @@ +blank_issues_enabled: false +contact_links: + - name: πŸ’¬ GitHub Discussions + url: https://github.com/orgs/guardyn/discussions + about: Ask questions and discuss ideas with the community + - name: πŸ”’ Security Vulnerability + url: https://github.com/guardyn/.github/blob/main/SECURITY.md + about: Report security vulnerabilities privately (DO NOT use public issues) + - name: πŸ“– Documentation + url: https://github.com/guardyn + about: Read the documentation + - name: πŸ’Ό Enterprise Support + url: mailto:enterprise@guardyn.io + about: Contact us for enterprise support options diff --git a/.github/ISSUE_TEMPLATE/documentation.yml b/.github/ISSUE_TEMPLATE/documentation.yml new file mode 100644 index 0000000..7eb2cc8 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/documentation.yml @@ -0,0 +1,93 @@ +name: πŸ“š Documentation Issue +description: Report an issue with documentation or suggest improvements +title: "[Docs]: " +labels: ["documentation", "triage"] +assignees: [] + +body: + - type: markdown + attributes: + value: | + Thanks for helping us improve our documentation! + + - type: checkboxes + id: pre-check + attributes: + label: Pre-submission Checklist + options: + - label: I have searched existing issues + required: true + + - type: dropdown + id: doc-type + attributes: + label: Documentation Type + description: What type of documentation is affected? + options: + - README + - API documentation + - Code comments + - Contributing guide + - Security policy + - Architecture documentation + - Tutorial/Guide + - Examples + - Other + validations: + required: true + + - type: dropdown + id: issue-type + attributes: + label: Issue Type + description: What kind of documentation issue is this? + options: + - Error/Inaccuracy + - Missing documentation + - Unclear/Confusing + - Outdated + - Typo/Grammar + - Enhancement suggestion + validations: + required: true + + - type: textarea + id: location + attributes: + label: Location + description: Where is the documentation issue? + placeholder: | + File: README.md + Section: Installation + Line: 42 + validations: + required: true + + - type: textarea + id: description + attributes: + label: Issue Description + description: What's wrong with the current documentation? + placeholder: Describe the issue + validations: + required: true + + - type: textarea + id: suggestion + attributes: + label: Suggested Improvement + description: How should it be improved? + placeholder: Suggest better wording or additional content + + - type: textarea + id: additional + attributes: + label: Additional Context + description: Any other relevant information + + - type: checkboxes + id: volunteer + attributes: + label: Contribution + options: + - label: I would like to work on fixing this documentation issue diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 0000000..b20fe69 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,143 @@ +name: ✨ Feature Request +description: Suggest a new feature or enhancement +title: "[Feature]: " +labels: ["enhancement", "triage"] +assignees: [] + +body: + - type: markdown + attributes: + value: | + Thanks for suggesting a new feature! Please provide as much detail as possible. + + - type: checkboxes + id: pre-check + attributes: + label: Pre-submission Checklist + options: + - label: I have searched existing issues to ensure this feature hasn't been requested + required: true + - label: I have checked the project roadmap + required: true + + - type: textarea + id: problem + attributes: + label: Problem Statement + description: What problem does this feature solve? + placeholder: Describe the problem or use case + validations: + required: true + + - type: textarea + id: solution + attributes: + label: Proposed Solution + description: How should this feature work? + placeholder: Describe your proposed solution in detail + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: Alternatives Considered + description: What other solutions did you consider? + placeholder: Describe alternative solutions or workarounds + + - type: dropdown + id: feature-type + attributes: + label: Feature Type + description: What type of feature is this? + options: + - New functionality + - Enhancement to existing feature + - Performance improvement + - Developer experience improvement + - Documentation improvement + - Security enhancement + - Other + validations: + required: true + + - type: dropdown + id: priority + attributes: + label: Priority + description: How important is this feature? + options: + - Critical (blocking important use case) + - High (important for many users) + - Medium (nice to have) + - Low (minor enhancement) + validations: + required: true + + - type: textarea + id: use-cases + attributes: + label: Use Cases + description: Describe specific use cases for this feature + placeholder: | + 1. As a [user type], I want to [goal] so that [benefit] + 2. + validations: + required: true + + - type: textarea + id: impact + attributes: + label: Impact Assessment + description: Who benefits from this feature and how? + placeholder: | + - Users affected: + - Benefits: + - Potential drawbacks: + + - type: textarea + id: technical-notes + attributes: + label: Technical Considerations + description: Any technical notes or implementation details to consider? + placeholder: Architecture, dependencies, breaking changes, etc. + + - type: textarea + id: security-privacy + attributes: + label: Security and Privacy Impact + description: Any security or privacy implications? + placeholder: Describe any security or privacy considerations + + - type: textarea + id: mockups + attributes: + label: Mockups/Examples + description: Provide mockups, diagrams, or code examples if applicable + placeholder: | + ```rust + // Example API or usage + ``` + + - type: checkboxes + id: requirements + attributes: + label: Requirements + options: + - label: This feature maintains E2EE guarantees + - label: This feature preserves user privacy + - label: This feature is backward compatible (or breaking changes are acceptable) + - label: This feature follows Rust best practices + + - type: textarea + id: additional + attributes: + label: Additional Context + description: Any other context, screenshots, or links + + - type: checkboxes + id: volunteer + attributes: + label: Contribution + options: + - label: I would like to work on implementing this feature diff --git a/.github/ISSUE_TEMPLATE/security_issue.yml b/.github/ISSUE_TEMPLATE/security_issue.yml new file mode 100644 index 0000000..34527b0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/security_issue.yml @@ -0,0 +1,108 @@ +name: πŸ”’ Security Vulnerability +description: Report a security vulnerability (use responsibly) +title: "[Security]: " +labels: ["security", "triage"] +assignees: [] + +body: + - type: markdown + attributes: + value: | + ## ⚠️ IMPORTANT SECURITY NOTICE + + For **critical security vulnerabilities**, please **DO NOT** use this public form. + + Instead, report privately to: **security@guardyn.io** + + See our [Security Policy](https://github.com/guardyn/.github/blob/main/SECURITY.md) for details. + + Use this form only for: + - Security enhancements or hardening suggestions + - Non-critical security issues that don't pose immediate risk + - Security-related feature requests + + - type: checkboxes + id: pre-check + attributes: + label: Pre-submission Checklist + options: + - label: This is NOT a critical vulnerability requiring immediate attention + required: true + - label: I have read the Security Policy + required: true + - label: I have searched existing issues + required: true + + - type: dropdown + id: issue-type + attributes: + label: Issue Type + description: What type of security issue is this? + options: + - Security enhancement suggestion + - Security hardening recommendation + - Non-critical security issue + - Security-related feature request + - Dependency security update needed + - Security documentation improvement + validations: + required: true + + - type: textarea + id: description + attributes: + label: Description + description: Describe the security concern or enhancement + placeholder: Provide details about the security issue or enhancement + validations: + required: true + + - type: dropdown + id: severity + attributes: + label: Severity + description: How would you rate this issue? + options: + - Low (minor security improvement) + - Medium (moderate concern) + - High (significant concern but not exploitable) + - Info (informational/advisory) + validations: + required: true + + - type: textarea + id: impact + attributes: + label: Potential Impact + description: What could be affected by this issue? + placeholder: Describe potential impact if applicable + + - type: textarea + id: recommendation + attributes: + label: Recommendation + description: How should this be addressed? + placeholder: Suggest improvements or fixes + + - type: textarea + id: references + attributes: + label: References + description: Any relevant links or documentation + placeholder: | + - CVE-XXXX-XXXXX + - https://example.com/advisory + - Related documentation + + - type: textarea + id: additional + attributes: + label: Additional Context + description: Any other relevant information + + - type: markdown + attributes: + value: | + --- + + **Reminder:** For critical vulnerabilities that could be exploited, please email security@guardyn.io instead of using this form. diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000..2a65b79 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,105 @@ +## Description + + + +## Type of Change + + + +- [ ] πŸ› Bug fix (non-breaking change that fixes an issue) +- [ ] ✨ New feature (non-breaking change that adds functionality) +- [ ] πŸ’₯ Breaking change (fix or feature that would cause existing functionality to not work as expected) +- [ ] πŸ“ Documentation update +- [ ] πŸ”’ Security fix +- [ ] ⚑ Performance improvement +- [ ] ♻️ Code refactoring +- [ ] πŸ§ͺ Test addition or update +- [ ] πŸ”§ Configuration change + +## Related Issues + + + +Closes # +Relates to # + +## Changes Made + + + +- +- +- + +## Testing + + + +### Test Environment +- OS: +- Rust version: +- Kubernetes version (if applicable): + +### Test Steps +1. +2. +3. + +## Security Considerations + + + +- [ ] No security implications +- [ ] Security review completed +- [ ] Security tests added +- [ ] Potential security impact (describe below) + +**Security Impact:** + + +## Checklist + + + +- [ ] My code follows the project's style guidelines (`cargo fmt`) +- [ ] I have performed a self-review of my code +- [ ] I have commented my code, particularly in hard-to-understand areas +- [ ] I have made corresponding changes to the documentation +- [ ] My changes generate no new warnings (`cargo clippy`) +- [ ] I have added tests that prove my fix is effective or that my feature works +- [ ] New and existing unit tests pass locally with my changes (`cargo test`) +- [ ] Any dependent changes have been merged and published +- [ ] I have run `cargo audit` and addressed any security issues +- [ ] I have checked that no secrets or sensitive data are included + +## Performance Impact + + + +- [ ] No performance impact +- [ ] Performance improved +- [ ] Performance benchmarks included +- [ ] Potential performance impact (describe below) + +**Performance Notes:** + + +## Screenshots/Videos + + + +## Additional Context + + + +## Deployment Notes + + + +--- + +**For Maintainers:** +- [ ] PR title follows conventional commits format +- [ ] Labels applied appropriately +- [ ] Milestone assigned (if applicable) +- [ ] Breaking changes documented diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 0000000..68114ee --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,135 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, caste, color, religion, or sexual +identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the overall + community +* Protecting the privacy and security of all community members + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or advances of + any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email address, + without their explicit permission +* Sharing or exposing security vulnerabilities publicly before responsible disclosure +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +conduct@guardyn.io. + +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of +actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or permanent +ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the +community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at +[https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 0000000..9186d22 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,299 @@ +# Contributing to Guardyn + +Thank you for your interest in contributing to Guardyn! We're building privacy-respecting, secure communications infrastructure, and we welcome contributions from developers, security researchers, and privacy advocates. + +## πŸ”’ Security First + +Before contributing, please familiarize yourself with our [Security Policy](SECURITY.md). If you discover a security vulnerability, **do not** open a public issue. Instead, follow our responsible disclosure process. + +## 🎯 Ways to Contribute + +### Code Contributions +- Implement new features +- Fix bugs +- Improve performance +- Enhance documentation +- Write tests + +### Security Contributions +- Security audits and reviews +- Penetration testing +- Cryptographic analysis +- Dependency vulnerability reports + +### Documentation +- Improve README files +- Write tutorials and guides +- Translate documentation +- Create diagrams and architecture docs + +## πŸ› οΈ Development Setup + +### Prerequisites + +For Rust projects: +```bash +# Install Rust toolchain +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +rustup update stable + +# Install development tools +cargo install cargo-audit cargo-deny cargo-outdated +``` + +For Kubernetes projects: +```bash +# Install kubectl +curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" + +# Install kind or minikube for local testing +brew install kind +# or +brew install minikube +``` + +### Project Setup + +1. **Fork the repository** to your GitHub account +2. **Clone your fork**: + ```bash + git clone https://github.com/YOUR_USERNAME/REPO_NAME.git + cd REPO_NAME + ``` +3. **Add upstream remote**: + ```bash + git remote add upstream https://github.com/guardyn/REPO_NAME.git + ``` + +### Rust Development Workflow + +```bash +# Build the project +cargo build + +# Run tests +cargo test + +# Run with all features +cargo test --all-features + +# Check code without building +cargo check + +# Format code +cargo fmt + +# Lint code +cargo clippy -- -D warnings + +# Security audit +cargo audit + +# Check for outdated dependencies +cargo outdated +``` + +### Kubernetes Development Workflow + +```bash +# Validate manifests +kubectl apply --dry-run=client -f k8s/ + +# Lint with kubeval or kubeconform +kubeval k8s/*.yaml + +# Deploy to local cluster +kubectl apply -f k8s/ + +# Test deployments +kubectl get pods -w +kubectl logs -f deployment/guardyn-server +``` + +## πŸ“ Commit Guidelines + +We follow [Conventional Commits](https://www.conventionalcommits.org/) for clear and structured commit history: + +### Commit Message Format + +``` +(): + + + +