diff --git a/README.rst b/README.rst
index 6301590..16488b9 100644
--- a/README.rst
+++ b/README.rst
@@ -83,15 +83,17 @@ nginxはコンテナ内からホストPCのwebsh_serverにリバースプロキ
本番環境
---------
-Infrastructure as Codeしている。
+Infrastructure as Code (Ansible) している。
ソースコードは infra_ リポジトリ(非公開)で管理。
-以下はアプリレベルでの構成図。
-|image-system|
+監視系はローカルPCのDockerコンテナ上で動作するGrafanaとPrometheusで実施。
+`nimbot `_ はSlack用のBotで、
+websh用のサーバに後乗せで一緒に稼働している。
-URLレベルでのアクセスフローは以下。
+ログは一旦ローカルに書き出したファイルをFluentdが拾ってJSON形式に変換して保存。
+GrafanaLokiがログを拾って、Grafanaからログを取得してログ監視をしている。
-|access-flow|
+|image-system|
基本設計
================
@@ -138,7 +140,6 @@ nginx ローカル開発用のnginxの設定
websh_front フロントエンドのプログラム
websh_server バックエンドのAPIサーバのプログラム
websh_remover バックエンドの後始末を行うプログラム
-config.nims タスク定義
Dockerfile アプリのDockerイメージ
docker-compose.yml ローカル開発でのみ使用する開発環境設定
===================== ========================================
@@ -169,7 +170,6 @@ http://localhost
Branch name Description
================ =============================================================================
master 本番用
-develop たまに使うが基本放置
feature/#xx-desc 新機能、UI改善
hotfix/#xx-desc バグ修正
chore/#xx-desc CIやローカル開発環境の整備など、アプリに影響しない雑多なもの
@@ -255,7 +255,7 @@ Apache License
.. |image-top| image:: ./docs/top.png
.. |image-local| image:: ./docs/local.svg
:alt: ローカル環境の構成図
-.. |image-system| image:: ./docs/system.svg
+.. |image-system| image:: ./docs/system.png
:alt: システム構成図
.. |image-proc-flow| image:: ./docs/logic.svg
:alt: データ処理フロー
@@ -263,8 +263,6 @@ Apache License
:alt: CIフロー
.. |image-release-flow| image:: ./docs/release_flow.svg
:alt: リリースフロー
-.. |access-flow| image:: ./docs/access_flow.svg
- :alt: アクセスフロー
.. _Nim: https://nim-lang.org/
.. _Karax: https://github.com/pragmagic/karax
diff --git a/docs/access_flow.puml b/docs/access_flow.puml
deleted file mode 100644
index c4f6aa1..0000000
--- a/docs/access_flow.puml
+++ /dev/null
@@ -1,27 +0,0 @@
-@startuml
-
-cloud "Internet" as net
-node "Host" {
- [nginx]
- frame "Port" {
- (80)
- (443)
- }
- frame "Static file" {
- [index.html]
- }
- frame "Process" {
- [websh_server]
- [docker]
- }
-}
-
-net -down-> [nginx] : http[s]://websh.jiro4989.com/
-[nginx] -down-> (80)
-[nginx] -down-> (443)
-(80) -> [nginx] : 443リダイレクト
-(443) -down-> [index.html] : GET /index.html
-(443) -down-> [websh_server] : POST /api/shellgei
-[websh_server] -down-> [docker]
-
-@enduml
\ No newline at end of file
diff --git a/docs/access_flow.svg b/docs/access_flow.svg
deleted file mode 100644
index c00bc8d..0000000
--- a/docs/access_flow.svg
+++ /dev/null
@@ -1,40 +0,0 @@
-
\ No newline at end of file
diff --git a/docs/local.puml b/docs/local.puml
index 1ab24c6..b882bb1 100644
--- a/docs/local.puml
+++ b/docs/local.puml
@@ -1,16 +1,24 @@
@startuml
-Actor Developer as dev
-node "PC" {
- frame "Docker" {
- [nginx]
- [shellgeibot]
+actor Developer as dev
+
+node PC {
+ frame Docker {
+ [nginx] as nginx
+ frame Application {
+ [websh_server] as server
+ [websh_remover] as remover
}
- [websh_server]
+ [shellgeibot] as bot
+ }
+ [file_system] as fs
}
-dev -down-> [nginx] : POST http://localhost/api/shellgei
-[nginx] -down-> [websh_server] : Proxy to http://127.0.1.1:5000/shellgei
-[websh_server] -down-> [shellgeibot] : docker run
+dev -down-> nginx : POST http://localhost/api/shellgei
+nginx -> server : proxy
+server -> bot : POST
+server -down-> fs : write file
+bot -> fs : write file
+remover -> fs : remove file
-@enduml
\ No newline at end of file
+@enduml
diff --git a/docs/local.svg b/docs/local.svg
old mode 100644
new mode 100755
index d8dd4aa..6d5db1c
--- a/docs/local.svg
+++ b/docs/local.svg
@@ -1,29 +1,49 @@
-
\ No newline at end of file
diff --git a/docs/logic.puml b/docs/logic.puml
index 576f274..912b188 100644
--- a/docs/logic.puml
+++ b/docs/logic.puml
@@ -5,28 +5,17 @@ participant Browser as browser
participant Nginx as nginx
participant HTMLFile as html
participant APIServer as api
-participant Supervisor as visor
-participant Container as cont
-participant Remover as rm
-participant LockFile as lock
+participant ShellgeiBot as cont
participant Images as img
participant RemoveFlagFile as rmflag
+participant Remover as rm
-activate visor
-
-visor -> rm : 起動
-activate rm
-
-visor -> cont : 起動
-activate cont
-
-visor -> api : 起動
+activate html
activate api
-
-visor -> nginx : 起動
-activate nginx
+activate rm
user -> browser : 画面表示
+activate user
browser -> nginx : GET index.html
nginx -> html : GET
nginx -> browser : レスポンス
@@ -35,35 +24,27 @@ browser -> user : 画面表示
user -> browser : シェル実行
browser -> nginx : POST /api/shellgei
nginx -> api : POSTのプロキシ
-api -> lock : コンテナ使用中のロックファイルを生成
-activate lock
api -> cont : シェルの実行
+activate cont
cont -> img : 画像ファイルを生成
activate img
cont -> api : 実行結果の返却
+api -> cont : コンテナ破棄
+deactivate cont
api -> rmflag : コンテナ削除フラグを作成
activate rmflag
api -> nginx : レスポンス
nginx -> browser : レスポンス
browser -> browser : 画面再描画
browser -> user : 画面表示
+deactivate user
rm -> rmflag : フラグファイルの有無をチェック
alt フラグファイルが存在するなら
- rm -> cont : コンテナ破棄
- deactivate cont
rm -> img : 画像ファイルを削除
deactivate img
rm -> rmflag : 削除フラグ削除
deactivate rmflag
- rm -> lock : ロックファイル削除
- deactivate lock
-end
-
-visor -> cont : プロセス死活監視
-alt コンテナプロセスが死んでいたら
- visor -> cont : コンテナ起動
- activate cont
end
@enduml
diff --git a/docs/logic.svg b/docs/logic.svg
old mode 100644
new mode 100755
index 724ac36..7a34129
--- a/docs/logic.svg
+++ b/docs/logic.svg
@@ -1,33 +1,21 @@
-
\ No newline at end of file
diff --git a/docs/system.png b/docs/system.png
index dcf31e1..13de773 100644
Binary files a/docs/system.png and b/docs/system.png differ