koh’s blog

Sys Admin who loves automation

最近は

こちらで記事を書いています。 koh's blog

zsh(bash)からxonshに乗り換えたい

ここ数年は手元の端末ではzshを使用していたが、最近xonshを試しています。 約2年の時を経てxonshに再チャレンジしようとしてる。特に理由はないんだけど。 https://t.co/Uybrmq6HEs— Koh (@koh_sh) February 16, 2021 基本的な情報は下記。ざっくり言うとp…

2020年を雑に振り返る

2020年をざっくり振り返っていく。 去年のはこちら. koh-sh.hatenablog.com エンジニア関連 プログラミング 今年の最初は結構AtCoderを真面目にやっていたが5月くらいからあまりやらなくなってしまった。 プログラミング自体は楽しいけれどコンテストで毎回…

ラズパイにUSBメモリ型SSDを生やす

最近USBメモリ型のSSDが発売されたらしいのでそれを使ってラズパイを起動してみました。 pc.watch.impress.co.jp 使用したSSDはこちら。 www.amazon.co.jp やってる事自体は何番煎じだって感じですが自身の備忘として。 やること 現在SDカードで動いているRa…

ハーバードのCSの授業を受けてみた(cs50)

オンラインでハーバード大学の各種授業を受けることができます。 online-learning.harvard.edu その中でも初心者向けのComputer Scienceの授業が無料だったので受けてみました。 授業を受けると言っても動画が公開されているのでそれを自分のペースで見てす…

夏休みなのでラズパイ増設した

夏休みなので去年に引き続きラズパイを購入しました。 koh-sh.hatenablog.com 今年は奮発してRaspberry Pi 4 Model Bのメモリ8GBです。 セットアップは基本的にラズパイ3B+のときと変わらないですが変わった部分だけ備忘録がてら。 準備するものの差分 ラズ…

今更ながらPythonの型ヒントを試す

Pythonは基本的に動的型付けなのでコードを書いているときに明示的に型を記載することはないのですが、やはり他人の書いたコードを読むときや自分の過去のコードを読むときには型が書いてあると嬉しいですね。 ということで今更ですがPythonの型ヒントを試し…

Ansibleでcommandを使わないためのモジュール

Playbookを書いているとたまに 特定のパッケージがインストールされていたらなにかする 特定のユーザが存在したらなにかする みたいな処理をしたいときがあります。 実際にインストールしたりユーザ作成せずに現状の確認だけをしたいケースです。 そういった…

AtCoderで茶色になった記事

お約束のやつです。 先日のABC156でやっと茶色になったのでやったことメモ。 やったこと コンテスト参加 初参加のABC149からは毎回参加しています(計9回) ABC149が初参加でしたが、ABC149/150は2連unratedだったので若干心折れかけました。 実行環境構築(py…

Python実行環境構築メモ[Vagrant+Ansible+vscode]

※自分用メモ AtCoder用のPython実行環境を作る + サンプルのテストの自動化する。 ローカルにpyenvで古いpythonインストールが楽なんだけどイマイチちゃんと動かなかった。 要件 AtCoderのPythonにバージョンを合わせた実行環境を構築 ローカルのmacosには古…

Ansibleのshellモジュールで、falseコマンドを実行できない?

※超小ネタです。 先日Playbookがコケたときの挙動を確認すべく下記のようなtaskを作成しましたが、なぜかsyntaxのエラーが出てしまいました。 % cat test.yml --- - hosts: Vag1 gather_facts: False tasks: - name: fail on purpose shell: false % ansible…

2019年を雑に振り返る

2019年の出来事を振り返る。 ブログやtwitterを見ながら思い出せる範囲で。 エンジニア関連 ブログ開設 当ブログを開設してちまちま更新している。 また最初は英語でも同じブログに投稿していたが今はdev.toに切り替えた。 内容を振り返ると大体Ansible。 Gi…

telnetで疎通確認みたいなことをAnsibleでやる

DNSやrouting、firewallまわりの設定が正しくできているかの確認として、telnetやncコマンドで疎通確認するみたいな作業はインフラエンジニアにはよくある光景だと思います。 しかしどちらのコマンドも必ずサーバにインストールされているとは限らないですし…

ansible-lintの設定

ansible-lintというAnsibleのPlaybookの問題点を指摘してくれるツールがあります。 github.com 無駄なスペースを検知してくれたり、Playbookのベストプラクティスに沿わないような記載を指摘してくれます。 [koh@kohs-MBP] ~/work/linttest % ansible-lint s…

Using Testinfra with Ansible

dev.toに移行しました。 / This article has been migrated to dev.to dev.to

TestinfraとAnsibleを組み合わせて使う

For English インフラテストツールのTestinfraをAnsibleと組み合わせて使用すると色々と捗るよという投稿です。 Testinfraについては以前ブログを書いているので見ていただければと。 koh-sh.hatenablog.com Inventoryの共有 TestinfraはAnsibleのInventory…

GitHub ActionsでmacOS用のPlaybookをテストする

以前書いた記事の続きです。 前回AnsibleのPlaybookのlintをGitHub Actionsで実施するところまで設定したので実際にPlaybookを実行してテストをさせるようにしました。 koh-sh.hatenablog.com 使用しているリポジトリはこちらです。 github.com Playbook実行…

iPhone移行メモ

iPhone11を購入してiPhone7から移行したので自分用メモ。 環境 機種及びOSのバージョン 機種 OS iPhone11 (新) iOS13.0 iPhone7 (旧) iOS13.0 Apple Watch3 watchOS5.3.1 データ移行 iOS 12.4以降であれば旧iPhoneから新iPhoneへ直接データを転送できる。 新…

Automatic ansible-lint with Github Actions

dev.toに移行しました。 / This article has been migrated to dev.to dev.to

Github Actionsでansible-lintを自動で実施する

For English 申し込んでいたGithub Actionsのbetaが使えるようになったのでAnsibleのsyntax checkとlintをさせてみようと思います。 なお本記事の内容は2019年9月7日時点のものであり、今後変更される可能性があります。 設定 公式ドキュメントを適宜参照し…

持っている技術書の一覧をgithubで管理し始めた

概要 最近kindleで技術書を買うことが増えたので物理と電子で持っている本を一覧化してみました。 ちなみに作成したリポジトリはこちらです。 github.com とりあえずREADMEにマークダウンで書いてます。 フォーマット等は今後少しづつ直していこうかなと。 …

How to check if an IP address is within a range in Ansible Playbook

dev.toに移行しました。 / This article has been migrated to dev.to dev.to

AnsibleでIPアドレスが特定のレンジに含まれるかの判別

For English データセンタ、クラウドのゾーンごとに処理を分岐したいときにIPアドレスをみて判別できるようにしたかったが、意外とすんなりいかなかったのでメモ。 TL;DR こんな感じでwhen句を書いてあげるとあるIPアドレスが特定のレンジに含まれているかを…

Redis can make Ansible only a bit faster

dev.toに移行しました。 / This article has been migrated to dev.to dev.to

ラズパイをMackerelで監視してCPU温度をグラフ表示する

先日ラズパイを購入して動かし始めているのですがこっそり再起動してたりと安定感がない状態です。 Raspberry Pi3 Model B+ 導入メモ またCPU温度がやや高めな(気がする)のでMackerelを使用して監視と温度をグラフ表示できるようにしていきます。 監視設定 …

Redisを使ってほんの少しだけAnsibleを高速化した

For English AnsibleにはGather Factsという機能があり、Ansible実行時に対象ホストの情報(facts)を取得しPlaybook内で使用することができます。 デフォルトだと取得したfactsは実行ノードのメモリに保持し、Ansible実行するたびに取得します。 取得にかかる…

Raspberry Pi3 Model B+ 導入メモ

初めてRaspberry Piを買ってセットアップしたので手順メモ。 この手のブログは世の中にありふれているけれど自分用の備忘として。 やったこと Raspberry Piを購入し、MacbookからSSHで接続するところまで。 用意したもの 基本的にはプライムデーにまとめて購…

Difference between Ansible's copy and template module

dev.toに移行しました。 / This article has been migrated to dev.to dev.to

Ansibleのcopyモジュールとtemplateモジュールの違いと注意点

For English Ansibleにはcopyモジュールとtemplateモジュールが存在します。 どちらも基本的にはローカルにあるファイルをリモートホストへ転送する用途のモジュールであり、使い方も似ていますが細かい挙動が異なります。 ここではその違いと注意点を記載し…

Play with Testinfra which tests states of infrastructure

dev.toに移行しました。 / This article has been migrated to dev.to dev.to