CLOVER🍀

That was when it all began.

PythonでRocksDBを使う

これは、なにをしたくて書いたもの? ふと、RocksDBのPythonバインディングを使ってみようかなと思いまして。 python-rocksdb RocksDB自体はC++で作られていますが、pytyon-rocksdbを使うことでPythonからも利用することができます。 Welcome to python-rock…

Fluent Bitで、複数行のログファイルを読む

これは、なにをしてくて書いたもの? Fluent Bitで、複数行のログ(Multiline)を読み込んでみることを、試してみようかなと。 Multiline Fluent Bitで複数行のログを読み込むためには、tail inputプラグインの設定を調整します。 Tail - Fluent Bit: Offici…

GitLabのバージョンを確認する

GitLabのバージョンの確認方法。 記載時点で、GitLab 12.10.3で確認。 GitLabが動作しているサーバーにログインできる場合 gitlab-rakeコマンドで確認します。 Maintenance Rake tasks | GitLab Omnibusインストーラーを使ったのか、ソースからインストール…

TerraformリソースのLifecycleのカスタマイズを行う

これは、なにをしたくて書いたもの? TerraformリソースのLyfecycleのカスタマイズした時の動きを、1度自分でも確認しておきたいなということで。 TerraformのMeta Arguments Terraformのリソース定義には、Meta Argumentsと呼ばれる引数を含めることができ…

Pythonのインタラクティブシェル起動時に、スクリプトを読み込む

Pythonのインタラクティブシェルで、スクリプトで定義した関数などを読み込みたい、という場合にどうしたらいいのかな? ということで。 使ったPythonのバージョン。 $ python3 -V Python 3.6.9 ヘルプを見てみます。 $ python3 -h どうやら、「-i」オプショ…

SQLiteをPythonから使う

これは、なにをしたくて書いたもの? ちょっとした用途でお手軽にデータベースを使いたいといった文脈の時に、JavaだとH2 Databaseあたりが挙がりますが、 そういえばSQLiteを使ったことないよなと思いまして。 1度、ちゃんと見てみようかなと思って今回使っ…

TerraformでRemote Stateを参照して、Data Sourceとして扱う

これは、なにをしたくて書いたもの? TerraformのRemote Stateを参照することで、Data Sourceとして扱えるらしいので、試してみることにしました。 Remote StateをData Sourceとして使う Remote Stateは、デフォルトではローカルに保存されるStateを、別のリ…

Terraformのgraphコマンドで、構成を可視化してみる

これは、なにをしたくて書いたもの? Terraformのリソースの依存関係を出力できないのかな?と思ったのですが、terraform graphコマンドでGraphvizのdot形式で出力可能な ようなので、1度試してみることにしました。 Command: graph - Terraform by HashiCor…

Terraformモジュールのインスタンスとリソースのスコープを確認したい

これは、なにをしたくて書いたもの? Terraformのモジュールというものを、この前初めて書いてみたのですが、同じリソース定義を別のモジュールに含めた時に、 どういう動きになるのかな?というのを確認してみたいと思いまして。 いろいろ、バリエーション…

TerraformのData Sourceを試す

これは、なにをしたくて書いたもの? TerraformのData Sourceを使ってみよう、ということで。 Data Source Terraformには、Data Sourceというものがあります。Data Sourceは、外部データを参照できる仕組みです。 Data Sources - Configuration Language - T…

Terraformのモジュールを書いてみる

これは、なにをしたくて書いたもの? Terraformのモジュールというものを、1度自分で書いてみようかな、と。 練習ですね。 Terraform Module Terraformのモジュールは、複数のリソースをまとめて抽象化したものです。 Creating Modules - Terraform by Hashi…

Ubuntu Linux 18.04 LTSに、Fluent Bitをインストールする

これは、なにをしたくて書いたもの? 以前、少しFluentdを触っていたのですが、Fluent Bitも1度確認しておいた方がいいかな、と思いまして。 今回、軽く試してみることにしました。 Fluent Bit? Fluent Bitのオフィシャルサイトは、こちら。 Fluent Bit Git…

TerraformのStateをConsulで管理する

これは、なにをしたくて書いたもの? TerraformのStateについてちゃんとドキュメントを読んでいなかったので、1度確認しておこうということと、Stateをローカルファイル以外で 管理する方法もあるらしいので、そちらも見てみようかなということで。 今回は、…

Docker Composeで、Redis Clusterをできる限り簡単に作る

これは、なにをしたくて書いたもの? Redisでたまにクラスタを作るのですが、ふだん素のDockerでやっていて面倒だなーと思うようになり。 Docker Composeで構成しようと思うのですが、Redis Clusterを作る時はコマンドを実行する必要もあり。 このあたり、ど…

OSSのコンテナイメージ脆弱性スキャンツール、Trivyを試す

これは、なにをしたくて書いたもの? 以前からちょっと気になっていた、Trivyというコンテナイメージの脆弱性スキャンツールを試してみたいと思います。 GitHub - aquasecurity/trivy: A Simple and Comprehensive Vulnerability Scanner for Containers, Su…

PrometheusのRedis Exporterを試す

これは、なにをしたくて書いたもの? 久しぶりに、Prometheusまわりを見ていこうかなと思いまして。ちょっとずつ。 今回は、RedisのExporterを試してみようと思います。 GitHub - oliver006/redis_exporter: Prometheus Exporter for Redis Metrics. Support…

docker image build時に、DNSの設定をなんとかしたい

これは、なにをしたくて書いたもの? Dockerコンテナ内で、たまに名前解決できなくて困ることがあります。 それを、Dockerイメージをビルドする時に同じようにハマったら、どうしましょうか?という話。 環境 今回の環境は、こちら。Ubuntu Linux 18.04 LTS…

socat+ncコマンドでTCP通信を転送しつつ、フォワードプロキシ越しにアクセスする

これは、なにをしたくて書いたもの? 最近、TCPプロキシサーバーを立ててみたり、プレーンなTCP通信をSSL/TLS化してフォワードプロキシ越しにトンネリングしたりして 遊んでいるのですが、 socatでTCPプロキシサーバーを立てる - CLOVER stunnelを使って、…

Vagrantの仮想マシンに、プライベートIPアドレスを設定する(複数個まで)

これは、なにをしたくて書いたもの? Vagrantで時々プライベートIPアドレスを固定しているのですが、複数設定した時の挙動を見てみようかなと思いまして。 Vagrantのネットワーク設定 Vagrantのネットワーク設定には、Private NetworkとPublic Networkがあり…

socatでTCPプロキシサーバーを立てる

これは、なにをしたくて書いたもの? socatを使って、プロキシサーバーが立てられそうだったので、試してみようかなと。 socatとは socatとは、2つのストリーム間のデータ転送を行うコマンドラインツールです。 ストリームとしては、TCP、UDP、UNIXドメイン…

stunnelを使って、バックエンドにSSL/TLS通信しつつ、フォワードプロキシ越しにアクセスする

これは、なにをしたくて書いたもの? stunnelでバックエンドのサーバーにSSL/TLS通信して転送する際に、フォワードプロキシサーバーを経由することができないかなぁと調べたら、 できそうだったので試してみようかなと。 環境 今回の環境は、こちらです。Ub…

curl+フォワードプロキシで、HTTP CONNECTトンネリング(proxytunnel)する

これは、なにをしたくて書いたもの? curlの「--proxytunnel」オプションを使うと、フォワードプロキシサーバー+HTTP CONNECTでトンネリングができるというのを知り。 試してみましょうかと。 環境 今回の環境は、Ubuntu Linux 18.04 LTSです。 $ uname -sr…

Ubuntu Linux 18.04 LTSにstunnelをインストールする

これは、なにをしたくて書いたもの? SSL/TLSのトンネリングツールである、stunnelをちょっと試してみたいなぁと思いまして。 非SSL/TLSなクライアント、サーバー間の通信を、SSL/TLSに対応させる手段としては知っておいてもよいかな、と。 stunnel 最初…

Jib Maven Pluginで、Dockerコンテナイメージを作る

これは、なにをしたくて書いたもの? 以前、Jib Coreを使ってDockerイメージを作ってみました。 Jib Coreで、Dockerコンテナイメージを作ってみる - CLOVER これでJibの基本的なところはわかった…ことにして、今度はJib Maven Pluginを使ってDockerイメージ…

Molecule 3を試す

これは、なにをしたくて書いたもの? Moleculeが3.0になっていたので、1度試しておこうかなと。 前に試した時は、2.22でした。 Ansible Roleを開発、テストするためのMoleculeを試す - CLOVER Changelogを見ると、だいぶ変わったみたいです。 Changelog / 3.…

Infinispan 10.1のCacheLoader/CacheWriter(ExternalStore)を試す

これは、なにをしたくて書いたもの? 最近、久しぶりにInfinispanのCacheStoreまわりのAPIをちょっと眺めてみたら、特にAdvancedCacheLoader/AdvancedCacheWriterまわりが だいぶ変わっているのに驚きまして。 いい機会なので、もう1度CacheStoreまわりのAP…

Jib Coreで、Dockerコンテナイメージを作ってみる

これは、なにをしたくて書いたもの? そういえば、Jibというものがあったけど、全然使ったことがないなと思い、1度試しておこうかなと。 Javaアプリケーションを自動的にコンテナイメージにビルドするツール「Jib」がバージョン1.0に到達 - Publickey Jib、…

PyMongoを使って、PythonからMongoDBにアクセスしてみる

これは、なにをしたくて書いたもの? MongoDBの練習がてらに、PythonからMongoDBにアクセスするプログラムを書いてみようかなと。 MongoDBのPythonドライバー MongoDBのPythonドライバーは、MongoDBのサイトを見るとPyMongoとMotorがあるようです。 MongoDB …

pytestを使って、Pythonのテストコードを書く

これは、なにをしたくて書いたもの? Pythonでテストコードを書く時には、pytestを使うのが良いという話を聞きまして。1度、自分でも押さえておこうかな、と。 https://docs.pytest.org/en/latest/ 以前、unittestで記載した内容のpytest版です。 unittestラ…

Ubuntu Linuxでカーネルをダウングレードする

ちょっと前に、手元のUbuntu Linuxのカーネルバージョンを一気に上げたのですが、ややキツかったみたいでパフォーマンスが 悪くなってしまい。 Ubuntu Linuxのカーネルをaptでアップグレードする - CLOVER 少しバージョンを下げようかなと。 現在のカーネル…