げっとシステムログ

WEB開発メモ

Docsy で書いたドキュメントを公開する

Docsy を使用して書いたドキュメントを S3 + CloudFront で公開する。 CONTENTS S3 + CloudFront で公開する方針 baseURL の設定 ルートコンテンツの作成 favicon の設定 find-next-version セットアップ permalink 調整 更新日設定スクリプト GitLab Pipeli…

Docsy でドキュメントを書く

Hugo のテーマである Docsy を使用してドキュメントを書く環境を整える。 CONTENTS Node.js のインストール Hugo セットアップ 必要なコンポーネントのインストール Docsy のインストール Docsy Example からコンテンツをコピー hugo server でコンテンツを…

S3 + CloudFront でフロントエンドを配信する話ふたたび

S3 オブジェクトに設定したヘッダ用メタデータからヘッダを設定する */ へのリクエストで */index.html を要求する CONTENTS メタデータからヘッダを設定する ディレクトリインデックスを要求する まとめ 参考資料 SOURCES getto-systems/content-delivery-a…

うちの開発環境 - 2019版

現在の開発環境と、構築方法をまとめる。 CONTENTS INTEL NUC CoreOS labo-container dotfiles docker-wrapper まとめ 参考資料 INTEL NUC INTEL NUC に CoreOS をインストールした。 Wi-Fi 内蔵なのに CoreOS で使用できないのはもったいない気もする。 ス…

coc.nvim で Rust Language Server する

vim で Rust するときの設定をまとめる。 CONTENTS 出来上がったもの rust.vim のインストール 必要なコンポーネントのインストール CocConfig の設定 ALE の設定 まとめ 参考資料 ENVIRONMENTS NVIM v0.3.8 rust.vim : GitHub coc.nvim : GitHub ale : GitH…

Kubernetes で cert-manager する話ふたたび

以前の記事から書き方がちょっと変更されたのでまとめる。 CONTENTS 出来上がったもの Issuer の登録 Certificate の登録 まとめ 参考資料 ENVIRONMENTS cert-manager : 0.10.0 出来上がったもの letsencrypt-issuer.yaml apiVersion: certmanager.k8s.io/v1…

Docker Hub からの webhook で GitLab から latest タグをつける

Docker Hub の Auto Build でイメージをビルドしたい。 ただし、latest タグは別ビルドにしたくない。 そこで、webhook で build 完了を検知して GitLab の pipeline から latest タグを push する。 CONTENTS できあがったもの DockerHub で webhook を設定…

AWS Lambda から DynamoDB にアクセスする

「Slack Bot でデプロイする」で、1回の発言に対して複数回リクエストが来た。 処理は1回にしたいので、処理済みの発言を DynamoDB に登録しておく。 CONTENTS DynamoDB で二重処理を防ぐ Lambda からアクセスする テーブルを作成する 項目を追加する 項目…

Slack Bot でデプロイする

Slack Bot にデプロイを頼めるようにしたい。 CONTENTS できあがったもの デプロイ 実装詳細 まとめ 参考資料 できあがったもの Slack Bot 用エンドポイント getto-systems/psycher-slack : GitHub Slack イベントを受け取ってイベントに応じたアクションを…

AWS CloudFormation で Lambda をデプロイする

Slack Bot のイベントハンドラを Lambda で作成したい。 そのために、ローカルでテストしつつ、CloudFormation でデプロイを自動化したい。 CONTENTS この記事の内容 できあがったもの aws cloudformation package でパッケージング aws cloudformation depl…

AWS Lambda で Slack Bot イベントハンドラを作る

Slack Bot にデプロイを頼めるようにするため、イベントハンドラを作成したい。 これを AWS Lambda を使用してデプロイしてみる。 CONTENTS この記事の内容 できあがったもの Slack Bot User を作成する Slack Bot のイベントに応答する AWS Lambda をデプロ…

AWS Secrets Manager で機密情報を保存する

Slack Bot トークンを AWS Secrets Manager に保存して、Lambda からアクセスできるようにしたい。 今回は自動化せず、コンソールから作成してアクセスするところまでまとめておく。 CONTENTS AWS Key Management Service にキーを追加する AWS Secrets Mana…

JavaScript の async/await について

AWS Lambda の初期コードに async が使われていた。 これがよくわかっていなかったために数時間グダッたのでここに記録しておく。 CONTENTS この記事の内容 async について await について async/await の使い所 まとめ 参考資料 ENVIRONMENTS Node.js 10.16…

dockle と trivy で CI してみる

前回の「dockle で docker build のベストプラクティスをチェックしてみる」で、 dockle 試してみるところまでやってみた。 今回は CI で定期的にチェックするようにする。 また、trivy で脆弱性のテストができるので、これも組み込んでみる。 2019/08/23 追…

dockle で docker build のベストプラクティスをチェックしてみる

CONTENTS dockle をインストールする dockle を試してみる DOCKER_CONTENT_TRUST について sudo について apt-get のキャッシュクリアについて まとめ 参考資料 ENVIRONMENTS dockle : v0.1.14 dockle をインストールする goodwithtech/dockle : GitHub を参…

vim で markdownlint する

coc に efm-langserver 追加して、markdownlint が効くようにする。 CONTENTS 出来上がったもの efm-langserver をインストールする markdownlint-cli をインストールする まとめ 参考資料 ENVIRONMENTS neovim : v0.3.1 出来上がったもの :CocConfig の設定…

vim で Elm language server をセットアップする

coc で language server を使用して補完などを実行できるようにする。 また ale を使用して elm-format を実行するようにする。 CONTENTS 出来上がったもの インストールするもの vim-elm-syntax をインストールする coc.nvim をインストールする ale をイン…

普通のコマンドみたいに docker run を起動する

処理の実体を docker run でコンテナの中に委譲するスクリプトを普通のコマンドみたいな使用感にしたい。 CONTENTS 出来上がったもの 通常の呼び出し 標準入力をパイプラインにする 標準出力をリダイレクト 標準エラーをリダイレクト 端末を割り当てる まと…

Kubernetes で cert-manager する話

2019-09-14 追記 : cert-manager version 0.10.0 の書き方をまとめた Kubernetes クラスタにデプロイした api サーバーと https で通信したい。 このための証明書を、cert-manager を使用して取得する。 CONTENTS 出来上がったもの cert-manager のインスト…

Ruby で自動テスト

CONTENTS filewatcher のインストール rake タスクの定義 まとめ 参考資料 APPENDIX Rakefile ENVIRONMENTS Ruby : 2.6.2 filewatcher のインストール ファイルの変更によってテストを実行したい。 以前は guard を使用していたが、 guard-minitest がメンテ…

Elm パッケージを publish する

基本的には書籍「基礎からわかる Elm」の「ライブラリの公開」の通りだが、操作に詰まった点をまとめておく。 CONTENTS パッケージ用 elm.json の記述 必要なパッケージのインストール ドキュメントの記述 CI でドキュメントの生成をしておく GitHub に push…

CORS でカスタムヘッダを送受信する

CORS でカスタムヘッダを送信する方法をまとめる。 CONTENTS sinatra でのサンプル preflight レスポンスヘッダ レスポンスヘッダ まとめ 参考資料 ENVIRONMENTS ruby : 2.6.1 sinatra : 2.0.5 TOP sinatra でのサンプル まず sinatra でのサンプルを示す。 …

VSCode でリモートサーバーのソースを編集する

これまで vim で開発を行ってきたが、 VSCode が良いというのを聞いて使ってみたくなった。 ただし、 Mac にインストールするものは最小限にしたい。 CONTENTS VSCode のインストール SFTP Config VSCode Config GitHub flow の運用 まとめ 参考資料 TOP VSC…

BitBuckbt の Pipeline で S3 にアップロードする

BitBuckbt の Pipeline で S3 にアップロードする フロントエンドを Elm で実装、バックエンドに Rails、という構成でシステムを構築している。 開発は BitBucket で行っているので、Pipeline を使ってテストとリリースをしてみる。 CONTENTS bitbucket-pipe…

S3 + CloudFront でフロントエンドを配信する

フロントエンドを Elm で実装、バックエンドに Rails、という構成でシステムを構築している。 フロントエンドの本番環境は S3 + CloudFront を使用して静的に配信している。 その部分をまとめておく。 CONTENTS S3 にコンテンツをアップロード CloudFront に…

AWS S3 + CloudFront で CSP 対応する

CSP

前の記事で、開発環境で CSP ヘッダの設定ができたので、本番環境に適用してみようという試み。 CONTENTS CloudFront でヘッダを指定するために Lambda 関数を定義 CloudFront の Behavior で Lambda を指定 Mozilla の Obsertatory を使用して結果を確認す…

npm reload で live reload しつつ CSP 対応する

CSP

「体系的に学ぶ 安全な Web アプリケーションの作り方」を読んで CSP ヘッダをちゃんと設定してみようという試み。 S3 + CloudFront でやってみたという話は次の記事で。 npm パッケージの reload を使用して live reload する 必要な CSP ヘッダを整える Mo…

Google Container Builder で GKE へデプロイ

Google Container Builder でビルド できたイメージを Container Registry に push このイメージで GKE の deployment を更新 「GKE で本番環境の構成を考えた」で構築したクラスタを前提にしている。 CONTENTS サービスアカウントにロールを追加 cloudbuild…

GKE で本番環境の構成を考えた

GKE でクラスタを作成 nginx-ingress コントローラを使用して ingress を構成 cert-manager で Let's Encrypt CloudSQL にデータベースを用意 複数ドメイン、複数サービスで構築 CONTENTS 全体の構成 クラスタの作成 Helm セットアップ CloudSQL を使用する…

Mac で「かな」配列をカスタマイズする - 2018版

前の記事「Mac で「かな」配列をカスタマイズする」の後、キーの同時押しの設定が追加された CONTENTS かな配列における同時打鍵 同時打鍵の設定 まとめ 参考資料 APPENDIX 新下駄配列 SOURCE shun-fix9/karabiner-elements-complex_modifications getto-sys…