mirror of
https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud.git
synced 2025-12-15 11:22:43 +03:00
Autodetect for Hetzner and Scaleway
This commit is contained in:
parent
697957f8c0
commit
158230f7a6
5
lib/tiny-cloud/cloud/hetzner/autodetect
Executable file
5
lib/tiny-cloud/cloud/hetzner/autodetect
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# vim:set filetype=sh:
|
||||||
|
# shellcheck shell=sh
|
||||||
|
|
||||||
|
grep -qi hetzner "$ROOT"/sys/class/dmi/id/modalias 2>/dev/null && echo "10 hetzner"
|
||||||
18
lib/tiny-cloud/cloud/hetzner/imds copy
Normal file
18
lib/tiny-cloud/cloud/hetzner/imds copy
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# AWS Instance MetaData Service variables and functions
|
||||||
|
# vim:set filetype=sh:
|
||||||
|
# shellcheck shell=sh
|
||||||
|
|
||||||
|
IMDS_HEADER="X-aws-ec2-metadata-token"
|
||||||
|
IMDS_TOKEN_TTL_HEADER="X-aws-ec2-metadata-token-ttl-seconds"
|
||||||
|
: "${IMDS_TOKEN_TTL:=5}"
|
||||||
|
IMDS_URI="latest"
|
||||||
|
|
||||||
|
_imds_token() {
|
||||||
|
printf "PUT /latest/api/token HTTP/1.0\r\n%s: %s\r\n\r\n" \
|
||||||
|
"$IMDS_TOKEN_TTL_HEADER" "$IMDS_TOKEN_TTL" \
|
||||||
|
| nc -w 1 "$IMDS_ENDPOINT" 80 | tail -n 1
|
||||||
|
}
|
||||||
|
|
||||||
|
_imds_header() {
|
||||||
|
echo "$IMDS_HEADER: $(_imds_token)"
|
||||||
|
}
|
||||||
6
lib/tiny-cloud/cloud/scaleway/autodetect
Executable file
6
lib/tiny-cloud/cloud/scaleway/autodetect
Executable file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# vim:set filetype=sh:
|
||||||
|
# shellcheck shell=sh
|
||||||
|
|
||||||
|
# TODO: verify that this works
|
||||||
|
grep -qi scaleway "$ROOT"/sys/class/dmi/id/modalias 2>/dev/null && echo "10 scaleway"
|
||||||
18
lib/tiny-cloud/cloud/scaleway/imds copy
Normal file
18
lib/tiny-cloud/cloud/scaleway/imds copy
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# AWS Instance MetaData Service variables and functions
|
||||||
|
# vim:set filetype=sh:
|
||||||
|
# shellcheck shell=sh
|
||||||
|
|
||||||
|
IMDS_HEADER="X-aws-ec2-metadata-token"
|
||||||
|
IMDS_TOKEN_TTL_HEADER="X-aws-ec2-metadata-token-ttl-seconds"
|
||||||
|
: "${IMDS_TOKEN_TTL:=5}"
|
||||||
|
IMDS_URI="latest"
|
||||||
|
|
||||||
|
_imds_token() {
|
||||||
|
printf "PUT /latest/api/token HTTP/1.0\r\n%s: %s\r\n\r\n" \
|
||||||
|
"$IMDS_TOKEN_TTL_HEADER" "$IMDS_TOKEN_TTL" \
|
||||||
|
| nc -w 1 "$IMDS_ENDPOINT" 80 | tail -n 1
|
||||||
|
}
|
||||||
|
|
||||||
|
_imds_header() {
|
||||||
|
echo "$IMDS_HEADER: $(_imds_token)"
|
||||||
|
}
|
||||||
@ -28,11 +28,13 @@ init_tests \
|
|||||||
autodetect_aws_xen \
|
autodetect_aws_xen \
|
||||||
autodetect_azure \
|
autodetect_azure \
|
||||||
autodetect_gcp \
|
autodetect_gcp \
|
||||||
|
autodetect_hetzner \
|
||||||
autodetect_incus \
|
autodetect_incus \
|
||||||
autodetect_nocloud_cmdline \
|
autodetect_nocloud_cmdline \
|
||||||
autodetect_nocloud_dmi \
|
autodetect_nocloud_dmi \
|
||||||
autodetect_nocloud_volume \
|
autodetect_nocloud_volume \
|
||||||
autodetect_oci \
|
autodetect_oci \
|
||||||
|
autodetect_scaleway \
|
||||||
autodetect_unknown
|
autodetect_unknown
|
||||||
|
|
||||||
PROVIDERS="aws azure gcp nocloud oci scaleway hetzner"
|
PROVIDERS="aws azure gcp nocloud oci scaleway hetzner"
|
||||||
@ -284,6 +286,16 @@ autodetect_gcp_body() {
|
|||||||
sh -c ". \"$lib\"; echo \$CLOUD"
|
sh -c ". \"$lib\"; echo \$CLOUD"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
autodetect_hetzner_body() {
|
||||||
|
mkdir -p sys/class/dmi/id
|
||||||
|
cat > sys/class/dmi/id/modalias <<-EOT
|
||||||
|
dmi:bvnHetzner:bvrHetzner:bd10/22/2024:br1.0:svnHetzner:pnHetzner:pvr:rvnKVM:rnHetzner:rvr:cvnHetzner:ct1:cvr:sku:
|
||||||
|
EOT
|
||||||
|
atf_check \
|
||||||
|
-o match:"hetzner" \
|
||||||
|
sh -c ". \"$lib\"; echo \$CLOUD"
|
||||||
|
}
|
||||||
|
|
||||||
autodetect_incus_body() {
|
autodetect_incus_body() {
|
||||||
mkdir -p dev/incus
|
mkdir -p dev/incus
|
||||||
touch dev/incus/sock
|
touch dev/incus/sock
|
||||||
@ -330,3 +342,13 @@ autodetect_oci_body() {
|
|||||||
-o match:"oci" \
|
-o match:"oci" \
|
||||||
sh -c ". \"$lib\"; echo \$CLOUD"
|
sh -c ". \"$lib\"; echo \$CLOUD"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
autodetect_scaleway_body() {
|
||||||
|
mkdir -p sys/class/dmi/id
|
||||||
|
cat > sys/class/dmi/id/modalias <<-EOT
|
||||||
|
dmi:bvnScaleway:bvrScaleway:bd10/22/2024:br1.0:svnScaleway:pnScaleway:pvr:rvnKVM:rnScaleway:rvr:cvnScaleway:ct1:cvr:sku:
|
||||||
|
EOT
|
||||||
|
atf_check \
|
||||||
|
-o match:"scaleway" \
|
||||||
|
sh -c ". \"$lib\"; echo \$CLOUD"
|
||||||
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user