Whimlog

寝るまでが一日

QOLが上がった!

これはなに?

9月を振り返ってみると生活の改善を色々やったなと思ったので、記録します。 今更な事をやってたりするのですが、やろうと思っていたことをまとめて改善できました。

クレカを使っていく

現金よりクレジットカードを率先して使う事にしました。 前々から現金であれこれするのはめんどくさいなと思う部分が多かったので実施しました。 クレジットカードだと支払いの手間が少なく、ストレスが減ります。 また、少額決済に対応しているスーパーやコンビニはサインレスで決済できるので絶対オススメです。

使いすぎの心配は MoneyForward を使っているので、ある程度緩和されると思います。

LIne Pay

クレジットカードと平行して LINE Pay の契約もしました。 Line Payは100円で2ポイント付与される非常にお得なカードです。JCBが使える店舗が対象になります。 今ではメインのカードとなっており、ザクザクポイントが溜まるので非常に買い物が楽しいです。

Bitcoin

余剰資金が溜まったので念願の Bitcoin を買いました。買った直後に下落しましたが、お陰で情報をたくさん集めるようになりました。取引所もいくつかアカウントを作成して、使い比べを行なっています。 Bitcoin をするなら 住信SBI銀行を作ると運用し易いと思います。(証券口座も作れる

電子書籍

Bitcoin について勉強しようと思い、電子書籍も使ってみることにしました。読み進めていくと意外と馴染んだので、これからは電子書籍でやっていけそうです。

メールアドレスの管理

今までいくつかのメールアドレスを使っていたのを統合しました。 非常に骨が折れる作業でしたが、やりきることができました。 各サービスのパスワードの変更も同時に行なったので、セキュリティが向上しました。 メールアプリは Inbox を使っています。

ふるさと納税

去年もやったのですが、計算方法を間違えている事に気づいたので、今年はエクセルでしっかりと計算しました。 しかし、ふるさと納税サイトにある概算のやつと大差はありませんでした。 3ヶ月に分けてやろうと思います。第1弾はハンバーグにしました。 ふるさとチョイスが商品数が多くておすすめです。 ここでの決済は、ヤフー公金支払いを使うのですが、ここでもLINE Payが使えます。Tポイントも併用できるので、非常にお得に納税できます。

Amazon Prime

これが一番今更感があります。Kindle Fire HD が欲しくなったので登録しました。 困ったらシュッと注文できるので非常に楽です。ちなみに Amazon は LINE Pay が使えます。

まとめ

これらの事を実施したことによって、情報が管理しやすくなったので、頭で覚えておくべきことが減りました。 その分を読書に回したりできるようになったので、自分の時間の捻出に繋がって俗に言うQOLを大幅に向上させることができました。

docker-puppet-playground の紹介

docker-puppte-playground をリリースしました

Puppet5 がリリース されたので、docker で遊べる環境を作りました。

github.com

Puppet5 を使って Puppet の入門環境が作れます。 docker の使い方をリハビリするついでに、puppet5 の環境を作ってしまおうと思い作成しました。

できること

使い方は README に全部書きましたが、何ができるかを紹介します。 Standalone mode、librarian-puppet を使った module 管理、Agent/Master mode の3つを体験できます。 Agent/Master モードは docker-compose の機能を活用して、シュッと使えるようにしました。なので、puppetserver の起動を行なうだけで manifests の適用を体験できます。

docker について

Docker のベースイメージも docker hub にアップロードしてあります。 この docker-puppet-playground では、以下の2つのベースイメージを利用しています。

asuforce/puppet, asuforce/puppetserver

つまづいたこと

Puppet 5.0.0 がリリースされた直後にこの PR で作成を始めた所、以下の Puppet module コマンドのバグに遭遇しました。

[PUP-7738] "bundle exec puppet module install" fails on Puppet 5.0.0 - Puppet Tickets

bundler 経由で puppet module install が実行されると失敗するというものでした。 これはグローバルにインストールした librarian-puppet を実行するという方法で回避しました。

現在は、Puppet 5.0.1 がリリースされているためこの問題は修正されました。 docker-puppet-playground もバージョンアップに対応済みです。

まとめ

docker と puppet の基本的な使い方を学ぶにはちょうどいい感じのものになっているので、どちらか勉強してみたい人はぜひ使ってみてください。

Puppet 3 to 4 tips

refs: Puppet 3.x to 4.x: Get upgrade-ready

puppet 3から puppet 4への移行作業の途中で遭遇した tipsを2つ紹介します。

検証環境

refs: Atlas puppetlabs

環境はvagrantで簡単に作成できます。

puppetのバージョンを厳密にしたい場合は以下のようにプロビジョン時にアップデートするようにすると良いと思います。

config.vm.provision "shell", inline: "yum install -y https://yum.puppetlabs.com/el/7/products/x86_64/puppet-3.8.7-1.el7.noarch.rpm"

公式のyumこちらになります。

stringify_facts = true

refs: stringify_facts = true

このオプションはpuppet 4ではfalseになっています。 facterの値が falseと返ってきた場合、文字列の falseで比較できていた部分ができなくなります。 Puppet 4では、 bool値はシングルクオートで囲めないのと facterで返ってくる stringを boolに変換することで対応します。

sample code

-if $::facter == 'false' {
+if str2bool($::facter) == false {

call_function

refs: cannot call 4.x functions from 3.x function ERB templates

hieraの情報をテンプレートファイルから読み出す事があると思います。 その際にfunction_hieraで呼び出していた場合、この関数はpuppet 4では使えないのでcall_functionに置き換える必要があります。

error messega

Detail: hiera() has been converted to 4x API

sample code

- user_data: "<%= scope.function_hiera(['fuga::user_data']) %>"
+ user_data: "<%= scope.call_function('hiera', ['fuga::user_data']) %>"

上記の方法は、puppet 3.8.2以上でないと動きません。3.8.2以下の場合は manifests上で変数を定義するといった方法でこのエラーを回避できます。

まとめ

puppetのバージョンアップ作業はまだ途中なのですが、これらを見つけるのにもとても時間がかかりました。 同じ作業をする方がいれば参考になればと思います!