[ { "url": "https://api.github.com/repos/fossas/basis/issues/729", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/729/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/729/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/729/events", "html_url": "https://github.com/fossas/basis/pull/729", "id": 696792373, "node_id": "MDExOlB1bGxSZXF1ZXN0NDgyODI1MzY1", "number": 729, "title": "[ramjet] Fill out crawl DAO ", "user": { "login": "taliamccormick", "id": 13280845, "node_id": "MDQ6VXNlcjEzMjgwODQ1", "avatar_url": "https://avatars2.githubusercontent.com/u/13280845?v=4", "gravatar_id": "", "url": "https://api.github.com/users/taliamccormick", "html_url": "https://github.com/taliamccormick", "followers_url": "https://api.github.com/users/taliamccormick/followers", "following_url": "https://api.github.com/users/taliamccormick/following{/other_user}", "gists_url": "https://api.github.com/users/taliamccormick/gists{/gist_id}", "starred_url": "https://api.github.com/users/taliamccormick/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/taliamccormick/subscriptions", "organizations_url": "https://api.github.com/users/taliamccormick/orgs", "repos_url": "https://api.github.com/users/taliamccormick/repos", "events_url": "https://api.github.com/users/taliamccormick/events{/privacy}", "received_events_url": "https://api.github.com/users/taliamccormick/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2242947081, "node_id": "MDU6TGFiZWwyMjQyOTQ3MDgx", "url": "https://api.github.com/repos/fossas/basis/labels/discovery", "name": "discovery", "color": "40ed1a", "default": false, "description": "" }, { "id": 2287593135, "node_id": "MDU6TGFiZWwyMjg3NTkzMTM1", "url": "https://api.github.com/repos/fossas/basis/labels/in%20review", "name": "in review", "color": "d059db", "default": false, "description": "Signify that the PR is in review" }, { "id": 2242944920, "node_id": "MDU6TGFiZWwyMjQyOTQ0OTIw", "url": "https://api.github.com/repos/fossas/basis/labels/knowledge", "name": "knowledge", "color": "fef2c0", "default": false, "description": "knowledge team work" }, { "id": 2242947217, "node_id": "MDU6TGFiZWwyMjQyOTQ3MjE3", "url": "https://api.github.com/repos/fossas/basis/labels/ramjet", "name": "ramjet", "color": "cca3e2", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": null, "assignees": [ ], "milestone": { "url": "https://api.github.com/repos/fossas/basis/milestones/2", "html_url": "https://github.com/fossas/basis/milestone/2", "labels_url": "https://api.github.com/repos/fossas/basis/milestones/2/labels", "id": 5786627, "node_id": "MDk6TWlsZXN0b25lNTc4NjYyNw==", "number": 2, "title": "Discovery and Analysis Trigger API", "description": "", "creator": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "open_issues": 4, "closed_issues": 8, "state": "open", "created_at": "2020-08-18T22:28:32Z", "updated_at": "2020-09-09T12:58:05Z", "due_on": null, "closed_at": null }, "comments": 1, "created_at": "2020-09-09T12:58:05Z", "updated_at": "2020-09-09T18:30:09Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "pull_request": { "url": "https://api.github.com/repos/fossas/basis/pulls/729", "html_url": "https://github.com/fossas/basis/pull/729", "diff_url": "https://github.com/fossas/basis/pull/729.diff", "patch_url": "https://github.com/fossas/basis/pull/729.patch" }, "body": "## What\r\n\r\nFills out the crawl DAO\r\n\r\nRequesting review from @aluttik and @kitified , CC @microsoftly for visibility\r\n\r\n## Why\r\n\r\nUsed in task queueing service for discovery tasks\r\n\r\nhttps://github.com/fossas/basis/issues/627\r\nhttps://github.com/fossas/basis/issues/628\r\nhttps://github.com/fossas/basis/issues/630\r\n\r\n## How\r\n\r\n1. Fills out the DAO for inserting a new crawl\r\n2. Adds tests\r\n3. Removes similar code from the component service (minus the race condition plus the extra DAO layering)\r\n\r\n## Security Impact\r\n\r\nNA -- none\r\n\r\nChecklist:\r\n- [x] Code in this PR is covered by automated tests.\r\n- [x] New inputs in this PR are validated and sanitized (example: user input or data read from other systems).\r\n\r\n## Dependency Changes\r\n\r\nNA -- none", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/728", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/728/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/728/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/728/events", "html_url": "https://github.com/fossas/basis/pull/728", "id": 696783666, "node_id": "MDExOlB1bGxSZXF1ZXN0NDgyODE4MTE5", "number": 728, "title": "[ramjet] Fill out crawler dao", "user": { "login": "taliamccormick", "id": 13280845, "node_id": "MDQ6VXNlcjEzMjgwODQ1", "avatar_url": "https://avatars2.githubusercontent.com/u/13280845?v=4", "gravatar_id": "", "url": "https://api.github.com/users/taliamccormick", "html_url": "https://github.com/taliamccormick", "followers_url": "https://api.github.com/users/taliamccormick/followers", "following_url": "https://api.github.com/users/taliamccormick/following{/other_user}", "gists_url": "https://api.github.com/users/taliamccormick/gists{/gist_id}", "starred_url": "https://api.github.com/users/taliamccormick/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/taliamccormick/subscriptions", "organizations_url": "https://api.github.com/users/taliamccormick/orgs", "repos_url": "https://api.github.com/users/taliamccormick/repos", "events_url": "https://api.github.com/users/taliamccormick/events{/privacy}", "received_events_url": "https://api.github.com/users/taliamccormick/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2242947081, "node_id": "MDU6TGFiZWwyMjQyOTQ3MDgx", "url": "https://api.github.com/repos/fossas/basis/labels/discovery", "name": "discovery", "color": "40ed1a", "default": false, "description": "" }, { "id": 2242944920, "node_id": "MDU6TGFiZWwyMjQyOTQ0OTIw", "url": "https://api.github.com/repos/fossas/basis/labels/knowledge", "name": "knowledge", "color": "fef2c0", "default": false, "description": "knowledge team work" }, { "id": 2242947217, "node_id": "MDU6TGFiZWwyMjQyOTQ3MjE3", "url": "https://api.github.com/repos/fossas/basis/labels/ramjet", "name": "ramjet", "color": "cca3e2", "default": false, "description": "" }, { "id": 2287713828, "node_id": "MDU6TGFiZWwyMjg3NzEzODI4", "url": "https://api.github.com/repos/fossas/basis/labels/refactor", "name": "refactor", "color": "caea81", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": null, "assignees": [ ], "milestone": null, "comments": 1, "created_at": "2020-09-09T12:46:08Z", "updated_at": "2020-09-09T19:30:22Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "pull_request": { "url": "https://api.github.com/repos/fossas/basis/pulls/728", "html_url": "https://github.com/fossas/basis/pull/728", "diff_url": "https://github.com/fossas/basis/pull/728.diff", "patch_url": "https://github.com/fossas/basis/pull/728.patch" }, "body": "## What\r\n\r\nFill out crawler DAO\r\n\r\nRequesting review from @aluttik , CC @microsoftly for visibility\r\n\r\n## Why\r\n\r\nWe need to make use of the crawler recording DAO setup for discovery task queueing. Also minimize duplication code so we remove the `findOrCreateCrawler` in component service (chose to keep this DAO one because it's slightly simpler / no race condition)\r\n\r\nhttps://github.com/fossas/basis/issues/627\r\nhttps://github.com/fossas/basis/issues/628 \r\nhttps://github.com/fossas/basis/issues/630\r\n\r\n## How\r\n\r\n1. Add to DAO\r\n2. Remove from component-service\r\n\r\nPlease note that types are being defined into the database DAO -- per offline discussion, we're splitting the `DTO` pacakge so that each type is defined with the logical layer that it's used in (ie. the DAO package is responsible for the types of it's DTO / externally visible interface). This is intentional\r\n\r\n## Security Impact\r\n\r\nChecklist:\r\n- [x] Code in this PR is covered by automated tests.\r\n\r\n\r\n## Dependency Changes\r\n\r\nNA -- none", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/727", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/727/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/727/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/727/events", "html_url": "https://github.com/fossas/basis/pull/727", "id": 696769686, "node_id": "MDExOlB1bGxSZXF1ZXN0NDgyODA2NDUz", "number": 727, "title": "[ramjet] Fill out analysis task queue logic (no more deadlock!)", "user": { "login": "taliamccormick", "id": 13280845, "node_id": "MDQ6VXNlcjEzMjgwODQ1", "avatar_url": "https://avatars2.githubusercontent.com/u/13280845?v=4", "gravatar_id": "", "url": "https://api.github.com/users/taliamccormick", "html_url": "https://github.com/taliamccormick", "followers_url": "https://api.github.com/users/taliamccormick/followers", "following_url": "https://api.github.com/users/taliamccormick/following{/other_user}", "gists_url": "https://api.github.com/users/taliamccormick/gists{/gist_id}", "starred_url": "https://api.github.com/users/taliamccormick/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/taliamccormick/subscriptions", "organizations_url": "https://api.github.com/users/taliamccormick/orgs", "repos_url": "https://api.github.com/users/taliamccormick/repos", "events_url": "https://api.github.com/users/taliamccormick/events{/privacy}", "received_events_url": "https://api.github.com/users/taliamccormick/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2285388797, "node_id": "MDU6TGFiZWwyMjg1Mzg4Nzk3", "url": "https://api.github.com/repos/fossas/basis/labels/analysis", "name": "analysis", "color": "83ef83", "default": false, "description": "" }, { "id": 2242944920, "node_id": "MDU6TGFiZWwyMjQyOTQ0OTIw", "url": "https://api.github.com/repos/fossas/basis/labels/knowledge", "name": "knowledge", "color": "fef2c0", "default": false, "description": "knowledge team work" }, { "id": 2242947217, "node_id": "MDU6TGFiZWwyMjQyOTQ3MjE3", "url": "https://api.github.com/repos/fossas/basis/labels/ramjet", "name": "ramjet", "color": "cca3e2", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": null, "assignees": [ ], "milestone": { "url": "https://api.github.com/repos/fossas/basis/milestones/2", "html_url": "https://github.com/fossas/basis/milestone/2", "labels_url": "https://api.github.com/repos/fossas/basis/milestones/2/labels", "id": 5786627, "node_id": "MDk6TWlsZXN0b25lNTc4NjYyNw==", "number": 2, "title": "Discovery and Analysis Trigger API", "description": "", "creator": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "open_issues": 4, "closed_issues": 8, "state": "open", "created_at": "2020-08-18T22:28:32Z", "updated_at": "2020-09-09T12:58:05Z", "due_on": null, "closed_at": null }, "comments": 1, "created_at": "2020-09-09T12:25:45Z", "updated_at": "2020-09-09T18:52:50Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "pull_request": { "url": "https://api.github.com/repos/fossas/basis/pulls/727", "html_url": "https://github.com/fossas/basis/pull/727", "diff_url": "https://github.com/fossas/basis/pull/727.diff", "patch_url": "https://github.com/fossas/basis/pull/727.patch" }, "body": "## What\r\n\r\nAdd queueing logic for analysis tasks\r\n\r\nRequesting review from any/either of @aluttik or @kitified or @microsoftly , CC @microsoftly for visibility\r\n\r\n## Why\r\n\r\nCentral part of the process for writing a \"Analysis Task Queueing Service\"\r\nFurther detail here https://github.com/fossas/basis/issues/627 https://github.com/fossas/basis/issues/628 https://github.com/fossas/basis/issues/631\r\n\r\n## How\r\n\r\nManually tested agains `curl -H \"Content-Type: application/json\" -X POST -d '{ \"componentIDs\": [ \"12345678-910a-bcde-f123-45678910abcd\" ], \"declaredLicenseScan\": true, \"discoveredLicenseScan\": true, \"commentStrippedSHA256\": true }' http://localhost:8678/api/analysis` & similar. Next step is adding automated tests and testing more thoroughly. This will be handled in a separate PR for the sake of review.\r\n\r\n1. Fix the blocking threading issue introduced to manual-task-pusher during git conflicts\r\n2. Fill out logic for analysis task launching!\r\n\r\n## Security Impact\r\n\r\nNA -- none\r\n\r\n## Dependency Changes\r\n\r\nNA -- none\r\n", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/726", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/726/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/726/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/726/events", "html_url": "https://github.com/fossas/basis/pull/726", "id": 696308703, "node_id": "MDExOlB1bGxSZXF1ZXN0NDgyNDA3NDcw", "number": 726, "title": "[WIP] [Ramjet] Merge ComponentID type definitions", "user": { "login": "taliamccormick", "id": 13280845, "node_id": "MDQ6VXNlcjEzMjgwODQ1", "avatar_url": "https://avatars2.githubusercontent.com/u/13280845?v=4", "gravatar_id": "", "url": "https://api.github.com/users/taliamccormick", "html_url": "https://github.com/taliamccormick", "followers_url": "https://api.github.com/users/taliamccormick/followers", "following_url": "https://api.github.com/users/taliamccormick/following{/other_user}", "gists_url": "https://api.github.com/users/taliamccormick/gists{/gist_id}", "starred_url": "https://api.github.com/users/taliamccormick/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/taliamccormick/subscriptions", "organizations_url": "https://api.github.com/users/taliamccormick/orgs", "repos_url": "https://api.github.com/users/taliamccormick/repos", "events_url": "https://api.github.com/users/taliamccormick/events{/privacy}", "received_events_url": "https://api.github.com/users/taliamccormick/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 1845816875, "node_id": "MDU6TGFiZWwxODQ1ODE2ODc1", "url": "https://api.github.com/repos/fossas/basis/labels/wip", "name": "wip", "color": "8723ce", "default": false, "description": "Work in progress" } ], "state": "open", "locked": false, "assignee": null, "assignees": [ ], "milestone": null, "comments": 0, "created_at": "2020-09-09T01:26:59Z", "updated_at": "2020-09-09T12:14:16Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "pull_request": { "url": "https://api.github.com/repos/fossas/basis/pulls/726", "html_url": "https://github.com/fossas/basis/pull/726", "diff_url": "https://github.com/fossas/basis/pull/726.diff", "patch_url": "https://github.com/fossas/basis/pull/726.patch" }, "body": "## What\r\n\r\nWe have multiple definitions for `type ComponentID` in Ramjet -- this starts to consolidate them\r\nWIP because it works for Ramjet but causes issues since `ComponentID` not in pkg/externally visible. In discussion for where-to-put\r\n\r\n## Why\r\n\r\nWe have multiple definitions for `type ComponentID` in Ramjet and we probably want one or two (one pkg/externally visible, one internal/internally visible)\r\n\r\nhttps://teamfossa.slack.com/archives/C0155DXDMP1/p1599572067001400\r\n\r\n## How\r\n\r\n1. Merged definitions to the DTOs package\r\n2. Fought compiler errors\r\n\r\n## Security Impact\r\n\r\nNA -- none\r\n\r\nChecklist:\r\n- [x] Code in this PR is covered by automated tests.\r\n\r\n\r\n## Dependency Changes\r\n\r\nNA -- none", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/725", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/725/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/725/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/725/events", "html_url": "https://github.com/fossas/basis/pull/725", "id": 696278911, "node_id": "MDExOlB1bGxSZXF1ZXN0NDgyMzgyMTE4", "number": 725, "title": "Added filename prioritization for determining a Declared Project License", "user": { "login": "aluttik", "id": 10134357, "node_id": "MDQ6VXNlcjEwMTM0MzU3", "avatar_url": "https://avatars0.githubusercontent.com/u/10134357?v=4", "gravatar_id": "", "url": "https://api.github.com/users/aluttik", "html_url": "https://github.com/aluttik", "followers_url": "https://api.github.com/users/aluttik/followers", "following_url": "https://api.github.com/users/aluttik/following{/other_user}", "gists_url": "https://api.github.com/users/aluttik/gists{/gist_id}", "starred_url": "https://api.github.com/users/aluttik/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/aluttik/subscriptions", "organizations_url": "https://api.github.com/users/aluttik/orgs", "repos_url": "https://api.github.com/users/aluttik/repos", "events_url": "https://api.github.com/users/aluttik/events{/privacy}", "received_events_url": "https://api.github.com/users/aluttik/received_events", "type": "User", "site_admin": false }, "labels": [ ], "state": "open", "locked": false, "assignee": null, "assignees": [ ], "milestone": null, "comments": 1, "created_at": "2020-09-09T00:26:20Z", "updated_at": "2020-09-09T01:07:47Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "pull_request": { "url": "https://api.github.com/repos/fossas/basis/pulls/725", "html_url": "https://github.com/fossas/basis/pull/725", "diff_url": "https://github.com/fossas/basis/pull/725.diff", "patch_url": "https://github.com/fossas/basis/pull/725.patch" }, "body": "## What\r\n\r\nIPR.Detect will now take filename into account when deciding on a declared project license.\r\n\r\n## Why\r\n\r\nCurrently the component DB has a ton of components where the declared_license_source is a README file and it should be LICENSE.\r\n\r\nPart of #620 \r\n\r\n## How\r\n\r\nWhen determining a declared project license, if there's a tie for prioritization in the categories of SPDX validity, depth of file in project, and license type (e.g. explicit expression, nomos scanned, downloaded from URL), IPR will then check filenames to determine which license to pick.\r\n\r\nThe filename priorities are currently:\r\n```\r\nLICENSE*\r\nNOTICE*\r\nCOPYING*\r\nREADME*\r\n```\r\n\r\nThis does not affect other declared license files like `*.nuspec` or `pom.xml` because those have a higher priority `IPR.LicenseType`.\r\n\r\n## Checklist\r\n- [x] Code in this PR is covered by automated tests.\r\n", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/721", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/721/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/721/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/721/events", "html_url": "https://github.com/fossas/basis/pull/721", "id": 696083454, "node_id": "MDExOlB1bGxSZXF1ZXN0NDgyMjE5MDI3", "number": 721, "title": "Added max file size to expander", "user": { "login": "aluttik", "id": 10134357, "node_id": "MDQ6VXNlcjEwMTM0MzU3", "avatar_url": "https://avatars0.githubusercontent.com/u/10134357?v=4", "gravatar_id": "", "url": "https://api.github.com/users/aluttik", "html_url": "https://github.com/aluttik", "followers_url": "https://api.github.com/users/aluttik/followers", "following_url": "https://api.github.com/users/aluttik/following{/other_user}", "gists_url": "https://api.github.com/users/aluttik/gists{/gist_id}", "starred_url": "https://api.github.com/users/aluttik/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/aluttik/subscriptions", "organizations_url": "https://api.github.com/users/aluttik/orgs", "repos_url": "https://api.github.com/users/aluttik/repos", "events_url": "https://api.github.com/users/aluttik/events{/privacy}", "received_events_url": "https://api.github.com/users/aluttik/received_events", "type": "User", "site_admin": false }, "labels": [ ], "state": "open", "locked": false, "assignee": null, "assignees": [ ], "milestone": null, "comments": 2, "created_at": "2020-09-08T18:22:28Z", "updated_at": "2020-09-08T18:28:27Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "pull_request": { "url": "https://api.github.com/repos/fossas/basis/pulls/721", "html_url": "https://github.com/fossas/basis/pull/721", "diff_url": "https://github.com/fossas/basis/pull/721.diff", "patch_url": "https://github.com/fossas/basis/pull/721.patch" }, "body": "## What\r\n\r\nThis PR is more of a suggestion. I'd like to start a conversation about this before merging and I don't mind changing any part of it or just closing it if that's what we think is best.\r\n\r\nThis change would make it so that empty files with a `!_fossa.toobig_!` suffix would be added in place of decompressing files that would be >10GB in size when decompressed.\r\n\r\n## Why\r\n\r\nSometimes when expanding we'll run into issues where the uncompressed size of a file will be like >60GB. This takes up a lot of space and CPU for the component analysis workers, and I'm not sure if the fingerprint we'd get out of it is worth the cost and possible complications.\r\n\r\n## How\r\n\r\nWhen we know the uncompressed size of an archived file, we can just create an empty file in its place if it is too big.\r\n\r\n## Checklist\r\n- [x] Code in this PR is covered by automated tests.", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/720", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/720/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/720/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/720/events", "html_url": "https://github.com/fossas/basis/pull/720", "id": 695979125, "node_id": "MDExOlB1bGxSZXF1ZXN0NDgyMTMyODE3", "number": 720, "title": "[ramjet] Wrap up state tracking transitions", "user": { "login": "taliamccormick", "id": 13280845, "node_id": "MDQ6VXNlcjEzMjgwODQ1", "avatar_url": "https://avatars2.githubusercontent.com/u/13280845?v=4", "gravatar_id": "", "url": "https://api.github.com/users/taliamccormick", "html_url": "https://github.com/taliamccormick", "followers_url": "https://api.github.com/users/taliamccormick/followers", "following_url": "https://api.github.com/users/taliamccormick/following{/other_user}", "gists_url": "https://api.github.com/users/taliamccormick/gists{/gist_id}", "starred_url": "https://api.github.com/users/taliamccormick/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/taliamccormick/subscriptions", "organizations_url": "https://api.github.com/users/taliamccormick/orgs", "repos_url": "https://api.github.com/users/taliamccormick/repos", "events_url": "https://api.github.com/users/taliamccormick/events{/privacy}", "received_events_url": "https://api.github.com/users/taliamccormick/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2285388797, "node_id": "MDU6TGFiZWwyMjg1Mzg4Nzk3", "url": "https://api.github.com/repos/fossas/basis/labels/analysis", "name": "analysis", "color": "83ef83", "default": false, "description": "" }, { "id": 2287593135, "node_id": "MDU6TGFiZWwyMjg3NTkzMTM1", "url": "https://api.github.com/repos/fossas/basis/labels/in%20review", "name": "in review", "color": "d059db", "default": false, "description": "Signify that the PR is in review" }, { "id": 2242944920, "node_id": "MDU6TGFiZWwyMjQyOTQ0OTIw", "url": "https://api.github.com/repos/fossas/basis/labels/knowledge", "name": "knowledge", "color": "fef2c0", "default": false, "description": "knowledge team work" }, { "id": 2242947217, "node_id": "MDU6TGFiZWwyMjQyOTQ3MjE3", "url": "https://api.github.com/repos/fossas/basis/labels/ramjet", "name": "ramjet", "color": "cca3e2", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": null, "assignees": [ ], "milestone": null, "comments": 2, "created_at": "2020-09-08T15:37:44Z", "updated_at": "2020-09-09T16:55:56Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "pull_request": { "url": "https://api.github.com/repos/fossas/basis/pulls/720", "html_url": "https://github.com/fossas/basis/pull/720", "diff_url": "https://github.com/fossas/basis/pull/720.diff", "patch_url": "https://github.com/fossas/basis/pull/720.patch" }, "body": "## What\r\n\r\nReplaces https://github.com/fossas/basis/pull/623, per newer discussion\r\n\r\nMandate state tracking transitions for components (eg. a component can not jump to being \"in progress\" without first being queued)\r\n\r\nRequesting review from either @aluttik @microsoftly , CC @microsoftly \r\n\r\n## Why\r\n\r\nLogically, component states should transition in logical ways (eg. should not jump directly from Failed to InProgress). This PR enforces these transitions\r\n\r\nFurther discussion & detail here:\r\nhttps://github.com/fossas/basis/issues/549\r\nhttps://teamfossa.slack.com/archives/C0155DXDMP1/p1599178239054500\r\n\r\n## How\r\n\r\n1. Update to use squirrel library to build queries\r\n2. We allow these transitions\r\n```\r\nUnalyzed -> Queued\r\nQueued -> InProgress, Queued (may clear queue and need to requeue)\r\nInProgress -> Analyzed, Failed, Queued (may succeed, fail. May also timeout and then be cleared from faktory or have us scale down kube midway through analysis)\r\nAnalyzed -> Queued (may need too be re-analyzed at some point if we want certain components to be scanned with a different scan type)\r\nFailed -> Queued (may requeue if failed due to rate-limiting)\r\n```\r\n3. Add tests for these cases\r\n4. Update other integration tests which rely on state\r\n\r\n## Security Impact\r\n\r\n\r\nChecklist:\r\n- [x] Code in this PR is covered by automated tests.\r\n- [ ] New inputs in this PR are validated and sanitized (example: user input or data read from other systems).\r\n\r\n## Dependency Changes\r\n\r\nNA (makes use of Squirrel, which is already used throughout basis)\r\n", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/719", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/719/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/719/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/719/events", "html_url": "https://github.com/fossas/basis/pull/719", "id": 695518149, "node_id": "MDExOlB1bGxSZXF1ZXN0NDgxNzUwMzU4", "number": 719, "title": "Ninja Build Graph Tables", "user": { "login": "thedeerchild", "id": 1609616, "node_id": "MDQ6VXNlcjE2MDk2MTY=", "avatar_url": "https://avatars0.githubusercontent.com/u/1609616?v=4", "gravatar_id": "", "url": "https://api.github.com/users/thedeerchild", "html_url": "https://github.com/thedeerchild", "followers_url": "https://api.github.com/users/thedeerchild/followers", "following_url": "https://api.github.com/users/thedeerchild/following{/other_user}", "gists_url": "https://api.github.com/users/thedeerchild/gists{/gist_id}", "starred_url": "https://api.github.com/users/thedeerchild/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/thedeerchild/subscriptions", "organizations_url": "https://api.github.com/users/thedeerchild/orgs", "repos_url": "https://api.github.com/users/thedeerchild/repos", "events_url": "https://api.github.com/users/thedeerchild/events{/privacy}", "received_events_url": "https://api.github.com/users/thedeerchild/received_events", "type": "User", "site_admin": false }, "labels": [ ], "state": "open", "locked": false, "assignee": null, "assignees": [ ], "milestone": null, "comments": 1, "created_at": "2020-09-08T03:34:12Z", "updated_at": "2020-09-08T22:27:16Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "pull_request": { "url": "https://api.github.com/repos/fossas/basis/pulls/719", "html_url": "https://github.com/fossas/basis/pull/719", "diff_url": "https://github.com/fossas/basis/pull/719.diff", "patch_url": "https://github.com/fossas/basis/pull/719.patch" }, "body": "Adds DB tables for Ninja build graph data. I'm OOO this week, so feel free to merge if LGTM'd.", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/716", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/716/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/716/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/716/events", "html_url": "https://github.com/fossas/basis/pull/716", "id": 693711373, "node_id": "MDExOlB1bGxSZXF1ZXN0NDgwMTgxMDE4", "number": 716, "title": "ghost files support in scotland yard", "user": { "login": "anuccio1", "id": 3067666, "node_id": "MDQ6VXNlcjMwNjc2NjY=", "avatar_url": "https://avatars2.githubusercontent.com/u/3067666?v=4", "gravatar_id": "", "url": "https://api.github.com/users/anuccio1", "html_url": "https://github.com/anuccio1", "followers_url": "https://api.github.com/users/anuccio1/followers", "following_url": "https://api.github.com/users/anuccio1/following{/other_user}", "gists_url": "https://api.github.com/users/anuccio1/gists{/gist_id}", "starred_url": "https://api.github.com/users/anuccio1/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/anuccio1/subscriptions", "organizations_url": "https://api.github.com/users/anuccio1/orgs", "repos_url": "https://api.github.com/users/anuccio1/repos", "events_url": "https://api.github.com/users/anuccio1/events{/privacy}", "received_events_url": "https://api.github.com/users/anuccio1/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2012655720, "node_id": "MDU6TGFiZWwyMDEyNjU1NzIw", "url": "https://api.github.com/repos/fossas/basis/labels/DO%20NOT%20MERGE", "name": "DO NOT MERGE", "color": "b60205", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": null, "assignees": [ ], "milestone": null, "comments": 2, "created_at": "2020-09-04T22:03:06Z", "updated_at": "2020-09-08T22:45:40Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "pull_request": { "url": "https://api.github.com/repos/fossas/basis/pulls/716", "html_url": "https://github.com/fossas/basis/pull/716", "diff_url": "https://github.com/fossas/basis/pull/716.diff", "patch_url": "https://github.com/fossas/basis/pull/716.patch" }, "body": "## What\r\n\r\nThis PR adds support for expanded archive files (Ghost Files) in Scotland Yard.\r\n\r\nUI Mocks: https://www.figma.com/file/sNe1Y0Aa7c93NxXGpxCDSe/VPS%3A-Archive-in-File-Tree?node-id=0%3A1\r\n\r\n## Why\r\n\r\nIn order to show users the scan results of files inside of their archives, we needed to turn this feature on when importing file inferences from Sherlock\r\n\r\n## How\r\n\r\nThis PR consists of a few changes:\r\n\r\n1) Add query param \"?full=true\" in the call to `sherlock` from the `scotland-yard-worker`. This will tell `sherlock` to include ghost files in the response\r\n\r\n2) Add a migration to the Scotland Yard DB that adds a new column to `scan_files` named `is_expanded`. If an original file was expanded, we mark this column as `true` in the DB. \r\n\r\n3) Modify the Materialized view to include `is_archive`, which basically checks if a directory ends with `!_fossa.virtual_!`. If it does, we know that the folder is an expanded archive, and we will return this in the API\r\n\r\n4) Modify the `ListFiles` endpoint to return\r\n - display file path `filePath` which is the file path stripped of occurrences of `!_fossa.virtual_!` so we don't show that in the UI.\r\n - `fullFilePath` which includes the full path, so the UI can make correct queries to SY. \r\n - `isGhostFile` - is the file part of an archive\r\n - `isArchive` - is the file an expanded archive\r\n\r\nWe also will by default ignore the original archive if we have the expanded contents. This is to minimize confusion in the UI (they would see both a folder and a file with the same name)\r\n\r\n## Security Impact\r\n\r\nNo Security impact AFAICT\r\n\r\nChecklist:\r\nTODO\r\n\r\n## Dependency Changes\r\n\r\nNone", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/709", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/709/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/709/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/709/events", "html_url": "https://github.com/fossas/basis/issues/709", "id": 692528067, "node_id": "MDU6SXNzdWU2OTI1MjgwNjc=", "number": 709, "title": "Add LicenseBoundariesType field to IPR.File", "user": { "login": "aluttik", "id": 10134357, "node_id": "MDQ6VXNlcjEwMTM0MzU3", "avatar_url": "https://avatars0.githubusercontent.com/u/10134357?v=4", "gravatar_id": "", "url": "https://api.github.com/users/aluttik", "html_url": "https://github.com/aluttik", "followers_url": "https://api.github.com/users/aluttik/followers", "following_url": "https://api.github.com/users/aluttik/following{/other_user}", "gists_url": "https://api.github.com/users/aluttik/gists{/gist_id}", "starred_url": "https://api.github.com/users/aluttik/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/aluttik/subscriptions", "organizations_url": "https://api.github.com/users/aluttik/orgs", "repos_url": "https://api.github.com/users/aluttik/repos", "events_url": "https://api.github.com/users/aluttik/events{/privacy}", "received_events_url": "https://api.github.com/users/aluttik/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2285389198, "node_id": "MDU6TGFiZWwyMjg1Mzg5MTk4", "url": "https://api.github.com/repos/fossas/basis/labels/IPR", "name": "IPR", "color": "d79aea", "default": false, "description": "" }, { "id": 2233957218, "node_id": "MDU6TGFiZWwyMjMzOTU3MjE4", "url": "https://api.github.com/repos/fossas/basis/labels/task", "name": "task", "color": "ed8917", "default": false, "description": "" }, { "id": 2242946206, "node_id": "MDU6TGFiZWwyMjQyOTQ2MjA2", "url": "https://api.github.com/repos/fossas/basis/labels/tech%20debt", "name": "tech debt", "color": "ffccfc", "default": false, "description": "" }, { "id": 2292163570, "node_id": "MDU6TGFiZWwyMjkyMTYzNTcw", "url": "https://api.github.com/repos/fossas/basis/labels/xs(%3C=1%20eng%20day)", "name": "xs(<=1 eng day)", "color": "bfd4f2", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": { "login": "aluttik", "id": 10134357, "node_id": "MDQ6VXNlcjEwMTM0MzU3", "avatar_url": "https://avatars0.githubusercontent.com/u/10134357?v=4", "gravatar_id": "", "url": "https://api.github.com/users/aluttik", "html_url": "https://github.com/aluttik", "followers_url": "https://api.github.com/users/aluttik/followers", "following_url": "https://api.github.com/users/aluttik/following{/other_user}", "gists_url": "https://api.github.com/users/aluttik/gists{/gist_id}", "starred_url": "https://api.github.com/users/aluttik/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/aluttik/subscriptions", "organizations_url": "https://api.github.com/users/aluttik/orgs", "repos_url": "https://api.github.com/users/aluttik/repos", "events_url": "https://api.github.com/users/aluttik/events{/privacy}", "received_events_url": "https://api.github.com/users/aluttik/received_events", "type": "User", "site_admin": false }, "assignees": [ { "login": "aluttik", "id": 10134357, "node_id": "MDQ6VXNlcjEwMTM0MzU3", "avatar_url": "https://avatars0.githubusercontent.com/u/10134357?v=4", "gravatar_id": "", "url": "https://api.github.com/users/aluttik", "html_url": "https://github.com/aluttik", "followers_url": "https://api.github.com/users/aluttik/followers", "following_url": "https://api.github.com/users/aluttik/following{/other_user}", "gists_url": "https://api.github.com/users/aluttik/gists{/gist_id}", "starred_url": "https://api.github.com/users/aluttik/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/aluttik/subscriptions", "organizations_url": "https://api.github.com/users/aluttik/orgs", "repos_url": "https://api.github.com/users/aluttik/repos", "events_url": "https://api.github.com/users/aluttik/events{/privacy}", "received_events_url": "https://api.github.com/users/aluttik/received_events", "type": "User", "site_admin": false } ], "milestone": null, "comments": 0, "created_at": "2020-09-04T00:01:54Z", "updated_at": "2020-09-04T00:02:44Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": "Requested by VPS team.\r\n\r\nAdd a field to an IPR.File that describes what license boundary expansion strategy was used to set the offsets/line numbers in the license expression.\r\n\r\nIt can be one of these strings:\r\n```\r\nnone\r\nbinary\r\ncode\r\nspecial\r\ntext\r\n```\r\n\r\nWhen there are no `LicenseExpressions`, the field should be `\"none\"`.", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/701", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/701/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/701/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/701/events", "html_url": "https://github.com/fossas/basis/issues/701", "id": 691300376, "node_id": "MDU6SXNzdWU2OTEzMDAzNzY=", "number": 701, "title": "Faktory queue based pod autoscaling", "user": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2317081331, "node_id": "MDU6TGFiZWwyMzE3MDgxMzMx", "url": "https://api.github.com/repos/fossas/basis/labels/XL(8%20eng%20day)", "name": "XL(8 eng day)", "color": "bfd4f2", "default": false, "description": "" }, { "id": 2233957218, "node_id": "MDU6TGFiZWwyMjMzOTU3MjE4", "url": "https://api.github.com/repos/fossas/basis/labels/task", "name": "task", "color": "ed8917", "default": false, "description": "" }, { "id": 2242946206, "node_id": "MDU6TGFiZWwyMjQyOTQ2MjA2", "url": "https://api.github.com/repos/fossas/basis/labels/tech%20debt", "name": "tech debt", "color": "ffccfc", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": null, "assignees": [ ], "milestone": { "url": "https://api.github.com/repos/fossas/basis/milestones/8", "html_url": "https://github.com/fossas/basis/milestone/8", "labels_url": "https://api.github.com/repos/fossas/basis/milestones/8/labels", "id": 5837416, "node_id": "MDk6TWlsZXN0b25lNTgzNzQxNg==", "number": 8, "title": "Kube/Deployment improvements", "description": "", "creator": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "open_issues": 5, "closed_issues": 0, "state": "open", "created_at": "2020-09-02T16:20:50Z", "updated_at": "2020-09-02T19:21:25Z", "due_on": null, "closed_at": null }, "comments": 0, "created_at": "2020-09-02T18:20:22Z", "updated_at": "2020-09-04T00:15:30Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": "# Description\r\nAdd service that allows kube analysis worker deployments to proportionally scale to a defined _max_ number of pods based on the size of a taskqueue in faktory.\r\n\r\n# Equation\r\nThere are three variables that determine pod counts\r\n* `queueSize`: the size of the queue\r\n* `podStepSize`: configurable, the desired number of messages in the queue per pod. \r\n* `maxPods`: configurable, the max scale of pods that can be running\r\n```\r\nPodCount=\r\n MIN(\r\n CIELING(QSize/stepSize),\r\n maxPods\r\n )\r\n```\r\n\r\n# Acceptance Criteria\r\n* Checks for changes in pod scale are performed every 5 minutes\r\n\r\n\r\nThe following scenarios are met (test fixture):\r\n| queue size | queue-pod step size | max pods | current pod count | ∆ in pod count | final pod count |\r\n|------------|---------------------|----------|-------------------|----------------|-----------------|\r\n| 0 | 1000 | 10 | 9 | -9 | 0 |\r\n| 1000 | 1000 | 10 | 2 | -1 | 1 |\r\n| 5000 | 1000 | 10 | 2 | 3 | 5 |\r\n| 90000000 | 1000 | 10 | 0 | 10 | 10 |\r\n| 15 | 5 | 10 | 0 | 3 | 3 |\r\n| 1 | 5 | 10 | 4 | -3 | 1 |\r\n", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/700", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/700/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/700/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/700/events", "html_url": "https://github.com/fossas/basis/issues/700", "id": 691300323, "node_id": "MDU6SXNzdWU2OTEzMDAzMjM=", "number": 700, "title": "tooling for kube testing locally using kind", "user": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "labels": [ ], "state": "open", "locked": false, "assignee": null, "assignees": [ ], "milestone": { "url": "https://api.github.com/repos/fossas/basis/milestones/8", "html_url": "https://github.com/fossas/basis/milestone/8", "labels_url": "https://api.github.com/repos/fossas/basis/milestones/8/labels", "id": 5837416, "node_id": "MDk6TWlsZXN0b25lNTgzNzQxNg==", "number": 8, "title": "Kube/Deployment improvements", "description": "", "creator": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "open_issues": 5, "closed_issues": 0, "state": "open", "created_at": "2020-09-02T16:20:50Z", "updated_at": "2020-09-02T19:21:25Z", "due_on": null, "closed_at": null }, "comments": 0, "created_at": "2020-09-02T18:20:17Z", "updated_at": "2020-09-02T19:21:21Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": "# Description\r\nAdd tooling to allow ramjet to support `kind` for local kube testing", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/699", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/699/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/699/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/699/events", "html_url": "https://github.com/fossas/basis/issues/699", "id": 691300274, "node_id": "MDU6SXNzdWU2OTEzMDAyNzQ=", "number": 699, "title": "Update GH workflows and documentation for tagged releases", "user": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "labels": [ ], "state": "open", "locked": false, "assignee": null, "assignees": [ ], "milestone": { "url": "https://api.github.com/repos/fossas/basis/milestones/8", "html_url": "https://github.com/fossas/basis/milestone/8", "labels_url": "https://api.github.com/repos/fossas/basis/milestones/8/labels", "id": 5837416, "node_id": "MDk6TWlsZXN0b25lNTgzNzQxNg==", "number": 8, "title": "Kube/Deployment improvements", "description": "", "creator": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "open_issues": 5, "closed_issues": 0, "state": "open", "created_at": "2020-09-02T16:20:50Z", "updated_at": "2020-09-02T19:21:25Z", "due_on": null, "closed_at": null }, "comments": 1, "created_at": "2020-09-02T18:20:13Z", "updated_at": "2020-09-02T19:21:16Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": "", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/698", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/698/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/698/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/698/events", "html_url": "https://github.com/fossas/basis/issues/698", "id": 691167137, "node_id": "MDU6SXNzdWU2OTExNjcxMzc=", "number": 698, "title": "update fossa/f2-kube to use helm charts", "user": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2233957218, "node_id": "MDU6TGFiZWwyMjMzOTU3MjE4", "url": "https://api.github.com/repos/fossas/basis/labels/task", "name": "task", "color": "ed8917", "default": false, "description": "" }, { "id": 2242946206, "node_id": "MDU6TGFiZWwyMjQyOTQ2MjA2", "url": "https://api.github.com/repos/fossas/basis/labels/tech%20debt", "name": "tech debt", "color": "ffccfc", "default": false, "description": "" }, { "id": 2292163570, "node_id": "MDU6TGFiZWwyMjkyMTYzNTcw", "url": "https://api.github.com/repos/fossas/basis/labels/xs(%3C=1%20eng%20day)", "name": "xs(<=1 eng day)", "color": "bfd4f2", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": null, "assignees": [ ], "milestone": { "url": "https://api.github.com/repos/fossas/basis/milestones/8", "html_url": "https://github.com/fossas/basis/milestone/8", "labels_url": "https://api.github.com/repos/fossas/basis/milestones/8/labels", "id": 5837416, "node_id": "MDk6TWlsZXN0b25lNTgzNzQxNg==", "number": 8, "title": "Kube/Deployment improvements", "description": "", "creator": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "open_issues": 5, "closed_issues": 0, "state": "open", "created_at": "2020-09-02T16:20:50Z", "updated_at": "2020-09-02T19:21:25Z", "due_on": null, "closed_at": null }, "comments": 0, "created_at": "2020-09-02T16:24:28Z", "updated_at": "2020-09-02T19:21:12Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": "# Description\r\nUpdate fossas/f2-kube to use helm charts for spot workers. \r\n\r\n# Acceptance Criteria\r\n* helm chart templates out a spot worker\r\n* values defined for: `default`, `rpm`, and `aosp` queue workers\r\n* README updated with description on how to setup helm and manually deploy with helm ", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/697", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/697/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/697/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/697/events", "html_url": "https://github.com/fossas/basis/issues/697", "id": 691161453, "node_id": "MDU6SXNzdWU2OTExNjE0NTM=", "number": 697, "title": "Kube/Deployment improvements", "user": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2233963128, "node_id": "MDU6TGFiZWwyMjMzOTYzMTI4", "url": "https://api.github.com/repos/fossas/basis/labels/story", "name": "story", "color": "7139ba", "default": false, "description": "" }, { "id": 2242946206, "node_id": "MDU6TGFiZWwyMjQyOTQ2MjA2", "url": "https://api.github.com/repos/fossas/basis/labels/tech%20debt", "name": "tech debt", "color": "ffccfc", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": null, "assignees": [ ], "milestone": { "url": "https://api.github.com/repos/fossas/basis/milestones/8", "html_url": "https://github.com/fossas/basis/milestone/8", "labels_url": "https://api.github.com/repos/fossas/basis/milestones/8/labels", "id": 5837416, "node_id": "MDk6TWlsZXN0b25lNTgzNzQxNg==", "number": 8, "title": "Kube/Deployment improvements", "description": "", "creator": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "open_issues": 5, "closed_issues": 0, "state": "open", "created_at": "2020-09-02T16:20:50Z", "updated_at": "2020-09-02T19:21:25Z", "due_on": null, "closed_at": null }, "comments": 1, "created_at": "2020-09-02T16:17:42Z", "updated_at": "2020-09-02T18:19:42Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": "# Description\r\nThe ramjet deployment pipeline is currently heavily manual and hard to test. There are several small wins we can get, and this story captures the first part of them. \r\n\r\n# Helm\r\nParameterize f2-kube yaml files into helm charts for simpler deployments and less repetitive overhead.\r\n\r\n# Tagged + Manual Releases\r\nSupport building images that we intend to deploy based on tags, with the option to support manually specified tags.\r\n\r\n# Kind-ly local test \r\nAdd tooling to allow testing with [kind](https://kind.sigs.k8s.io/). This will unlock the ability to more rapidly test features that rely on kube (e.g. autoscaling)\r\n\r\n# Queue Size Based Autoscaling\r\nUpdate deployment pod count based on the size of a faktory queue.\r\n\r\n## Future Work\r\nFuture work may require more advanced autoscaling control: e.g. multiple inputs like rate of failure for a queue (e.g. 80% of tasks are failing, so autoscale down until that number reaches an acceptable threshold or pod count goes to 0)\r\n\r\n# Simple Deployment Flow\r\nDeploy on merge to certain tag/branch structures. ", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/696", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/696/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/696/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/696/events", "html_url": "https://github.com/fossas/basis/pull/696", "id": 690524214, "node_id": "MDExOlB1bGxSZXF1ZXN0NDc3Mzk4OTQ0", "number": 696, "title": "Component Domain HTTP and Client API pseudo code draft", "user": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2012655720, "node_id": "MDU6TGFiZWwyMDEyNjU1NzIw", "url": "https://api.github.com/repos/fossas/basis/labels/DO%20NOT%20MERGE", "name": "DO NOT MERGE", "color": "b60205", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": null, "assignees": [ ], "milestone": null, "comments": 3, "created_at": "2020-09-01T23:57:14Z", "updated_at": "2020-09-04T15:37:32Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "pull_request": { "url": "https://api.github.com/repos/fossas/basis/pulls/696", "html_url": "https://github.com/fossas/basis/pull/696", "diff_url": "https://github.com/fossas/basis/pull/696.diff", "patch_url": "https://github.com/fossas/basis/pull/696.patch" }, "body": "## What\r\n\r\nThis PR provides a draft of the shape of the HTTP and client interfaces that will interact with the knowlege API. This draft only supports public data.\r\n\r\nAs noted in the code, this is written in typescript because our intended final model has a lot of disjoint unions, which I find much easier to express in typescript with generics than via explicit enumeration in golang.\r\n\r\nThe pseudo code is very terse, let me know if you want me to go back and sprinkle in more comments to make what is happening and what does what more clear.\r\n\r\n## Why\r\n\r\nTo get buy in on the design before more work is put into the design. I tried to encompass what functionality was needed from the knowledge API as described in the high level unified scan doc as well as other low hanging fruit for the API as a whole.\r\n", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/695", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/695/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/695/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/695/events", "html_url": "https://github.com/fossas/basis/issues/695", "id": 690370623, "node_id": "MDU6SXNzdWU2OTAzNzA2MjM=", "number": 695, "title": "nuget analysis execution", "user": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2292198574, "node_id": "MDU6TGFiZWwyMjkyMTk4NTc0", "url": "https://api.github.com/repos/fossas/basis/labels/XXL(13%20eng%20day)", "name": "XXL(13 eng day)", "color": "bfd4f2", "default": false, "description": "" }, { "id": 2285388797, "node_id": "MDU6TGFiZWwyMjg1Mzg4Nzk3", "url": "https://api.github.com/repos/fossas/basis/labels/analysis", "name": "analysis", "color": "83ef83", "default": false, "description": "" }, { "id": 1715002859, "node_id": "MDU6TGFiZWwxNzE1MDAyODU5", "url": "https://api.github.com/repos/fossas/basis/labels/feature", "name": "feature", "color": "a2eeef", "default": false, "description": "New feature or request" }, { "id": 2314884738, "node_id": "MDU6TGFiZWwyMzE0ODg0NzM4", "url": "https://api.github.com/repos/fossas/basis/labels/passive", "name": "passive", "color": "17a589", "default": false, "description": "Tasks that can generally be performed in the background" }, { "id": 2233957218, "node_id": "MDU6TGFiZWwyMjMzOTU3MjE4", "url": "https://api.github.com/repos/fossas/basis/labels/task", "name": "task", "color": "ed8917", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": { "login": "achristianson", "id": 24681233, "node_id": "MDQ6VXNlcjI0NjgxMjMz", "avatar_url": "https://avatars3.githubusercontent.com/u/24681233?v=4", "gravatar_id": "", "url": "https://api.github.com/users/achristianson", "html_url": "https://github.com/achristianson", "followers_url": "https://api.github.com/users/achristianson/followers", "following_url": "https://api.github.com/users/achristianson/following{/other_user}", "gists_url": "https://api.github.com/users/achristianson/gists{/gist_id}", "starred_url": "https://api.github.com/users/achristianson/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/achristianson/subscriptions", "organizations_url": "https://api.github.com/users/achristianson/orgs", "repos_url": "https://api.github.com/users/achristianson/repos", "events_url": "https://api.github.com/users/achristianson/events{/privacy}", "received_events_url": "https://api.github.com/users/achristianson/received_events", "type": "User", "site_admin": false }, "assignees": [ { "login": "achristianson", "id": 24681233, "node_id": "MDQ6VXNlcjI0NjgxMjMz", "avatar_url": "https://avatars3.githubusercontent.com/u/24681233?v=4", "gravatar_id": "", "url": "https://api.github.com/users/achristianson", "html_url": "https://github.com/achristianson", "followers_url": "https://api.github.com/users/achristianson/followers", "following_url": "https://api.github.com/users/achristianson/following{/other_user}", "gists_url": "https://api.github.com/users/achristianson/gists{/gist_id}", "starred_url": "https://api.github.com/users/achristianson/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/achristianson/subscriptions", "organizations_url": "https://api.github.com/users/achristianson/orgs", "repos_url": "https://api.github.com/users/achristianson/repos", "events_url": "https://api.github.com/users/achristianson/events{/privacy}", "received_events_url": "https://api.github.com/users/achristianson/received_events", "type": "User", "site_admin": false } ], "milestone": { "url": "https://api.github.com/repos/fossas/basis/milestones/4", "html_url": "https://github.com/fossas/basis/milestone/4", "labels_url": "https://api.github.com/repos/fossas/basis/milestones/4/labels", "id": 5833310, "node_id": "MDk6TWlsZXN0b25lNTgzMzMxMA==", "number": 4, "title": "Nuget Coverage", "description": "", "creator": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "open_issues": 5, "closed_issues": 0, "state": "open", "created_at": "2020-09-01T18:16:03Z", "updated_at": "2020-09-01T19:00:38Z", "due_on": null, "closed_at": null }, "comments": 0, "created_at": "2020-09-01T18:54:50Z", "updated_at": "2020-09-01T19:06:15Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": "story #691 \r\n# Description\r\nDeploy analysis workers for nuget, queue analysis jobs, and monitor for edge cases from data in the wild\r\n# Acceptance Criteria\r\n* Push nuget components to queue `NUGET-analysis` with:\r\n * commenStrippedSha and declaredLicenseScan enabled\r\n * discoveredLicnse scan disabled\r\n * 30 min timeout\r\n * 3 retries\r\n* add a nuget analysis worker kube deployment in f2-kube repo\r\n* deploy worker that consumes from `NUGET-analysis` queue\r\n* [passive] monitor for unexpected errors and rate limits using kibana. [go/ramjet-worker-dashboard](http://go/ramjet-worker-dashboard) is a good starting point.\r\n* [passive] monitor max/min pod memory and cpu usage. Adjust worker pod resource limits and requests to support more efficient pod packing per node. ", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/694", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/694/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/694/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/694/events", "html_url": "https://github.com/fossas/basis/issues/694", "id": 690370595, "node_id": "MDU6SXNzdWU2OTAzNzA1OTU=", "number": 694, "title": "update component analyzer to be compatible with nuget based components", "user": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2285388797, "node_id": "MDU6TGFiZWwyMjg1Mzg4Nzk3", "url": "https://api.github.com/repos/fossas/basis/labels/analysis", "name": "analysis", "color": "83ef83", "default": false, "description": "" }, { "id": 1715002859, "node_id": "MDU6TGFiZWwxNzE1MDAyODU5", "url": "https://api.github.com/repos/fossas/basis/labels/feature", "name": "feature", "color": "a2eeef", "default": false, "description": "New feature or request" }, { "id": 2233957218, "node_id": "MDU6TGFiZWwyMjMzOTU3MjE4", "url": "https://api.github.com/repos/fossas/basis/labels/task", "name": "task", "color": "ed8917", "default": false, "description": "" }, { "id": 2292163570, "node_id": "MDU6TGFiZWwyMjkyMTYzNTcw", "url": "https://api.github.com/repos/fossas/basis/labels/xs(%3C=1%20eng%20day)", "name": "xs(<=1 eng day)", "color": "bfd4f2", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": { "login": "achristianson", "id": 24681233, "node_id": "MDQ6VXNlcjI0NjgxMjMz", "avatar_url": "https://avatars3.githubusercontent.com/u/24681233?v=4", "gravatar_id": "", "url": "https://api.github.com/users/achristianson", "html_url": "https://github.com/achristianson", "followers_url": "https://api.github.com/users/achristianson/followers", "following_url": "https://api.github.com/users/achristianson/following{/other_user}", "gists_url": "https://api.github.com/users/achristianson/gists{/gist_id}", "starred_url": "https://api.github.com/users/achristianson/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/achristianson/subscriptions", "organizations_url": "https://api.github.com/users/achristianson/orgs", "repos_url": "https://api.github.com/users/achristianson/repos", "events_url": "https://api.github.com/users/achristianson/events{/privacy}", "received_events_url": "https://api.github.com/users/achristianson/received_events", "type": "User", "site_admin": false }, "assignees": [ { "login": "achristianson", "id": 24681233, "node_id": "MDQ6VXNlcjI0NjgxMjMz", "avatar_url": "https://avatars3.githubusercontent.com/u/24681233?v=4", "gravatar_id": "", "url": "https://api.github.com/users/achristianson", "html_url": "https://github.com/achristianson", "followers_url": "https://api.github.com/users/achristianson/followers", "following_url": "https://api.github.com/users/achristianson/following{/other_user}", "gists_url": "https://api.github.com/users/achristianson/gists{/gist_id}", "starred_url": "https://api.github.com/users/achristianson/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/achristianson/subscriptions", "organizations_url": "https://api.github.com/users/achristianson/orgs", "repos_url": "https://api.github.com/users/achristianson/repos", "events_url": "https://api.github.com/users/achristianson/events{/privacy}", "received_events_url": "https://api.github.com/users/achristianson/received_events", "type": "User", "site_admin": false } ], "milestone": { "url": "https://api.github.com/repos/fossas/basis/milestones/4", "html_url": "https://github.com/fossas/basis/milestone/4", "labels_url": "https://api.github.com/repos/fossas/basis/milestones/4/labels", "id": 5833310, "node_id": "MDk6TWlsZXN0b25lNTgzMzMxMA==", "number": 4, "title": "Nuget Coverage", "description": "", "creator": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "open_issues": 5, "closed_issues": 0, "state": "open", "created_at": "2020-09-01T18:16:03Z", "updated_at": "2020-09-01T19:00:38Z", "due_on": null, "closed_at": null }, "comments": 0, "created_at": "2020-09-01T18:54:47Z", "updated_at": "2020-09-01T19:04:54Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": "story #691 \r\n# Description\r\nUpdate the component downloader and component analyzer to be compatible with nuget dependencies\r\n# Acceptance Criteria \r\n* ensure that component downloader supports the download type for each component that is discovered. If already supported, no additional work needs to be done in this section\r\n* if download type is unsupported, add that support.", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/693", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/693/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/693/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/693/events", "html_url": "https://github.com/fossas/basis/issues/693", "id": 690370563, "node_id": "MDU6SXNzdWU2OTAzNzA1NjM=", "number": 693, "title": "nuget discovery execution", "user": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2317081331, "node_id": "MDU6TGFiZWwyMzE3MDgxMzMx", "url": "https://api.github.com/repos/fossas/basis/labels/XL(8%20eng%20day)", "name": "XL(8 eng day)", "color": "bfd4f2", "default": false, "description": "" }, { "id": 2242947081, "node_id": "MDU6TGFiZWwyMjQyOTQ3MDgx", "url": "https://api.github.com/repos/fossas/basis/labels/discovery", "name": "discovery", "color": "40ed1a", "default": false, "description": "" }, { "id": 1715002859, "node_id": "MDU6TGFiZWwxNzE1MDAyODU5", "url": "https://api.github.com/repos/fossas/basis/labels/feature", "name": "feature", "color": "a2eeef", "default": false, "description": "New feature or request" }, { "id": 2314884738, "node_id": "MDU6TGFiZWwyMzE0ODg0NzM4", "url": "https://api.github.com/repos/fossas/basis/labels/passive", "name": "passive", "color": "17a589", "default": false, "description": "Tasks that can generally be performed in the background" }, { "id": 2233957218, "node_id": "MDU6TGFiZWwyMjMzOTU3MjE4", "url": "https://api.github.com/repos/fossas/basis/labels/task", "name": "task", "color": "ed8917", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": { "login": "achristianson", "id": 24681233, "node_id": "MDQ6VXNlcjI0NjgxMjMz", "avatar_url": "https://avatars3.githubusercontent.com/u/24681233?v=4", "gravatar_id": "", "url": "https://api.github.com/users/achristianson", "html_url": "https://github.com/achristianson", "followers_url": "https://api.github.com/users/achristianson/followers", "following_url": "https://api.github.com/users/achristianson/following{/other_user}", "gists_url": "https://api.github.com/users/achristianson/gists{/gist_id}", "starred_url": "https://api.github.com/users/achristianson/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/achristianson/subscriptions", "organizations_url": "https://api.github.com/users/achristianson/orgs", "repos_url": "https://api.github.com/users/achristianson/repos", "events_url": "https://api.github.com/users/achristianson/events{/privacy}", "received_events_url": "https://api.github.com/users/achristianson/received_events", "type": "User", "site_admin": false }, "assignees": [ { "login": "achristianson", "id": 24681233, "node_id": "MDQ6VXNlcjI0NjgxMjMz", "avatar_url": "https://avatars3.githubusercontent.com/u/24681233?v=4", "gravatar_id": "", "url": "https://api.github.com/users/achristianson", "html_url": "https://github.com/achristianson", "followers_url": "https://api.github.com/users/achristianson/followers", "following_url": "https://api.github.com/users/achristianson/following{/other_user}", "gists_url": "https://api.github.com/users/achristianson/gists{/gist_id}", "starred_url": "https://api.github.com/users/achristianson/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/achristianson/subscriptions", "organizations_url": "https://api.github.com/users/achristianson/orgs", "repos_url": "https://api.github.com/users/achristianson/repos", "events_url": "https://api.github.com/users/achristianson/events{/privacy}", "received_events_url": "https://api.github.com/users/achristianson/received_events", "type": "User", "site_admin": false } ], "milestone": { "url": "https://api.github.com/repos/fossas/basis/milestones/4", "html_url": "https://github.com/fossas/basis/milestone/4", "labels_url": "https://api.github.com/repos/fossas/basis/milestones/4/labels", "id": 5833310, "node_id": "MDk6TWlsZXN0b25lNTgzMzMxMA==", "number": 4, "title": "Nuget Coverage", "description": "", "creator": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "open_issues": 5, "closed_issues": 0, "state": "open", "created_at": "2020-09-01T18:16:03Z", "updated_at": "2020-09-01T19:00:38Z", "due_on": null, "closed_at": null }, "comments": 0, "created_at": "2020-09-01T18:54:42Z", "updated_at": "2020-09-01T19:05:01Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": "story #691 \r\n\r\n# Description\r\nDeploy nuget discovery worker and trigger a discovery crawl\r\n\r\n# Acceptance Criteria\r\n* create kube deployment config for discovery worker(s)\r\n* deploy worker(s)\r\n* [passive] trigger discovery job by pushing to the queue, monitor for unexpected behavior/failures (e.g. surprising number of errors, rate limits, 503s, etc ...)\r\n* [passive] monitor max/min pod memory and cpu usage. Adjust worker pod resource limits and requests to support more efficient pod packing per node.\r\n", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/692", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/692/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/692/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/692/events", "html_url": "https://github.com/fossas/basis/issues/692", "id": 690370523, "node_id": "MDU6SXNzdWU2OTAzNzA1MjM=", "number": 692, "title": "nuget discovery implementation", "user": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2317081331, "node_id": "MDU6TGFiZWwyMzE3MDgxMzMx", "url": "https://api.github.com/repos/fossas/basis/labels/XL(8%20eng%20day)", "name": "XL(8 eng day)", "color": "bfd4f2", "default": false, "description": "" }, { "id": 2242947081, "node_id": "MDU6TGFiZWwyMjQyOTQ3MDgx", "url": "https://api.github.com/repos/fossas/basis/labels/discovery", "name": "discovery", "color": "40ed1a", "default": false, "description": "" }, { "id": 1715002859, "node_id": "MDU6TGFiZWwxNzE1MDAyODU5", "url": "https://api.github.com/repos/fossas/basis/labels/feature", "name": "feature", "color": "a2eeef", "default": false, "description": "New feature or request" }, { "id": 2233957218, "node_id": "MDU6TGFiZWwyMjMzOTU3MjE4", "url": "https://api.github.com/repos/fossas/basis/labels/task", "name": "task", "color": "ed8917", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": { "login": "achristianson", "id": 24681233, "node_id": "MDQ6VXNlcjI0NjgxMjMz", "avatar_url": "https://avatars3.githubusercontent.com/u/24681233?v=4", "gravatar_id": "", "url": "https://api.github.com/users/achristianson", "html_url": "https://github.com/achristianson", "followers_url": "https://api.github.com/users/achristianson/followers", "following_url": "https://api.github.com/users/achristianson/following{/other_user}", "gists_url": "https://api.github.com/users/achristianson/gists{/gist_id}", "starred_url": "https://api.github.com/users/achristianson/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/achristianson/subscriptions", "organizations_url": "https://api.github.com/users/achristianson/orgs", "repos_url": "https://api.github.com/users/achristianson/repos", "events_url": "https://api.github.com/users/achristianson/events{/privacy}", "received_events_url": "https://api.github.com/users/achristianson/received_events", "type": "User", "site_admin": false }, "assignees": [ { "login": "achristianson", "id": 24681233, "node_id": "MDQ6VXNlcjI0NjgxMjMz", "avatar_url": "https://avatars3.githubusercontent.com/u/24681233?v=4", "gravatar_id": "", "url": "https://api.github.com/users/achristianson", "html_url": "https://github.com/achristianson", "followers_url": "https://api.github.com/users/achristianson/followers", "following_url": "https://api.github.com/users/achristianson/following{/other_user}", "gists_url": "https://api.github.com/users/achristianson/gists{/gist_id}", "starred_url": "https://api.github.com/users/achristianson/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/achristianson/subscriptions", "organizations_url": "https://api.github.com/users/achristianson/orgs", "repos_url": "https://api.github.com/users/achristianson/repos", "events_url": "https://api.github.com/users/achristianson/events{/privacy}", "received_events_url": "https://api.github.com/users/achristianson/received_events", "type": "User", "site_admin": false } ], "milestone": { "url": "https://api.github.com/repos/fossas/basis/milestones/4", "html_url": "https://github.com/fossas/basis/milestone/4", "labels_url": "https://api.github.com/repos/fossas/basis/milestones/4/labels", "id": 5833310, "node_id": "MDk6TWlsZXN0b25lNTgzMzMxMA==", "number": 4, "title": "Nuget Coverage", "description": "", "creator": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "open_issues": 5, "closed_issues": 0, "state": "open", "created_at": "2020-09-01T18:16:03Z", "updated_at": "2020-09-01T19:00:38Z", "due_on": null, "closed_at": null }, "comments": 0, "created_at": "2020-09-01T18:54:38Z", "updated_at": "2020-09-01T19:02:23Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": "Story #691 \r\n# Description\r\nCreate nuget component discovery worker(s) and endpoints to trigger discovery\r\n# Acceptance Criteria\r\n1. new crawler `nuget` is added to the db\r\n1. new registry is added to the DB. \r\n1. add `POST` endpoint that supports the new crawler, registry pair: `[POST] /api/crawler/:crawler/:registryID` see #627 for reference\r\n1. faktory worker that consumes task sent to queue by step 1 and starts nuget discovery\r\n1. discovery crawls and the payloads that trigger them are recorded in the DB and associated with all components discovered in the crawl\r\n1. newly discovered components are added to the component database. \r\n1. metadata that does not align with the current columns should be inserted into the `additional_metadata` column.\r\n1. if possible, record metadata about the crawl so that subsequent discovery crawls will not redo the same work", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/691", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/691/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/691/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/691/events", "html_url": "https://github.com/fossas/basis/issues/691", "id": 690347413, "node_id": "MDU6SXNzdWU2OTAzNDc0MTM=", "number": 691, "title": "Nuget Coverage", "user": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2292198574, "node_id": "MDU6TGFiZWwyMjkyMTk4NTc0", "url": "https://api.github.com/repos/fossas/basis/labels/XXL(13%20eng%20day)", "name": "XXL(13 eng day)", "color": "bfd4f2", "default": false, "description": "" }, { "id": 2285388797, "node_id": "MDU6TGFiZWwyMjg1Mzg4Nzk3", "url": "https://api.github.com/repos/fossas/basis/labels/analysis", "name": "analysis", "color": "83ef83", "default": false, "description": "" }, { "id": 2242947081, "node_id": "MDU6TGFiZWwyMjQyOTQ3MDgx", "url": "https://api.github.com/repos/fossas/basis/labels/discovery", "name": "discovery", "color": "40ed1a", "default": false, "description": "" }, { "id": 2233963128, "node_id": "MDU6TGFiZWwyMjMzOTYzMTI4", "url": "https://api.github.com/repos/fossas/basis/labels/story", "name": "story", "color": "7139ba", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": { "login": "achristianson", "id": 24681233, "node_id": "MDQ6VXNlcjI0NjgxMjMz", "avatar_url": "https://avatars3.githubusercontent.com/u/24681233?v=4", "gravatar_id": "", "url": "https://api.github.com/users/achristianson", "html_url": "https://github.com/achristianson", "followers_url": "https://api.github.com/users/achristianson/followers", "following_url": "https://api.github.com/users/achristianson/following{/other_user}", "gists_url": "https://api.github.com/users/achristianson/gists{/gist_id}", "starred_url": "https://api.github.com/users/achristianson/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/achristianson/subscriptions", "organizations_url": "https://api.github.com/users/achristianson/orgs", "repos_url": "https://api.github.com/users/achristianson/repos", "events_url": "https://api.github.com/users/achristianson/events{/privacy}", "received_events_url": "https://api.github.com/users/achristianson/received_events", "type": "User", "site_admin": false }, "assignees": [ { "login": "achristianson", "id": 24681233, "node_id": "MDQ6VXNlcjI0NjgxMjMz", "avatar_url": "https://avatars3.githubusercontent.com/u/24681233?v=4", "gravatar_id": "", "url": "https://api.github.com/users/achristianson", "html_url": "https://github.com/achristianson", "followers_url": "https://api.github.com/users/achristianson/followers", "following_url": "https://api.github.com/users/achristianson/following{/other_user}", "gists_url": "https://api.github.com/users/achristianson/gists{/gist_id}", "starred_url": "https://api.github.com/users/achristianson/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/achristianson/subscriptions", "organizations_url": "https://api.github.com/users/achristianson/orgs", "repos_url": "https://api.github.com/users/achristianson/repos", "events_url": "https://api.github.com/users/achristianson/events{/privacy}", "received_events_url": "https://api.github.com/users/achristianson/received_events", "type": "User", "site_admin": false } ], "milestone": { "url": "https://api.github.com/repos/fossas/basis/milestones/4", "html_url": "https://github.com/fossas/basis/milestone/4", "labels_url": "https://api.github.com/repos/fossas/basis/milestones/4/labels", "id": 5833310, "node_id": "MDk6TWlsZXN0b25lNTgzMzMxMA==", "number": 4, "title": "Nuget Coverage", "description": "", "creator": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "open_issues": 5, "closed_issues": 0, "state": "open", "created_at": "2020-09-01T18:16:03Z", "updated_at": "2020-09-01T19:00:38Z", "due_on": null, "closed_at": null }, "comments": 0, "created_at": "2020-09-01T18:15:36Z", "updated_at": "2020-09-01T18:52:42Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": "# Description\r\n* Create a golang based discovery crawler for nuget to gather C# coverage. \r\n* Extend existing analysis worker to be compatible with nuget components.\r\n\r\n# Acceptance Criteria\r\n## Discovery\r\n### Code Changes\r\n1. new crawler `nuget` is added to the db\r\n1. new registry is added to the DB. \r\n1. add `POST` endpoint that supports the new crawler, registry pair: `[POST] /api/crawler/:crawler/:registryID` see #627 for reference\r\n1. faktory worker that consumes task sent to queue by step 1 and starts nuget discovery\r\n1. discovery crawls and the payloads that trigger them are recorded in the DB and associated with all components discovered in the crawl\r\n1. newly discovered components are added to the component database. \r\n1. metadata that does not align with the current columns should be inserted into the `additional_metadata` column.\r\n1. if possible, record metadata about the crawl so that subsequent discovery crawls will not redo the same work\r\n### Deployment\r\n* create kube deployment config for discovery worker(s)\r\n* deploy worker(s)\r\n* [passive] trigger discovery job by pushing to the queue, monitor for unexpected behavior/failures (e.g. surprising number of errors, rate limits, 503s, etc ...)\r\n* [passive] monitor max/min pod memory and cpu usage. Adjust worker pod resource limits and requests to support more efficient pod packing per node.\r\n\r\n### Metrics\r\n* estimate max number of components\r\n* estimate rate of discovery (components/sec) (min 2 hour window)\r\n* estimate time to complete discovery \r\n\r\n## Analysis\r\n### Code Changes\r\n* ensure that component downloader supports the download type for each component that is discovered. If already supported, no additional work needs to be done in this section\r\n* if download type is unsupported, add that support.\r\n\r\n### Analysis Execution\r\n* Push nuget components to queue `NUGET-analysis` with:\r\n * commenStrippedSha and declaredLicenseScan enabled\r\n * discoveredLicnse scan disabled\r\n * 30 min timeout\r\n * 3 retries\r\n* add a nuget analysis worker kube deployment in f2-kube repo\r\n* deploy worker that consumes from `NUGET-analysis` queue\r\n* [passive] monitor for unexpected errors and rate limits using kibana. [go/ramjet-worker-dashboard](http://go/ramjet-worker-dashboard) is a good starting point.\r\n* [passive] monitor max/min pod memory and cpu usage. Adjust worker pod resource limits and requests to support more efficient pod packing per node. \r\n\r\n### Metrics\r\n* estimate rate of analysis (components/sec) (min 3 hour window)\r\n* estimate time to complete analysis for nuget\r\n* determine baseline error rate so we can identify when things are going wrong\r\n * e.g. in 1 hour, 10,000 successful analysis tasks and 500 failed tasks as a baseline would hint that we should be concerned if during another 1 hr window there is a 4,000 successful tasks and 8,000 failed tasks\r\n\r\n\r\n# Notes\r\n* More than 1 faktory worker can be made for this. It is likely that there will be a fanout-like workflow\r\n* There are always unexpected edge cases from real world data. Aim to follow the 80/20 rule. Downstream consumers may be able to work with 80% success in discovery &/or analysis.\r\n* There may be rate limits, but they seem very high. If we need to get around them, we can try to build out the IP rate limit bypass as a service.\r\n* The [f2 project may be a good reference](https://github.com/fossas/f2/tree/master/services/crawlers/nuget) for an older implementation of this type of service. As a warning it uses netflix's conductor orchestration framework instead of faktory. \r\n* docs on the nuget registry server can be found [here](https://github.com/fossas/f2/tree/master/services/crawlers/nugethttps://github.com/fossas/f2/tree/master/services/crawlers/nuget)\r\n", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/688", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/688/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/688/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/688/events", "html_url": "https://github.com/fossas/basis/issues/688", "id": 689550513, "node_id": "MDU6SXNzdWU2ODk1NTA1MTM=", "number": 688, "title": "AOSP analysis", "user": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2292198574, "node_id": "MDU6TGFiZWwyMjkyMTk4NTc0", "url": "https://api.github.com/repos/fossas/basis/labels/XXL(13%20eng%20day)", "name": "XXL(13 eng day)", "color": "bfd4f2", "default": false, "description": "" }, { "id": 1715002859, "node_id": "MDU6TGFiZWwxNzE1MDAyODU5", "url": "https://api.github.com/repos/fossas/basis/labels/feature", "name": "feature", "color": "a2eeef", "default": false, "description": "New feature or request" }, { "id": 2314884738, "node_id": "MDU6TGFiZWwyMzE0ODg0NzM4", "url": "https://api.github.com/repos/fossas/basis/labels/passive", "name": "passive", "color": "17a589", "default": false, "description": "Tasks that can generally be performed in the background" }, { "id": 2233957218, "node_id": "MDU6TGFiZWwyMjMzOTU3MjE4", "url": "https://api.github.com/repos/fossas/basis/labels/task", "name": "task", "color": "ed8917", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": { "login": "taliamccormick", "id": 13280845, "node_id": "MDQ6VXNlcjEzMjgwODQ1", "avatar_url": "https://avatars2.githubusercontent.com/u/13280845?v=4", "gravatar_id": "", "url": "https://api.github.com/users/taliamccormick", "html_url": "https://github.com/taliamccormick", "followers_url": "https://api.github.com/users/taliamccormick/followers", "following_url": "https://api.github.com/users/taliamccormick/following{/other_user}", "gists_url": "https://api.github.com/users/taliamccormick/gists{/gist_id}", "starred_url": "https://api.github.com/users/taliamccormick/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/taliamccormick/subscriptions", "organizations_url": "https://api.github.com/users/taliamccormick/orgs", "repos_url": "https://api.github.com/users/taliamccormick/repos", "events_url": "https://api.github.com/users/taliamccormick/events{/privacy}", "received_events_url": "https://api.github.com/users/taliamccormick/received_events", "type": "User", "site_admin": false }, "assignees": [ { "login": "taliamccormick", "id": 13280845, "node_id": "MDQ6VXNlcjEzMjgwODQ1", "avatar_url": "https://avatars2.githubusercontent.com/u/13280845?v=4", "gravatar_id": "", "url": "https://api.github.com/users/taliamccormick", "html_url": "https://github.com/taliamccormick", "followers_url": "https://api.github.com/users/taliamccormick/followers", "following_url": "https://api.github.com/users/taliamccormick/following{/other_user}", "gists_url": "https://api.github.com/users/taliamccormick/gists{/gist_id}", "starred_url": "https://api.github.com/users/taliamccormick/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/taliamccormick/subscriptions", "organizations_url": "https://api.github.com/users/taliamccormick/orgs", "repos_url": "https://api.github.com/users/taliamccormick/repos", "events_url": "https://api.github.com/users/taliamccormick/events{/privacy}", "received_events_url": "https://api.github.com/users/taliamccormick/received_events", "type": "User", "site_admin": false } ], "milestone": null, "comments": 0, "created_at": "2020-08-31T22:15:32Z", "updated_at": "2020-08-31T22:43:25Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": "# Description\r\nStart, monitor, and manage AOSP analysis\r\n\r\n\r\n# Gotchyas\r\n* Remember to allocate enough ephemeral storage\r\n* remember to send these tasks to a differently named queue so we can balance the number of worker pods", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/687", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/687/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/687/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/687/events", "html_url": "https://github.com/fossas/basis/issues/687", "id": 689550469, "node_id": "MDU6SXNzdWU2ODk1NTA0Njk=", "number": 687, "title": "Monitor RPM analysis", "user": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2292198574, "node_id": "MDU6TGFiZWwyMjkyMTk4NTc0", "url": "https://api.github.com/repos/fossas/basis/labels/XXL(13%20eng%20day)", "name": "XXL(13 eng day)", "color": "bfd4f2", "default": false, "description": "" }, { "id": 1715002859, "node_id": "MDU6TGFiZWwxNzE1MDAyODU5", "url": "https://api.github.com/repos/fossas/basis/labels/feature", "name": "feature", "color": "a2eeef", "default": false, "description": "New feature or request" }, { "id": 2314884738, "node_id": "MDU6TGFiZWwyMzE0ODg0NzM4", "url": "https://api.github.com/repos/fossas/basis/labels/passive", "name": "passive", "color": "17a589", "default": false, "description": "Tasks that can generally be performed in the background" }, { "id": 2233957218, "node_id": "MDU6TGFiZWwyMjMzOTU3MjE4", "url": "https://api.github.com/repos/fossas/basis/labels/task", "name": "task", "color": "ed8917", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": { "login": "taliamccormick", "id": 13280845, "node_id": "MDQ6VXNlcjEzMjgwODQ1", "avatar_url": "https://avatars2.githubusercontent.com/u/13280845?v=4", "gravatar_id": "", "url": "https://api.github.com/users/taliamccormick", "html_url": "https://github.com/taliamccormick", "followers_url": "https://api.github.com/users/taliamccormick/followers", "following_url": "https://api.github.com/users/taliamccormick/following{/other_user}", "gists_url": "https://api.github.com/users/taliamccormick/gists{/gist_id}", "starred_url": "https://api.github.com/users/taliamccormick/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/taliamccormick/subscriptions", "organizations_url": "https://api.github.com/users/taliamccormick/orgs", "repos_url": "https://api.github.com/users/taliamccormick/repos", "events_url": "https://api.github.com/users/taliamccormick/events{/privacy}", "received_events_url": "https://api.github.com/users/taliamccormick/received_events", "type": "User", "site_admin": false }, "assignees": [ { "login": "taliamccormick", "id": 13280845, "node_id": "MDQ6VXNlcjEzMjgwODQ1", "avatar_url": "https://avatars2.githubusercontent.com/u/13280845?v=4", "gravatar_id": "", "url": "https://api.github.com/users/taliamccormick", "html_url": "https://github.com/taliamccormick", "followers_url": "https://api.github.com/users/taliamccormick/followers", "following_url": "https://api.github.com/users/taliamccormick/following{/other_user}", "gists_url": "https://api.github.com/users/taliamccormick/gists{/gist_id}", "starred_url": "https://api.github.com/users/taliamccormick/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/taliamccormick/subscriptions", "organizations_url": "https://api.github.com/users/taliamccormick/orgs", "repos_url": "https://api.github.com/users/taliamccormick/repos", "events_url": "https://api.github.com/users/taliamccormick/events{/privacy}", "received_events_url": "https://api.github.com/users/taliamccormick/received_events", "type": "User", "site_admin": false } ], "milestone": { "url": "https://api.github.com/repos/fossas/basis/milestones/3", "html_url": "https://github.com/fossas/basis/milestone/3", "labels_url": "https://api.github.com/repos/fossas/basis/milestones/3/labels", "id": 5808820, "node_id": "MDk6TWlsZXN0b25lNTgwODgyMA==", "number": 3, "title": "RPM Analysis", "description": "", "creator": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "open_issues": 4, "closed_issues": 1, "state": "open", "created_at": "2020-08-25T18:08:32Z", "updated_at": "2020-09-03T15:03:45Z", "due_on": "2020-08-28T07:00:00Z", "closed_at": null }, "comments": 0, "created_at": "2020-08-31T22:15:26Z", "updated_at": "2020-08-31T22:39:33Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": "# Description\r\nRPM analysis has been failing due to 503 service not responding errors because we've likely been taking down their servers.\r\n\r\nThis happens with 1 or more pods, sometimes at random, and seems to be happening with fedora. The way around this has been: run 1-10 pods at a time, then occassionally check when 503s are being hit.\r\n\r\nWhen that happens, spin down the pods, wait 30 minutes, start them up again and re-queue the components that failed due to the 503.\r\n\r\nRight now you can just use the query \r\n```sql\r\nselect component.id from component \r\njoin crawl on crawl.id=component.crawl and crawler=21 and analysis_state='failed' order by registry desc;\r\n```\r\nto get all of the RPM components that failed. If we start getting a high number of _non service not available_ failures, we can look to change the query to be more focused.\r\n\r\nRemember to clear the existing queue when requeuing as you might end up redundantly queuing components by accident.\r\n# Tasks\r\n* queue RPM comonents for analysis in `RPM-analysis` queue\r\n* turn on RPM analysis pods. Start at 1, increase to 4-10 until the service outage hits\r\n* periodically check for logs for service failures. Turn off pods, re-queue components, go to the beginning of this task list", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/676", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/676/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/676/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/676/events", "html_url": "https://github.com/fossas/basis/issues/676", "id": 687420280, "node_id": "MDU6SXNzdWU2ODc0MjAyODA=", "number": 676, "title": "Move Ramjet migrations from ramjet/migrations/ to ramjet/internal/migrations/", "user": { "login": "taliamccormick", "id": 13280845, "node_id": "MDQ6VXNlcjEzMjgwODQ1", "avatar_url": "https://avatars2.githubusercontent.com/u/13280845?v=4", "gravatar_id": "", "url": "https://api.github.com/users/taliamccormick", "html_url": "https://github.com/taliamccormick", "followers_url": "https://api.github.com/users/taliamccormick/followers", "following_url": "https://api.github.com/users/taliamccormick/following{/other_user}", "gists_url": "https://api.github.com/users/taliamccormick/gists{/gist_id}", "starred_url": "https://api.github.com/users/taliamccormick/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/taliamccormick/subscriptions", "organizations_url": "https://api.github.com/users/taliamccormick/orgs", "repos_url": "https://api.github.com/users/taliamccormick/repos", "events_url": "https://api.github.com/users/taliamccormick/events{/privacy}", "received_events_url": "https://api.github.com/users/taliamccormick/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2233957218, "node_id": "MDU6TGFiZWwyMjMzOTU3MjE4", "url": "https://api.github.com/repos/fossas/basis/labels/task", "name": "task", "color": "ed8917", "default": false, "description": "" }, { "id": 2242946206, "node_id": "MDU6TGFiZWwyMjQyOTQ2MjA2", "url": "https://api.github.com/repos/fossas/basis/labels/tech%20debt", "name": "tech debt", "color": "ffccfc", "default": false, "description": "" }, { "id": 2292163570, "node_id": "MDU6TGFiZWwyMjkyMTYzNTcw", "url": "https://api.github.com/repos/fossas/basis/labels/xs(%3C=1%20eng%20day)", "name": "xs(<=1 eng day)", "color": "bfd4f2", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": { "login": "taliamccormick", "id": 13280845, "node_id": "MDQ6VXNlcjEzMjgwODQ1", "avatar_url": "https://avatars2.githubusercontent.com/u/13280845?v=4", "gravatar_id": "", "url": "https://api.github.com/users/taliamccormick", "html_url": "https://github.com/taliamccormick", "followers_url": "https://api.github.com/users/taliamccormick/followers", "following_url": "https://api.github.com/users/taliamccormick/following{/other_user}", "gists_url": "https://api.github.com/users/taliamccormick/gists{/gist_id}", "starred_url": "https://api.github.com/users/taliamccormick/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/taliamccormick/subscriptions", "organizations_url": "https://api.github.com/users/taliamccormick/orgs", "repos_url": "https://api.github.com/users/taliamccormick/repos", "events_url": "https://api.github.com/users/taliamccormick/events{/privacy}", "received_events_url": "https://api.github.com/users/taliamccormick/received_events", "type": "User", "site_admin": false }, "assignees": [ { "login": "taliamccormick", "id": 13280845, "node_id": "MDQ6VXNlcjEzMjgwODQ1", "avatar_url": "https://avatars2.githubusercontent.com/u/13280845?v=4", "gravatar_id": "", "url": "https://api.github.com/users/taliamccormick", "html_url": "https://github.com/taliamccormick", "followers_url": "https://api.github.com/users/taliamccormick/followers", "following_url": "https://api.github.com/users/taliamccormick/following{/other_user}", "gists_url": "https://api.github.com/users/taliamccormick/gists{/gist_id}", "starred_url": "https://api.github.com/users/taliamccormick/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/taliamccormick/subscriptions", "organizations_url": "https://api.github.com/users/taliamccormick/orgs", "repos_url": "https://api.github.com/users/taliamccormick/repos", "events_url": "https://api.github.com/users/taliamccormick/events{/privacy}", "received_events_url": "https://api.github.com/users/taliamccormick/received_events", "type": "User", "site_admin": false } ], "milestone": null, "comments": 1, "created_at": "2020-08-27T17:34:36Z", "updated_at": "2020-08-31T19:21:52Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": "## Background\r\nRamjet's migrations are stored in ramjet/migrations. Other projects store their migrations in /internal/migrations. Moving the Ramjet migrations to ramjet/internal/migrations lets use benefit from shared database tooling (eg. package `migrate`, some defaults for package `ephemeraldb`)\r\n\r\n## Acceptance Criteria\r\n1. Migrations are moved.\r\n2. Aragog references to migrations (eg. README) are updated\r\n3. Ramjet references to migrations are updated\r\n i. All `mage.MigrateUp` and `mage.MigrateUp` used in tests with a hardcoded string should now make use of the shared tooling `migrate` functionality. Note that the list below is not exhaustive.\r\n `ramjet/internal/cmd/rpm-discovery/insert_test.go`\r\n `ramjet/internal/lib/analysis/dbsetup_test.go`\r\n `ramjet/internal/testing/shared/component_test_util.go`\r\n `ramjet/pkg/filestore/test_common_test.go`\r\n `ramjet/pkg/component-service/insert_test.go`\r\n ii. All places where hardcoded migration strings used in main.go files should now make use of the shared tooling `migrate` functionality. Note that the list below is not exhaustive.\r\n `ramjet/internal/cmd/component-analyzer-cli/main.go`\r\n4. Review `ramjet/mage` and update to make use of the shared tooling `migrate` package.", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/673", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/673/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/673/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/673/events", "html_url": "https://github.com/fossas/basis/issues/673", "id": 685994442, "node_id": "MDU6SXNzdWU2ODU5OTQ0NDI=", "number": 673, "title": "investigate infrastructure/framework to assess registry server stability", "user": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2242949023, "node_id": "MDU6TGFiZWwyMjQyOTQ5MDIz", "url": "https://api.github.com/repos/fossas/basis/labels/R&D", "name": "R&D", "color": "8137e8", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": null, "assignees": [ ], "milestone": null, "comments": 0, "created_at": "2020-08-26T04:27:19Z", "updated_at": "2020-08-26T04:38:41Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": "# Goals\r\nInvestigate a performance testing/grading framework to assess the performance profile of registry response time and availability so that we can get the following benefits:\r\n* proactively prevent accidentally taking down a 3rd party service\r\n* accurately predict the length of time needed to complete a long running task that is putting load and relying on a third party registry\r\n\r\n# Background\r\nDifferent registries hit during discovery and fingerprinting had different performance profiles. Some, like nuget, were incredibly stable and offered a consistent response time under varying loads.\r\n\r\nSites like jcenter and certain RPM registries did not deliver consistent performance over varying load profiles. Without having a great way of knowing what the performance profile of a particular registry is, we needed to make guesses as to how long certain tasks (disco, fingerprinting) would take. \r\n\r\nThis was generally fine until we started to have the same workers consuming from registries of the same type but different sources. With RPM, we were able to use the same analysis pathways, but sourced RPMs from multiple registries. This became abundantly clear when we started facing a wave of 503s when those servers were under light load, compared to the 10-100x scale we were running against for earlier registries of type RPM\r\n\r\n# Proposal\r\nCreate a standardization for how to assess the performance profile of a registry under differing loads. The goal would be to determine if:\r\n* there is a relationship between load from our workers and the server performance\r\n * if at 1, 10, 100, and 1000 concurrent workers, the response could be: unaffected, degrade linearly, degrade superlinearly, or degrade sublinearly\r\n * is there a limit to the load before the registry is taken offline accidentally (503s)\r\n * is there a (documented or undocumented) rate limit? If so, is it by IP address, by header, or by some other mechanism? ", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/671", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/671/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/671/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/671/events", "html_url": "https://github.com/fossas/basis/pull/671", "id": 685914000, "node_id": "MDExOlB1bGxSZXF1ZXN0NDczNTcxMDQ1", "number": 671, "title": "Taskqueue: task not found", "user": { "login": "kitified", "id": 55713231, "node_id": "MDQ6VXNlcjU1NzEzMjMx", "avatar_url": "https://avatars0.githubusercontent.com/u/55713231?v=4", "gravatar_id": "", "url": "https://api.github.com/users/kitified", "html_url": "https://github.com/kitified", "followers_url": "https://api.github.com/users/kitified/followers", "following_url": "https://api.github.com/users/kitified/following{/other_user}", "gists_url": "https://api.github.com/users/kitified/gists{/gist_id}", "starred_url": "https://api.github.com/users/kitified/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/kitified/subscriptions", "organizations_url": "https://api.github.com/users/kitified/orgs", "repos_url": "https://api.github.com/users/kitified/repos", "events_url": "https://api.github.com/users/kitified/events{/privacy}", "received_events_url": "https://api.github.com/users/kitified/received_events", "type": "User", "site_admin": false }, "labels": [ ], "state": "open", "locked": false, "assignee": null, "assignees": [ ], "milestone": null, "comments": 7, "created_at": "2020-08-26T00:16:48Z", "updated_at": "2020-09-08T22:29:34Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "pull_request": { "url": "https://api.github.com/repos/fossas/basis/pulls/671", "html_url": "https://github.com/fossas/basis/pull/671", "diff_url": "https://github.com/fossas/basis/pull/671.diff", "patch_url": "https://github.com/fossas/basis/pull/671.patch" }, "body": "## What\r\n\r\nThis PR:\r\n\r\n* Updates `package taskqueue` to exit the worker if it encounters `ERR Job not found` from the Faktory worker.\r\n* Adds `logging.Interceptor` to support functionality like this.\r\n\r\n## Why\r\n\r\nSherlock has issues where workers are getting out of sync with the server, causing them to become stuck forever.\r\nThis PR prevents them from getting stuck at least.\r\n\r\n## How\r\n\r\nInspect logging output from `package faktoryWorker`, exit the program if we get matching log lines.\r\n\r\n## Security Impact\r\n\r\nNone.\r\n\r\nChecklist:\r\n- [x] Code in this PR is covered by automated tests.\r\n\r\n## Dependency Changes\r\n\r\nNone\r\n", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/667", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/667/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/667/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/667/events", "html_url": "https://github.com/fossas/basis/issues/667", "id": 685692343, "node_id": "MDU6SXNzdWU2ODU2OTIzNDM=", "number": 667, "title": "Large call trace in kube logs for RPM analysis", "user": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2285388797, "node_id": "MDU6TGFiZWwyMjg1Mzg4Nzk3", "url": "https://api.github.com/repos/fossas/basis/labels/analysis", "name": "analysis", "color": "83ef83", "default": false, "description": "" }, { "id": 1715002852, "node_id": "MDU6TGFiZWwxNzE1MDAyODUy", "url": "https://api.github.com/repos/fossas/basis/labels/bug", "name": "bug", "color": "d73a4a", "default": true, "description": "Something isn't working" }, { "id": 2292162202, "node_id": "MDU6TGFiZWwyMjkyMTYyMjAy", "url": "https://api.github.com/repos/fossas/basis/labels/m(3%20eng%20day)", "name": "m(3 eng day)", "color": "bfd4f2", "default": false, "description": "" }, { "id": 2233957218, "node_id": "MDU6TGFiZWwyMjMzOTU3MjE4", "url": "https://api.github.com/repos/fossas/basis/labels/task", "name": "task", "color": "ed8917", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": { "login": "aluttik", "id": 10134357, "node_id": "MDQ6VXNlcjEwMTM0MzU3", "avatar_url": "https://avatars0.githubusercontent.com/u/10134357?v=4", "gravatar_id": "", "url": "https://api.github.com/users/aluttik", "html_url": "https://github.com/aluttik", "followers_url": "https://api.github.com/users/aluttik/followers", "following_url": "https://api.github.com/users/aluttik/following{/other_user}", "gists_url": "https://api.github.com/users/aluttik/gists{/gist_id}", "starred_url": "https://api.github.com/users/aluttik/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/aluttik/subscriptions", "organizations_url": "https://api.github.com/users/aluttik/orgs", "repos_url": "https://api.github.com/users/aluttik/repos", "events_url": "https://api.github.com/users/aluttik/events{/privacy}", "received_events_url": "https://api.github.com/users/aluttik/received_events", "type": "User", "site_admin": false }, "assignees": [ { "login": "aluttik", "id": 10134357, "node_id": "MDQ6VXNlcjEwMTM0MzU3", "avatar_url": "https://avatars0.githubusercontent.com/u/10134357?v=4", "gravatar_id": "", "url": "https://api.github.com/users/aluttik", "html_url": "https://github.com/aluttik", "followers_url": "https://api.github.com/users/aluttik/followers", "following_url": "https://api.github.com/users/aluttik/following{/other_user}", "gists_url": "https://api.github.com/users/aluttik/gists{/gist_id}", "starred_url": "https://api.github.com/users/aluttik/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/aluttik/subscriptions", "organizations_url": "https://api.github.com/users/aluttik/orgs", "repos_url": "https://api.github.com/users/aluttik/repos", "events_url": "https://api.github.com/users/aluttik/events{/privacy}", "received_events_url": "https://api.github.com/users/aluttik/received_events", "type": "User", "site_admin": false } ], "milestone": { "url": "https://api.github.com/repos/fossas/basis/milestones/3", "html_url": "https://github.com/fossas/basis/milestone/3", "labels_url": "https://api.github.com/repos/fossas/basis/milestones/3/labels", "id": 5808820, "node_id": "MDk6TWlsZXN0b25lNTgwODgyMA==", "number": 3, "title": "RPM Analysis", "description": "", "creator": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "open_issues": 4, "closed_issues": 1, "state": "open", "created_at": "2020-08-25T18:08:32Z", "updated_at": "2020-09-03T15:03:45Z", "due_on": "2020-08-28T07:00:00Z", "closed_at": null }, "comments": 0, "created_at": "2020-08-25T18:18:24Z", "updated_at": "2020-08-25T18:23:29Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": "# Description\r\nLarge call trace errors are popping up in RPM analysis on kube. Reason is not currently known, nor is there a hypothesis atm.\r\n\r\n# How to find trace\r\n* Go to RPM pods, select pod with many restarts. \r\n* Go to logs\r\n* Hit the triple dot more options button in the top right, select the previous logs option\r\n* search for the trace, this might need a few tries to find a pod that had this case\r\n\r\n# Example trace\r\n(partial) \r\n```\r\nbytes.(*Buffer).ReadFrom(0xc001dbbad8, 0x162fb60, 0xc001d4d3c0, 0x40a3e5, 0x11d65e0, 0x13048a0)\r\n\t/usr/local/go/src/bytes/buffer.go:204 +0xb4\r\ncrypto/tls.(*Conn).readFromUntil(0xc001dbb880, 0x1630e60, 0xc00292b338, 0x5, 0xc00292b338, 0x40c406)\r\n\t/usr/local/go/src/crypto/tls/conn.go:802 +0xec\r\ncrypto/tls.(*Conn).readRecordOrCCS(0xc001dbb880, 0x0, 0x0, 0x3)\r\n\t/usr/local/go/src/crypto/tls/conn.go:609 +0x124\r\ncrypto/tls.(*Conn).readRecord(...)\r\n\t/usr/local/go/src/crypto/tls/conn.go:577\r\ncrypto/tls.(*Conn).Read(0xc001dbb880, 0xc002910000, 0x1000, 0x1000, 0x0, 0x0, 0x0)\r\n\t/usr/local/go/src/crypto/tls/conn.go:1255 +0x161\r\nnet/http.(*persistConn).Read(0xc003020b40, 0xc002910000, 0x1000, 0x1000, 0xc0024861e0, 0xc000902c20, 0x404db5)\r\n\t/usr/local/go/src/net/http/transport.go:1747 +0x75\r\nbufio.(*Reader).fill(0xc0005b10e0)\r\n\t/usr/local/go/src/bufio/bufio.go:100 +0x103\r\nbufio.(*Reader).Peek(0xc0005b10e0, 0x1, 0x0, 0x0, 0x1, 0xc002486100, 0x0)\r\n\t/usr/local/go/src/bufio/bufio.go:138 +0x4f\r\nnet/http.(*persistConn).readLoop(0xc003020b40)\r\n\t/usr/local/go/src/net/http/transport.go:1900 +0x1d6\r\ncreated by net/http.(*Transport).dialConn\r\n\t/usr/local/go/src/net/http/transport.go:1569 +0xafe\r\ngoroutine 240671 [chan send, 1 minutes]:\r\ngithub.com/fossas/basis/ramjet/internal/lib/analysis.ComponentAnalyzer.walkFileTree(0x165ca20, 0xc001c260a0, 0x1630240, 0xc001e7a000, 0x1631de0, 0xc001c260b0, 0x1630220, 0xc00017c460, 0x164e2c0, 0xc001c26080, ...)\r\n\t/src/github.com/fossas/basis/ramjet/internal/lib/analysis/analysis.go:239 +0x1c8\r\ncreated by github.com/fossas/basis/ramjet/internal/lib/analysis.ComponentAnalyzer.AnalyzeComponent\r\n\t/src/github.com/fossas/basis/ramjet/internal/lib/analysis/analysis.go:180 +0xc14\r\ngoroutine 248017 [chan send]:\r\ngithub.com/fossas/basis/ramjet/internal/lib/analysis.ComponentAnalyzer.walkFileTree(0x165ca20, 0xc001c260a0, 0x1630240, 0xc001e7a000, 0x1631de0, 0xc001c260b0, 0x1630220, 0xc00017c460, 0x164e2c0, 0xc001c26080, ...)\r\n\t/src/github.com/fossas/basis/ramjet/internal/lib/analysis/analysis.go:239 +0x1c8\r\ncreated by github.com/fossas/basis/ramjet/internal/lib/analysis.ComponentAnalyzer.AnalyzeComponent\r\n\t/src/github.com/fossas/basis/ramjet/internal/lib/analysis/analysis.go:180 +0xc14\r\ngoroutine 240117 [chan send, 1 minutes]:\r\ngithub.com/fossas/basis/ramjet/internal/lib/analysis.ComponentAnalyzer.walkFileTree(0x165ca20, 0xc001c260a0, 0x1630240, 0xc001e7a000, 0x1631de0, 0xc001c260b0, 0x1630220, 0xc00017c460, 0x164e2c0, 0xc001c26080, ...)\r\n\t/src/github.com/fossas/basis/ramjet/internal/lib/analysis/analysis.go:239 +0x1c8\r\ncreated by github.com/fossas/basis/ramjet/internal/lib/analysis.ComponentAnalyzer.AnalyzeComponent\r\n\t/src/github.com/fossas/basis/ramjet/internal/lib/analysis/analysis.go:180 +0xc14\r\ngoroutine 251813 [semacquire]:\r\nsync.runtime_SemacquireMutex(0xc00060a654, 0xc00242c701, 0x1)\r\n\t/usr/local/go/src/runtime/sema.go:71 +0x47\r\nsync.(*Mutex).lockSlow(0xc00060a650)\r\n\t/usr/local/go/src/sync/mutex.go:138 +0xfc\r\nsync.(*Mutex).Lock(...)\r\n\t/usr/local/go/src/sync/mutex.go:81\r\ngithub.com/sirupsen/logrus.(*MutexWrap).Lock(...)\r\n\t/go/pkg/mod/github.com/sirupsen/logrus@v1.5.0/logger.go:53\r\ngithub.com/sirupsen/logrus.(*Entry).WithFields(0xc002427d50, 0xc00256d348, 0x0)\r\n\t/go/pkg/mod/github.com/sirupsen/logrus@v1.5.0/entry.go:125 +0x68d\r\ngithub.com/fossas/basis/shared/pkg/effects/logging.(*FossaLogger).WithFields(...)\r\n\t/src/github.com/fossas/basis/shared/pkg/effects/logging/logger.go:22\r\ngithub.com/fossas/basis/shared/pkg/effects/logging.(*FossaLogger).DurationWithInitialMessage.func1(0x13855c4, 0x20, 0x6, 0x0, 0x0, 0x0, 0x0, 0x164e9c0, 0xc0033f6fa0)\r\n\t/src/github.com/fossas/basis/shared/pkg/effects/logging/utils.go:90 +0x1f1\r\ngithub.com/fossas/basis/ramjet/pkg/ipr.ReadBytesFromFile(0x164e000, 0xc00ce65020, 0x0, 0x0, 0xc0021f0a00, 0x20, 0x0, 0x0, 0xc001dc5b60, 0x10, ...)\r\n\t/src/github.com/fossas/basis/ramjet/pkg/ipr/util.go:101 +0x70b\r\ngithub.com/fossas/basis/ramjet/internal/lib/analysis.ComponentAnalyzer.processFile(0x165ca20, 0xc001c260a0, 0x1630240, 0xc001e7a000, 0x1631de0, 0xc001c260b0, 0x1630220, 0xc00017c460, 0x164e2c0, 0xc001c26080, ...)\r\n\t/src/github.com/fossas/basis/ramjet/internal/lib/analysis/analysis.go:273 +0x38e\r\ngithub.com/fossas/basis/ramjet/internal/lib/analysis.ComponentAnalyzer.AnalyzeComponent.func4(0xc00970b768, 0x0)\r\n\t/src/github.com/fossas/basis/ramjet/internal/lib/analysis/analysis.go:186 +0x217\r\ngolang.org/x/sync/errgroup.(*Group).Go.func1(0xc005ce13e0, 0xc000f2ca80)\r\n\t/go/pkg/mod/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e/errgroup/errgroup.go:57 +0x64\r\ncreated by golang.org/x/sync/errgroup.(*Group).Go\r\n\t/go/pkg/mod/golang.org/x/sync@v0.0.0-20190911185100-cd5d95a43a6e/errgroup/errgroup.go:54 +0x66\r\ngoroutine 243387 [chan send, 1 minutes]:\r\ngithub.com/fossas/basis/ramjet/internal/lib/analysis.ComponentAnalyzer.walkFileTree(0x165ca20, 0xc001c260a0, 0x1630240, 0xc001e7a000, 0x1631de0, 0xc001c260b0, 0x1630220, 0xc00017c460, 0x164e2c0, 0xc001c26080, ...)\r\n\t/src/github.com/fossas/basis/ramjet/internal/lib/analysis/analysis.go:239 +0x1c8\r\ncreated by github.com/fossas/basis/ramjet/internal/lib/analysis.ComponentAnalyzer.AnalyzeComponent\r\n\t/src/github.com/fossas/basis/ramjet/internal/lib/analysis/analysis.go:180 +0xc14\r\ngoroutine 243095 [chan send, 1 minutes]:\r\ngithub.com/fossas/basis/ramjet/internal/lib/analysis.ComponentAnalyzer.walkFileTree(0x165ca20, 0xc001c260a0, 0x1630240, 0xc001e7a000, 0x1631de0, 0xc001c260b0, 0x1630220, 0xc00017c460, 0x164e2c0, 0xc001c26080, ...)\r\n\t/src/github.com/fossas/basis/ramjet/internal/lib/analysis/analysis.go:239 +0x1c8\r\ncreated by github.com/fossas/basis/ramjet/internal/lib/analysis.ComponentAnalyzer.AnalyzeComponent\r\n\t/src/github.com/fossas/basis/ramjet/internal/lib/analysis/analysis.go:180 +0xc14\r\ngoroutine 243965 [chan send, 1 minutes]:\r\ngithub.com/fossas/basis/ramjet/internal/lib/analysis.ComponentAnalyzer.walkFileTree(0x165ca20, 0xc001c260a0, 0x1630240, 0xc001e7a000, 0x1631de0, 0xc001c260b0, 0x1630220, 0xc00017c460, 0x164e2c0, 0xc001c26080, ...)\r\n\t/src/github.com/fossas/basis/ramjet/internal/lib/analysis/analysis.go:239 +0x1c8\r\ncreated by github.com/fossas/basis/ramjet/internal/lib/analysis.ComponentAnalyzer.AnalyzeComponent\r\n\t/src/github.com/fossas/basis/ramjet/internal/lib/analysis/analysis.go:180 +0xc14\r\ngoroutine 242503 [chan send, 1 minutes]:\r\ngithub.com/fossas/basis/ramjet/internal/lib/analysis.ComponentAnalyzer.walkFileTree(0x165ca20, 0xc001c260a0, 0x1630240, 0xc001e7a000, 0x1631de0, 0xc001c260b0, 0x1630220, 0xc00017c460, 0x164e2c0, 0xc001c26080, ...)\r\n\t/src/github.com/fossas/basis/ramjet/internal/lib/analysis/analysis.go:239 +0x1c8\r\ncreated by github.com/fossas/basis/ramjet/internal/lib/analysis.ComponentAnalyzer.AnalyzeComponent\r\n\t/src/github.com/fossas/basis/ramjet/internal/lib/analysis/analysis.go:180 +0xc14\r\ngoroutine 239914 [chan send, 1 minutes]:\r\ngithub.com/fossas/basis/ramjet/internal/lib/analysis.ComponentAnalyzer.walkFileTree(0x165ca20, 0xc001c260a0, 0x1630240, 0xc001e7a000, 0x1631de0, 0xc001c260b0, 0x1630220, 0xc00017c460, 0x164e2c0, 0xc001c26080, ...)\r\n\t/src/github.com/fossas/basis/ramjet/internal/lib/analysis/analysis.go:239 +0x1c8\r\ncreated by github.com/fossas/basis/ramjet/internal/lib/analysis.ComponentAnalyzer.AnalyzeComponent\r\n\t/src/github.com/fossas/basis/ramjet/internal/lib/analysis/analysis.go:180 +0xc14\r\ngoroutine 241968 [chan send, 1 minutes]:\r\ngithub.com/fossas/basis/ramjet/internal/lib/analysis.ComponentAnalyzer.walkFileTree(0x165ca20, 0xc001c260a0, 0x1630240, 0xc001e7a000, 0x1631de0, 0xc001c260b0, 0x1630220, 0xc00017c460, 0x164e2c0, 0xc001c26080, ...)\r\n\t/src/github.com/fossas/basis/ramjet/internal/lib/analysis/analysis.go:239 +0x1c8\r\ncreated by github.com/fossas/basis/ramjet/internal/lib/analysis.ComponentAnalyzer.AnalyzeComponent\r\n\t/src/github.com/fossas/basis/ramjet/internal/lib/analysis/analysis.go:180 +0xc14\r\nLogs from to UTC\r\n```\r\n", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/665", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/665/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/665/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/665/events", "html_url": "https://github.com/fossas/basis/issues/665", "id": 685686722, "node_id": "MDU6SXNzdWU2ODU2ODY3MjI=", "number": 665, "title": "RPM analysis", "user": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 1715002852, "node_id": "MDU6TGFiZWwxNzE1MDAyODUy", "url": "https://api.github.com/repos/fossas/basis/labels/bug", "name": "bug", "color": "d73a4a", "default": true, "description": "Something isn't working" }, { "id": 2233963128, "node_id": "MDU6TGFiZWwyMjMzOTYzMTI4", "url": "https://api.github.com/repos/fossas/basis/labels/story", "name": "story", "color": "7139ba", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": { "login": "aluttik", "id": 10134357, "node_id": "MDQ6VXNlcjEwMTM0MzU3", "avatar_url": "https://avatars0.githubusercontent.com/u/10134357?v=4", "gravatar_id": "", "url": "https://api.github.com/users/aluttik", "html_url": "https://github.com/aluttik", "followers_url": "https://api.github.com/users/aluttik/followers", "following_url": "https://api.github.com/users/aluttik/following{/other_user}", "gists_url": "https://api.github.com/users/aluttik/gists{/gist_id}", "starred_url": "https://api.github.com/users/aluttik/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/aluttik/subscriptions", "organizations_url": "https://api.github.com/users/aluttik/orgs", "repos_url": "https://api.github.com/users/aluttik/repos", "events_url": "https://api.github.com/users/aluttik/events{/privacy}", "received_events_url": "https://api.github.com/users/aluttik/received_events", "type": "User", "site_admin": false }, "assignees": [ { "login": "aluttik", "id": 10134357, "node_id": "MDQ6VXNlcjEwMTM0MzU3", "avatar_url": "https://avatars0.githubusercontent.com/u/10134357?v=4", "gravatar_id": "", "url": "https://api.github.com/users/aluttik", "html_url": "https://github.com/aluttik", "followers_url": "https://api.github.com/users/aluttik/followers", "following_url": "https://api.github.com/users/aluttik/following{/other_user}", "gists_url": "https://api.github.com/users/aluttik/gists{/gist_id}", "starred_url": "https://api.github.com/users/aluttik/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/aluttik/subscriptions", "organizations_url": "https://api.github.com/users/aluttik/orgs", "repos_url": "https://api.github.com/users/aluttik/repos", "events_url": "https://api.github.com/users/aluttik/events{/privacy}", "received_events_url": "https://api.github.com/users/aluttik/received_events", "type": "User", "site_admin": false } ], "milestone": { "url": "https://api.github.com/repos/fossas/basis/milestones/3", "html_url": "https://github.com/fossas/basis/milestone/3", "labels_url": "https://api.github.com/repos/fossas/basis/milestones/3/labels", "id": 5808820, "node_id": "MDk6TWlsZXN0b25lNTgwODgyMA==", "number": 3, "title": "RPM Analysis", "description": "", "creator": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "open_issues": 4, "closed_issues": 1, "state": "open", "created_at": "2020-08-25T18:08:32Z", "updated_at": "2020-09-03T15:03:45Z", "due_on": "2020-08-28T07:00:00Z", "closed_at": null }, "comments": 0, "created_at": "2020-08-25T18:08:41Z", "updated_at": "2020-08-25T18:23:55Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": "# Description\r\nFinish/track RPM analysis. Resolve bugs in runtime analyiss\r\n\r\n# Query to find failed rpm components\r\n`select analysis_failure_reason, name, version, revision, component.id from component join crawl on component.crawl=crawl.id and crawler=21 and analysis_state='failed';`\r\n\r\nGives failure reason: we should hopefully be able to group these to find categories of failures.\r\nAllows us to track components that failed and were otherwise fixed.\r\n\r\n# Why Create a Story?\r\nWe've encountered a few bugs with RPM analysis. I wanted to capture/group them under a story that could be tracked independently", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/655", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/655/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/655/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/655/events", "html_url": "https://github.com/fossas/basis/issues/655", "id": 683723517, "node_id": "MDU6SXNzdWU2ODM3MjM1MTc=", "number": 655, "title": "Template issue for validating analysis worker output", "user": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2292200621, "node_id": "MDU6TGFiZWwyMjkyMjAwNjIx", "url": "https://api.github.com/repos/fossas/basis/labels/template", "name": "template", "color": "fef2c0", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": null, "assignees": [ ], "milestone": null, "comments": 0, "created_at": "2020-08-21T17:59:54Z", "updated_at": "2020-08-21T18:00:59Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": "", "performed_via_github_app": null }, { "url": "https://api.github.com/repos/fossas/basis/issues/654", "repository_url": "https://api.github.com/repos/fossas/basis", "labels_url": "https://api.github.com/repos/fossas/basis/issues/654/labels{/name}", "comments_url": "https://api.github.com/repos/fossas/basis/issues/654/comments", "events_url": "https://api.github.com/repos/fossas/basis/issues/654/events", "html_url": "https://github.com/fossas/basis/issues/654", "id": 683722412, "node_id": "MDU6SXNzdWU2ODM3MjI0MTI=", "number": 654, "title": "Add tests for `httppath` package", "user": { "login": "microsoftly", "id": 4560399, "node_id": "MDQ6VXNlcjQ1NjAzOTk=", "avatar_url": "https://avatars3.githubusercontent.com/u/4560399?v=4", "gravatar_id": "", "url": "https://api.github.com/users/microsoftly", "html_url": "https://github.com/microsoftly", "followers_url": "https://api.github.com/users/microsoftly/followers", "following_url": "https://api.github.com/users/microsoftly/following{/other_user}", "gists_url": "https://api.github.com/users/microsoftly/gists{/gist_id}", "starred_url": "https://api.github.com/users/microsoftly/starred{/owner}{/repo}", "subscriptions_url": "https://api.github.com/users/microsoftly/subscriptions", "organizations_url": "https://api.github.com/users/microsoftly/orgs", "repos_url": "https://api.github.com/users/microsoftly/repos", "events_url": "https://api.github.com/users/microsoftly/events{/privacy}", "received_events_url": "https://api.github.com/users/microsoftly/received_events", "type": "User", "site_admin": false }, "labels": [ { "id": 2233957218, "node_id": "MDU6TGFiZWwyMjMzOTU3MjE4", "url": "https://api.github.com/repos/fossas/basis/labels/task", "name": "task", "color": "ed8917", "default": false, "description": "" }, { "id": 2242946206, "node_id": "MDU6TGFiZWwyMjQyOTQ2MjA2", "url": "https://api.github.com/repos/fossas/basis/labels/tech%20debt", "name": "tech debt", "color": "ffccfc", "default": false, "description": "" }, { "id": 2292163570, "node_id": "MDU6TGFiZWwyMjkyMTYzNTcw", "url": "https://api.github.com/repos/fossas/basis/labels/xs(%3C=1%20eng%20day)", "name": "xs(<=1 eng day)", "color": "bfd4f2", "default": false, "description": "" } ], "state": "open", "locked": false, "assignee": null, "assignees": [ ], "milestone": null, "comments": 0, "created_at": "2020-08-21T17:57:55Z", "updated_at": "2020-08-21T17:58:38Z", "closed_at": null, "author_association": "CONTRIBUTOR", "active_lock_reason": null, "body": "", "performed_via_github_app": null } ]