vuls: init at 0.27.0
[NixPkgs.git] / nixos / modules / virtualisation / openstack-metadata-fetcher.nix
blobd62428b47a449eb090bb3cd28649f5f41edae471
1 { targetRoot, wgetExtraOptions }:
3 # OpenStack's metadata service aims to be EC2-compatible. Where
4 # possible, try to keep the set of fetched metadata in sync with
5 # ./ec2-metadata-fetcher.nix .
6 ''
7   metaDir=${targetRoot}etc/ec2-metadata
8   mkdir -m 0755 -p "$metaDir"
9   rm -f "$metaDir/*"
11   echo "getting instance metadata..."
13   wget_imds() {
14     wget ${wgetExtraOptions} "$@"
15   }
17   wget_imds -O "$metaDir/ami-manifest-path" http://169.254.169.254/1.0/meta-data/ami-manifest-path || true
18   # When no user-data is provided, the OpenStack metadata server doesn't expose the user-data route.
19   (umask 077 && wget_imds -O "$metaDir/user-data" http://169.254.169.254/1.0/user-data || rm -f "$metaDir/user-data")
20   wget_imds -O "$metaDir/hostname" http://169.254.169.254/1.0/meta-data/hostname || true
21   wget_imds -O "$metaDir/public-keys-0-openssh-key" http://169.254.169.254/1.0/meta-data/public-keys/0/openssh-key || true