mirror of
https://gitlab.alpinelinux.org/alpine/cloud/tiny-cloud.git
synced 2025-12-14 19:02:45 +03:00
38 lines
767 B
Bash
38 lines
767 B
Bash
# OCI Instance MetaData Service variables and functions
|
|
# vim:set ft=sh:
|
|
# shellcheck shell=sh
|
|
|
|
IMDS_HEADER="Authorization"
|
|
IMDS_URI="opc/v2"
|
|
|
|
IMDS_HOSTNAME="instance/hostname"
|
|
IMDS_LOCAL_HOSTNAME="$IMDS_HOSTNAME"
|
|
IMDS_SSH_KEYS="instance/metadata/ssh_authorized_keys"
|
|
IMDS_USERDATA="instance/metadata/userdata"
|
|
IMDS_NICS="nics"
|
|
|
|
# TODO: flesh out networking
|
|
unset \
|
|
IMDS_MAC \
|
|
IMDS_IPV4 \
|
|
IMDS_IPV6 \
|
|
IMDS_IPV4_NET \
|
|
IMDS_IPV6_NET \
|
|
IMDS_IPV4_PREFIX \
|
|
IMDS_IPV6_PREFIX
|
|
|
|
_imds_header() {
|
|
echo "$IMDS_HEADER: Bearer Oracle"
|
|
}
|
|
|
|
_imds_ssh_keys() { _imds "$IMDS_SSH_KEYS"; }
|
|
|
|
_imds_nic_index() {
|
|
local m n=0
|
|
local mac=$(cat "/sys/class/net/$1/mac")
|
|
while m=$(imds "$IMDS_NICS/$n/mac" | tr A-F a-f); do
|
|
[ "$m" = "$mac" ] && echo $n; return 0
|
|
done
|
|
return 1
|
|
}
|