# Contributor: Mike Crute <mike@crute.us>
# Contributor: Jake Buchholz Göktürk <tomalok@gmail.com>
# Maintainer: Jake Buchholz Göktürk <tomalok@gmail.com>
pkgname=tiny-cloud
pkgver=3.2.2
pkgrel=0
pkgdesc="Tiny Cloud instance bootstrapper"
url="https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud"
arch="noarch"
license="MIT"
checkdepends="kyua xz lz4 zstd"
depends="e2fsprogs-extra partx sfdisk yx openssh-server"
provides="tiny-cloud-allclouds=$pkgver-r$pkgrel"
source="
	$url/-/archive/$pkgver/tiny-cloud-$pkgver.tar.gz
"
install="
	tiny-cloud.pre-upgrade
	tiny-cloud-openrc.pre-upgrade
	tiny-cloud-aws.post-install
	tiny-cloud-azure.post-install
	tiny-cloud-digitalocean.post-install
	tiny-cloud-gcp.post-install
	tiny-cloud-hetzner.post-install
	tiny-cloud-incus.post-install
	tiny-cloud-nocloud.post-install
	tiny-cloud-oci.post-install
	tiny-cloud-scaleway.post-install
"
subpackages="
	$pkgname-openrc
	$pkgname-aws
	$pkgname-azure
	$pkgname-digitalocean
	$pkgname-gcp
	$pkgname-hetzner
	$pkgname-incus
	$pkgname-nocloud
	$pkgname-oci
	$pkgname-scaleway
"

check() {
	make check
}

package() {
	make PREFIX="$pkgdir" install
}

aws() {
	pkgdesc="Tiny Cloud - Amazon Web Services module"
	depends="$pkgname=$pkgver-r$pkgrel"
	provides="tiny-ec2-bootstrap"
	mkdir -p "$subpkgdir"
}

azure() {
	pkgdesc="Tiny Cloud - Azure module"
	depends="$pkgname=$pkgver-r$pkgrel"
	mkdir -p "$subpkgdir"
}

digitalocean() {
	pkgdesc="Tiny Cloud - DigitalOcean module"
	depends="$pkgname=$pkgver-r$pkgrel"
	mkdir -p "$subpkgdir"
}

gcp() {
	pkgdesc="Tiny Cloud - Google Cloud Platform module"
	depends="$pkgname=$pkgver-r$pkgrel"
	mkdir -p "$subpkgdir"
}

hetzner() {
	pkgdesc="Tiny Cloud - Hetzner Cloud module"
	depends="$pkgname=$pkgver-r$pkgrel"
	mkdir -p "$subpkgdir"
}

incus() {
	pkgdesc="Tiny Cloud - Incus module"
	depends="$pkgname=$pkgver-r$pkgrel"
	mkdir -p "$subpkgdir"
}

nocloud() {
	pkgdesc="Tiny Cloud - NoCloud module"
	depends="$pkgname=$pkgver-r$pkgrel"
	provides="tiny-cloud-alpine=$pkgver-r$pkgrel"
	mkdir -p "$subpkgdir"
}

oci() {
	pkgdesc="Tiny Cloud - Oracle Cloud Infrastructure module"
	depends="$pkgname=$pkgver-r$pkgrel"
	mkdir -p "$subpkgdir"
}

scaleway() {
	pkgdesc="Tiny Cloud - Scaleway Cloud module"
	depends="$pkgname=$pkgver-r$pkgrel"
	mkdir -p "$subpkgdir"
}

sha512sums="
e9e0d4a1ff9f5868f9163ddb4af8fea68b2d5c90acb325a820d0937ba340811d3effe642b2fb1afb9f89d2a7e1d19e642442f725ab3145316af3e431351f124c  tiny-cloud-3.2.2.tar.gz
"
