diff --git a/README.md b/README.md index c04a75b5..129a7267 100644 --- a/README.md +++ b/README.md @@ -1,44 +1,62 @@ packer-plugin-sakuracloud === -[![Build Status](https://travis-ci.org/sacloud/packer-plugin-sakuracloud.svg?branch=master)](https://travis-ci.org/sacloud/packer-plugin-sakuracloud) -[![Slack](https://slack.usacloud.jp/badge.svg)](https://slack.usacloud.jp/) +![Test Status](https://github.com/sacloud/packer-plugin-sakuracloud/workflows/Tests/badge.svg) +[![Slack](https://img.shields.io/badge/Slack-Sacloud%20Workspace-brightgreen)](https://join.slack.com/t/sacloud/shared_invite/zt-k8ovnmqq-4V4gsZhOsBdCiLz9KaqRkA) +[![License](https://img.shields.io/github/license/sacloud/packer-plugin-sakuracloud)](LICENSE) +[![Version](https://img.shields.io/github/v/tag/sacloud/packer-plugin-sakuracloud)](https://github.com/sacloud/packer-plugin-sakuracloud/releases/latest) +![Downloads](https://img.shields.io/github/downloads/sacloud/packer-plugin-sakuracloud/total) -A builder plugin of packer for SakuraCloud - -さくらのクラウド用Packerプラグイン +A plugin of packer for SAKURA Cloud / さくらのクラウド用Packerプラグイン ## 概要 `packer-plugin-sakuracloud`は[さくらのクラウド](http://cloud.sakura.ad.jp)での アーカイブ(構築済みOSのテンプレート)を[Packer](https://packer.io)で作成するためのPackerプラグインです。 -## 使い方(セットアップ) +## 必要なもの + +- `packer` v1.7+ +- さくらのクラウド APIキー + +> :warning: `packer-plugin-sakuracloud` v0.7以降では`packer` v1.7以降が必要となります。 +> 1.7以前の`packer`を利用したい場合はv0.7より古いバージョンをご利用ください。 -`packer-plugin-sakuracloud`を実行するには、さくらのクラウドAPIキーが必要です。 +## 実行方法 -あらかじめコントロールパネルからAPIキーを発行しておいてください。 +以下の何かの方法でプラグインをインストールして`packer`コマンドを実行します。 -セットアップは以下のような方法があります。お好きな方をご利用ください。 +- `packer init`を利用(HCLテンプレートのみ) +- プラグインの手動インストール - - ローカルマシンにインストール - - Dockerを利用する - - (macOS + Homebrew)`homebrew`でインストール +### `packer init`を利用 -### ローカルマシンへのインストール +HCLテンプレートでのみ利用可能です。 +テンプレートに以下のような`required_plugin`ブロックを記載し`packer init`でプラグインをインストールします。 + +```hcl +packer { + required_plugins { + sakuracloud = { + version = ">= 0.7.0" + source = "github.com/sacloud/sakuracloud" + } + } +} +``` + +### プラグインの手動インストール [リリースページ](https://github.com/sacloud/packer-plugin-sakuracloud/releases/latest)から各プラットフォーム用のバイナリをダウンロードし、 -以下の何れかのディレクトリへ展開、実行権を付与してください。 +以下のドキュメントに記載されている所定のディレクトリに配置します。 -- 1) `packer`コマンドが格納されているディレクトリ -- 2) Unix系OSの場合 `~/.packer.d/plugins` , Windows系OSの場合`%APPDATA%/packer.d/plugins` +https://www.packer.io/docs/plugins -### Dockerを利用する場合 +## Dockerでの実行 -Dockerを利用する場合、`packer-plugin-sakuracloud`の事前のインストール作業は不要です。 -DockerHubでイメージを公開していますので、以下のように実行できます。 +Dockerで実行する場合、以下のように実行します。 - docker run -it --rm sacloud/packer:latest [packerサブコマンド] [packerオプション] + docker run -it --rm ghcr.io/sacloud/packer:latest [packerサブコマンド] [packerオプション] APIキーを環境変数で指定する場合、`-e`オプションなどを適切に指定して実行してください。 @@ -47,16 +65,15 @@ APIキーを環境変数で指定する場合、`-e`オプションなどを適 -e SAKURACLOUD_ACCESS_TOKEN \ -e SAKURACLOUD_ACCESS_TOKEN_SECRET \ -v $PWD:/work \ - sacloud/packer:latest build example.json - -### `homebrew`を利用する場合(macOSでHomebrewをご利用の場合) + -w /work \ + ghcr.io/sacloud/packer:latest build example.pkr.hcl -以下のコマンドでインストール可能です。 +> :bulb: `ghcr.io/sacloud/packer`にはプラグインが手動インストール済みです。このため`packer init`は不要です。 - brew tap sacloud/homebrew-packer-plugin-sakuracloud; brew install packer-plugin-sakuracloud - -インストール後は画面に表示される指示にしたがってコマンドを実行し、`~/.packer.d/plugins`配下にシンボリックリンクを作成します。 +### `homebrew`を利用する場合(macOSでHomebrewをご利用の場合) +v0.7以降`homebrew`はサポートされなくなりました。 +`packer init`、またはプラグインの手動インストールにてご利用ください。 ## 使い方(アーカイブ作成) @@ -68,51 +85,28 @@ APIキーを環境変数に設定しておきます。 $ export SAKURACLOUD_ACCESS_TOKEN=[APIトークン] $ export SAKURACLOUD_ACCESS_TOKEN_SECRET=[APIシークレット] -#### テンプレートファイル(JSON)の作成 +#### テンプレートファイルの作成(HCL) -Packerでのビルド用に以下のようなJSONファイルを作成します。 -以下の例は、石狩第2ゾーン(`is1b`)に、CentOSパブリックアーカイブをベースとしたアーカイブを作成します。 -プロビジョニングとして、`shell`にてdockerのインストールを行なっています。 +Packer 1.5以降で利用できるHCLテンプレートに対応しています。 -#### packer用jsonファイルの例 -```sh -$ cat < example.json -{ - "builders": [{ - "type": "sakuracloud", - "zone": "is1b", - "os_type": "centos7", - "password": "TestUserPassword01" - }], - "provisioners":[ - { - "type": "shell", - "inline": [ - "yum update -y", - "curl -fsSL https://get.docker.com/ | sh", - "systemctl enable docker.service" - ] - }] -} -EOF -``` - -作成したら以下のように`packer build`を実行すると、さくらのクラウド上にアーカイブが作成されます。 - - $ packer build example.json - -さくらのクラウド上のパブリックアーカイブだけでなく、ISOイメージからの構築も可能です。 -詳細は[テンプレートのサンプル](#テンプレートサンプル)を参照してください。 +> :bulb: JSONテンプレートを利用したい場合は次節`テンプレートファイルの作成(JSON)`を参照してください。 -#### テンプレートファイル(HCL)の作成 - -Packer 1.5以降で利用できるHCLテンプレートに対応しています。 以下の様なファイルを作成し拡張子を`.pkr.hcl`とすることで`packer build`が実行できます。 ```hcl +# Dockerから利用、またはプラグインの手動インストールを行う場合は以下のブロックをコメントアウトしてください。 +packer { + required_plugins { + sakuracloud = { + version = ">= 0.7.0" + source = "github.com/sacloud/sakuracloud" + } + } +} + source "sakuracloud" "example" { - zone = "is1b" - zones = ["is1a", "is1b", "tk1a", "tk1v"] + zone = "is1b" # アーカイブを作成する対象ゾーン + zones = ["is1a", "is1b", "tk1a", "tk1v"] # 作成したアーカイブを転送する宛先ゾーン os_type = "centos7" password = "TestUserPassword01" @@ -140,6 +134,42 @@ build { } ``` +#### テンプレートファイルの作成(JSON) + +以下の例は石狩第2ゾーン(`is1b`)に、CentOSパブリックアーカイブをベースとしたアーカイブを作成します。 +プロビジョニングとして、`shell`にてdockerのインストールを行なっています。 + +#### packer用jsonファイルの例 +```sh +$ cat < example.json +{ + "builders": [{ + "type": "sakuracloud", + "zone": "is1b", + "os_type": "centos7", + "password": "TestUserPassword01" + }], + "provisioners":[ + { + "type": "shell", + "inline": [ + "yum update -y", + "curl -fsSL https://get.docker.com/ | sh", + "systemctl enable docker.service" + ] + }] +} +EOF +``` + +作成したら以下のように`packer build`を実行すると、さくらのクラウド上にアーカイブが作成されます。 + + $ packer build example.json + +さくらのクラウド上のパブリックアーカイブだけでなく、ISOイメージからの構築も可能です。 +詳細は[テンプレートのサンプル](#テンプレートサンプル)を参照してください。 + + ## オプション一覧 @@ -155,35 +185,34 @@ jsonファイルで指定できるオプションの一覧は以下の通りで - `os_type`(string): ベースとするアーカイブの種別。以下の値が指定可能です。 -| 値 | 説明 | -|-- ------------------------- | ------------------ --| -| `centos` | CentOS(最新安定板) | -| `centos8` | CentOS 8 | -| `centos7` | CentOS 7 | -| `centos6` | CentOS 6 | -| `ubuntu` | Ubuntu(最新安定板) | -| `ubuntu2004` | Ubuntu 20.04 | -| `ubuntu1804` | Ubuntu 18.04 | -| `ubuntu1604` | Ubuntu 16.04 | -| `debian` | Debian(最新安定板) | -| `debian10` | Debian10 | -| `debian9` | Debian9 | -| `coreos` | CoreOS | -| `rancheros` | RancherOS | -| `k3os` | k3OS | -| `kusanagi` | Kusanagi(CentOS7) | -| `freebsd` | FreeBSD | -| `windows2016` | Windows 2016 | -| `windows2016-rds` | Windows 2016(RDS) | -| `windows2016-rds-office` | Windows 2016(RDS + Office) | -| `windows2016-sql-web` | Windows 2016 SQLServer(Web) | -| `windows2016-sql-standard` | Windows 2016 SQLServer(Standard) | -| `windows2016-sql-standard-all` | Windows 2016 SQLServer(RDS+Office) | -| `windows2019` | Windows 2019 Datacenter Edition | -| `custom` | 任意のアーカイブID/ディスクIDを指定する場合 | +| 値 | 説明 | +|--------------------------------|-------------------------------------------------------| +| `centos` | CentOS(最新安定板) | +| `centos8` | CentOS 8 | +| `centos7` | CentOS 7 | +| `centos6` | CentOS 6 | +| `ubuntu` | Ubuntu(最新安定板) | +| `ubuntu2004` | Ubuntu 20.04 | +| `ubuntu1804` | Ubuntu 18.04 | +| `ubuntu1604` | Ubuntu 16.04 | +| `debian` | Debian(最新安定板) | +| `debian10` | Debian10 | +| `debian9` | Debian9 | +| `coreos` | CoreOS | +| `rancheros` | RancherOS | +| `k3os` | k3OS | +| `kusanagi` | Kusanagi(CentOS7) | +| `freebsd` | FreeBSD | +| `windows2016` | Windows 2016 | +| `windows2016-rds` | Windows 2016(RDS) | +| `windows2016-rds-office` | Windows 2016(RDS + Office) | +| `windows2016-sql-web` | Windows 2016 SQLServer(Web) | +| `windows2016-sql-standard` | Windows 2016 SQLServer(Standard) | +| `windows2016-sql-standard-all` | Windows 2016 SQLServer(RDS+Office) | +| `windows2019` | Windows 2019 Datacenter Edition | +| `custom` | 任意のアーカイブID/ディスクIDを指定する場合 | | `iso` | さくらのクラウド上のISOイメージ、
またはURLを指定してISOイメージをダウンロードする場合 | - `os_type`が`custom`の場合、`source_archive` 又は `source_disk`の何れかの指定が必須です。 `os_type`が`iso`の場合、`iso_id`、または以下のISOイメージ関連の値の指定が必須です。 @@ -199,6 +228,7 @@ jsonファイルで指定できるオプションの一覧は以下の通りで - `is1a`: 石狩第1ゾーン - `is1b`: 石狩第2ゾーン - `tk1a`: 東京第1ゾーン + - `tk1b`: 東京第2ゾーン - `tk1v`: サンドボックス - `user_name`(string): SSH/WinRM接続時のユーザー名 @@ -349,10 +379,6 @@ PackerがISOイメージのダウンロードを行い、さくらのクラウ - [[CentOS]](examples/centos): CentOSパブリックアーカイブからの構築 - [[CoreOS]](examples/coreos): CoreOSパブリックアーカイブからの構築 - [[Ubuntu]](examples/ubuntu): Ubuntuパブリックアーカイブからの構築 - - [[VyOS]](examples/vyos): VyOSパブリックアーカイブから`boot_command`でSSHを有効にする構成 - - VyOSパブリックアーカイブからサーバーを作成した場合、デフォルトの状態ではSSH接続ができないため、`boot_command`にてSSHを有効化しています。 - - [[Windows]](examples/windows): Windows Server 2012パブリックアーカイブから、`boot_command`でWinRMを有効にする構成 - [[Windows2016]](examples/windows2016): Windows Server 2016パブリックアーカイブから、`boot_command`でWinRMを有効にする構成 @@ -369,12 +395,10 @@ PackerがISOイメージのダウンロードを行い、さくらのクラウ - [[CentOS]](examples/centos_iso): さくらのクラウド上のCentOS ISOイメージからの構築(ISOイメージをダウンロードするサンプルもあります) - [[Scientific Linux]](examples/scientific_linux): さくらのクラウド上のScienfitic Linux ISOイメージからの構築 - [[Ubuntu]](examples/ubuntu_iso): さくらのクラウド上のUbuntu ISOイメージからの構築 - - [[VyOS]](examples/vyos_iso): VyOSISOイメージのダウンロード〜構築(参考元:https://github.com/higebu/packer-templates) - ## License - `packer-plugin-sakuracloud` Copyright (C) 2016-2020 Kazumichi Yamamoto. + `packer-plugin-sakuracloud` Copyright (C) 2016-2021 Kazumichi Yamamoto. This project is published under [MPL-2.0](LICENSE). diff --git a/examples/centos8/template.pkr.hcl b/examples/centos8/template.pkr.hcl index 40e0a98e..e835880d 100644 --- a/examples/centos8/template.pkr.hcl +++ b/examples/centos8/template.pkr.hcl @@ -1,3 +1,12 @@ +packer { + required_plugins { + sakuracloud = { + version = ">= 0.7.0" + source = "github.com/sacloud/sakuracloud" + } + } +} + source "sakuracloud" "example" { zone = "is1b" zones = ["is1a", "is1b", "tk1a", "tk1v"] diff --git a/examples/vyos/template.json b/examples/vyos/template.json deleted file mode 100644 index 018f831e..00000000 --- a/examples/vyos/template.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "builders": [{ - "type": "sakuracloud", - "zone": "is1b", - "os_type": "vyos", - "user_name": "vyos", - "password": "TestUserPassword01", - "ssh_password": "TestUserPassword01", - "disk_size": 20, - "core" : 2, - "memory_size": 4, - "boot_command": [ - "vyosTestUserPassword01", - "configure", - "set service ssh", - "commit", - "save", - "exit" - ], - "boot_wait": "40s" - }], - "provisioners":[ - { - "type": "shell", - "inline_shebang": "/bin/vbash", - "inline": [ - "source /opt/vyatta/etc/functions/script-template", - "run show configuration" - ] - }] -} \ No newline at end of file diff --git a/examples/vyos_iso/scripts/helium/base.sh b/examples/vyos_iso/scripts/helium/base.sh deleted file mode 100755 index 5707636b..00000000 --- a/examples/vyos_iso/scripts/helium/base.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/vbash -source /opt/vyatta/etc/functions/script-template - -# Add dev mirror -delete system package repository community -set system package repository community components 'main' -set system package repository community distribution 'helium' -set system package repository community url 'http://dev.packages.vyos.net/vyos' -commit -save - -# Add Debian squeeze package repository -set system package repository squeeze url 'http://archive.debian.org/debian/' -set system package repository squeeze distribution 'squeeze' -set system package repository squeeze components 'main contrib non-free' -set system package repository squeeze-lts url 'http://archive.debian.org/debian/' -set system package repository squeeze-lts distribution 'squeeze-lts' -set system package repository squeeze-lts components 'main contrib non-free' -commit -save - -sudo apt-get -o Acquire::Check-Valid-Until=false -o APT::Get::AllowUnauthenticated=true update - -# Install build-essential and linux-vyatta-kbuild -sudo apt-get -y -o APT::Get::AllowUnauthenticated=true install build-essential -sudo apt-get -y -o APT::Get::AllowUnauthenticated=true install linux-vyatta-kbuild -sudo ln -s /usr/src/linux-image/debian/build/build-amd64-none-amd64-vyos/ /usr/src/linux -sudo ln -s /usr/src/linux-image/debian/build/build-amd64-none-amd64-vyos/ /lib/modules/$(uname -r)/build - -# Tweak sshd to prevent DNS resolution (speed up logins) -set service ssh disable-host-validation -commit -save diff --git a/examples/vyos_iso/scripts/helium/cleanup.sh b/examples/vyos_iso/scripts/helium/cleanup.sh deleted file mode 100755 index 0b5e4bdf..00000000 --- a/examples/vyos_iso/scripts/helium/cleanup.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/vbash -source /opt/vyatta/etc/functions/script-template - -# Clean up -sudo unlink /usr/src/linux -sudo unlink /lib/modules/$(uname -r)/build -sudo aptitude -y remove linux-vyatta-kbuild build-essential -sudo apt-get autoclean -sudo apt-get clean - -# Delete Debian squeeze package repository and temporary mirror -delete system package repository community -delete system package repository squeeze -delete system package repository squeeze-lts -set system package repository community components 'main' -set system package repository community distribution 'helium' -set system package repository community url 'http://packages.vyos.net/vyos' -commit -save - -# Removing leftover leases and persistent rules -sudo rm -f /var/lib/dhcp3/* - -# Removing apt caches -sudo rm -rf /var/cache/apt/* - -# Removing hw-id -delete interfaces ethernet eth0 hw-id -commit -save - -# Adding a 2 sec delay to the interface up, to make the dhclient happy -echo "pre-up sleep 2" | sudo tee -a /etc/network/interfaces diff --git a/examples/vyos_iso/scripts/helium/vagrant.sh b/examples/vyos_iso/scripts/helium/vagrant.sh deleted file mode 100755 index 16605e0d..00000000 --- a/examples/vyos_iso/scripts/helium/vagrant.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/vbash -source /opt/vyatta/etc/functions/script-template - -# Set up Vagrant. -date | sudo tee /etc/vagrant_box_build_time - -# Install vagrant keys -PUBLIC_KEY=$(perl -MLWP::Simple -e 'print get("https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub")') - -TYPE=$(echo $PUBLIC_KEY | awk '{print $1}') -KEY=$(echo $PUBLIC_KEY | awk '{print $2}') -set system login user vagrant authentication public-keys vagrant type $TYPE -set system login user vagrant authentication public-keys vagrant key $KEY -commit -save diff --git a/examples/vyos_iso/scripts/helium/virtualbox.sh b/examples/vyos_iso/scripts/helium/virtualbox.sh deleted file mode 100755 index e661e296..00000000 --- a/examples/vyos_iso/scripts/helium/virtualbox.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/vbash -source /opt/vyatta/etc/functions/script-template - -if test -f VBoxGuestAdditions.iso ; then - - # Install dkms for dynamic compiles - sudo aptitude -y install dkms - - # If libdbus is not installed, virtualbox will not autostart - sudo aptitude -y install --without-recommends libdbus-1-3 - - # Install the VirtualBox guest additions - sudo mount -o loop VBoxGuestAdditions.iso /mnt - yes|sudo /bin/sh /mnt/VBoxLinuxAdditions.run --target /tmp/vbox || : - sudo umount /mnt - - sudo cp -p /tmp/vbox/vboxadd* /etc/init.d/ - sudo rm -rf /tmp/vbox - - # Start the newly build driver - sudo /etc/init.d/vboxadd start - sudo insserv vboxadd - sudo insserv vboxadd-service - - # Clean Up - rm VBoxGuestAdditions.iso -fi diff --git a/examples/vyos_iso/scripts/helium/vmware.sh b/examples/vyos_iso/scripts/helium/vmware.sh deleted file mode 100755 index ef6f19f1..00000000 --- a/examples/vyos_iso/scripts/helium/vmware.sh +++ /dev/null @@ -1,9 +0,0 @@ -sudo aptitude -y purge open-vm-tools -cd -sudo mkdir /mnt/iso -sudo mount -o loop linux.iso /mnt/iso -tar zxf /mnt/iso/VMwareTools-*.tar.gz -C . -sudo ./vmware-tools-distrib/vmware-install.pl -d -sudo umount /mnt/iso -rm linux.iso -rm -rf ./vmware-tools-distrib diff --git a/examples/vyos_iso/scripts/helium/zerodisk.sh b/examples/vyos_iso/scripts/helium/zerodisk.sh deleted file mode 100755 index 42404dfe..00000000 --- a/examples/vyos_iso/scripts/helium/zerodisk.sh +++ /dev/null @@ -1,3 +0,0 @@ -# Zero out the free space to save space in the final image: -sudo dd if=/dev/zero of=/EMPTY bs=1M || : -sudo rm -f /EMPTY diff --git a/examples/vyos_iso/scripts/hydrogen/base.sh b/examples/vyos_iso/scripts/hydrogen/base.sh deleted file mode 100755 index ef118780..00000000 --- a/examples/vyos_iso/scripts/hydrogen/base.sh +++ /dev/null @@ -1,46 +0,0 @@ -source /opt/vyatta/etc/functions/script-template - -# Add dev mirror -delete system package repository community -set system package repository community components 'main' -set system package repository community distribution 'hydrogen' -set system package repository community url 'http://dev.packages.vyos.net/vyos' -commit -save - -# Add Debian squeeze package repository -set system package repository squeeze url http://archive.debian.org/debian/ -set system package repository squeeze distribution squeeze -set system package repository squeeze components 'main contrib non-free' -set system package repository squeeze-lts url http://archive.debian.org/debian/ -set system package repository squeeze-lts distribution squeeze-lts -set system package repository squeeze-lts components 'main contrib non-free' -commit -save - -sudo apt-get -o Acquire::Check-Valid-Until=false -o APT::Get::AllowUnauthenticated=true update - -# Install build-essential and linux-vyatta-kbuild -sudo apt-get -y -o APT::Get::AllowUnauthenticated=true install build-essential -sudo apt-get -y -o APT::Get::AllowUnauthenticated=true install linux-vyatta-kbuild -sudo ln -s /usr/src/linux-image/debian/build/build-amd64-none-amd64-vyatta/ /usr/src/linux -sudo ln -s /usr/src/linux-image/debian/build/build-amd64-none-amd64-vyatta/ /lib/modules/$(uname -r)/build - -# Tweak sshd to prevent DNS resolution (speed up logins) -set service ssh disable-host-validation -commit -save - -# Remove 5s grub timeout to speed up booting -cat < /dev/null || echo Debian` -GRUB_CMDLINE_LINUX_DEFAULT="quiet" -GRUB_CMDLINE_LINUX="" -EOF - -sudo update-grub diff --git a/examples/vyos_iso/scripts/hydrogen/cleanup.sh b/examples/vyos_iso/scripts/hydrogen/cleanup.sh deleted file mode 100755 index d957663f..00000000 --- a/examples/vyos_iso/scripts/hydrogen/cleanup.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/vbash -source /opt/vyatta/etc/functions/script-template - -# Clean up -sudo unlink /usr/src/linux -sudo unlink /lib/modules/$(uname -r)/build -sudo aptitude -y remove linux-vyatta-kbuild build-essential -sudo aptitude -y purge --purge-unused - -# Remove Debian squeeze package -delete system package repository squeeze -delete system package repository squeeze-lts -commit -save - -# Removing leftover leases and persistent rules -sudo rm -f /var/lib/dhcp3/* - -# Removing hw-id -delete interfaces ethernet eth0 hw-id -commit -save - -# Adding a 2 sec delay to the interface up, to make the dhclient happy -echo "pre-up sleep 2" | sudo tee -a /etc/network/interfaces diff --git a/examples/vyos_iso/scripts/hydrogen/vagrant.sh b/examples/vyos_iso/scripts/hydrogen/vagrant.sh deleted file mode 100755 index 16605e0d..00000000 --- a/examples/vyos_iso/scripts/hydrogen/vagrant.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/vbash -source /opt/vyatta/etc/functions/script-template - -# Set up Vagrant. -date | sudo tee /etc/vagrant_box_build_time - -# Install vagrant keys -PUBLIC_KEY=$(perl -MLWP::Simple -e 'print get("https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub")') - -TYPE=$(echo $PUBLIC_KEY | awk '{print $1}') -KEY=$(echo $PUBLIC_KEY | awk '{print $2}') -set system login user vagrant authentication public-keys vagrant type $TYPE -set system login user vagrant authentication public-keys vagrant key $KEY -commit -save diff --git a/examples/vyos_iso/scripts/hydrogen/virtualbox.sh b/examples/vyos_iso/scripts/hydrogen/virtualbox.sh deleted file mode 100755 index e661e296..00000000 --- a/examples/vyos_iso/scripts/hydrogen/virtualbox.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/vbash -source /opt/vyatta/etc/functions/script-template - -if test -f VBoxGuestAdditions.iso ; then - - # Install dkms for dynamic compiles - sudo aptitude -y install dkms - - # If libdbus is not installed, virtualbox will not autostart - sudo aptitude -y install --without-recommends libdbus-1-3 - - # Install the VirtualBox guest additions - sudo mount -o loop VBoxGuestAdditions.iso /mnt - yes|sudo /bin/sh /mnt/VBoxLinuxAdditions.run --target /tmp/vbox || : - sudo umount /mnt - - sudo cp -p /tmp/vbox/vboxadd* /etc/init.d/ - sudo rm -rf /tmp/vbox - - # Start the newly build driver - sudo /etc/init.d/vboxadd start - sudo insserv vboxadd - sudo insserv vboxadd-service - - # Clean Up - rm VBoxGuestAdditions.iso -fi diff --git a/examples/vyos_iso/scripts/hydrogen/vmware.sh b/examples/vyos_iso/scripts/hydrogen/vmware.sh deleted file mode 100755 index a990f5d4..00000000 --- a/examples/vyos_iso/scripts/hydrogen/vmware.sh +++ /dev/null @@ -1,7 +0,0 @@ -sudo aptitude -y purge open-vm-tools open-vm-modules -cd -sudo mount -o loop linux.iso /mnt -tar zxf /mnt/VMwareTools-*.tar.gz -C /tmp/ -sudo /tmp/vmware-tools-distrib/vmware-install.pl -d -rm linux.iso -sudo umount /mnt diff --git a/examples/vyos_iso/scripts/hydrogen/zerodisk.sh b/examples/vyos_iso/scripts/hydrogen/zerodisk.sh deleted file mode 100755 index 42404dfe..00000000 --- a/examples/vyos_iso/scripts/hydrogen/zerodisk.sh +++ /dev/null @@ -1,3 +0,0 @@ -# Zero out the free space to save space in the final image: -sudo dd if=/dev/zero of=/EMPTY bs=1M || : -sudo rm -f /EMPTY diff --git a/examples/vyos_iso/template.json b/examples/vyos_iso/template.json deleted file mode 100644 index 9771ad73..00000000 --- a/examples/vyos_iso/template.json +++ /dev/null @@ -1,81 +0,0 @@ -{ - "builders": [{ - "type": "sakuracloud", - "zone": "is1b", - "os_type": "iso", - "user_name": "vyos", - "password": "TestUserPassword01", - "ssh_password": "TestUserPassword01", - "us_keyboard": true, - "disk_size": 20, - "core" : 2, - "memory_size": 4, - "iso_url": "http://ftp.tsukuba.wide.ad.jp/software/vyos/iso/release/1.1.7/vyos-1.1.7-amd64.iso", - "iso_checksum": "c40a889469e0eea43d92c73149f1058e3650863b", - "iso_checksum_type": "sha1", - "boot_command": [ - "vyos", - "vyos", - "install image", - "", - "", - "", - "Yes", - "", - "", - "", - "", - "", - "TestUserPassword01", - "TestUserPassword01", - "", - "sudo sed -i 's/reboot -d -f -i/eject -m cdrom\\n\\treboot -d -f -i/' /etc/init.d/reboot", - "reboot", - "Yes", - "", - "", - "", - "", - "vyos", - "TestUserPassword01", - "configure", - "delete system console", - "set interface ethernet eth0 address dhcp", - "set system login user vyos authentication plaintext-password TestUserPassword01", - "set system login user vyos level admin", - "set service ssh", - "commit", - "save", - "exit", - "reboot", - "Yes", - "", - "", - "", - "" - ], - "boot_wait": "40s" - }], - "provisioners":[ - { - "override": { - "sakuracloud": { - "scripts": [ - "./scripts/helium/base.sh", - "./scripts/helium/cleanup.sh", - "./scripts/helium/zerodisk.sh" - ] - } - }, - "type": "shell" - }, - - { - "type": "shell", - "inline_shebang": "/bin/vbash", - "inline": [ - "source /opt/vyatta/etc/functions/script-template", - "run show configuration" - ] - }] -} \ No newline at end of file