mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-29 09:10:10 +01:00
This is a tool for automatically configuring networking in azure cloud environment. This add a provider implementation for Azure that when detected fetches the private ip addressess and the subnet prefix of configured internal load balancers. Once this information is fetched from the metadata server, it instructs NetworkManager to add private ip addressess and subnet prefix for each interface detected. It is inspired by SuSE's cloud-netconfig ([1], [2]) and Azure Instance Metadata service [3]. [1] https://www.suse.com/c/multi-nic-cloud-netconfig-ec2-azure/ [2] https://github.com/SUSE-Enceladus/cloud-netconfig [3] https://docs.microsoft.com/en-us/azure/virtual-machines/linux/instance-metadata-service It is also intended to work without configuration. The main point is that you boot an image with NetworkManager and nm-cloud-setup enabled, and it just works. https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/572
52 lines
1 KiB
Meson
52 lines
1 KiB
Meson
# SPDX-License-Identifier: LGPL-2.1+
|
|
|
|
name = 'nm-cloud-setup'
|
|
|
|
if install_systemdunitdir
|
|
|
|
nm_cloud_setup_service = configure_file(
|
|
input: 'nm-cloud-setup.service.in',
|
|
output: '@BASENAME@',
|
|
install_dir: systemd_systemdsystemunitdir,
|
|
configuration: data_conf,
|
|
)
|
|
|
|
install_data(
|
|
'nm-cloud-setup.timer',
|
|
install_dir: systemd_systemdsystemunitdir,
|
|
)
|
|
|
|
install_data(
|
|
'90-nm-cloud-setup.sh',
|
|
install_dir: join_paths(nm_pkglibdir, 'dispatcher.d', 'no-wait.d'),
|
|
)
|
|
|
|
endif
|
|
|
|
sources = files(
|
|
'main.c',
|
|
'nm-cloud-setup-utils.c',
|
|
'nm-http-client.c',
|
|
'nmcs-provider-ec2.c',
|
|
'nmcs-provider-gcp.c',
|
|
'nmcs-provider-azure.c',
|
|
'nmcs-provider.c',
|
|
)
|
|
|
|
executable(
|
|
name,
|
|
sources,
|
|
dependencies: [
|
|
libnmc_base_dep,
|
|
libnmc_dep,
|
|
libcurl_dep,
|
|
libnm_libnm_aux_dep,
|
|
],
|
|
c_args: clients_c_flags +
|
|
['-DG_LOG_DOMAIN="@0@"'.format(name)],
|
|
link_with: libnm_systemd_logging_stub,
|
|
link_args: ldflags_linker_script_binary,
|
|
link_depends: linker_script_binary,
|
|
install: true,
|
|
install_dir: nm_libexecdir,
|
|
)
|