Skip to content

Commit

Permalink
Merge pull request #155 from OpenPathfinder/feat/rebranding
Browse files Browse the repository at this point in the history
Rebranding alignment
  • Loading branch information
UlisesGascon authored Dec 18, 2024
2 parents 98878a4 + f9775b7 commit 20deb88
Show file tree
Hide file tree
Showing 14 changed files with 43 additions and 38 deletions.
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

0 comments on commit 20deb88

Please sign in to comment.