+function configure_containerd() {
+ echo "Configuring containerd to expose CRI and use systemd cgroup"
+ sudo mv /etc/containerd/config.toml /etc/containerd/config.toml.orig 2>/dev/null
+ sudo bash -c "containerd config default > /etc/containerd/config.toml"
+ sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
+ if [ -n "${DOCKER_PROXY_URL}" ]; then
+ echo "Configuring ${DOCKER_PROXY_URL} as registry mirror in /etc/containerd/config.toml"
+ sudo sed -i "s#\[plugins.\"io.containerd.grpc.v1.cri\".registry.mirrors\]#\[plugins.\"io.containerd.grpc.v1.cri\".registry.mirrors\]\n \[plugins.\"io.containerd.grpc.v1.cri\".registry.mirrors.\"docker.io\"\]\n endpoint = \[\"${DOCKER_PROXY_URL}\"\]\n \[plugins.\"io.containerd.grpc.v1.cri\".registry.mirrors.\"registry.hub.docker.com\"]\n endpoint = \[\"${DOCKER_PROXY_URL}\"]#" /etc/containerd/config.toml
+ fi
+ if [ -n "${OSM_BEHIND_PROXY}" ] ; then
+ echo "Configuring http proxies in /etc/systemd/system/containerd.service.d/http-proxy.conf"
+ if ! [ -f /etc/systemd/system/containerd.service.d/http-proxy.conf ] ; then
+ sudo mkdir -p /etc/systemd/system/containerd.service.d
+ cat << EOF | sudo tee -a /etc/systemd/system/containerd.service.d/http-proxy.conf
+[Service]
+EOF
+ fi
+ [ -n "${HTTP_PROXY}" ] && sudo bash -c "cat <<EOF >> /etc/systemd/system/containerd.service.d/http-proxy.conf
+Environment=\"HTTP_PROXY=${HTTP_PROXY}\"
+EOF"
+ [ -n "${HTTPS_PROXY}" ] && sudo bash -c "cat <<EOF >> /etc/systemd/system/containerd.service.d/http-proxy.conf
+Environment=\"HTTPS_PROXY=${HTTPS_PROXY}\"
+EOF"
+ [ -n "${NO_PROXY}" ] && sudo bash -c "cat <<EOF >> /etc/systemd/system/containerd.service.d/http-proxy.conf
+Environment=\"NO_PROXY=${NO_PROXY}\"
+EOF"
+ fi
+ sudo systemctl restart containerd
+}
+