diff --git a/.vscode/extensions.json b/.vscode/extensions.json index e4e9f40..a7a4125 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,6 +1,6 @@ { "recommendations": [ - "grapecity.gc-excelviewer", - "ritwickdey.liveserver" + "ritwickdey.liveserver", + "janisdd.vscode-edit-csv" ] } \ No newline at end of file diff --git a/README.md b/README.md index c42cbd0..95b6f59 100644 --- a/README.md +++ b/README.md @@ -49,4 +49,5 @@ No content leaves your browser. - [SurveyJS](https://github.com/surveyjs/survey-library) for the survey framework - [Papa Parse](https://www.papaparse.com/) for the CSV to JSON conversion end CSV export - [ChartJS](https://www.chartjs.org/docs/latest/) for the graphing - - GitHub Copilot helped with some of the code and this readme 😍 \ No newline at end of file + - GitHub Copilot helped with some of the code and this readme 😍 + - [Edit CSV](https://marketplace.visualstudio.com/items?itemName=janisdd.vscode-edit-csv) VS Code extension to edit CSV and add quote delimiters to the `questions.csv`` \ No newline at end of file diff --git a/actions-short/README.md b/actions-short/README.md new file mode 100644 index 0000000..992f6e2 --- /dev/null +++ b/actions-short/README.md @@ -0,0 +1,3 @@ +You can edit this quiz by copying survey.json into the editor at https://surveyjs.io/create-free-survey + +The questions here are based on this [GitHub training](https://learn.microsoft.com/en-us/users/githubtraining/collections/o1njfe825p602p) learning path \ No newline at end of file diff --git a/actions-short/survey.json b/actions-short/survey.json new file mode 100644 index 0000000..d7a9a56 --- /dev/null +++ b/actions-short/survey.json @@ -0,0 +1,192 @@ +{ + "title": "Tell us about your Actions usage", + "logoPosition": "right", + "completedHtml": "

You got {correctAnswers} out of {questionCount} correct answers.

", + "completedHtmlOnCondition": [ + { + "expression": "{correctAnswers} == 0", + "html": "

Unfortunately, none of your answers is correct. Please try again.

" + }, + { + "expression": "{correctAnswers} == {questionCount}", + "html": "

Congratulations! You answered all the questions correctly!

" + } + ], + "pages": [ + { + "name": "startPage", + "elements": [ + { + "type": "html", + "name": "welcomeMsg", + "html": "Take this quiz to find out how well you know the foundations of GitHub.

Good luck!
\n" + } + ] + }, + { + "name": "page2", + "elements": [ + { + "type": "checkbox", + "name": "q1", + "title": "How are you using Actions?", + "correctAnswer": [ + "Organization" + ], + "choices": [ + { + "value": "Organization", + "text": "Self-hosted runners" + }, + { + "value": "Repository", + "text": "GitHub Hosted" + }, + { + "value": "Enterprise", + "text": "GitHub Hosted - Larger Runners" + } + ], + "choicesOrder": "random" + }, + { + "type": "radiogroup", + "name": "2fa", + "visibleIf": "{q1} allof ['Organization']", + "title": "How are you running the self-hosted", + "description": "example: https://example.com", + "correctAnswer": "Phone call", + "choices": [ + { + "value": "TOTP", + "text": "Azure" + }, + { + "value": "Phone call", + "text": "AWS" + }, + { + "value": "SMS", + "text": "GCP" + } + ], + "choicesOrder": "random" + }, + { + "type": "radiogroup", + "name": "question4", + "title": "GIT can best be described as..", + "correctAnswer": "option1", + "choices": [ + { + "value": "option1", + "text": "A distributed version control system (DVCS)" + }, + { + "value": "option2", + "text": "A client server source code system" + }, + { + "value": "option3", + "text": "The best place to store large video files together with your source code" + } + ], + "choicesOrder": "random" + }, + { + "type": "radiogroup", + "name": "question1", + "title": "Replicating users from your identity provider is made possible by...", + "correctAnswer": "Item 1", + "choices": [ + { + "value": "Item 1", + "text": "SCIM" + }, + { + "value": "Item 2", + "text": "Integration Identity Replication" + }, + { + "value": "Item 3", + "text": "CRON jobs" + } + ], + "choicesOrder": "random" + }, + { + "type": "checkbox", + "name": "question2", + "title": "Select 3 ways a user can authenticate to GitHub", + "correctAnswer": [ + "Item 1", + "Item 2", + "Item 3" + ], + "choices": [ + { + "value": "Item 1", + "text": "PAT Token" + }, + { + "value": "Item 2", + "text": "SSH" + }, + { + "value": "Item 3", + "text": "Deploy keys" + }, + { + "value": "Item 4", + "text": "Magic link to email" + } + ], + "choicesOrder": "random" + }, + { + "type": "checkbox", + "name": "question3", + "title": "A repository can have these visibilities. (Choose 3)", + "correctAnswer": [ + "Item 1", + "Item 2", + "Item 3" + ], + "choices": [ + { + "value": "Item 1", + "text": "Public" + }, + { + "value": "Item 2", + "text": "Private" + }, + { + "value": "Item 3", + "text": "Internal" + }, + { + "value": "Item 4", + "text": "Secure" + } + ], + "choicesOrder": "random" + } + ] + } + ], + "navigateToUrlOnCondition": [ + { + "expression": "{q1} allof ['Organization']", + "url": "https://example.com" + } + ], + "showProgressBar": "bottom", + "progressBarType": "questions", + "goNextPageAutomatic": true, + "startSurveyText": "Start Quiz", + "firstPageIsStarted": true, + "questionsOnPageMode": "questionPerPage", + "maxTimeToFinish": 300, + "showTimerPanel": "top" + } \ No newline at end of file diff --git a/emu/questions.csv b/emu/questions.csv index 9b2bc6c..82b037a 100644 --- a/emu/questions.csv +++ b/emu/questions.csv @@ -1,30 +1,30 @@ -page,title,description,type,titleLocation,showCommentArea,commentText,helpURL,helpURLTitle,correctAnswer -Identity,Do you have more than one Enterprise Admin? ,This helps you make sure you do not lose access to your Enterprise,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#about-organization-membership-management,About organization membership management,TRUE -Identity,Have you setup billing managers? ,This is a limited role to allow management of billing settings,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#about-enterprise-managed-users,About Enterprise Managed Users,TRUE -Identity,Are you syncronizing IdP groups which you can link to GitHub Teams?,,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/managing-team-memberships-with-identity-provider-groups,Managing team memberships with identity provider groups,TRUE -Policies - repos,Have you selected the types of repos you want your users to create?,public/private/internal (EMU does not have public),boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/organizations/managing-organization-settings/restricting-repository-creation-in-your-organization,Restricting repository creation in your organization,TRUE -Policies - repos,Have you decided if you want forking enabled/disabled for all orgs?,,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise,Repository governance, -Policies - repos,Have you considered who can change repository visibility?,You can restrict users from changing repository visibility between public/private/internal,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise,Repository governance,TRUE -Policies - repos,Do you allow deletion/transfer of repos by members or just org owners?,,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise,Repository governance,TRUE -Policies - repos,Do you allow issues to be deleted by members or just org owners?,,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise,Repository governance,TRUE -Codespaces,Are you enabling Codespaces enterprise wide?,,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-codespaces-in-your-enterprise,Codespaces governance, -GitHub Copilot for Business,Will you block matching public code suggestions for all orgs? ,,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-copilot-in-your-enterprise,Copilot information,TRUE -GitHub Copilot for Business,Have you decided if you will you enable copilot chat in the whole enterprise or set at org level?,At this time Copilot chat is in beta,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-copilot-in-your-enterprise,Copilot information, -GitHub Copilot for Business,Have you chosen which organizations on which to enable Copilot?,You can select a subset of orgs or the whole enterprise,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-copilot-in-your-enterprise,Copilot information,TRUE -Actions,Will you allow self-hosted runners at repo level? ,,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise,Copilot information,TRUE -Actions,Will you allow Runners against personal EMU namespaces? ,,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise,Copilot information,TRUE -Settings - Billing,Have you set a spending limit and enabled alerts?,You can set alerts at at 75/90/100%,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/,More info,TRUE -Settings - Billing,Have you setup billing emails? ,,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/,More info,TRUE -Settings - Billing,Have you added an Azure subscription to payment information? ,,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/,More info,TRUE -Settings - Authentication Security,Do you have your recovery codes from the setup user somewhere very safe? ,,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/,More info,TRUE -Settings - Authentication Security,Will you automatically redirect users to your sign in page?,This makes it easier for users to get to the login page if required,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/,More info,TRUE -Settings - Authentication Security,Have you enabled the IP allow list for your IdP? (OIDC) or set restrictions (SAML) ,,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/admin/configuration/hardening-security-for-your-enterprise/restricting-network-traffic-to-your-enterprise-with-an-ip-allow-list,IP Allow list information,TRUE -Code security and analysis,Will you get repo admins enable/disable secret scanning and code scanning?,,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/,More info,TRUE -Code security and analysis,Have you enabled push protection for secrets? ,GitHub Advanced Security includes secret and code scanning as well as Dependabot,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/,More info,TRUE -Code security and analysis,Have you enabled Dependabot by default to protect against supply chain attacks?,,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/,More info,TRUE -Code security and analysis,Do you have a custom push protection URL to show to your users some help text?,,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/,More info, -Verified domains,Have you added approved domains so you can make sure alerts don't go to domains you don't want to share with?,,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/,More info,TRUE -Audit log,Is Audit Log Streaming Enabled to keep over 3 months of logs if you require this?,This can help you meet your regulatory and compliance requirements,boolean,top,FALSE,Comment,https://github.com/enterprises/stucorp/settings/audit-log/stream ,Audit Log Streaming,TRUE -Audit log,Is Source IP Disclosure enabled? ,,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/,More info,TRUE -Audit log,Audit Log API Request Events Enabled? ,,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/,More info,TRUE -Support,Have you set the members who can raise support cases with GitHub? (up to 20),,boolean,top,FALSE,Comment,https://docs.github.com/en/enterprise-cloud@latest/,More info,TRUE \ No newline at end of file +"page","title","description","type","titleLocation","showCommentArea","commentText","helpURL","helpURLTitle","correctAnswer" +"Identity","Do you have more than one Enterprise Admin? ","This helps you make sure you do not lose access to your Enterprise","boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#about-organization-membership-management","About organization membership management","TRUE" +"Identity","Have you setup billing managers?","This is a limited role to allow management of billing settings","boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/about-enterprise-managed-users#about-enterprise-managed-users","About Enterprise Managed Users","TRUE" +"Identity","Are you syncronizing IdP groups which you can link to GitHub Teams?",,"boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/managing-team-memberships-with-identity-provider-groups","Managing team memberships with identity provider groups","TRUE" +"Policies - repos","Have you selected the types of repos you want your users to create?","public/private/internal (EMU does not have public)","boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/organizations/managing-organization-settings/restricting-repository-creation-in-your-organization","Restricting repository creation in your organization","TRUE" +"Policies - repos","Have you decided if you want forking enabled/disabled for all orgs?",,"boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise","Repository governance", +"Policies - repos","Have you considered who can change repository visibility?","You can restrict users from changing repository visibility between public/private/internal","boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise","Repository governance","TRUE" +"Policies - repos","Do you allow deletion/transfer of repos by members or just org owners?",,"boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise","Repository governance","TRUE" +"Policies - repos","Do you allow issues to be deleted by members or just org owners?",,"boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise","Repository governance","TRUE" +"Codespaces","Are you enabling Codespaces enterprise wide?",,"boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-codespaces-in-your-enterprise","Codespaces governance", +"GitHub Copilot for Business","Will you block matching public code suggestions for all orgs? ",,"boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-copilot-in-your-enterprise","Copilot information","TRUE" +"GitHub Copilot for Business","Have you decided if you will you enable copilot chat in the whole enterprise or set at org level?","At this time Copilot chat is in beta","boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-copilot-in-your-enterprise","Copilot information", +"GitHub Copilot for Business","Have you chosen which organizations on which to enable Copilot?","You can select a subset of orgs or the whole enterprise","boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-copilot-in-your-enterprise","Copilot information","TRUE" +"Actions","Will you allow self-hosted runners at repo level? ",,"boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise","Copilot information","TRUE" +"Actions","Will you allow Runners against personal EMU namespaces? ",,"boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise","Copilot information","TRUE" +"Settings - Billing","Have you set a spending limit and enabled alerts?","You can set alerts at at 75/90/100%","boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/","More info","TRUE" +"Settings - Billing","Have you setup billing emails? ",,"boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/","More info","TRUE" +"Settings - Billing","Have you added an Azure subscription to payment information? ",,"boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/","More info","TRUE" +"Settings - Authentication Security","Do you have your recovery codes from the setup user somewhere very safe? ",,"boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/","More info","TRUE" +"Settings - Authentication Security","Will you automatically redirect users to your sign in page?","This makes it easier for users to get to the login page if required","boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/","More info","TRUE" +"Settings - Authentication Security","Have you enabled the IP allow list for your IdP? (OIDC) or set restrictions (SAML) ",,"boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/admin/configuration/hardening-security-for-your-enterprise/restricting-network-traffic-to-your-enterprise-with-an-ip-allow-list","IP Allow list information","TRUE" +"Code security and analysis","Will you get repo admins enable/disable secret scanning and code scanning?",,"boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/","More info","TRUE" +"Code security and analysis","Have you enabled push protection for secrets? ","GitHub Advanced Security includes secret and code scanning as well as Dependabot","boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/","More info","TRUE" +"Code security and analysis","Have you enabled Dependabot by default to protect against supply chain attacks?",,"boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/","More info","TRUE" +"Code security and analysis","Do you have a custom push protection URL to show to your users some help text?",,"boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/","More info", +"Verified domains","Have you added approved domains so you can make sure alerts don't go to domains you don't want to share with?",,"boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/","More info","TRUE" +"Audit log","Is Audit Log Streaming Enabled to keep over 3 months of logs if you require this?","This can help you meet your regulatory and compliance requirements","boolean","top","FALSE","Comment","https://github.com/enterprises/stucorp/settings/audit-log/stream ","Audit Log Streaming","TRUE" +"Audit log","Is Source IP Disclosure enabled? ",,"boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/","More info","TRUE" +"Audit log","Audit Log API Request Events Enabled? ",,"boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/","More info","TRUE" +"Support","Have you set the members who can raise support cases with GitHub? (up to 20)",,"boolean","top","FALSE","Comment","https://docs.github.com/en/enterprise-cloud@latest/","More info","TRUE" \ No newline at end of file