Your IP : 216.73.216.14


Current Path : /snap/lxd/38450/snap/hooks/
Upload File :
Current File : //snap/lxd/38450/snap/hooks/connect-plug-ovn-certificates

#!/bin/sh
set -eu

# Re-exec outside of apparmor confinement
if [ -d /sys/kernel/security/apparmor ]; then
  label="$(cat /proc/self/attr/current 2>/dev/null)"
  if [ "$label" != "unconfined" ] && [ -n "${label##*(unconfined)}" ]; then
    exec aa-exec -p unconfined -- "$0" "$@"
  fi
fi

# Utility functions
get_bool() {
    value=$(echo "${1:-}" | tr '[:upper:]' '[:lower:]')

    # See if it's true
    for yes in "true" "1" "yes" "on"; do
        if [ "${value}" = "${yes}" ]; then
            echo "true"
            return
        fi
    done

    # See if it's false
    for no in "false" "0" "no" "off"; do
        if [ "${value}" = "${no}" ]; then
            echo "false"
            return
        fi
    done

    # Invalid value (or not set)
    return
}

# Only create symlinks if /etc has been generated by daemon.start.
if [ -e "/etc/.lxd_generated" ]; then
  ovn_builtin=$(get_bool "$(snapctl get ovn.builtin)")

  echo "==> Cleaning up OVN configuration"
  if [ -L /etc/ovn ]; then
    echo "=> Removing /etc/ovn symlink"
    rm -f /etc/ovn
  elif [ -d /etc/ovn ]; then
    echo "=> Removing /etc/ovn directory"
    rm -rf /etc/ovn
  fi

  if ! [ "${ovn_builtin:-"false"}" = "true" ]; then
    echo "=> Configuring MicroOVN Content Interface"
    mkdir -p /etc/ovn
    ln -snf "${SNAP_DATA}/microovn/certificates/pki/client-cert.pem" /etc/ovn/cert_host
    ln -snf "${SNAP_DATA}/microovn/certificates/pki/client-privkey.pem" /etc/ovn/key_host
    ln -snf "${SNAP_DATA}/microovn/certificates/pki/cacert.pem" /etc/ovn/ovn-central.crt
  fi
fi