Skip to content

MySQLサーバに対してTLSを利用してDB接続できるようにする#711

Open
miutaku wants to merge 10 commits intol3tnun:masterfrom
miutaku:master
Open

MySQLサーバに対してTLSを利用してDB接続できるようにする#711
miutaku wants to merge 10 commits intol3tnun:masterfrom
miutaku:master

Conversation

@miutaku
Copy link
Copy Markdown

@miutaku miutaku commented Mar 30, 2025

概要(Summary)

  • TLSでのDBサーバへの接続に対応させた。
  • これに伴い、ドキュメントも追記して修正した。

why

  • 無料で利用できるTiDB serverlessを使おうとしたら、DBサーバへの接続にTLSでの接続が求められるため。
  • TiDB serverlessに限らず、マネージドDBではTLS接続が求められることが多い。
  • マネージドDBの恩恵にあずかれると、DBのバックアップをSaaS側に責任を取らせる事ができるなどのメリット。

check

https://github.com/users/miutaku/packages/container/epgstation_debian/384864557?tag=90859ca にてチェック済み。

miutaku and others added 10 commits March 30, 2025 10:49
* feat: MySQL 設定に SSL オプションと CA パスを追加

* refactor: 不要な fs インポートを削除

* feat: 検証用にGitHub Actions ワークフローを追加し、Docker イメージをビルドおよびプッシュ

* feat: 検証用にGitHub Actions ワークフローを追加し、Docker イメージをビルドおよびプッシュ

---------

Co-authored-by: miutaku <miutaku@miutakuMacBook-Pro.local>
* feat: MySQL 設定に SSL オプションと CA パスを追加

* refactor: 不要な fs インポートを削除

* feat: 検証用にGitHub Actions ワークフローを追加し、Docker イメージをビルドおよびプッシュ

* feat: 検証用にGitHub Actions ワークフローを追加し、Docker イメージをビルドおよびプッシュ

* refactor: 不要な Alpine コンテナのメタデータ作成とビルドステップを削除

---------

Co-authored-by: miutaku <miutaku@miutakuMacBook-Pro.local>
* feat: MySQL 設定に SSL オプションと CA パスを追加

* refactor: 不要な fs インポートを削除

* feat: 検証用にGitHub Actions ワークフローを追加し、Docker イメージをビルドおよびプッシュ

* feat: 検証用にGitHub Actions ワークフローを追加し、Docker イメージをビルドおよびプッシュ

* refactor: 不要な Alpine コンテナのメタデータ作成とビルドステップを削除

* refactor: GitHub Actions ワークフローの Docker プッシュ設定を削除

* ちゃんとboolにしてなかったので修正

* Revert "refactor: GitHub Actions ワークフローの Docker プッシュ設定を削除"

This reverts commit f5f47ca.

---------

Co-authored-by: miutaku <miutaku@miutakuMacBook-Pro.local>
* feat: MySQL 設定に SSL オプションと CA パスを追加

* refactor: 不要な fs インポートを削除

* feat: 検証用にGitHub Actions ワークフローを追加し、Docker イメージをビルドおよびプッシュ

* feat: 検証用にGitHub Actions ワークフローを追加し、Docker イメージをビルドおよびプッシュ

* refactor: 不要な Alpine コンテナのメタデータ作成とビルドステップを削除

* refactor: GitHub Actions ワークフローの Docker プッシュ設定を削除

* ちゃんとboolにしてなかったので修正

* Revert "refactor: GitHub Actions ワークフローの Docker プッシュ設定を削除"

This reverts commit f5f47ca.

* refactor: testで追加したGitHub Actions ワークフローの Docker プッシュ設定を削除

---------

Co-authored-by: miutaku <miutaku@miutakuMacBook-Pro.local>
* feat: MySQL 設定に SSL オプションと CA パスを追加

* refactor: 不要な fs インポートを削除

* feat: 検証用にGitHub Actions ワークフローを追加し、Docker イメージをビルドおよびプッシュ

* feat: 検証用にGitHub Actions ワークフローを追加し、Docker イメージをビルドおよびプッシュ

* refactor: 不要な Alpine コンテナのメタデータ作成とビルドステップを削除

* refactor: GitHub Actions ワークフローの Docker プッシュ設定を削除

* ちゃんとboolにしてなかったので修正

* Revert "refactor: GitHub Actions ワークフローの Docker プッシュ設定を削除"

This reverts commit f5f47ca.

* refactor: testで追加したGitHub Actions ワークフローの Docker プッシュ設定を削除

* docs: TLS接続に関する設定項目をconf-manual.mdに追加

---------

Co-authored-by: miutaku <miutaku@miutakuMacBook-Pro.local>
* feat: MySQL 設定に SSL オプションと CA パスを追加

* refactor: 不要な fs インポートを削除

* feat: 検証用にGitHub Actions ワークフローを追加し、Docker イメージをビルドおよびプッシュ

* feat: 検証用にGitHub Actions ワークフローを追加し、Docker イメージをビルドおよびプッシュ

* refactor: 不要な Alpine コンテナのメタデータ作成とビルドステップを削除

* refactor: GitHub Actions ワークフローの Docker プッシュ設定を削除

* ちゃんとboolにしてなかったので修正

* Revert "refactor: GitHub Actions ワークフローの Docker プッシュ設定を削除"

This reverts commit f5f47ca.

* refactor: testで追加したGitHub Actions ワークフローの Docker プッシュ設定を削除

* docs: TLS接続に関する設定項目をconf-manual.mdに追加

* feat: ormconfig.jsも修正しといた

---------

Co-authored-by: miutaku <miutaku@miutakuMacBook-Pro.local>
* feat: MySQL 設定に SSL オプションと CA パスを追加

* refactor: 不要な fs インポートを削除

* feat: 検証用にGitHub Actions ワークフローを追加し、Docker イメージをビルドおよびプッシュ

* feat: 検証用にGitHub Actions ワークフローを追加し、Docker イメージをビルドおよびプッシュ

* refactor: 不要な Alpine コンテナのメタデータ作成とビルドステップを削除

* refactor: GitHub Actions ワークフローの Docker プッシュ設定を削除

* ちゃんとboolにしてなかったので修正

* Revert "refactor: GitHub Actions ワークフローの Docker プッシュ設定を削除"

This reverts commit f5f47ca.

* refactor: testで追加したGitHub Actions ワークフローの Docker プッシュ設定を削除

* docs: TLS接続に関する設定項目をconf-manual.mdに追加

* feat: ormconfig.jsも修正しといた

* fix: MySQL接続のSSL設定を正しく修正

* Revert "refactor: GitHub Actions ワークフローの Docker プッシュ設定を削除"

This reverts commit f5f47ca.

---------

Co-authored-by: miutaku <miutaku@miutakuMacBook-Pro.local>
@fetburner
Copy link
Copy Markdown
Contributor

横から失礼します。この PR の実装では enable_ssl や ca_path といった設定から typeorm に渡す SSL のオプションを組み立てていると思うのですが、fetburner@fa87a52 の様に typeorm の SSL オプションのハッシュ自体を EPGStation の設定に書けるようにする実装では駄目でしょうか?
typeorm が mysql に接続する際の SSL オプションは mysql パッケージの形式を踏襲していますし(cf. https://github.com/typeorm/typeorm/blob/81bb9d53e898f977ccf1ed16f09d1c860303a8f5/docs/data-source-options.md?plain=1#L162-L163 )、この mysql パッケージの SSL オプションも tls.createSecureContext の形式を踏襲している(cf. https://www.npmjs.com/package/mysql#ssl-options )由緒正しいものなので、変に EPGStation で形式を変える必要もないかと思われます。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants