def onboarding(self): if not self.bc_api_key: print(Style.BRIGHT + colored("Visualize and collaborate on security issues with Bridgecrew! \n", 'blue', attrs=['bold']) + colored( "Bridgecrew's dashboard allows automation of future checks, Pull Request scanning and " "auto-comments, automatic remidiation PR's and more! \n Plus it's free for 100 cloud resources and a " "great way to visualize and collaborate on Checkov results. For more information on dashboard integration, see: http://bridge.dev/checkov-dashboard \n \n To instantly see future Checkov scans in the " "platform, Press y! \n", 'yellow') + Style.RESET_ALL) reply = self._input_visualize_results() if reply[:1] == 'y': print(Style.BRIGHT + colored("\nEmail Address? \n", 'blue', attrs=['bold'])) if not self.bc_api_key: email = self._input_email() org = self._input_orgname() bc_api_token, response = self.get_api_token(email, org) self.bc_api_key = bc_api_token if response.status_code == 200: print('\n Saving API key to {}'.format(bridgecrew_file)) print(Style.BRIGHT + colored("\n Checkov Dashboard configured, opening https://bridgecrew.cloud, check your inbox for login details! \n", 'blue', attrs=['bold'])) persist_key(self.bc_api_key) else: print( Style.BRIGHT + colored("\nCould not create account, please try again on your next scan! \n", 'red', attrs=['bold']) + Style.RESET_ALL) webbrowser.open("https://bridgecrew.cloud/?utm_source=cli&utm_medium=organic_oss&utm_campaign=checkov") else: print("\n To see the Dashboard prompt again, run `checkov` with no arguments \n For Checkov usage, try `checkov --help`") else: print("No argument given. Try ` --help` for further information")
def onboarding(self): if not self.bc_api_key: print(Style.BRIGHT + colored( "Visualize and collaborate on these issues with Bridgecrew! \n", 'blue', attrs=['bold'] ) + colored( "Bridgecrew's dashboard allows automation of future checks, Pull Request scanning and " "auto-comments, automatic remidiation PR's and more! Plus it's free for 100 Terraform objects and a " "great way to visualize and collaborate on these results. To instantly see this scan in the " "platform, Press y! \n ", 'yellow') + Style.RESET_ALL) reply = self._input_visualize_results() if reply[:1] == 'y': print(Style.BRIGHT + colored("\nEmail Address? \n", 'blue', attrs=['bold'])) if not self.bc_api_key: email = self._input_email() org = self._input_orgname() bc_api_token, response = self.get_api_token(email, org) self.bc_api_key = bc_api_token if response.status_code == 200: print( '\n Saving API key to {}'.format(bridgecrew_file)) persist_key(self.bc_api_key) else: print(Style.BRIGHT + colored( "\nCould not create account, please try again on your next scan! \n", 'red', attrs=['bold']) + Style.RESET_ALL) webbrowser.open( "https://bridgecrew.cloud/?utm_source=cli&utm_medium=organic_oss&utm_campaign=checkov" ) else: print("No argument given. Try ` --help` for further information")
def onboarding(self): if not self.bc_api_key: print(Style.BRIGHT + colored("\nWould you like to “level up” your Checkov powers for free? The upgrade includes: \n\n", 'green', attrs=['bold']) + colored( u"\u2022 " + "Command line docker Image scanning\n" u"\u2022 " + "Free (forever) bridgecrew.cloud account with API access\n" u"\u2022 " + "Auto-fix remediation suggestions\n" u"\u2022 " + "Enabling of VS Code Plugin\n" u"\u2022 " + "Dashboard visualisation of Checkov scans\n" u"\u2022 " + "Integration with GitHub for:\n" "\t" + u"\u25E6 " + "\tAutomated Pull Request scanning\n" "\t" + u"\u25E6 " + "\tAuto remediation PR generation\n" u"\u2022 " + "Integration with up to 100 cloud resources for:\n" "\t" + u"\u25E6 " + "\tAutomated cloud resource checks\n" "\t" + u"\u25E6 " + "\tResource drift detection\n" "\n" "\n" + "and much more...",'yellow') + colored("\n\nIt's easy and only takes 2 minutes. We can do it right now!\n\n" "To Level-up, press 'y'... \n", 'cyan') + Style.RESET_ALL) reply = self._input_levelup_results() if reply[:1] == 'y': print(Style.BRIGHT + colored("\nOk, let’s get you started on creating your free account! \n" "\nEnter your email address to begin: ",'green', attrs=['bold']) + colored(" // This will be used as your login at https://bridgecrew.cloud.\n", 'green')) if not self.bc_api_key: email = self._input_email() print(Style.BRIGHT + colored("\nLooks good!" "\nNow choose an Organisation Name: ",'green', attrs=['bold']) + colored(" // This will enable collaboration with others who you can add to your team.\n", 'green')) org = self._input_orgname() print(Style.BRIGHT + colored("\nAmazing!" "\nWe are now generating a personal API key to immediately enable some new features… ",'green', attrs=['bold'])) bc_api_token, response = self.get_api_token(email, org) self.bc_api_key = bc_api_token if response.status_code == 200: print(Style.BRIGHT + colored("\nComplete!",'green', attrs=['bold'])) print('\nSaving API key to {}'.format(bridgecrew_file)) print(Style.BRIGHT + colored("\nCheckov will automatically check this location for a key. If you forget it you’ll find it here\nhttps://bridgecrew.cloud/integrations/api-token\n\n",'green')) persist_key(self.bc_api_key) print(Style.BRIGHT + colored("Checkov Dashboard is configured, opening https://bridgecrew.cloud to explore your new powers.", 'green', attrs=['bold'])) print(Style.BRIGHT + colored("FYI - check your inbox for login details! \n", 'green')) print(Style.BRIGHT + colored("Congratulations! You’ve just super-sized your Checkov! Why not test-drive image scanning now:",'cyan')) print(Style.BRIGHT + colored("\ncheckov --docker-image ubuntu --dockerfile-path /Users/bob/workspaces/bridgecrew/Dockerfile --repo-id bob/test --branch master\n",'white')) print(Style.BRIGHT + colored("Or download our VS Code plugin: https://github.com/bridgecrewio/checkov-vscode \n", 'cyan',attrs=['bold'])) print(Style.BRIGHT + colored( "Interested in contributing to Checkov as an open source developer. We thought you’d never ask. Check us out at: \nhttps://github.com/bridgecrewio/checkov/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22 \n", 'white', attrs=['bold'])) else: print( Style.BRIGHT + colored("\nCould not create account, please try again on your next scan! \n", 'red', attrs=['bold']) + Style.RESET_ALL) webbrowser.open( "https://bridgecrew.cloud/?utm_source=cli&utm_medium=organic_oss&utm_campaign=checkov") else: print( "\n To see the Dashboard prompt again, run `checkov` with no arguments \n For Checkov usage, try `checkov --help`") else: print("No argument given. Try ` --help` for further information")