Home

Awesome

DevSecOps demo React application for AWS ECS on Fargate

no license jest Semgrep trivy-dependency-check actions-lint

INDEX


ABOUT

Sample React application for Trying to Use DevSecOps tools.

[!WARNING] Since it costs money to maintain the AWS environment created with copilot-cli for the demo environment, I plan to use GitHub-Pages for future demos. I have archived this branch. デモ環境に対してcopilot-cliで作ったAWS環境を維持するのにお金がかかるのはもったいないので,以降はgithub-pagesを使ってデモを動かそうと思います。このブランチをアーカイブとして残してあります。

  1. PREPARINGの設定を先にやる。
  2. commit時にはpre-commitとgit-secretが作動。
  3. push時にはGitHub ActionsによりSAST(semgrep),UnitTest(jest),Dependency Check(trivy)が実行される。
  4. github-pagesにデプロイされる。 # TODO: more info

FEATURE

このRepositoryで学べること。

GitHub Actions等(git push後)で使用されるツールの使い方

GitHub Actionsのテクニック

GitHub Actions関連のバージョン管理ツールの使い方

pre commit(git committ前)に使うツールの使い方

VSCode Extensions(Securityに関係のありそうなものだけ抜粋)

その他細かいGitHubのテクニック


ENVIRONMENT

デプロイするアプリ

create-react-appで作られるデフォルトそのまま。


PREPARING

最初にやること

GitHubの設定

RepositoryにEnvironment variablesを登録する

# 作成
for environment in development staging production;
do
  touch .env.${environment}
  echo $REACT_APP_MESSAGE=${environment} > .env.${environment}
done
source ./update_github_actions_variables.sh

GitHub Actionsで実行したスキャン結果をアップロードできるようにGitHubリポジトリの設定を変更する

GitHub Actionsでghコマンドを使うための設定

GitHub Pagesの設定

./doc/github-pages.md

その他ローカルにインストールするツール


ERROR LOG

error.mdを参照。