Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebranding alignment #155

Merged
merged 4 commits into from
Dec 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/ISSUE_TEMPLATE/add-a-new-compliance-check.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,15 @@ _Provide a clear definition based on [the spreadsheet](https://docs.google.com/s

You can find more details in [the contributing guide](/CONTRIBUTING.md#current-initiatives)

- [ ] **1. Define a Good Implementation [Example](https://github.com/secure-dashboards/openjs-foundation-dashboard/issues/43#issuecomment-2524594504)**
- [ ] **1. Define a Good Implementation [Example](https://github.com/OpenPathfinder/visionBoard/issues/43#issuecomment-2524594504)**
- [ ] Read the documentation (guidelines, best practices...)
- [ ] Brainstorm how to implement this check (logic, alerts, tasks, validations, edge cases...).
- [ ] Achieve an agreement on the implementation details before starting to work on this.
- [ ] **2. Update Check Record [Example](https://github.com/secure-dashboards/openjs-foundation-dashboard/commit/55eaac59920a5229ef9eeaf859943578a66d1aeb)**
- [ ] **2. Update Check Record [Example](https://github.com/OpenPathfinder/visionBoard/commit/55eaac59920a5229ef9eeaf859943578a66d1aeb)**
- [ ] Update the `compliance_checks` row with the following fields: `how_to_url`, `implementation_status`, `implementation_type` and `implementation_details_reference`
- [ ] Check the migration scripts using `npm run db:migrate` and `npm run db:rollback`
- [ ] Update the database schema by running `npm run db:generate-schema`
- [ ] **3. Implement the Business Logic [Validator Example](https://github.com/secure-dashboards/openjs-foundation-dashboard/commit/44c41d119f0daefb7b2e496ba35d5ab65bcc319b) and [Check Example](https://github.com/secure-dashboards/openjs-foundation-dashboard/commit/6f1e16129ee0d01a1b9b536cd2dc6090b048b71f)**
- [ ] **3. Implement the Business Logic [Validator Example](https://github.com/OpenPathfinder/visionBoard/commit/44c41d119f0daefb7b2e496ba35d5ab65bcc319b) and [Check Example](https://github.com/OpenPathfinder/visionBoard/commit/6f1e16129ee0d01a1b9b536cd2dc6090b048b71f)**
- [ ] Add the specific validator in `src/checks/validators/index.js`
- [ ] Add the check logic in `src/checks/complianceChecks`
- [ ] Ensure that the check is in scope for the organization (use `isCheckApplicableToProjectCategory`)
Expand All @@ -36,6 +36,6 @@ You can find more details in [the contributing guide](/CONTRIBUTING.md#current-i
- [ ] Add new integration test cases for this check.
- [ ] Verify that all tests are passing.
- [ ] Run the command `check run --name {check_code_name}` and verify the changes in the database. Update the seed script if needed (`npm run db:seed`)
- [ ] **5. Update the website [Example](https://github.com/secure-dashboards/openjs-security-program-standards/pull/9)**
- [ ] **5. Update the website [Example](https://github.com/OpenPathfinder/website/pull/9)**
- [ ] Review the current content it in `https://openjs-security-program-standards.netlify.app/details/{check_code_name}`
- [ ] Create a PR in https://github.com/secure-dashboards/openjs-security-program-standards to include how we calculate this check and include additional information on the mitigation if needed.
- [ ] Create a PR in https://github.com/OpenPathfinder/website to include how we calculate this check and include additional information on the mitigation if needed.
Binary file added .github/OTHER/header.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ jobs:
image: postgres:17.2
env:
POSTGRES_DB: dashboard
POSTGRES_USER: openjs
POSTGRES_USER: visionBoard
POSTGRES_PASSWORD: password
ports:
- 5432:5432
options: >-
--health-cmd="pg_isready -U openjs"
--health-cmd="pg_isready -U visionBoard"
--health-interval=10s
--health-timeout=5s
--health-retries=5
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/review-compliance-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
"- [ ] Have you included severity validation (`getSeverityFromPriorityGroup`) and checked applicability (`isCheckApplicableToProjectCategory`)?\n" +
"- [ ] Have you included the tasks, alerts, and results in the database tables?\n" +
"- [ ] Have you tested the check with `check run --name {check_code_name}` using the seeded database (`npm run db:seed`)?\n" +
"- [ ] Have you created a PR in [the website](https://github.com/secure-dashboards/openjs-security-program-standards) with the calculation details?\n" +
"- [ ] Have you created a PR in [the website](https://github.com/OpenPathfinder/website) with the calculation details?\n" +
"\n" +
"You can find more information in [the contributing guide](/CONTRIBUTING.md#add-compliance-checks).\n"
});
Expand Down
24 changes: 12 additions & 12 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@ The project includes a [technical architecture guide](/ARCHITECTURE.md) that pro

You have several templates available:

* [Asking for General Help](https://github.com/secure-dashboards/openjs-foundation-dashboard/issues/new?assignees=&labels=&projects=&template=other.md&title=)
* [Request a New Feature](https://github.com/secure-dashboards/openjs-foundation-dashboard/issues/new?assignees=&labels=feature-request&projects=&template=feature_request.md&title=)
* [Report a Bug](https://github.com/secure-dashboards/openjs-foundation-dashboard/issues/new?assignees=&labels=bug&projects=&template=bug_report.md&title=%5BBUG%5D)
* [Other](https://github.com/secure-dashboards/openjs-foundation-dashboard/issues/new?assignees=&labels=&projects=&template=other.md&title=)
* [Asking for General Help](https://github.com/OpenPathfinder/visionBoard/issues/new?assignees=&labels=&projects=&template=other.md&title=)
* [Request a New Feature](https://github.com/OpenPathfinder/visionBoard/issues/new?assignees=&labels=feature-request&projects=&template=feature_request.md&title=)
* [Report a Bug](https://github.com/OpenPathfinder/visionBoard/issues/new?assignees=&labels=bug&projects=&template=bug_report.md&title=%5BBUG%5D)
* [Other](https://github.com/OpenPathfinder/visionBoard/issues/new?assignees=&labels=&projects=&template=other.md&title=)

## Pull Requests

Expand Down Expand Up @@ -112,35 +112,35 @@ Here you can find the best ways to make meaningful contributions to the project.

### Solve Technical Debt

You can always take the lead and contribute to the project by solving [technical debt issues](https://github.com/secure-dashboards/openjs-foundation-dashboard/issues?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen+label%3Atechnical-debt). Most of these issues don’t require a heavy investment, especially the ones tagged as [good first issue](https://github.com/secure-dashboards/openjs-foundation-dashboard/issues?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22).
You can always take the lead and contribute to the project by solving [technical debt issues](https://github.com/OpenPathfinder/visionBoard/issues?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen+label%3Atechnical-debt). Most of these issues don’t require a heavy investment, especially the ones tagged as [good first issue](https://github.com/OpenPathfinder/visionBoard/issues?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22).

### Research on Compliance Checks

You can help us by researching how the checks should work. A key part of this process is defining a way to implement the compliance checks (e.g., data usage, alerting criteria, etc.). Use the combo tags [compliance-checks + research-needed](https://github.com/secure-dashboards/openjs-foundation-dashboard/issues?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen+label%3Acompliance-checks+label%3Aresearch-needed) to identify these opportunities.
You can help us by researching how the checks should work. A key part of this process is defining a way to implement the compliance checks (e.g., data usage, alerting criteria, etc.). Use the combo tags [compliance-checks + research-needed](https://github.com/OpenPathfinder/visionBoard/issues?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen+label%3Acompliance-checks+label%3Aresearch-needed) to identify these opportunities.

### Add Compliance Checks

We are looking for contributors to implement compliance checks in the Dashboard. Here’s how you can get started:

1. Check the open issues related to [compliance-checks + implementation-needed](https://github.com/secure-dashboards/openjs-foundation-dashboard/issues?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen+label%3Acompliance-checks+label%3Aimplementation-needed).
1. Check the open issues related to [compliance-checks + implementation-needed](https://github.com/OpenPathfinder/visionBoard/issues?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen+label%3Acompliance-checks+label%3Aimplementation-needed).

2. Engage in the conversation and request to lead or contribute to the implementation. A key part of this process is ensuring that the definitions are clear before starting development.

3. Start development by completing the following tasks:

#### Development Steps

- **1. Define a Good Implementation ([Example](https://github.com/secure-dashboards/openjs-foundation-dashboard/issues/43#issuecomment-2524594504)):**
- **1. Define a Good Implementation ([Example](https://github.com/OpenPathfinder/visionBoard/issues/43#issuecomment-2524594504)):**
- Read the documentation (guidelines, best practices, etc.).
- Brainstorm the implementation details (logic, alerts, tasks, validations, edge cases, etc.).
- Reach an agreement on the implementation details before starting.

- **2. Update Check Record ([Example](https://github.com/secure-dashboards/openjs-foundation-dashboard/commit/55eaac59920a5229ef9eeaf859943578a66d1aeb)):**
- **2. Update Check Record ([Example](https://github.com/OpenPathfinder/visionBoard/commit/55eaac59920a5229ef9eeaf859943578a66d1aeb)):**
- Update the `compliance_checks` row with fields like `how_to_url`, `implementation_status`, `implementation_type`, and `implementation_details_reference`.
- Test migration scripts using `npm run db:migrate` and `npm run db:rollback`.
- Update the database schema with `npm run db:generate-schema`.

- **3. Implement the Business Logic ([Validator Example](https://github.com/secure-dashboards/openjs-foundation-dashboard/commit/44c41d119f0daefb7b2e496ba35d5ab65bcc319b) and [Check Example](https://github.com/secure-dashboards/openjs-foundation-dashboard/commit/6f1e16129ee0d01a1b9b536cd2dc6090b048b71f)):**
- **3. Implement the Business Logic ([Validator Example](https://github.com/OpenPathfinder/visionBoard/commit/44c41d119f0daefb7b2e496ba35d5ab65bcc319b) and [Check Example](https://github.com/OpenPathfinder/visionBoard/commit/6f1e16129ee0d01a1b9b536cd2dc6090b048b71f)):**
- Add the specific validator in `src/checks/validators/index.js`.
- Add the check logic in `src/checks/complianceChecks`.
- Ensure the check is applicable to the organization (`isCheckApplicableToProjectCategory`).
Expand All @@ -153,13 +153,13 @@ We are looking for contributors to implement compliance checks in the Dashboard.
- Verify all tests pass.
- Run `check run --name {check_code_name}` and verify database changes. Update the seed script if necessary (`npm run db:seed`).

- **5. Update the Website ([Example](https://github.com/secure-dashboards/openjs-security-program-standards/pull/9)):**
- **5. Update the Website ([Example](https://github.com/OpenPathfinder/website/pull/9)):**
- Review content at `https://openjs-security-program-standards.netlify.app/details/{check_code_name}`.
- Create a PR to include check calculation details and mitigation information.

### Other

Any issue labeled [help wanted](https://github.com/secure-dashboards/openjs-foundation-dashboard/issues?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) or [good first issue](https://github.com/secure-dashboards/openjs-foundation-dashboard/issues?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) is a great opportunity to help the project.
Any issue labeled [help wanted](https://github.com/OpenPathfinder/visionBoard/issues?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen+label%3A%22help+wanted%22) or [good first issue](https://github.com/OpenPathfinder/visionBoard/issues?q=sort%3Aupdated-desc+is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) is a great opportunity to help the project.

## Developer's Certificate of Origin 1.1

Expand Down
10 changes: 8 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
# Secure Dashboard for the OpenJS Foundation
![VisionBoard logo with a gold compass emblem and the tagline 'Transforming Data into Actionable Insights' on a black background](.github/OTHER/header.png)

This project aims to provide a secure and user-friendly dashboard for managing and monitoring projects under the OpenJS Foundation. It evolves from [this proof of concept (POC)](https://github.com/UlisesGascon/poc-openjs-security-program-standards-dashboard) and currently we are developing an MVP version ([milestone roadmap](https://github.com/secure-dashboards/openjs-foundation-dashboard/issues/30)).
# VisionBoard

Transforming Data into Actionable insights

---

This project aims to provide a secure and user-friendly dashboard for managing and monitoring projects under the OpenJS Foundation. It evolves from [this proof of concept (POC)](https://github.com/UlisesGascon/poc-openjs-security-program-standards-dashboard) and currently we are developing an MVP version ([milestone roadmap](https://github.com/OpenPathfinder/visionBoard/issues/30)).

## Table of Contents

Expand Down
2 changes: 1 addition & 1 deletion __tests__/checks/validators.test.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
const { githubOrgMFA, softwareDesignTraining } = require('../../src/checks/validators')
// @see: https://github.com/secure-dashboards/openjs-foundation-dashboard/issues/43
// @see: https://github.com/OpenPathfinder/visionBoard/issues/43
describe('githubOrgMFA', () => {
let organizations, check, projects
beforeEach(() => {
Expand Down
13 changes: 6 additions & 7 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ services:
restart: always
environment:
POSTGRES_DB: dashboard
POSTGRES_USER: openjs
POSTGRES_USER: visionBoard
POSTGRES_PASSWORD: password
ports:
- 5432:5432
volumes:
- openjs_dashboard_data:/var/lib/postgresql/data
- visionBoard_data:/var/lib/postgresql/data

adminer:
image: adminer
Expand All @@ -25,18 +25,17 @@ services:
- db
environment:
POSTGRES_DB: dashboard
POSTGRES_USER: openjs
POSTGRES_USER: visionBoard
POSTGRES_PASSWORD: password
PGPASSWORD: password # bypass the password prompt
volumes:
- openjs_dashboard_data:/var/lib/postgresql/data
- visionBoard_data:/var/lib/postgresql/data
- ./src/database/schema:/schema
entrypoint: >
bash -c "
pg_dump --host=db --username=openjs --schema-only --no-owner --dbname=dashboard > /schema/schema.sql &&
pg_dump --host=db --username=visionBoard --schema-only --no-owner --dbname=dashboard > /schema/schema.sql &&
chmod 644 /schema/schema.sql
"


volumes:
openjs_dashboard_data:
visionBoard_data:
4 changes: 2 additions & 2 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "openjs-foundation",
"name": "visionBoard",
"version": "1.0.0",
"description": "Secure Dashboard for the OpenJS Foundation",
"description": "Transforming Data into Actionable insights",
"main": "index.js",
"scripts": {
"lint": "standard",
Expand Down
2 changes: 1 addition & 1 deletion src/checks/validators/githubOrgMFA.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ const { getSeverityFromPriorityGroup, isCheckApplicableToProjectCategory, groupA

const groupByProject = groupArrayItemsByCriteria('project_id')

// @see: https://github.com/secure-dashboards/openjs-foundation-dashboard/issues/43
// @see: https://github.com/OpenPathfinder/visionBoard/issues/43
module.exports = ({ organizations = [], check, projects = [] }) => {
debug('Validating GitHub organizations MFA...')
debug('Grouping organizations by project...')
Expand Down
2 changes: 1 addition & 1 deletion src/config/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ const dbSettings = {
client: 'pg',
connection: {
host: process.env.DB_HOST || '0.0.0.0',
user: process.env.DB_USER || 'openjs',
user: process.env.DB_USER || 'visionBoard',
password: process.env.DB_PASSWORD || 'password',
database: process.env.DB_NAME || 'dashboard'
},
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ exports.up = async (knex) => {
.update({
implementation_status: 'completed',
implementation_type: 'computed',
implementation_details_reference: 'https://github.com/secure-dashboards/openjs-foundation-dashboard/issues/43'
implementation_details_reference: 'https://github.com/OpenPathfinder/visionBoard/issues/43'
})
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ exports.up = async (knex) => {
.update({
implementation_status: 'completed',
implementation_type: 'manual',
implementation_details_reference: 'https://github.com/secure-dashboards/openjs-foundation-dashboard/issues/52'
implementation_details_reference: 'https://github.com/OpenPathfinder/visionBoard/issues/52'
})
}
exports.down = async (knex) => {
Expand Down
Loading