- A docker-containerized micro-service for https://cyber-dojo.org.
- The data source for the
choose a language & test-frameworkpage. - Demonstrates a Kosli instrumented GitHub CI workflow deploying, with Continuous Compliance, to its staging AWS environment.
- Deployment to its production AWS environment is via a separate promotion workflow.
- Uses attestation patterns from https://www.kosli.com/blog/using-kosli-attest-in-github-action-workflows-some-tips/
- Add any new urls to ALL_URLS in bin/update_image_lists.sh
- Run
make update_image_liststo create up-to-date versions of the two files:- git_repo_urls.tagged lists all the language-test-framework repositories (each repo contributes one
manifest.jsonto the image). - compressed.image_sizes.sorted lists all the images named in these
manifest.jsonfiles, together with their (compressed) sizes, in descending order. Informational only.
- git_repo_urls.tagged lists all the language-test-framework repositories (each repo contributes one
- You can also update these two files via the .github/workflows/refresh.yml workflow
- This creates a branch that you can then merge into main.
- Run the
make imageto build the image fromgit_repo_urls.taggedfor local development/testing. - Create a branch, commit and push. The resulting image's dockerhub registry is cyberdojo/languages-start-points
The preferred way to create a language start-point image is using 'tagged' urls (where the seven
character url prefix is the first seven characters of a commit sha for the url).
Eg, this command uses the cyber-dojo bash script to create a start-point image for 5 Ruby test-frameworks:
cyber-dojo start-point create ruby-all \
--languages \
e889c83@https://github.com/cyber-dojo-start-points/ruby-approval \
c1b2910@https://github.com/cyber-dojo-start-points/ruby-cucumber \
6b72590@https://github.com/cyber-dojo-start-points/ruby-minitest \
a9bd3a6@https://github.com/cyber-dojo-start-points/ruby-rspec \
3663c6f@https://github.com/cyber-dojo-start-points/ruby-testunitEg, this command uses the cyber-dojo bash script to create an (untagged) start-point image for all test-frameworks in all languages:
cyber-dojo start-point create cyberdojo/languages-start-points \
--languages \
$(cat git_repo_urls.tagged)
