Skip to content

Commit 1bf769a

Browse files
committed
feat: install some services to /opt/bin instead of /usr/local/bin
Namely, logrotate.sh, ci-syslog-watcher.sh, teleportd, and aks-secure-tls-bootstrap-client. These are referenced by absolute path in their systemd units and should therefore be safe to move. /usr/local/bin is generally read-only on immutable distributions.
1 parent 34e6577 commit 1bf769a

9 files changed

Lines changed: 13 additions & 13 deletions

File tree

parts/common/components.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -859,7 +859,7 @@
859859
},
860860
{
861861
"name": "aks-secure-tls-bootstrap-client",
862-
"downloadLocation": "/usr/local/bin",
862+
"downloadLocation": "/opt/bin",
863863
"windowsDownloadLocation": "c:\\akse-cache\\aks-secure-tls-bootstrap-client\\",
864864
"downloadURIs": {
865865
"default": {
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
[Unit]
22
Description=runs the logrotate utility for log rotation with a custom configuration
33
[Service]
4-
ExecStart=/usr/local/bin/logrotate.sh
4+
ExecStart=/opt/bin/logrotate.sh

parts/linux/cloud-init/artifacts/aks-logrotate.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/bin/sh
22
# This script was originally generated by logrotate automatically and placed in /etc/cron.daily/logrotate
3-
# This will be saved on the target VM within /usr/local/bin/logrotate.sh and invoked by logrotate.service
3+
# This will be saved on the target VM within /opt/bin/logrotate.sh and invoked by logrotate.service
44

55
# Clean non existent log file entries from status file
66
test -d /var/lib/logrotate || mkdir -p /var/lib/logrotate

parts/linux/cloud-init/artifacts/ci-syslog-watcher.service

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ Description=Update syslog config based on ContainerInsights syslog status change
33

44
[Service]
55
Type=oneshot
6-
ExecStart=/usr/local/bin/ci-syslog-watcher.sh
6+
ExecStart=/opt/bin/ci-syslog-watcher.sh
77

88
[Install]
99
WantedBy=multi-user.target

parts/linux/cloud-init/artifacts/cse_install.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@ UBUNTU_RELEASE=$(lsb_release -r -s 2>/dev/null || echo "")
1818
OS=$(if ls /etc/*-release 1> /dev/null 2>&1; then sort -r /etc/*-release | gawk 'match($0, /^(ID=(.*))$/, a) { print toupper(a[2]); exit }'; fi)
1919
OS_VARIANT=$(if ls /etc/*-release 1> /dev/null 2>&1; then sort -r /etc/*-release | gawk 'match($0, /^(VARIANT_ID=(.*))$/, a) { print toupper(a[2]); exit }' | tr -d '"'; fi)
2020
SECURE_TLS_BOOTSTRAP_CLIENT_DOWNLOAD_DIR="/opt/aks-secure-tls-bootstrap-client/downloads"
21-
SECURE_TLS_BOOTSTRAP_CLIENT_BIN_DIR="/usr/local/bin"
21+
SECURE_TLS_BOOTSTRAP_CLIENT_BIN_DIR="/opt/bin"
2222
TELEPORTD_PLUGIN_DOWNLOAD_DIR="/opt/teleportd/downloads"
2323
CREDENTIAL_PROVIDER_DOWNLOAD_DIR="/opt/credentialprovider/downloads"
2424
CREDENTIAL_PROVIDER_BIN_DIR="/var/lib/kubelet/credential-provider"
25-
TELEPORTD_PLUGIN_BIN_DIR="/usr/local/bin"
25+
TELEPORTD_PLUGIN_BIN_DIR="/opt/bin"
2626
MANIFEST_FILEPATH="/opt/azure/manifest.json"
2727
COMPONENTS_FILEPATH="/opt/azure/components.json"
2828
VHD_LOGS_FILEPATH="/opt/azure/vhd-install.complete"

parts/linux/cloud-init/artifacts/secure-tls-bootstrap.service

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
[Unit]
22
Description=AKS Secure TLS Bootstrap Client
3-
ConditionPathExists=/usr/local/bin/aks-secure-tls-bootstrap-client
3+
ConditionPathExists=/opt/bin/aks-secure-tls-bootstrap-client
44
Wants=network-online.target
55
After=network-online.target
66

77
[Service]
88
Type=oneshot
99
RemainAfterExit=yes
1010

11-
ExecStart=/usr/local/bin/aks-secure-tls-bootstrap-client \
11+
ExecStart=/opt/bin/aks-secure-tls-bootstrap-client \
1212
--verbose \
1313
--ensure-authorized \
1414
--next-proto=aks-tls-bootstrap \

parts/linux/cloud-init/artifacts/teleportd.service

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Description=teleportd teleport runtime
33
After=network.target
44
[Service]
5-
ExecStart=/usr/local/bin/teleportd --metrics --aksConfig /etc/kubernetes/azure.json
5+
ExecStart=/opt/bin/teleportd --metrics --aksConfig /etc/kubernetes/azure.json
66
Delegate=yes
77
KillMode=process
88
Restart=always

pkg/agent/utils_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -802,8 +802,8 @@ var _ = Describe("Assert datamodel.CSEStatus can be used to parse output JSON",
802802
var _ = Describe("Test removeComments", func() {
803803

804804
It("Should leave lines without comments unchanged", func() {
805-
input := []byte("#!/bin/bash\n\nCC_SERVICE_IN_TMP=/opt/azure/containers/cc-proxy.service.in\nCC_SOCKET_IN_TMP=/opt/azure/containers/cc-proxy.socket.in\nCNI_CONFIG_DIR=\"/etc/cni/net.d\"\nCNI_BIN_DIR=\"/opt/cni/bin\"\nCNI_DOWNLOADS_DIR=\"/opt/cni/downloads\"\nCRICTL_DOWNLOAD_DIR=\"/opt/crictl/downloads\"\nCRICTL_BIN_DIR=\"/usr/local/bin\"\nCONTAINERD_DOWNLOADS_DIR=\"/opt/containerd/downloads\"\nRUNC_DOWNLOADS_DIR=\"/opt/runc/downloads\"\nK8S_DOWNLOADS_DIR=\"/opt/kubernetes/downloads\"\nUBUNTU_RELEASE=$(lsb_release -r -s)\nSECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR=\"/opt/azure/tlsbootstrap\"\nSECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION=\"v0.1.0-alpha.2\"\nTELEPORTD_PLUGIN_DOWNLOAD_DIR=\"/opt/teleportd/downloads\"\nTELEPORTD_PLUGIN_BIN_DIR=\"/usr/local/bin\"\nCONTAINERD_WASM_VERSIONS=\"v0.3.0 v0.5.1 v0.8.0\"\nMANIFEST_FILEPATH=\"/opt/azure/manifest.json\"\nMAN_DB_AUTO_UPDATE_FLAG_FILEPATH=\"/var/lib/man-db/auto-update\"\nCURL_OUTPUT=/tmp/curl_verbose.out")
806-
expected := "#!/bin/bash\n\nCC_SERVICE_IN_TMP=/opt/azure/containers/cc-proxy.service.in\nCC_SOCKET_IN_TMP=/opt/azure/containers/cc-proxy.socket.in\nCNI_CONFIG_DIR=\"/etc/cni/net.d\"\nCNI_BIN_DIR=\"/opt/cni/bin\"\nCNI_DOWNLOADS_DIR=\"/opt/cni/downloads\"\nCRICTL_DOWNLOAD_DIR=\"/opt/crictl/downloads\"\nCRICTL_BIN_DIR=\"/usr/local/bin\"\nCONTAINERD_DOWNLOADS_DIR=\"/opt/containerd/downloads\"\nRUNC_DOWNLOADS_DIR=\"/opt/runc/downloads\"\nK8S_DOWNLOADS_DIR=\"/opt/kubernetes/downloads\"\nUBUNTU_RELEASE=$(lsb_release -r -s)\nSECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR=\"/opt/azure/tlsbootstrap\"\nSECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION=\"v0.1.0-alpha.2\"\nTELEPORTD_PLUGIN_DOWNLOAD_DIR=\"/opt/teleportd/downloads\"\nTELEPORTD_PLUGIN_BIN_DIR=\"/usr/local/bin\"\nCONTAINERD_WASM_VERSIONS=\"v0.3.0 v0.5.1 v0.8.0\"\nMANIFEST_FILEPATH=\"/opt/azure/manifest.json\"\nMAN_DB_AUTO_UPDATE_FLAG_FILEPATH=\"/var/lib/man-db/auto-update\"\nCURL_OUTPUT=/tmp/curl_verbose.out"
805+
input := []byte("#!/bin/bash\n\nCC_SERVICE_IN_TMP=/opt/azure/containers/cc-proxy.service.in\nCC_SOCKET_IN_TMP=/opt/azure/containers/cc-proxy.socket.in\nCNI_CONFIG_DIR=\"/etc/cni/net.d\"\nCNI_BIN_DIR=\"/opt/cni/bin\"\nCNI_DOWNLOADS_DIR=\"/opt/cni/downloads\"\nCRICTL_DOWNLOAD_DIR=\"/opt/crictl/downloads\"\nCRICTL_BIN_DIR=\"/usr/local/bin\"\nCONTAINERD_DOWNLOADS_DIR=\"/opt/containerd/downloads\"\nRUNC_DOWNLOADS_DIR=\"/opt/runc/downloads\"\nK8S_DOWNLOADS_DIR=\"/opt/kubernetes/downloads\"\nUBUNTU_RELEASE=$(lsb_release -r -s)\nSECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR=\"/opt/azure/tlsbootstrap\"\nSECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION=\"v0.1.0-alpha.2\"\nTELEPORTD_PLUGIN_DOWNLOAD_DIR=\"/opt/teleportd/downloads\"\nTELEPORTD_PLUGIN_BIN_DIR=\"/opt/bin\"\nCONTAINERD_WASM_VERSIONS=\"v0.3.0 v0.5.1 v0.8.0\"\nMANIFEST_FILEPATH=\"/opt/azure/manifest.json\"\nMAN_DB_AUTO_UPDATE_FLAG_FILEPATH=\"/var/lib/man-db/auto-update\"\nCURL_OUTPUT=/tmp/curl_verbose.out")
806+
expected := "#!/bin/bash\n\nCC_SERVICE_IN_TMP=/opt/azure/containers/cc-proxy.service.in\nCC_SOCKET_IN_TMP=/opt/azure/containers/cc-proxy.socket.in\nCNI_CONFIG_DIR=\"/etc/cni/net.d\"\nCNI_BIN_DIR=\"/opt/cni/bin\"\nCNI_DOWNLOADS_DIR=\"/opt/cni/downloads\"\nCRICTL_DOWNLOAD_DIR=\"/opt/crictl/downloads\"\nCRICTL_BIN_DIR=\"/usr/local/bin\"\nCONTAINERD_DOWNLOADS_DIR=\"/opt/containerd/downloads\"\nRUNC_DOWNLOADS_DIR=\"/opt/runc/downloads\"\nK8S_DOWNLOADS_DIR=\"/opt/kubernetes/downloads\"\nUBUNTU_RELEASE=$(lsb_release -r -s)\nSECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_DOWNLOAD_DIR=\"/opt/azure/tlsbootstrap\"\nSECURE_TLS_BOOTSTRAP_KUBELET_EXEC_PLUGIN_VERSION=\"v0.1.0-alpha.2\"\nTELEPORTD_PLUGIN_DOWNLOAD_DIR=\"/opt/teleportd/downloads\"\nTELEPORTD_PLUGIN_BIN_DIR=\"/opt/bin\"\nCONTAINERD_WASM_VERSIONS=\"v0.3.0 v0.5.1 v0.8.0\"\nMANIFEST_FILEPATH=\"/opt/azure/manifest.json\"\nMAN_DB_AUTO_UPDATE_FLAG_FILEPATH=\"/var/lib/man-db/auto-update\"\nCURL_OUTPUT=/tmp/curl_verbose.out"
807807
result := removeComments(input)
808808
Expect(string(result)).To(Equal(expected))
809809
})

vhdbuilder/packer/packer_source.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ copyPackerFiles() {
7878
CI_SYSLOG_WATCHER_SERVICE_SRC=/home/packer/ci-syslog-watcher.service
7979
CI_SYSLOG_WATCHER_SERVICE_DEST=/etc/systemd/system/ci-syslog-watcher.service
8080
CI_SYSLOG_WATCHER_SCRIPT_SRC=/home/packer/ci-syslog-watcher.sh
81-
CI_SYSLOG_WATCHER_SCRIPT_DEST=/usr/local/bin/ci-syslog-watcher.sh
81+
CI_SYSLOG_WATCHER_SCRIPT_DEST=/opt/bin/ci-syslog-watcher.sh
8282
AKS_DIAGNOSTIC_SCRIPT_SRC=/home/packer/aks-diagnostic.py
8383
AKS_DIAGNOSTIC_SCRIPT_DEST=/opt/azure/containers/aks-diagnostic.py
8484
AKS_LOG_COLLECTOR_SCRIPT_SRC=/home/packer/aks-log-collector.sh
@@ -92,7 +92,7 @@ copyPackerFiles() {
9292
AKS_LOG_COLLECTOR_TIMER_SRC=/home/packer/aks-log-collector.timer
9393
AKS_LOG_COLLECTOR_TIMER_DEST=/etc/systemd/system/aks-log-collector.timer
9494
AKS_LOGROTATE_SCRIPT_SRC=/home/packer/logrotate.sh
95-
AKS_LOGROTATE_SCRIPT_DEST=/usr/local/bin/logrotate.sh
95+
AKS_LOGROTATE_SCRIPT_DEST=/opt/bin/logrotate.sh
9696
AKS_LOGROTATE_SERVICE_SRC=/home/packer/logrotate.service
9797
AKS_LOGROTATE_SERVICE_DEST=/etc/systemd/system/logrotate.service
9898
AKS_LOGROTATE_TIMER_SRC=/home/packer/logrotate.timer

0 commit comments

Comments
 (0)