hashicorpのottoを触ってみた③ ~Appfile
前回 hashicorpのottoを触ってみた② ~ビルド・デプロイ
infraの設定からデプロイまで行いました。
ただデフォルトの設定で、全て行ったので今回はそのカスタマイズを行うAppfileについて書いていきます。
Appfileはプロジェクトのrootに置くことで、反映されます。
ただ反映されると言ってもotto compileを叩いてcompileするまでは反映されません。
Appfile
Appfileの書き方を実際に見ていきます。
//Appfile application { name = "otto-getting-started" type = "ruby" } project { name = "otto-getting-started" infrastructure = "otto-getting-started" } infrastructure "otto-getting-started" { type = "aws" flavor = "simple" } customization { ruby_version = "2.1" //goの場合の書き方はgo_version = "1.4.2" }
ottoの公式サイトから持ってきました。
軽く説明すると
application
nameはプロジェクトの名前(一意じゃなくてもいい)
typeはアプリケーションのtypeを記述
typeは今のところJAVA,docker,go,node.js,ruby,pythonがデフォルトで対応しているようです。project
nameはprojectの名前で一意にする必要があります。
infrastructureはotto infraで作成したinfrastructureの設定名
次に書くinfrastructureの名前と同一名にする必要があります。infrastructure
typeはdeployされる環境の名前です(現状awsだけっぽい?)
flavorには、simpleとvpc-public-privateの2つが設定可能です。
simpleはaws上に最低限の構成でdeployします。
vpc-public-privateを設定するとbastion hostsやNAT serverなどを使った踏み台を経由するような構成でdeployが行われます。
(ここらへんまた詳しく調べたい)customization
これは基本的にotto devしたときにプロジェクトで使っている言語を見て、必要な物をinstallしてくれるのですが、その中でもversionを変更する必要がある場合に使います。
見ての通りrubyの2.1を落としたい場合に使っています。記述しないとデフォルトのバージョンがinstallされます。
このようにrootディレクトリにAppfileを置き、otto compileを実行することで、カスタマイズができます。
もっと細かいことができると思うので(awsのregionとか切実に変更したい)もっと使ってみて次回書いていきたいと思います。