mirror of
https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud.git
synced 2025-12-14 19:02:45 +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_azure \
|
||||
autodetect_gcp \
|
||||
autodetect_hetzner \
|
||||
autodetect_incus \
|
||||
autodetect_nocloud_cmdline \
|
||||
autodetect_nocloud_dmi \
|
||||
autodetect_nocloud_volume \
|
||||
autodetect_oci \
|
||||
autodetect_scaleway \
|
||||
autodetect_unknown
|
||||
|
||||
PROVIDERS="aws azure gcp nocloud oci scaleway hetzner"
|
||||
@ -284,6 +286,16 @@ autodetect_gcp_body() {
|
||||
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() {
|
||||
mkdir -p dev/incus
|
||||
touch dev/incus/sock
|
||||
@ -330,3 +342,13 @@ autodetect_oci_body() {
|
||||
-o match:"oci" \
|
||||
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