mirror of
https://github.com/flatcar/scripts.git
synced 2025-09-24 23:21:17 +02:00
overlay app-emulation/wa-linux-agent: Redo the package for sysext
Since the contents of this package will be now a part of the sysext image, we don't need any special OEM-specific hacks. We don't need to install the package in /usr/share/oem directory any more, so update the ebuild to use the Gentoo python machinery to install files in the usual locations. This can also use a normal python package, so replace dependencies on dev-lang/python-oem and dev-python/distro-oem with dev-lang/python and dev-python/distro, respectively. The waagent.conf file we used to provide is updated (to disable auto updates, for example, and dropped obsolete options) and now is a part of the patch, so it is installed by the python machinery.
This commit is contained in:
parent
5ef38b98aa
commit
86eada1cc9
@ -0,0 +1,418 @@
|
||||
From 90b28746c0d8698a080eb7082e0e14054aee0a02 Mon Sep 17 00:00:00 2001
|
||||
From: Krzesimir Nowak <knowak@microsoft.com>
|
||||
Date: Mon, 27 Feb 2023 15:59:21 +0100
|
||||
Subject: [PATCH] flatcar changes
|
||||
|
||||
---
|
||||
azurelinuxagent/common/osutil/coreos.py | 39 +-----
|
||||
azurelinuxagent/common/osutil/coreoscommon.py | 57 ++++++++
|
||||
azurelinuxagent/common/osutil/factory.py | 3 +
|
||||
azurelinuxagent/common/osutil/flatcar.py | 41 ++++++
|
||||
config/flatcar/waagent.conf | 122 ++++++++++++++++++
|
||||
init/flatcar/10-waagent-sysext.conf | 2 +
|
||||
init/flatcar/waagent.service | 30 +++++
|
||||
setup.py | 20 ++-
|
||||
8 files changed, 272 insertions(+), 42 deletions(-)
|
||||
create mode 100644 azurelinuxagent/common/osutil/coreoscommon.py
|
||||
create mode 100644 azurelinuxagent/common/osutil/flatcar.py
|
||||
create mode 100644 config/flatcar/waagent.conf
|
||||
create mode 100644 init/flatcar/10-waagent-sysext.conf
|
||||
create mode 100644 init/flatcar/waagent.service
|
||||
|
||||
diff --git a/azurelinuxagent/common/osutil/coreos.py b/azurelinuxagent/common/osutil/coreos.py
|
||||
index fc0a6604..314008f0 100644
|
||||
--- a/azurelinuxagent/common/osutil/coreos.py
|
||||
+++ b/azurelinuxagent/common/osutil/coreos.py
|
||||
@@ -17,11 +17,10 @@
|
||||
#
|
||||
|
||||
import os
|
||||
-import azurelinuxagent.common.utils.shellutil as shellutil
|
||||
-from azurelinuxagent.common.osutil.default import DefaultOSUtil
|
||||
+from azurelinuxagent.common.osutil.coreoscommon import CoreosCommonUtil
|
||||
|
||||
|
||||
-class CoreOSUtil(DefaultOSUtil):
|
||||
+class CoreOSUtil(CoreosCommonUtil):
|
||||
|
||||
def __init__(self):
|
||||
super(CoreOSUtil, self).__init__()
|
||||
@@ -46,40 +45,6 @@ class CoreOSUtil(DefaultOSUtil):
|
||||
def get_agent_bin_path():
|
||||
return "/usr/share/oem/bin"
|
||||
|
||||
- def is_sys_user(self, username):
|
||||
- # User 'core' is not a sysuser.
|
||||
- if username == 'core':
|
||||
- return False
|
||||
- return super(CoreOSUtil, self).is_sys_user(username)
|
||||
-
|
||||
- def is_dhcp_enabled(self):
|
||||
- return True
|
||||
-
|
||||
- def start_network(self):
|
||||
- return shellutil.run("systemctl start systemd-networkd", chk_err=False)
|
||||
-
|
||||
- def restart_if(self, ifname=None, retries=None, wait=None):
|
||||
- shellutil.run("systemctl restart systemd-networkd")
|
||||
-
|
||||
- def restart_ssh_service(self):
|
||||
- # SSH is socket activated on CoreOS. No need to restart it.
|
||||
- pass
|
||||
-
|
||||
- def stop_dhcp_service(self):
|
||||
- return shellutil.run("systemctl stop systemd-networkd", chk_err=False)
|
||||
-
|
||||
- def start_dhcp_service(self):
|
||||
- return shellutil.run("systemctl start systemd-networkd", chk_err=False)
|
||||
-
|
||||
- def start_agent_service(self):
|
||||
- return shellutil.run("systemctl start {0}".format(self.service_name), chk_err=False)
|
||||
-
|
||||
- def stop_agent_service(self):
|
||||
- return shellutil.run("systemctl stop {0}".format(self.service_name), chk_err=False)
|
||||
-
|
||||
- def get_dhcp_pid(self):
|
||||
- return self._get_dhcp_pid(["systemctl", "show", "-p", "MainPID", "systemd-networkd"])
|
||||
-
|
||||
def conf_sshd(self, disable_password):
|
||||
# In CoreOS, /etc/sshd_config is mount readonly. Skip the setting.
|
||||
pass
|
||||
diff --git a/azurelinuxagent/common/osutil/coreoscommon.py b/azurelinuxagent/common/osutil/coreoscommon.py
|
||||
new file mode 100644
|
||||
index 00000000..fde9a456
|
||||
--- /dev/null
|
||||
+++ b/azurelinuxagent/common/osutil/coreoscommon.py
|
||||
@@ -0,0 +1,57 @@
|
||||
+#
|
||||
+# Copyright 2023 Microsoft Corporation
|
||||
+#
|
||||
+# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
+# you may not use this file except in compliance with the License.
|
||||
+# You may obtain a copy of the License at
|
||||
+#
|
||||
+# http://www.apache.org/licenses/LICENSE-2.0
|
||||
+#
|
||||
+# Unless required by applicable law or agreed to in writing, software
|
||||
+# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
+# See the License for the specific language governing permissions and
|
||||
+# limitations under the License.
|
||||
+#
|
||||
+# Requires Python 2.6+ and Openssl 1.0+
|
||||
+#
|
||||
+
|
||||
+import azurelinuxagent.common.utils.shellutil as shellutil
|
||||
+from azurelinuxagent.common.osutil.default import DefaultOSUtil
|
||||
+
|
||||
+
|
||||
+class CoreosCommonUtil(DefaultOSUtil):
|
||||
+
|
||||
+ def is_sys_user(self, username):
|
||||
+ # User 'core' is not a sysuser.
|
||||
+ if username == 'core':
|
||||
+ return False
|
||||
+ return super(CoreOSUtil, self).is_sys_user(username)
|
||||
+
|
||||
+ def is_dhcp_enabled(self):
|
||||
+ return True
|
||||
+
|
||||
+ def start_network(self):
|
||||
+ return shellutil.run("systemctl start systemd-networkd", chk_err=False)
|
||||
+
|
||||
+ def restart_if(self, ifname=None, retries=None, wait=None):
|
||||
+ shellutil.run("systemctl restart systemd-networkd")
|
||||
+
|
||||
+ def restart_ssh_service(self):
|
||||
+ # SSH is socket activated on CoreOS. No need to restart it.
|
||||
+ pass
|
||||
+
|
||||
+ def stop_dhcp_service(self):
|
||||
+ return shellutil.run("systemctl stop systemd-networkd", chk_err=False)
|
||||
+
|
||||
+ def start_dhcp_service(self):
|
||||
+ return shellutil.run("systemctl start systemd-networkd", chk_err=False)
|
||||
+
|
||||
+ def start_agent_service(self):
|
||||
+ return shellutil.run("systemctl start {0}".format(self.service_name), chk_err=False)
|
||||
+
|
||||
+ def stop_agent_service(self):
|
||||
+ return shellutil.run("systemctl stop {0}".format(self.service_name), chk_err=False)
|
||||
+
|
||||
+ def get_dhcp_pid(self):
|
||||
+ return self._get_dhcp_pid(["systemctl", "show", "-p", "MainPID", "systemd-networkd"])
|
||||
diff --git a/azurelinuxagent/common/osutil/factory.py b/azurelinuxagent/common/osutil/factory.py
|
||||
index b5ee0b09..9280c645 100644
|
||||
--- a/azurelinuxagent/common/osutil/factory.py
|
||||
+++ b/azurelinuxagent/common/osutil/factory.py
|
||||
@@ -27,6 +27,7 @@ from .clearlinux import ClearLinuxUtil
|
||||
from .coreos import CoreOSUtil
|
||||
from .debian import DebianOSBaseUtil, DebianOSModernUtil
|
||||
from .default import DefaultOSUtil
|
||||
+from .flatcar import FlatcarUtil
|
||||
from .freebsd import FreeBSDOSUtil
|
||||
from .gaia import GaiaOSUtil
|
||||
from .iosxe import IosxeOSUtil
|
||||
@@ -82,6 +83,8 @@ def _get_osutil(distro_name, distro_code_name, distro_version, distro_full_name)
|
||||
return DebianOSBaseUtil()
|
||||
|
||||
if distro_name in ("flatcar", "coreos") or distro_code_name in ("flatcar", "coreos"):
|
||||
+ if Version(distro_version) >= Version("3550"):
|
||||
+ return FlatcarUtil()
|
||||
return CoreOSUtil()
|
||||
|
||||
if distro_name in ("suse", "sle_hpc", "sles", "opensuse"):
|
||||
diff --git a/azurelinuxagent/common/osutil/flatcar.py b/azurelinuxagent/common/osutil/flatcar.py
|
||||
new file mode 100644
|
||||
index 00000000..3d1bf535
|
||||
--- /dev/null
|
||||
+++ b/azurelinuxagent/common/osutil/flatcar.py
|
||||
@@ -0,0 +1,41 @@
|
||||
+#
|
||||
+# Copyright 2023 Microsoft Corporation
|
||||
+#
|
||||
+# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
+# you may not use this file except in compliance with the License.
|
||||
+# You may obtain a copy of the License at
|
||||
+#
|
||||
+# http://www.apache.org/licenses/LICENSE-2.0
|
||||
+#
|
||||
+# Unless required by applicable law or agreed to in writing, software
|
||||
+# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
+# See the License for the specific language governing permissions and
|
||||
+# limitations under the License.
|
||||
+#
|
||||
+# Requires Python 2.6+ and Openssl 1.0+
|
||||
+#
|
||||
+
|
||||
+import os
|
||||
+import shutil
|
||||
+
|
||||
+import azurelinuxagent.common.conf as conf
|
||||
+
|
||||
+from azurelinuxagent.common.osutil.coreoscommon import CoreosCommonUtil
|
||||
+
|
||||
+
|
||||
+class FlatcarUtil(CoreosCommonUtil):
|
||||
+
|
||||
+ @staticmethod
|
||||
+ def get_systemd_unit_file_install_path():
|
||||
+ return "/usr/lib/systemd/system"
|
||||
+
|
||||
+ def conf_sshd(self, disable_password):
|
||||
+ # make sure that the config file stops being a symlink
|
||||
+ conf_file_path = conf.get_sshd_conf_file_path()
|
||||
+ conf_file_path2 = f"{conf_file_path}.wal.tmp"
|
||||
+ shutil.copy(conf_file_path, conf_file_path2)
|
||||
+ os.remove(conf_file_path)
|
||||
+ os.rename(conf_file_path2, conf_file_path)
|
||||
+ super(CoreosCommonUtil, self).conf_sshd(disable_password)
|
||||
+ pass
|
||||
diff --git a/config/flatcar/waagent.conf b/config/flatcar/waagent.conf
|
||||
new file mode 100644
|
||||
index 00000000..b453c634
|
||||
--- /dev/null
|
||||
+++ b/config/flatcar/waagent.conf
|
||||
@@ -0,0 +1,122 @@
|
||||
+#
|
||||
+# Microsoft Azure Linux Agent Configuration
|
||||
+#
|
||||
+
|
||||
+# Enable extension handling. Do not disable this unless you do not need password reset,
|
||||
+# backup, monitoring, or any extension handling whatsoever.
|
||||
+Extensions.Enabled=y
|
||||
+
|
||||
+# Which provisioning agent to use. Supported values are "auto" (default), "waagent",
|
||||
+# "cloud-init", or "disabled".
|
||||
+Provisioning.Agent=waagent
|
||||
+
|
||||
+# Password authentication for root account will be unavailable.
|
||||
+Provisioning.DeleteRootPassword=n
|
||||
+
|
||||
+# Generate fresh host key pair.
|
||||
+Provisioning.RegenerateSshHostKeyPair=n
|
||||
+
|
||||
+# Supported values are "rsa", "dsa", "ecdsa", "ed25519", and "auto".
|
||||
+# The "auto" option is supported on OpenSSH 5.9 (2011) and later.
|
||||
+Provisioning.SshHostKeyPairType=auto
|
||||
+
|
||||
+# Monitor host name changes and publish changes via DHCP requests.
|
||||
+Provisioning.MonitorHostName=y
|
||||
+
|
||||
+# Decode CustomData from Base64.
|
||||
+Provisioning.DecodeCustomData=y
|
||||
+
|
||||
+# Execute CustomData after provisioning.
|
||||
+Provisioning.ExecuteCustomData=n
|
||||
+
|
||||
+# Algorithm used by crypt when generating password hash.
|
||||
+#Provisioning.PasswordCryptId=6
|
||||
+
|
||||
+# Length of random salt used when generating password hash.
|
||||
+#Provisioning.PasswordCryptSaltLength=10
|
||||
+
|
||||
+# Allow reset password of sys user
|
||||
+Provisioning.AllowResetSysUser=n
|
||||
+
|
||||
+# Format if unformatted. If 'n', resource disk will not be mounted.
|
||||
+ResourceDisk.Format=y
|
||||
+
|
||||
+# File system on the resource disk
|
||||
+# Typically ext3 or ext4. FreeBSD images should use 'ufs2' here.
|
||||
+ResourceDisk.Filesystem=ext4
|
||||
+
|
||||
+# Mount point for the resource disk
|
||||
+ResourceDisk.MountPoint=/mnt/resource
|
||||
+
|
||||
+# Create and use swapfile on resource disk.
|
||||
+ResourceDisk.EnableSwap=n
|
||||
+
|
||||
+# Size of the swapfile.
|
||||
+ResourceDisk.SwapSizeMB=0
|
||||
+
|
||||
+# Comma-seperated list of mount options. See mount(8) for valid options.
|
||||
+ResourceDisk.MountOptions=None
|
||||
+
|
||||
+# Respond to load balancer probes if requested by Windows Azure.
|
||||
+LBProbeResponder=y
|
||||
+
|
||||
+# Enable verbose logging (y|n)
|
||||
+Logs.Verbose=n
|
||||
+
|
||||
+# Enable Console logging, default is y
|
||||
+# Logs.Console=y
|
||||
+
|
||||
+# Is FIPS enabled
|
||||
+OS.EnableFIPS=n
|
||||
+
|
||||
+# Set the path to SSH keys and configuration files
|
||||
+OS.SshDir=/etc/ssh
|
||||
+
|
||||
+# Root device timeout in seconds.
|
||||
+OS.RootDeviceScsiTimeout=300
|
||||
+
|
||||
+# If "None", the system default version is used.
|
||||
+OS.OpensslPath=None
|
||||
+
|
||||
+# If set, agent will use proxy server to access internet
|
||||
+#HttpProxy.Host=None
|
||||
+#HttpProxy.Port=None
|
||||
+
|
||||
+# Detect Scvmm environment, default is n
|
||||
+# DetectScvmmEnv=n
|
||||
+
|
||||
+#
|
||||
+# Lib.Dir=/var/lib/waagent
|
||||
+
|
||||
+#
|
||||
+# DVD.MountPoint=/mnt/cdrom/secure
|
||||
+
|
||||
+#
|
||||
+# Pid.File=/var/run/waagent.pid
|
||||
+
|
||||
+#
|
||||
+# Extension.LogDir=/var/log/azure
|
||||
+
|
||||
+#
|
||||
+# Home.Dir=/home
|
||||
+
|
||||
+# Enable RDMA management and set up, should only be used in HPC images
|
||||
+# OS.EnableRDMA=y
|
||||
+
|
||||
+# Enable or disable goal state processing auto-update, default is enabled
|
||||
+AutoUpdate.Enabled=n
|
||||
+
|
||||
+# Determine the update family, this should not be changed
|
||||
+# AutoUpdate.GAFamily=Prod
|
||||
+
|
||||
+# Determine if the overprovisioning feature is enabled. If yes, hold extension
|
||||
+# handling until inVMArtifactsProfile.OnHold is false.
|
||||
+# Default is enabled
|
||||
+# EnableOverProvisioning=y
|
||||
+
|
||||
+# Allow fallback to HTTP if HTTPS is unavailable
|
||||
+# Note: Allowing HTTP (vs. HTTPS) may cause security risks
|
||||
+# OS.AllowHTTP=n
|
||||
+
|
||||
+# Add firewall rules to protect access to Azure host node services
|
||||
+OS.EnableFirewall=y
|
||||
diff --git a/init/flatcar/10-waagent-sysext.conf b/init/flatcar/10-waagent-sysext.conf
|
||||
new file mode 100644
|
||||
index 00000000..f756dbc9
|
||||
--- /dev/null
|
||||
+++ b/init/flatcar/10-waagent-sysext.conf
|
||||
@@ -0,0 +1,2 @@
|
||||
+[Unit]
|
||||
+Upholds=waagent.service
|
||||
diff --git a/init/flatcar/waagent.service b/init/flatcar/waagent.service
|
||||
new file mode 100644
|
||||
index 00000000..d0d6f7c8
|
||||
--- /dev/null
|
||||
+++ b/init/flatcar/waagent.service
|
||||
@@ -0,0 +1,30 @@
|
||||
+[Unit]
|
||||
+Description=Microsoft Azure Linux Agent
|
||||
+Wants=network-online.target sshd.service sshd-keygen.service
|
||||
+After=network-online.target sshd-keygen.service
|
||||
+
|
||||
+[Service]
|
||||
+Type=simple
|
||||
+
|
||||
+# Symlink the config if it's missing in /etc. This is a workaround for
|
||||
+# the fact that this software comes to Flatcar as a sysext and as such
|
||||
+# can't use the /etc overlay solution by putting the config into
|
||||
+# /usr/share/flatcar/etc.
|
||||
+#
|
||||
+ExecStartPre=/bin/bash -c 'if [[ ! -e /etc/waagent.conf ]]; then ln -sf ../usr/share/waagent/waagent.conf /etc/waagent.conf; fi'
|
||||
+
|
||||
+# This could be done also with:
|
||||
+#
|
||||
+# ExecStart=/usr/bin/python -u /usr/sbin/waagent -daemon
|
||||
+#
|
||||
+# But this would mean that logs from waagent in journal will be
|
||||
+# denoted as coming from python instead.
|
||||
+#
|
||||
+Environment=PYTHONUNBUFFERED=x
|
||||
+ExecStart=/usr/sbin/waagent -daemon
|
||||
+
|
||||
+Restart=always
|
||||
+RestartSec=5s
|
||||
+
|
||||
+[Install]
|
||||
+WantedBy=multi-user.target
|
||||
diff --git a/setup.py b/setup.py
|
||||
index d38d74d6..57b0edb9 100755
|
||||
--- a/setup.py
|
||||
+++ b/setup.py
|
||||
@@ -125,12 +125,22 @@ def get_data_files(name, version, fullname): # pylint: disable=R0912
|
||||
src=["init/arch/waagent.service"])
|
||||
elif name in ('coreos', 'flatcar'):
|
||||
set_bin_files(data_files, dest=agent_bin_path)
|
||||
- set_conf_files(data_files, dest="/usr/share/oem",
|
||||
- src=["config/coreos/waagent.conf"])
|
||||
set_logrotate_files(data_files)
|
||||
- set_udev_files(data_files)
|
||||
- set_files(data_files, dest="/usr/share/oem",
|
||||
- src=["init/coreos/cloud-config.yml"])
|
||||
+ if int(version.split('.')[0]) >= 3550:
|
||||
+ # Not installing udev rules, Flatcar already has those
|
||||
+ set_conf_files(data_files, dest="/usr/share/waagent",
|
||||
+ src=["config/flatcar/waagent.conf"])
|
||||
+ set_systemd_files(data_files, dest=systemd_dir_path,
|
||||
+ src=["init/flatcar/waagent.service"])
|
||||
+ multi_user_target_drop_in_dir=f"{systemd_dir_path}/multi-user.target.d"
|
||||
+ set_systemd_files(data_files, dest=multi_user_target_drop_in_dir,
|
||||
+ src=["init/flatcar/10-waagent-sysext.conf"])
|
||||
+ else:
|
||||
+ set_udev_files(data_files)
|
||||
+ set_conf_files(data_files, dest="/usr/share/oem",
|
||||
+ src=["config/coreos/waagent.conf"])
|
||||
+ set_files(data_files, dest="/usr/share/oem",
|
||||
+ src=["init/coreos/cloud-config.yml"])
|
||||
elif "Clear Linux" in fullname:
|
||||
set_bin_files(data_files, dest=agent_bin_path)
|
||||
set_conf_files(data_files, dest="/usr/share/defaults/waagent",
|
||||
--
|
||||
2.25.1
|
||||
|
@ -1,127 +0,0 @@
|
||||
#
|
||||
# Microsoft Azure Linux Agent Configuration
|
||||
#
|
||||
|
||||
# Enable instance creation
|
||||
Provisioning.Enabled=y
|
||||
|
||||
# Enable extension handling. Do not disable this unless you do not need password reset,
|
||||
# backup, monitoring, or any extension handling whatsoever.
|
||||
Extensions.Enabled=y
|
||||
|
||||
# Rely on cloud-init to provision
|
||||
Provisioning.UseCloudInit=n
|
||||
|
||||
# Password authentication for root account will be unavailable.
|
||||
Provisioning.DeleteRootPassword=n
|
||||
|
||||
# Generate fresh host key pair.
|
||||
Provisioning.RegenerateSshHostKeyPair=n
|
||||
|
||||
# Supported values are "rsa", "dsa", "ecdsa", "ed25519", and "auto".
|
||||
# The "auto" option is supported on OpenSSH 5.9 (2011) and later.
|
||||
Provisioning.SshHostKeyPairType=auto
|
||||
|
||||
# Monitor host name changes and publish changes via DHCP requests.
|
||||
Provisioning.MonitorHostName=y
|
||||
|
||||
# Decode CustomData from Base64.
|
||||
Provisioning.DecodeCustomData=y
|
||||
|
||||
# Execute CustomData after provisioning.
|
||||
Provisioning.ExecuteCustomData=n
|
||||
|
||||
# Algorithm used by crypt when generating password hash.
|
||||
#Provisioning.PasswordCryptId=6
|
||||
|
||||
# Length of random salt used when generating password hash.
|
||||
#Provisioning.PasswordCryptSaltLength=10
|
||||
|
||||
# Allow reset password of sys user
|
||||
Provisioning.AllowResetSysUser=n
|
||||
|
||||
# Format if unformatted. If 'n', resource disk will not be mounted.
|
||||
ResourceDisk.Format=y
|
||||
|
||||
# File system on the resource disk
|
||||
# Typically ext3 or ext4. FreeBSD images should use 'ufs2' here.
|
||||
ResourceDisk.Filesystem=ext4
|
||||
|
||||
# Mount point for the resource disk
|
||||
ResourceDisk.MountPoint=/mnt/resource
|
||||
|
||||
# Create and use swapfile on resource disk.
|
||||
ResourceDisk.EnableSwap=n
|
||||
|
||||
# Size of the swapfile.
|
||||
ResourceDisk.SwapSizeMB=0
|
||||
|
||||
# Comma-seperated list of mount options. See man(8) for valid options.
|
||||
ResourceDisk.MountOptions=None
|
||||
|
||||
# Enable verbose logging (y|n)
|
||||
Logs.Verbose=n
|
||||
|
||||
# Is FIPS enabled
|
||||
OS.EnableFIPS=n
|
||||
|
||||
# Root device timeout in seconds.
|
||||
OS.RootDeviceScsiTimeout=300
|
||||
|
||||
# If "None", the system default version is used.
|
||||
OS.OpensslPath=None
|
||||
|
||||
# Set the SSH ClientAliveInterval
|
||||
# OS.SshClientAliveInterval=180
|
||||
|
||||
# Set the path to SSH keys and configuration files
|
||||
OS.SshDir=/etc/ssh
|
||||
|
||||
# If set, agent will use proxy server to access internet
|
||||
#HttpProxy.Host=None
|
||||
#HttpProxy.Port=None
|
||||
|
||||
# Detect Scvmm environment, default is n
|
||||
# DetectScvmmEnv=n
|
||||
|
||||
#
|
||||
# Lib.Dir=/var/lib/waagent
|
||||
|
||||
#
|
||||
# DVD.MountPoint=/mnt/cdrom/secure
|
||||
|
||||
#
|
||||
# Pid.File=/var/run/waagent.pid
|
||||
|
||||
#
|
||||
# Extension.LogDir=/var/log/azure
|
||||
|
||||
#
|
||||
# Home.Dir=/home
|
||||
|
||||
# Enable RDMA management and set up, should only be used in HPC images
|
||||
# OS.EnableRDMA=y
|
||||
|
||||
# Enable or disable goal state processing auto-update, default is enabled
|
||||
# AutoUpdate.Enabled=y
|
||||
|
||||
# Determine the update family, this should not be changed
|
||||
# AutoUpdate.GAFamily=Prod
|
||||
|
||||
# Determine if the overprovisioning feature is enabled. If yes, hold extension
|
||||
# handling until inVMArtifactsProfile.OnHold is false.
|
||||
# Default is enabled
|
||||
# EnableOverProvisioning=y
|
||||
|
||||
# Allow fallback to HTTP if HTTPS is unavailable
|
||||
# Note: Allowing HTTP (vs. HTTPS) may cause security risks
|
||||
# OS.AllowHTTP=n
|
||||
|
||||
# Add firewall rules to protect access to Azure host node services
|
||||
OS.EnableFirewall=y
|
||||
|
||||
# Enforce control groups limits on the agent and extensions
|
||||
CGroups.EnforceLimits=n
|
||||
|
||||
# CGroups which are excluded from limits, comma separated
|
||||
CGroups.Excluded=customscript,runcommand
|
@ -1,36 +0,0 @@
|
||||
# Copyright (c) 2014 CoreOS, Inc.. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="Windows Azure Linux Agent"
|
||||
HOMEPAGE="https://github.com/Azure/WALinuxAgent"
|
||||
KEYWORDS="amd64 arm64"
|
||||
SRC_URI="${HOMEPAGE}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
# Depending on specific version of python-oem allows us to notice when
|
||||
# we update the major version of python and then to make sure that we
|
||||
# install the package in correctly versioned site-packages directory.
|
||||
DEP_PYVER="3.10"
|
||||
|
||||
RDEPEND="
|
||||
dev-lang/python-oem:${DEP_PYVER}
|
||||
dev-python/distro-oem
|
||||
"
|
||||
|
||||
S="${WORKDIR}/WALinuxAgent-${PV}"
|
||||
|
||||
src_install() {
|
||||
into "/oem"
|
||||
dobin "${S}/bin/waagent"
|
||||
|
||||
insinto "/oem/python/$(get_libdir)/python${DEP_PYVER}/site-packages"
|
||||
doins -r "${S}/azurelinuxagent/"
|
||||
|
||||
insinto "/oem"
|
||||
doins "${FILESDIR}/waagent.conf"
|
||||
}
|
@ -0,0 +1,33 @@
|
||||
# Copyright (c) 2014 CoreOS, Inc.. All rights reserved.
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
# Don't use DISTUTILS_USE_PEP517=setuptools because this installs
|
||||
# everything inside /usr/lib/pythonX_Y/site-packages, even files that
|
||||
# ought to be put into /etc or /sbin.
|
||||
PYTHON_COMPAT=( python3_{9..11} )
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="Windows Azure Linux Agent"
|
||||
HOMEPAGE="https://github.com/Azure/WALinuxAgent"
|
||||
SRC_URI="${HOMEPAGE}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
KEYWORDS="amd64 arm64"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
RESTRICT=""
|
||||
|
||||
BDEPEND="
|
||||
dev-python/distro
|
||||
"
|
||||
RDEPEND="${BDEPEND}
|
||||
"
|
||||
|
||||
S="${WORKDIR}/WALinuxAgent-${PV}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/0001-flatcar-changes.patch"
|
||||
)
|
Loading…
x
Reference in New Issue
Block a user