jasonheecs.digitalocean

Ansibleロール: DigitalOceanドロップレット作成

ビルドステータス Galaxyロール

DigitalOceanのドロップレットを作成し、そのIPアドレスをインベントリファイルに追加するAnsibleロールです。

要件

特になし。

インストール

ansible-galaxy install jasonheecs.digitalocean

ロール変数

ロール変数はdefaults/main.ymlにリストされています。また、機密変数(DigitalOceanのAPIトークンなど)はvars/private.ymlにリストする必要があります。

利用可能な変数は以下の通りで、デフォルト値も記載されています(defaults/main.ymlおよびvars/private.yml.exampleを参照):

# DigitalOceanアカウントのSSHキー識別子
do_ssh_key_name: Ansible SSH Key
# アカウントに追加する公開SSHキー
do_ssh_pub_key: "{{ lookup('file', '~/.ssh/id_rsa.pub') }}"
# ドロップレットにSSH接続するための秘密鍵
do_ssh_private_key: "~/.ssh/id_rsa"

# ドロップレットの名前
droplet_name: test-droplet
# サーバーを作成する地域のスラグ
droplet_region_id: sgp1
# ドロップレットを作成するサイズのスラグ
droplet_size_id: 512mb
# ドロップレットを作成するためのイメージのスラグ
droplet_image_id: ubuntu-18-04-x64

# Ansibleインベントリファイルの場所
ansible_inventory_file: hosts.ini
# インベントリファイル内でドロップレットをグループ化するためのグループ名
droplets_inventory_group: do_droplets

# DigitalOceanのパーソナルアクセストークン (https://www.digitalocean.com/community/tutorials/how-to-use-the-digitalocean-api-v2)
do_api_token: inserttokenhere
# ドロップレット作成中に追加するSSHキー (https://developers.digitalocean.com/documentation/v2/#ssh-keys)
droplet_additional_ssh_key_ids: []

依存関係

特になし。

例のプレイブック

リモートマシンでこのロールを実行するプレイブック:

- hosts: all
  become: no
  roles:
    - { role: jasonheecs.digitalocean }

ローカルマシンでこのロールを実行するプレイブック:

- hosts: localhost
  connection: local
  become: no
  roles:
    - { role: jasonheecs.digitalocean }

サンプルプレイブックを参照してください。

テスト

自動テストはTest KitchenKitchen Ansible、およびKitchen Dockerを使用して実施されます。

テストを実行するには、RubyDockerがインストールされていることを確認し、次のコマンドを実行します:

gem install bundler && bundle exec kitchen test

テストビルドプロセスと期待される出力については、travis.ymlファイルとTravisビルドログを参照してください。

対応プラットフォーム

このAnsibleロールは以下のプラットフォームでテストされています:

  • macOS Sierra
  • macOS High Sierra
  • Ubuntu 16.04
  • Ubuntu 14.04
  • CentOS 7
  • Debian 9

ライセンス

MIT

著者情報

Jason Hee

プロジェクトについて

Create DigitalOcean droplet via Ansible

インストール
ansible-galaxy install jasonheecs.digitalocean
ライセンス
mit
ダウンロード
1.4k
所有者