Nuxtのmiddlewareの注意点

console.logが表示されない

要検証ですが、ブラウザでのコンソールデバッグができないです。

router.pushするとmiddlewareがコールされない

これも要検証ですが、コードを使ってURL遷移すると呼ばれませんでした。

Dockerでrsyslogの設定

DockerでCentOS7を設定した時にrsyslogが動いてなくてはまりました。
そのときに行ったメモです。

インストール

そもそもrsysogが入ってませんでした。

yum install rsyslog

起動と終了

systemctlが使えないので手動で起動させます。

起動はこれだけでOK。

rsyslogd

終了するときはPIDを調べます。

ps -C rsyslogd

調べたpidを入れてkillします。

kill -TERM pid

rsyslogの設定

containerには余分なものが入っていないので、設定をシンプルにしなければなりません。
対象のファイルは以下の2つ。

/etc/rsyslog.conf
/etc/rsyslog.d/listen.conf

rsyslog.confを次のように変更します。

$ModLoad imuxsock
# $ModLoad imjournal 
$OmitLocalLogging off
# $IMJournalStateFile imjournal.state

listen.confをコメントアウトします。

# $SystemLogSocketName /run/systemd/journal/syslog

設定の反映

設定ができたら、上記のコマンドで再起動します。

動作確認にはloggerコマンドが便利です。

logger "test"
cat /var/log/messages

Conohaのオブジェクトストレージでウェブからアクセスする

意外と情報が少なかったのでまとめました。

まずは公式サイトの情報を元にswiftの設定を行います。
https://www.conoha.jp/guide/objectstorageswift.php

地味にはまってしまったのが、認証に使うURLIdentity Serviceなので注意です。

最初、Object Storage Serviceのエンドポイントを指定して気づきませんでした。

ConohaのAPI情報の確認はこちらから確認できます。
https://manage.conoha.jp/API/

あとは作成したコンテナに対して以下のコマンドで公開を行います。

swift post -r '.r:*,.rlistings' container

これで簡易ストレージサーバになりました。

参考:
https://docs.openstack.org/ja/user-guide/cli-swift-static-website.html

Droneでデータの永続化を行う

volumesを設定する

結論としては、.drone.ymlにvolumesを書くことで実現できます。

リポジトリをTrustedに変更

ただし、設定状況によってはauthorizeでエラーが発生します。

ホストOSにアクセスすることになるので、リポジトリをTrustedにする必要があるとのことです。

リポジトリの画面から
[Settings] -> [Project Settings] -> [Trusted]
で設定を行います。

admin権限も必要

私の場合はここでもエラーが発生しました。

drone.ioのフォーラムを見ていると、adminユーザーでないと変更できないとのこと。

以下はDRONE_ADMINにユーザをadminとして設定する方法です。

  • docker-compose.yml

docker-compose.yml
DRONE_ADMIN=user_name,username@gmail.com

まとめ

だいぶ端折ってますが、Dockerがわかっていないとつらいです。

しかし、逆にいえばDockerに依存しているので、知っている人には簡単かもしれません。

docker-compose upでno such imageが出るとき

docker-compose ps

Nameがすごいことになってるゴミコンテナが残ってました。

Name                                                                     Command           State     Ports
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
9baa9c7e8bcc_9baa9c7e8bcc_9baa9c7e8bcc_9baa9c7e8bcc_9baa9c7e8bcc_9baa9c7e8bcc_9baa9c7e8bcc_9baa9c7e8bcc_9baa9c7e8bcc_ubuntu   /bin/sh -c /bin/bash   Exit 137

削除したら無事に起動できました。

docker-compose rm

AnsibleでSSHパスワード認証

sshpassを入れる

事前にsshpassを入れておく必要があります。

Macではbrewの公式にパッケージがありません。
(セキュリティ上の理由で登録されていないようです。)

探したところ、一撃で入れられるコマンドはこちらにありました。

brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb

パスワードの書き方

hostsファイルに次のように書きます。

your_hostnameとyour_passwordは読み替えてください。

your_hostname ansible_ssh_pass=your_password

クラウドサーバを利用していると画面上からsshキーの追加ができますが、
VPSでは未だにパスワードのみのところが多いです。

ansibleで鍵の自動登録させた後、パスワード認証は閉じるという方法が便利かもしれませんね。