# 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.1.1
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
	tiny-cloud.pre-upgrade
	tiny-cloud-openrc.pre-upgrade
	tiny-cloud-aws.post-install
	tiny-cloud-azure.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-gcp
	$pkgname-hetzner
	$pkgname-incus
	$pkgname-nocloud
	$pkgname-oci
	$pkgname-scaleway
"

check() {
	make check
}

package() {
	make PREFIX="$pkgdir" install
	install="$pkgname.pre-upgrade"
}

openrc() {
	install="$pkgname-openrc.pre-upgrade"
	default_openrc
}

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

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

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

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

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

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

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

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

sha512sums="
77ab4ae579c6ddb7decf6fa1306cc3e37d7926ad2fec4b1653888e94fa582c517c1340df2792214dc5667e4ca6be60026840df9c0004f48c8da11084446f1e7b  tiny-cloud-3.1.1.tar.gz
83217a30e495bcc18ad1a5d744806d499b5bdf929df3f18597216a25f465e5d4764ca66499d221bf5738b83639f1ec80de2a14e4b64aac80d51b285c01f0fc74  tiny-cloud.pre-upgrade
a2f795c1d9cce1a796cc92711b18459706b6573417d2ef43504c50a65f4808eaf8f8d48a20a4f198ade25c285188659a95d51e5cb34e4c64cf6384459397b850  tiny-cloud-openrc.pre-upgrade
8fd43cabc3de03cf47d5252ac2642d9c943f042b7a5c96a6691c0523fc75ee114363affedbe108fe8f1c2ef4ef7146563d488b6f7ef89b3a3ac6b4ac355e9d48  tiny-cloud-aws.post-install
a85e05bde9da30a06472900ee9dcd5c21df866eb1b6bd4f37daafd2478b18123aa07bba5fb22b74ad303ac54d31be008a6a111b809db6666d8c83427d5b01cf5  tiny-cloud-azure.post-install
0540ac36301eb63d00ee51c9f02d2c8c0df31dc6031cd11a2235d86dac67e2e312b5ae8943a95b2bc421e22fedd63dc67767d76f3ca40da74c349950f74d2db2  tiny-cloud-gcp.post-install
2a00341f1647642f2160416dce7e4e1fa2a3d00005f33fcc74df372e2bf9e8d812a7c823863237f2ae65bce2b9834937a90267e23725328cf984c8dd875fec75  tiny-cloud-hetzner.post-install
8c9b339653a624c4df0d69c58e67b7d51d58329bcc1efa28ace96f99a9218989a2095252e8683254385760b0fc8bd73d8f7d9b093c8daa80f988602153a4b75e  tiny-cloud-incus.post-install
aa774a032e33276342f36c9127a2d931f68452c72024233aa0cd5b4a847eb296a86da1ff46502af2b7e050173db8da4322ac8e314f9c67eb8964999595172614  tiny-cloud-nocloud.post-install
d845373e36d8c4e8abead637bd61288adbd58f07d08e46933c6ff71a75e9ec10f006036977636fba601fd448c58e3b7dc3ddcdb1b8e72dd19dcfafe9410eb377  tiny-cloud-oci.post-install
2f01b9123d568c9e9b44d71a7b7dfd030defedfe08aa36ce9e1ed46ad8b8c0563230c05880a5ea8dcbcac897f66bc7e9cddafccd0f420ea350d47174228b6c64  tiny-cloud-scaleway.post-install
"
